You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	The vuya pixel format was recently added, so this lavc workaround is no longer
needed. Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
		| @@ -14,6 +14,10 @@ libavutil:     2021-04-27 | ||||
|  | ||||
| API changes, most recent first: | ||||
|  | ||||
| 2022-08-xx - xxxxxxxxxx - lavc 59.42.101 - codec_id.h | ||||
|   Deprecate AV_CODEC_ID_AYUV and ayuv decoder/encoder. The rawvideo codec | ||||
|   and vuya pixel format combination will be used instead from now on. | ||||
|  | ||||
| 2022-08-07 - e95b08a7dd - lavu 57.33.101 - pixfmt.h | ||||
|   Add AV_PIX_FMT_RGBAF16{BE,LE} pixel formats. | ||||
|  | ||||
|   | ||||
| @@ -61,8 +61,10 @@ extern const FFCodec ff_avrn_decoder; | ||||
| extern const FFCodec ff_avs_decoder; | ||||
| extern const FFCodec ff_avui_encoder; | ||||
| extern const FFCodec ff_avui_decoder; | ||||
| #if FF_API_AYUV_CODECID | ||||
| extern const FFCodec ff_ayuv_encoder; | ||||
| extern const FFCodec ff_ayuv_decoder; | ||||
| #endif | ||||
| extern const FFCodec ff_bethsoftvid_decoder; | ||||
| extern const FFCodec ff_bfi_decoder; | ||||
| extern const FFCodec ff_bink_decoder; | ||||
|   | ||||
| @@ -1462,6 +1462,7 @@ static const AVCodecDescriptor codec_descriptors[] = { | ||||
|         .long_name = NULL_IF_CONFIG_SMALL("Avid Meridien Uncompressed"), | ||||
|         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, | ||||
|     }, | ||||
| #if FF_API_AYUV_CODECID | ||||
|     { | ||||
|         .id        = AV_CODEC_ID_AYUV, | ||||
|         .type      = AVMEDIA_TYPE_VIDEO, | ||||
| @@ -1469,6 +1470,7 @@ static const AVCodecDescriptor codec_descriptors[] = { | ||||
|         .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed MS 4:4:4:4"), | ||||
|         .props     = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, | ||||
|     }, | ||||
| #endif | ||||
|     { | ||||
|         .id        = AV_CODEC_ID_TARGA_Y216, | ||||
|         .type      = AVMEDIA_TYPE_VIDEO, | ||||
|   | ||||
| @@ -24,6 +24,8 @@ | ||||
| #include "libavutil/avutil.h" | ||||
| #include "libavutil/samplefmt.h" | ||||
|  | ||||
| #include "version_major.h" | ||||
|  | ||||
| /** | ||||
|  * @addtogroup lavc_core | ||||
|  * @{ | ||||
| @@ -251,7 +253,9 @@ enum AVCodecID { | ||||
|     AV_CODEC_ID_AVRP, | ||||
|     AV_CODEC_ID_012V, | ||||
|     AV_CODEC_ID_AVUI, | ||||
| #if FF_API_AYUV_CODECID | ||||
|     AV_CODEC_ID_AYUV, | ||||
| #endif | ||||
|     AV_CODEC_ID_TARGA_Y216, | ||||
|     AV_CODEC_ID_V308, | ||||
|     AV_CODEC_ID_V408, | ||||
|   | ||||
| @@ -29,6 +29,10 @@ static av_cold int v408_decode_init(AVCodecContext *avctx) | ||||
| { | ||||
|     avctx->pix_fmt = AV_PIX_FMT_YUVA444P; | ||||
|  | ||||
| #if FF_API_AYUV_CODECID | ||||
|     if (avctx->codec_id==AV_CODEC_ID_AYUV) | ||||
|         av_log(avctx, AV_LOG_WARNING, "This decoder is deprecated and will be removed.\n"); | ||||
| #endif | ||||
|     return 0; | ||||
| } | ||||
|  | ||||
| @@ -57,12 +61,15 @@ static int v408_decode_frame(AVCodecContext *avctx, AVFrame *pic, | ||||
|  | ||||
|     for (i = 0; i < avctx->height; i++) { | ||||
|         for (j = 0; j < avctx->width; j++) { | ||||
| #if FF_API_AYUV_CODECID | ||||
|             if (avctx->codec_id==AV_CODEC_ID_AYUV) { | ||||
|                 v[j] = *src++; | ||||
|                 u[j] = *src++; | ||||
|                 y[j] = *src++; | ||||
|                 a[j] = *src++; | ||||
|             } else { | ||||
|             } else | ||||
| #endif | ||||
|             { | ||||
|                 u[j] = *src++; | ||||
|                 y[j] = *src++; | ||||
|                 v[j] = *src++; | ||||
| @@ -81,6 +88,7 @@ static int v408_decode_frame(AVCodecContext *avctx, AVFrame *pic, | ||||
|     return avpkt->size; | ||||
| } | ||||
|  | ||||
| #if FF_API_AYUV_CODECID | ||||
| #if CONFIG_AYUV_DECODER | ||||
| const FFCodec ff_ayuv_decoder = { | ||||
|     .p.name       = "ayuv", | ||||
| @@ -92,6 +100,7 @@ const FFCodec ff_ayuv_decoder = { | ||||
|     .p.capabilities = AV_CODEC_CAP_DR1, | ||||
| }; | ||||
| #endif | ||||
| #endif | ||||
| #if CONFIG_V408_DECODER | ||||
| const FFCodec ff_v408_decoder = { | ||||
|     .p.name       = "v408", | ||||
|   | ||||
| @@ -33,6 +33,11 @@ static av_cold int v408_encode_init(AVCodecContext *avctx) | ||||
|     avctx->bits_per_coded_sample = 32; | ||||
|     avctx->bit_rate = ff_guess_coded_bitrate(avctx); | ||||
|  | ||||
| #if FF_API_AYUV_CODECID | ||||
|     if (avctx->codec_id == AV_CODEC_ID_AYUV) | ||||
|         av_log(avctx, AV_LOG_WARNING, "This encoder is deprecated and will be removed.\n"); | ||||
| #endif | ||||
|  | ||||
|     return 0; | ||||
| } | ||||
|  | ||||
| @@ -55,12 +60,15 @@ static int v408_encode_frame(AVCodecContext *avctx, AVPacket *pkt, | ||||
|  | ||||
|     for (i = 0; i < avctx->height; i++) { | ||||
|         for (j = 0; j < avctx->width; j++) { | ||||
| #if FF_API_AYUV_CODECID | ||||
|            if (avctx->codec_id==AV_CODEC_ID_AYUV) { | ||||
|                 *dst++ = v[j]; | ||||
|                 *dst++ = u[j]; | ||||
|                 *dst++ = y[j]; | ||||
|                 *dst++ = a[j]; | ||||
|             } else { | ||||
|             } else | ||||
| #endif | ||||
|             { | ||||
|                 *dst++ = u[j]; | ||||
|                 *dst++ = y[j]; | ||||
|                 *dst++ = v[j]; | ||||
| @@ -79,6 +87,7 @@ static int v408_encode_frame(AVCodecContext *avctx, AVPacket *pkt, | ||||
|  | ||||
| static const enum AVPixelFormat pix_fmt[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_NONE }; | ||||
|  | ||||
| #if FF_API_AYUV_CODECID | ||||
| #if CONFIG_AYUV_ENCODER | ||||
| const FFCodec ff_ayuv_encoder = { | ||||
|     .p.name       = "ayuv", | ||||
| @@ -91,6 +100,7 @@ const FFCodec ff_ayuv_encoder = { | ||||
|     .p.pix_fmts   = pix_fmt, | ||||
| }; | ||||
| #endif | ||||
| #endif | ||||
| #if CONFIG_V408_ENCODER | ||||
| const FFCodec ff_v408_encoder = { | ||||
|     .p.name       = "v408", | ||||
|   | ||||
| @@ -30,7 +30,7 @@ | ||||
| #include "version_major.h" | ||||
|  | ||||
| #define LIBAVCODEC_VERSION_MINOR  42 | ||||
| #define LIBAVCODEC_VERSION_MICRO 101 | ||||
| #define LIBAVCODEC_VERSION_MICRO 102 | ||||
|  | ||||
| #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ | ||||
|                                                LIBAVCODEC_VERSION_MINOR, \ | ||||
|   | ||||
| @@ -50,5 +50,6 @@ | ||||
| #define FF_API_SUB_TEXT_FORMAT     (LIBAVCODEC_VERSION_MAJOR < 60) | ||||
| #define FF_API_IDCT_NONE           (LIBAVCODEC_VERSION_MAJOR < 60) | ||||
| #define FF_API_SVTAV1_OPTS         (LIBAVCODEC_VERSION_MAJOR < 60) | ||||
| #define FF_API_AYUV_CODECID        (LIBAVCODEC_VERSION_MAJOR < 60) | ||||
|  | ||||
| #endif /* AVCODEC_VERSION_MAJOR_H */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user