#pragma once #include #include #include #include #include "dtsc.h" namespace h264 { struct nalData { unsigned char nalType; unsigned long nalSize; }; std::deque analyseH264Packet(const char * data, unsigned long len); std::deque parseNalSizes(DTSC::Packet & pack); ///Struct containing pre-calculated metadata of an SPS nal unit. Width and height in pixels, fps in Hz struct SPSMeta { unsigned int width; unsigned int height; double fps; }; ///Class for analyzing generic nal units class NAL { public: NAL(); NAL(std::string & InputData); bool ReadData(std::string & InputData, bool raw = false); std::string AnnexB(bool LongIntro = false); std::string SizePrepended(); int Type(); std::string getData(); protected: unsigned int chroma_format_idc;///