1 #ifndef _AV_TRANSCODER_MEDIA_PROPERTY_VIDEO_PROPERTIES_HPP
2 #define _AV_TRANSCODER_MEDIA_PROPERTY_VIDEO_PROPERTIES_HPP
11 #include <libavcodec/avcodec.h>
27 std::string getProfileName()
const;
28 std::string getColorTransfert()
const;
29 std::string getColorspace()
const;
30 std::string getColorRange()
const;
31 std::string getColorPrimaries()
const;
32 std::string getChromaSampleLocation()
const;
33 std::string getFieldOrder()
const;
37 int64_t getStartTimecode()
const;
38 std::string getStartTimecodeString()
const;
43 size_t getBitRate()
const;
44 size_t getMaxBitRate()
const;
45 size_t getMinBitRate()
const;
46 size_t getNbFrames()
const;
47 size_t getTicksPerFrame()
const;
48 size_t getWidth()
const;
49 size_t getHeight()
const;
50 size_t getDtgActiveFormat()
const;
51 size_t getReferencesFrames()
const;
52 int getProfile()
const;
64 bool hasBFrames()
const;
77 std::vector<std::pair<char, int> >
getGopStructure()
const {
return _gopStructure; }
92 void analyseGopStructure(
IProgress& progress);
102 catch(
const std::exception& e)
Base class of Progress. Inherit this class to have your own way to manage a progress bar...
std::vector< std::pair< std::string, std::string > > PropertyVector
PropertyVector is a vector of pair, because the order of properties matters to us.
EAnalyseLevel
Level of file analysis.
bool isInterlaced() const
std::vector< std::pair< char, int > > _gopStructure
picture type, encoded frame size in bytes
bool isTopFieldFirst() const
void add(PropertyVector &propertyVector, const std::string &key, const size_t &value)
void addProperty(PropertyVector &dataVector, const std::string &key, T(VideoProperties::*getter)(void) const) const
AVCodecContext & getAVCodecContext()
Wrapper of an AVFormatContext.
EAnalyseLevel _levelAnalysis
Level of analysis asked.
const PixelProperties & getPixelProperties() const
int64_t _firstGopTimeCode
GOP timecode of the first frame.
PixelProperties & getPixelProperties()
size_t getGopSize() const
Virtual based class of properties for all types of stream.
std::vector< std::pair< char, int > > getGopStructure() const
std::ostream & operator<<(std::ostream &flux, const InputFile &input)
const std::string propertyValueIfError
PixelProperties _pixelProperties
All the pixel properties contained in this stream.