opt.h
上传用户:wstnjxml
上传日期:2014-04-03
资源大小:7248k
文件大小:2k
源码类别:

Windows CE

开发平台:

C/C++

  1. #ifndef AVOPT_H
  2. #define AVOPT_H
  3. /**
  4.  * @file opt.h
  5.  * AVOptions
  6.  */
  7. enum AVOptionType{
  8.     FF_OPT_TYPE_FLAGS,
  9.     FF_OPT_TYPE_INT,
  10.     FF_OPT_TYPE_INT64,
  11.     FF_OPT_TYPE_DOUBLE,
  12.     FF_OPT_TYPE_FLOAT,
  13.     FF_OPT_TYPE_STRING,
  14.     FF_OPT_TYPE_RATIONAL,
  15.     FF_OPT_TYPE_CONST=128,
  16. };
  17. /**
  18.  * AVOption.
  19.  */
  20. typedef struct AVOption {
  21.     const char *name;
  22.     /**
  23.      * short English text help.
  24.      * @fixme what about other languages
  25.      */
  26.     const char *help;
  27.     int offset;             ///< offset to context structure where the parsed value should be stored 
  28.     enum AVOptionType type;
  29.     
  30.     double default_val;
  31.     double min;
  32.     double max;
  33.     
  34.     int flags;
  35. #define AV_OPT_FLAG_ENCODING_PARAM  1   ///< a generic parameter which can be set by the user for muxing or encoding
  36. #define AV_OPT_FLAG_DECODING_PARAM  2   ///< a generic parameter which can be set by the user for demuxing or decoding
  37. #define AV_OPT_FLAG_METADATA        4   ///< some data extracted or inserted into the file like title, comment, ...
  38. #define AV_OPT_FLAG_AUDIO_PARAM     8
  39. #define AV_OPT_FLAG_VIDEO_PARAM     16
  40. #define AV_OPT_FLAG_SUBTITLE_PARAM  32
  41. //FIXME think about enc-audio, ... style flags
  42.     const char *unit;
  43. } AVOption;
  44. AVOption *av_set_string(void *obj, const char *name, const char *val);
  45. AVOption *av_set_double(void *obj, const char *name, double n);
  46. AVOption *av_set_q(void *obj, const char *name, AVRational n);
  47. AVOption *av_set_int(void *obj, const char *name, int64_t n);
  48. double av_get_double(void *obj, const char *name, AVOption **o_out);
  49. AVRational av_get_q(void *obj, const char *name, AVOption **o_out);
  50. int64_t av_get_int(void *obj, const char *name, AVOption **o_out);
  51. const char *av_get_string(void *obj, const char *name, AVOption **o_out, char *buf, int buf_len);
  52. AVOption *av_next_option(void *obj, AVOption *last);
  53. int av_opt_show(void *obj, void *av_log_obj);
  54. #endif