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