1 #ifndef _AV_TRANSCODER_OPTION_HPP 
    2 #define _AV_TRANSCODER_OPTION_HPP 
    7 #include <libavutil/opt.h> 
   39     Option(AVOption& avOption, 
void* avContext);
 
   44     std::string 
getName()
 const { 
return std::string(_avOption->name ? _avOption->name : 
""); }
 
   45     std::string 
getHelp()
 const { 
return std::string(_avOption->help ? _avOption->help : 
""); }
 
   46     std::string 
getUnit()
 const { 
return std::string(_avOption->unit ? _avOption->unit : 
""); }
 
   48     double getMin()
 const { 
return _avOption->min; }
 
   49     double getMax()
 const { 
return _avOption->max; }
 
   52     int getFlags()
 const { 
return _avOption->flags; }
 
   53     bool isEncodingOpt()
 const { 
return (_avOption->flags & AV_OPT_FLAG_ENCODING_PARAM) == AV_OPT_FLAG_ENCODING_PARAM; }
 
   54     bool isDecodingOpt()
 const { 
return (_avOption->flags & AV_OPT_FLAG_DECODING_PARAM) == AV_OPT_FLAG_DECODING_PARAM; }
 
   55     bool isAudioOpt()
 const { 
return (_avOption->flags & AV_OPT_FLAG_AUDIO_PARAM) == AV_OPT_FLAG_AUDIO_PARAM; }
 
   56     bool isVideoOpt()
 const { 
return (_avOption->flags & AV_OPT_FLAG_VIDEO_PARAM) == AV_OPT_FLAG_VIDEO_PARAM; }
 
   57     bool isSubtitleOpt()
 const { 
return (_avOption->flags & AV_OPT_FLAG_SUBTITLE_PARAM) == AV_OPT_FLAG_SUBTITLE_PARAM; }
 
   60     bool getDefaultBool() 
const;
 
   61     int getDefaultInt() 
const;
 
   62     double getDefaultDouble() 
const;
 
   63     std::string getDefaultString() 
const;
 
   64     std::pair<int, int> getDefaultRatio() 
const;
 
   69     double getDouble() 
const;
 
   70     std::string getString() 
const;
 
   71     std::pair<int, int> getRatio() 
const;
 
   74     void setFlag(
const std::string& flag, 
const bool enable);
 
   75     void setBool(
const bool value);
 
   76     void setInt(
const int value);
 
   77     void setDouble(
const double value);
 
   78     void setString(
const std::string& value);
 
   79     void setRatio(
const int num, 
const int den);
 
   82     bool hasChild()
 const { 
return _childOptions.size(); }
 
   83     const std::vector<Option>& 
getChilds()
 const { 
return _childOptions; }
 
   88     void appendChild(
const Option& child);
 
   91     EOptionBaseType getTypeFromAVOption(
const std::string& unit, 
const AVOptionType avType);
 
   97     void checkFFmpegGetOption(
const int ffmpegReturnCode) 
const;
 
   98     void checkFFmpegSetOption(
const int ffmpegReturnCode, 
const std::string& optionValue);
 
  128 void AvExport 
loadOptions(OptionMap& outOptions, 
void* av_class, 
int req_flags = 0);
 
  129 void AvExport 
loadOptions(OptionArray& outOptions, 
void* av_class, 
int req_flags = 0);
 
const Option & getChildAtIndex(const size_t index) const 
 
void loadOptions(OptionMap &outOptions, void *av_class, int req_flags)
 
bool isEncodingOpt() const 
 
std::map< std::string, Option > OptionMap
Key: option name / value: option. 
 
std::vector< Option > OptionArray
 
bool isSubtitleOpt() const 
 
AVOption * _avOption
Has link (no ownership) 
 
size_t _defaultChildIndex
 
int getDefaultChildIndex() const 
 
std::string getName() const 
 
void setDefaultChildIndex(size_t index)
 
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). 
 
std::vector< Option > _childOptions
 
void * _avContext
Pointer to the corresponding context. Need it to set and get the option values. 
 
std::string getHelp() const 
 
std::string getUnit() const 
 
const std::vector< Option > & getChilds() const 
 
bool isDecodingOpt() const