You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	lavc: deprecate FF_*_TYPE macros in favor of AV_PICTURE_TYPE_* enums
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>
This commit is contained in:
		
				
					committed by
					
						 Anton Khirnov
						Anton Khirnov
					
				
			
			
				
	
			
			
			
						parent
						
							30fe971934
						
					
				
				
					commit
					bebe72f4a0
				
			| @@ -13,6 +13,11 @@ libavutil:   2011-04-18 | ||||
|  | ||||
| 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 | ||||
|   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).\ | ||||
|      * - 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)\ | ||||
| @@ -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_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_READABLE 0x02 // Codec will read from buffer. | ||||
| @@ -3766,13 +3768,17 @@ void avcodec_default_free_buffers(AVCodecContext *s); | ||||
|  | ||||
| /* misc useful functions */ | ||||
|  | ||||
| #if FF_API_OLD_FF_PICT_TYPES | ||||
| /** | ||||
|  * 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. | ||||
|  * @deprecated Use av_get_picture_type_char() instead. | ||||
|  */ | ||||
| attribute_deprecated | ||||
| char av_get_pict_type_char(int pict_type); | ||||
| #endif | ||||
|  | ||||
| /** | ||||
|  * Return codec bits per sample. | ||||
|   | ||||
| @@ -1030,18 +1030,11 @@ void avcodec_default_free_buffers(AVCodecContext *s){ | ||||
|     s->internal_buffer_count=0; | ||||
| } | ||||
|  | ||||
| #if FF_API_OLD_FF_PICT_TYPES | ||||
| 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){ | ||||
|     switch(codec_id){ | ||||
|   | ||||
| @@ -22,7 +22,7 @@ | ||||
|  | ||||
| #define LIBAVCODEC_VERSION_MAJOR 53 | ||||
| #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, \ | ||||
|                                                LIBAVCODEC_VERSION_MINOR, \ | ||||
| @@ -59,5 +59,8 @@ | ||||
| #ifndef FF_API_THREAD_INIT | ||||
| #define FF_API_THREAD_INIT      (LIBAVCODEC_VERSION_MAJOR < 54) | ||||
| #endif | ||||
| #ifndef FF_API_OLD_FF_PICT_TYPES | ||||
| #define FF_API_OLD_FF_PICT_TYPES (LIBAVCODEC_VERSION_MAJOR < 54) | ||||
| #endif | ||||
|  | ||||
| #endif /* AVCODEC_VERSION_H */ | ||||
|   | ||||
| @@ -27,7 +27,7 @@ | ||||
|  | ||||
| #define LIBAVFILTER_VERSION_MAJOR  2 | ||||
| #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, \ | ||||
|                                                LIBAVFILTER_VERSION_MINOR, \ | ||||
| @@ -115,7 +115,7 @@ typedef struct AVFilterBufferRefVideoProps { | ||||
|     AVRational pixel_aspect;    ///< pixel aspect ratio | ||||
|     int interlaced;             ///< is frame interlaced | ||||
|     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 | ||||
| } AVFilterBufferRefVideoProps; | ||||
|  | ||||
|   | ||||
| @@ -40,7 +40,7 @@ | ||||
| #define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c) | ||||
|  | ||||
| #define LIBAVUTIL_VERSION_MAJOR 51 | ||||
| #define LIBAVUTIL_VERSION_MINOR  0 | ||||
| #define LIBAVUTIL_VERSION_MINOR  1 | ||||
| #define LIBAVUTIL_VERSION_MICRO  0 | ||||
|  | ||||
| #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_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 "error.h" | ||||
| #include "mathematics.h" | ||||
|   | ||||
| @@ -39,3 +39,17 @@ const char *avutil_license(void) | ||||
| #define LICENSE_PREFIX "libavutil license: " | ||||
|     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 '?'; | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user