diff options
Diffstat (limited to 'src/libffmpeg/libavcodec/avcodec.h')
| -rw-r--r-- | src/libffmpeg/libavcodec/avcodec.h | 95 | 
1 files changed, 78 insertions, 17 deletions
| diff --git a/src/libffmpeg/libavcodec/avcodec.h b/src/libffmpeg/libavcodec/avcodec.h index 9277fa158..c2017706b 100644 --- a/src/libffmpeg/libavcodec/avcodec.h +++ b/src/libffmpeg/libavcodec/avcodec.h @@ -15,8 +15,8 @@ extern "C" {  #define LIBAVCODEC_VERSION_INT 0x000406  #define LIBAVCODEC_VERSION     "0.4.6" -#define LIBAVCODEC_BUILD       4666 -#define LIBAVCODEC_BUILD_STR   "4666" +#define LIBAVCODEC_BUILD       4669 +#define LIBAVCODEC_BUILD_STR   "4669"  #define LIBAVCODEC_IDENT	"FFmpeg" LIBAVCODEC_VERSION "b" LIBAVCODEC_BUILD_STR @@ -52,6 +52,12 @@ enum CodecID {      CODEC_ID_CYUV,      CODEC_ID_H264,      CODEC_ID_INDEO3, +    CODEC_ID_VP3, +    CODEC_ID_AAC, +    CODEC_ID_MPEG4AAC, +    CODEC_ID_ASV1, +    CODEC_ID_FFV1, +    CODEC_ID_4XM,      /* various pcm "codecs" */      CODEC_ID_PCM_S16LE, @@ -67,6 +73,13 @@ enum CodecID {      CODEC_ID_ADPCM_IMA_QT,      CODEC_ID_ADPCM_IMA_WAV,      CODEC_ID_ADPCM_MS, +    CODEC_ID_ADPCM_4XM, + +	/* AMR */ +    CODEC_ID_AMR_NB, +    /* RealAudio codecs*/ +    CODEC_ID_RA_144, +    CODEC_ID_RA_288,  };  enum CodecType { @@ -79,24 +92,24 @@ enum CodecType {   * Pixel format.   */  enum PixelFormat { -    PIX_FMT_YUV420P, -    PIX_FMT_YUV422, -    PIX_FMT_RGB24,     ///< 3 bytes, R is first  -    PIX_FMT_BGR24,     ///< 3 bytes, B is first  -    PIX_FMT_YUV422P, -    PIX_FMT_YUV444P, +    PIX_FMT_YUV420P,   ///< Planar YUV 4:2:0 (1 Cr & Cb sample per 2x2 Y samples) +    PIX_FMT_YUV422,     +    PIX_FMT_RGB24,     ///< Packed pixel, 3 bytes per pixel, RGBRGB... +    PIX_FMT_BGR24,     ///< Packed pixel, 3 bytes per pixel, BGRBGR... +    PIX_FMT_YUV422P,   ///< Planar YUV 4:2:2 (1 Cr & Cb sample per 2x1 Y samples) +    PIX_FMT_YUV444P,   ///< Planar YUV 4:4:4 (1 Cr & Cb sample per 1x1 Y samples)      PIX_FMT_RGBA32,    ///< always stored in cpu endianness  -    PIX_FMT_YUV410P, -    PIX_FMT_YUV411P, +    PIX_FMT_YUV410P,   ///< Planar YUV 4:1:0 (1 Cr & Cb sample per 4x4 Y samples) +    PIX_FMT_YUV411P,   ///< Planar YUV 4:1:1 (1 Cr & Cb sample per 4x1 Y samples)      PIX_FMT_RGB565,    ///< always stored in cpu endianness       PIX_FMT_RGB555,    ///< always stored in cpu endianness, most significant bit to 1       PIX_FMT_GRAY8,      PIX_FMT_MONOWHITE, ///< 0 is white       PIX_FMT_MONOBLACK, ///< 0 is black       PIX_FMT_PAL8,      ///< 8 bit with RGBA palette  -    PIX_FMT_YUVJ420P,  ///< YUV full scale (jpeg) -    PIX_FMT_YUVJ422P,  ///< YUV full scale (jpeg) -    PIX_FMT_YUVJ444P,  ///< YUV full scale (jpeg) +    PIX_FMT_YUVJ420P,  ///< Planar YUV 4:2:0 full scale (jpeg) +    PIX_FMT_YUVJ422P,  ///< Planar YUV 4:2:2 full scale (jpeg) +    PIX_FMT_YUVJ444P,  ///< Planar YUV 4:4:4 full scale (jpeg)      PIX_FMT_NB,  }; @@ -109,8 +122,11 @@ enum SampleFormat {  #define AVCODEC_MAX_AUDIO_FRAME_SIZE 131072  /** - * Required number of zero bytes at the end of the input bitstream for decoding. - * to avoid overreading (and possibly segfaulting) + * Required number of additionally allocated bytes at the end of the input bitstream for decoding. + * this is mainly needed because some optimized bitstream readers read  + * 32 or 64 bit at once and could read over the end<br> + * Note, if the first 23 bits of the additional bytes are not 0 then damaged + * MPEG bitstreams could cause overread and segfault   */  #define FF_INPUT_BUFFER_PADDING_SIZE 8 @@ -308,7 +324,7 @@ static const int Motion_Est_QTab[] = { ME_ZERO, ME_PHODS, ME_LOG,       * type of the buffer (to keep track of who has to dealloc data[*])\       * - encoding: set by the one who allocs it\       * - decoding: set by the one who allocs it\ -     * Note: user allocated (direct rendering) & internal buffers can not coexist currently\  +     * Note: user allocated (direct rendering) & internal buffers can not coexist currently\       */\      int type;\      \ @@ -838,6 +854,7 @@ typedef struct AVCodecContext {  #define FF_IDCT_MLIB         6  #define FF_IDCT_ARM          7  #define FF_IDCT_ALTIVEC      8 +#define FF_IDCT_SH4          9      /**       * slice count. @@ -1101,6 +1118,31 @@ typedef struct AVCodecContext {       * Dont touch, used by lavc default_get_buffer()       */      void *internal_buffer; +     +#define FF_QUALITY_SCALE 256 +    /** +     * global quality for codecs which cannot change it per frame. +     * this should be proportional to MPEG1/2/4 qscale. +     * - encoding: set by user. +     * - decoding: unused +     */ +    int global_quality; +     +#define FF_CODER_TYPE_VLC   0 +#define FF_CODER_TYPE_AC    1 +    /** +     * coder type +     * - encoding: set by user. +     * - decoding: unused +     */ +    int coder_type; + +    /** +     * context model +     * - encoding: set by user. +     * - decoding: unused +     */ +    int context_model;  } AVCodecContext; @@ -1172,7 +1214,7 @@ typedef struct AVCodec {   */  typedef struct AVPicture {      uint8_t *data[4]; -    int linesize[4]; +    int linesize[4];       ///< number of bytes per line  } AVPicture;  extern AVCodec ac3_encoder; @@ -1192,6 +1234,8 @@ extern AVCodec wmv1_encoder;  extern AVCodec wmv2_encoder;  extern AVCodec huffyuv_encoder;  extern AVCodec h264_encoder; +extern AVCodec asv1_encoder; +extern AVCodec ffv1_encoder;  extern AVCodec h263_decoder;  extern AVCodec mpeg4_decoder; @@ -1220,6 +1264,16 @@ extern AVCodec oggvorbis_decoder;  extern AVCodec cyuv_decoder;  extern AVCodec h264_decoder;  extern AVCodec indeo3_decoder; +extern AVCodec vp3_decoder; +extern AVCodec amr_nb_decoder; +extern AVCodec amr_nb_encoder; +extern AVCodec aac_decoder; +extern AVCodec mpeg4aac_decoder; +extern AVCodec asv1_decoder; +extern AVCodec ffv1_decoder; +extern AVCodec fourxm_decoder; +extern AVCodec ra_144_decoder; +extern AVCodec ra_288_decoder;  /* pcm codecs */  #define PCM_CODEC(id, name) \ @@ -1240,6 +1294,7 @@ PCM_CODEC(CODEC_ID_PCM_MULAW, pcm_mulaw);  PCM_CODEC(CODEC_ID_ADPCM_IMA_QT, adpcm_ima_qt);  PCM_CODEC(CODEC_ID_ADPCM_IMA_WAV, adpcm_ima_wav);  PCM_CODEC(CODEC_ID_ADPCM_MS, adpcm_ms); +PCM_CODEC(CODEC_ID_ADPCM_4XM, adpcm_4xm);  #undef PCM_CODEC @@ -1361,6 +1416,12 @@ void avcodec_register_all(void);  void avcodec_flush_buffers(AVCodecContext *avctx);  /* misc usefull functions */ + +/** + * returns a single letter to describe the picture type + */ +char av_get_pict_type_char(int pict_type); +  /**   * reduce a fraction.   * this is usefull for framerate calculations | 
