Also deprecate av_get_pict_type_char() in favor of av_get_picture_type_char(). The new enum and av_get_picture_type_char() are defined in libavutil. This allows the use in libavfilter without the need to link against libavcodec. Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it> Signed-off-by: Anton Khirnov <anton@khirnov.net>tags/n0.8
| @@ -13,6 +13,11 @@ libavutil: 2011-04-18 | |||||
| API changes, most recent first: | API changes, most recent first: | ||||
| 2011-04-XX - XXXXXXX - lavu 51.1.0 - avutil.h | |||||
| Add AVPictureType enum and av_get_picture_type_char(), deprecate | |||||
| FF_*_TYPE defines and av_get_pict_type_char() defined in | |||||
| libavcodec/avcodec.h. | |||||
| 2011-04-xx - xxxxxx - lavfi 2.3.0 - avfilter.h | 2011-04-xx - xxxxxx - lavfi 2.3.0 - avfilter.h | ||||
| Add pict_type and key_frame fields to AVFilterBufferRefVideo. | Add pict_type and key_frame fields to AVFilterBufferRefVideo. | ||||
| @@ -762,7 +762,7 @@ typedef struct AVPanScan{ | |||||
| * - encoding: Set by libavcodec. for coded_picture (and set by user for input).\ | * - encoding: Set by libavcodec. for coded_picture (and set by user for input).\ | ||||
| * - decoding: Set by libavcodec.\ | * - decoding: Set by libavcodec.\ | ||||
| */\ | */\ | ||||
| int pict_type;\ | |||||
| enum AVPictureType pict_type;\ | |||||
| \ | \ | ||||
| /**\ | /**\ | ||||
| * presentation timestamp in time_base units (time when frame should be shown to user)\ | * presentation timestamp in time_base units (time when frame should be shown to user)\ | ||||
| @@ -1004,14 +1004,16 @@ typedef struct AVPanScan{ | |||||
| #define FF_BUFFER_TYPE_SHARED 4 ///< Buffer from somewhere else; don't deallocate image (data/base), all other tables are not shared. | #define FF_BUFFER_TYPE_SHARED 4 ///< Buffer from somewhere else; don't deallocate image (data/base), all other tables are not shared. | ||||
| #define FF_BUFFER_TYPE_COPY 8 ///< Just a (modified) copy of some other buffer, don't deallocate anything. | #define FF_BUFFER_TYPE_COPY 8 ///< Just a (modified) copy of some other buffer, don't deallocate anything. | ||||
| #define FF_I_TYPE 1 ///< Intra | |||||
| #define FF_P_TYPE 2 ///< Predicted | |||||
| #define FF_B_TYPE 3 ///< Bi-dir predicted | |||||
| #define FF_S_TYPE 4 ///< S(GMC)-VOP MPEG4 | |||||
| #define FF_SI_TYPE 5 ///< Switching Intra | |||||
| #define FF_SP_TYPE 6 ///< Switching Predicted | |||||
| #define FF_BI_TYPE 7 | |||||
| #if FF_API_OLD_FF_PICT_TYPES | |||||
| /* DEPRECATED, directly use the AV_PICTURE_TYPE_* enum values */ | |||||
| #define FF_I_TYPE AV_PICTURE_TYPE_I ///< Intra | |||||
| #define FF_P_TYPE AV_PICTURE_TYPE_P ///< Predicted | |||||
| #define FF_B_TYPE AV_PICTURE_TYPE_B ///< Bi-dir predicted | |||||
| #define FF_S_TYPE AV_PICTURE_TYPE_S ///< S(GMC)-VOP MPEG4 | |||||
| #define FF_SI_TYPE AV_PICTURE_TYPE_SI ///< Switching Intra | |||||
| #define FF_SP_TYPE AV_PICTURE_TYPE_SP ///< Switching Predicted | |||||
| #define FF_BI_TYPE AV_PICTURE_TYPE_BI | |||||
| #endif | |||||
| #define FF_BUFFER_HINTS_VALID 0x01 // Buffer hints value is meaningful (if 0 ignore). | #define FF_BUFFER_HINTS_VALID 0x01 // Buffer hints value is meaningful (if 0 ignore). | ||||
| #define FF_BUFFER_HINTS_READABLE 0x02 // Codec will read from buffer. | #define FF_BUFFER_HINTS_READABLE 0x02 // Codec will read from buffer. | ||||
| @@ -3766,13 +3768,17 @@ void avcodec_default_free_buffers(AVCodecContext *s); | |||||
| /* misc useful functions */ | /* misc useful functions */ | ||||
| #if FF_API_OLD_FF_PICT_TYPES | |||||
| /** | /** | ||||
| * Return a single letter to describe the given picture type pict_type. | * Return a single letter to describe the given picture type pict_type. | ||||
| * | * | ||||
| * @param[in] pict_type the picture type | * @param[in] pict_type the picture type | ||||
| * @return A single character representing the picture type. | * @return A single character representing the picture type. | ||||
| * @deprecated Use av_get_picture_type_char() instead. | |||||
| */ | */ | ||||
| attribute_deprecated | |||||
| char av_get_pict_type_char(int pict_type); | char av_get_pict_type_char(int pict_type); | ||||
| #endif | |||||
| /** | /** | ||||
| * Return codec bits per sample. | * Return codec bits per sample. | ||||
| @@ -1030,18 +1030,11 @@ void avcodec_default_free_buffers(AVCodecContext *s){ | |||||
| s->internal_buffer_count=0; | s->internal_buffer_count=0; | ||||
| } | } | ||||
| #if FF_API_OLD_FF_PICT_TYPES | |||||
| char av_get_pict_type_char(int pict_type){ | char av_get_pict_type_char(int pict_type){ | ||||
| switch(pict_type){ | |||||
| case FF_I_TYPE: return 'I'; | |||||
| case FF_P_TYPE: return 'P'; | |||||
| case FF_B_TYPE: return 'B'; | |||||
| case FF_S_TYPE: return 'S'; | |||||
| case FF_SI_TYPE:return 'i'; | |||||
| case FF_SP_TYPE:return 'p'; | |||||
| case FF_BI_TYPE:return 'b'; | |||||
| default: return '?'; | |||||
| } | |||||
| return av_get_picture_type_char(pict_type); | |||||
| } | } | ||||
| #endif | |||||
| int av_get_bits_per_sample(enum CodecID codec_id){ | int av_get_bits_per_sample(enum CodecID codec_id){ | ||||
| switch(codec_id){ | switch(codec_id){ | ||||
| @@ -22,7 +22,7 @@ | |||||
| #define LIBAVCODEC_VERSION_MAJOR 53 | #define LIBAVCODEC_VERSION_MAJOR 53 | ||||
| #define LIBAVCODEC_VERSION_MINOR 1 | #define LIBAVCODEC_VERSION_MINOR 1 | ||||
| #define LIBAVCODEC_VERSION_MICRO 0 | |||||
| #define LIBAVCODEC_VERSION_MICRO 1 | |||||
| #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ | #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ | ||||
| LIBAVCODEC_VERSION_MINOR, \ | LIBAVCODEC_VERSION_MINOR, \ | ||||
| @@ -59,5 +59,8 @@ | |||||
| #ifndef FF_API_THREAD_INIT | #ifndef FF_API_THREAD_INIT | ||||
| #define FF_API_THREAD_INIT (LIBAVCODEC_VERSION_MAJOR < 54) | #define FF_API_THREAD_INIT (LIBAVCODEC_VERSION_MAJOR < 54) | ||||
| #endif | #endif | ||||
| #ifndef FF_API_OLD_FF_PICT_TYPES | |||||
| #define FF_API_OLD_FF_PICT_TYPES (LIBAVCODEC_VERSION_MAJOR < 54) | |||||
| #endif | |||||
| #endif /* AVCODEC_VERSION_H */ | #endif /* AVCODEC_VERSION_H */ | ||||
| @@ -27,7 +27,7 @@ | |||||
| #define LIBAVFILTER_VERSION_MAJOR 2 | #define LIBAVFILTER_VERSION_MAJOR 2 | ||||
| #define LIBAVFILTER_VERSION_MINOR 3 | #define LIBAVFILTER_VERSION_MINOR 3 | ||||
| #define LIBAVFILTER_VERSION_MICRO 0 | |||||
| #define LIBAVFILTER_VERSION_MICRO 1 | |||||
| #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \ | #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \ | ||||
| LIBAVFILTER_VERSION_MINOR, \ | LIBAVFILTER_VERSION_MINOR, \ | ||||
| @@ -115,7 +115,7 @@ typedef struct AVFilterBufferRefVideoProps { | |||||
| AVRational pixel_aspect; ///< pixel aspect ratio | AVRational pixel_aspect; ///< pixel aspect ratio | ||||
| int interlaced; ///< is frame interlaced | int interlaced; ///< is frame interlaced | ||||
| int top_field_first; ///< field order | int top_field_first; ///< field order | ||||
| int pict_type; ///< Picture type of the frame | |||||
| enum AVPictureType pict_type; ///< picture type of the frame | |||||
| int key_frame; ///< 1 -> keyframe, 0-> not | int key_frame; ///< 1 -> keyframe, 0-> not | ||||
| } AVFilterBufferRefVideoProps; | } AVFilterBufferRefVideoProps; | ||||
| @@ -40,7 +40,7 @@ | |||||
| #define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c) | #define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c) | ||||
| #define LIBAVUTIL_VERSION_MAJOR 51 | #define LIBAVUTIL_VERSION_MAJOR 51 | ||||
| #define LIBAVUTIL_VERSION_MINOR 0 | |||||
| #define LIBAVUTIL_VERSION_MINOR 1 | |||||
| #define LIBAVUTIL_VERSION_MICRO 0 | #define LIBAVUTIL_VERSION_MICRO 0 | ||||
| #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ | #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ | ||||
| @@ -94,6 +94,25 @@ enum AVMediaType { | |||||
| #define AV_TIME_BASE 1000000 | #define AV_TIME_BASE 1000000 | ||||
| #define AV_TIME_BASE_Q (AVRational){1, AV_TIME_BASE} | #define AV_TIME_BASE_Q (AVRational){1, AV_TIME_BASE} | ||||
| enum AVPictureType { | |||||
| AV_PICTURE_TYPE_I = 1, ///< Intra | |||||
| AV_PICTURE_TYPE_P, ///< Predicted | |||||
| AV_PICTURE_TYPE_B, ///< Bi-dir predicted | |||||
| AV_PICTURE_TYPE_S, ///< S(GMC)-VOP MPEG4 | |||||
| AV_PICTURE_TYPE_SI, ///< Switching Intra | |||||
| AV_PICTURE_TYPE_SP, ///< Switching Predicted | |||||
| AV_PICTURE_TYPE_BI, ///< BI type | |||||
| }; | |||||
| /** | |||||
| * Return a single letter to describe the given picture type | |||||
| * pict_type. | |||||
| * | |||||
| * @param[in] pict_type the picture type @return a single character | |||||
| * representing the picture type, '?' if pict_type is unknown | |||||
| */ | |||||
| char av_get_picture_type_char(enum AVPictureType pict_type); | |||||
| #include "common.h" | #include "common.h" | ||||
| #include "error.h" | #include "error.h" | ||||
| #include "mathematics.h" | #include "mathematics.h" | ||||
| @@ -39,3 +39,17 @@ const char *avutil_license(void) | |||||
| #define LICENSE_PREFIX "libavutil license: " | #define LICENSE_PREFIX "libavutil license: " | ||||
| return LICENSE_PREFIX LIBAV_LICENSE + sizeof(LICENSE_PREFIX) - 1; | return LICENSE_PREFIX LIBAV_LICENSE + sizeof(LICENSE_PREFIX) - 1; | ||||
| } | } | ||||
| char av_get_picture_type_char(enum AVPictureType pict_type) | |||||
| { | |||||
| switch (pict_type) { | |||||
| case AV_PICTURE_TYPE_I: return 'I'; | |||||
| case AV_PICTURE_TYPE_P: return 'P'; | |||||
| case AV_PICTURE_TYPE_B: return 'B'; | |||||
| case AV_PICTURE_TYPE_S: return 'S'; | |||||
| case AV_PICTURE_TYPE_SI: return 'i'; | |||||
| case AV_PICTURE_TYPE_SP: return 'p'; | |||||
| case AV_PICTURE_TYPE_BI: return 'b'; | |||||
| default: return '?'; | |||||
| } | |||||
| } | |||||