Better working TS input, Pro side. Code by Erik Zandvliet.

This commit is contained in:
Thulinma 2015-11-05 16:56:50 +01:00
parent 8bcda5e57b
commit 35b2dd6bee
15 changed files with 627 additions and 78 deletions

42
lib/h265.h Normal file
View file

@ -0,0 +1,42 @@
#pragma once
#include <deque>
#include <map>
#include <set>
#include "nal.h"
#include "mp4_generic.h"
#include "bitstream.h"
namespace h265 {
std::deque<nalu::nalData> analysePackets(const char * data, unsigned long len);
void updateProfileTierLevel(Utils::bitstream & bs, MP4::HVCC & hvccBox, unsigned long maxSubLayersMinus1);
class initData {
public:
initData();
void addUnit(char * data);
bool haveRequired();
std::string generateHVCC();
protected:
std::map<unsigned int, std::set<std::string> > nalUnits;
};
class vpsUnit {
public:
vpsUnit(const std::string & _data);
void updateHVCC(MP4::HVCC & hvccBox);
private:
std::string data;
};
class spsUnit {
public:
spsUnit(const std::string & _data);
void updateHVCC(MP4::HVCC & hvccBox);
private:
std::string data;
};
//NOTE: no ppsUnit, as the only information it contains is parallelism mode, which can be set to 0 for 'unknown'
}