1 #ifndef _AV_TRANSCODER_CODEC_ICODEC_HPP_ 
    2 #define _AV_TRANSCODER_CODEC_ICODEC_HPP_ 
    8 #include <libavcodec/avcodec.h> 
   41     std::string getCodecName() 
const;
 
   44     int getLatency() 
const;
 
   50     Option& 
getOption(
const std::string& optionName) { 
return _options.at(optionName); }
 
   60     void setCodec(
const ECodecType type, 
const std::string& codecName);
 
   62     void allocateContext();
 
   63     void loadCodecOptions();
 
std::map< std::string, Option > OptionMap
Key: option name / value: option. 
 
std::vector< Option > OptionArray
 
AVCodecContext * _avCodecContext
Full codec instance description (has ownership) 
 
Option & getOption(const std::string &optionName)
 
AVCodec * _avCodec
Codec abstract description. 
 
const AVCodec & getAVCodec() const 
 
Wrapper of AVOption. Get its type to know what the option is about: Int, Double, Ratio, Choice... Parse its array of options to get the potential childs (Choice and Group). 
 
ECodecType
Define if a codec is for encoding or decoding. 
 
const bool _isCodecContextAllocated
Is the AVCodecContext allocated by the class. 
 
AVCodecContext & getAVCodecContext()
 
ECodecType getCodecType() const 
 
OptionMap & getOptionsMap()
Get options as map. 
 
const AVCodecContext & getAVCodecContext() const