MistServer  2.5.3-Pro-19-gf5e75b1 ( Generic_64)
h265.h
Go to the documentation of this file.
1 #pragma once
2 #include <deque>
3 #include <map>
4 #include <set>
5 
6 #include "nal.h"
7 #include "mp4_generic.h"
8 #include "bitstream.h"
9 
10 namespace h265 {
11  std::deque<nalu::nalData> analysePackets(const char * data, unsigned long len);
12 
13  void updateProfileTierLevel(Utils::bitstream & bs, MP4::HVCC & hvccBox, unsigned long maxSubLayersMinus1);
14 
15  class initData {
16  public:
17  initData();
18  void addUnit(char * data);
19  bool haveRequired();
20  std::string generateHVCC();
21  protected:
22  std::map<unsigned int, std::set<std::string> > nalUnits;
23  };
24 
25  class vpsUnit {
26  public:
27  vpsUnit(const std::string & _data);
28  void updateHVCC(MP4::HVCC & hvccBox);
29  private:
30  std::string data;
31  };
32 
33  class spsUnit {
34  public:
35  spsUnit(const std::string & _data);
36  void updateHVCC(MP4::HVCC & hvccBox);
37  private:
38  std::string data;
39  };
40 
41  //NOTE: no ppsUnit, as the only information it contains is parallelism mode, which can be set to 0 for 'unknown'
42 }
void updateProfileTierLevel(Utils::bitstream &bs, MP4::HVCC &hvccBox, unsigned int maxSubLayersMinus1)
Definition: h265.cpp:75
Definition: mp4_generic.h:132
void addUnit(char *data)
Definition: h265.cpp:22
std::string generateHVCC()
Definition: h265.cpp:37
Definition: h265.cpp:5
Definition: bitstream.h:5
std::deque< nalu::nalData > analysePackets(const char *data, unsigned long len)
Definition: h265.cpp:6
bool haveRequired()
Definition: h265.cpp:33
initData()
Definition: h265.cpp:20
std::map< unsigned int, std::set< std::string > > nalUnits
Definition: h265.h:22