diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c index f5317616b7..f6c09d3c36 100644 --- a/libavcodec/allcodecs.c +++ b/libavcodec/allcodecs.c @@ -347,8 +347,10 @@ extern const FFCodec ff_v210_decoder; extern const FFCodec ff_v210x_decoder; extern const FFCodec ff_v308_encoder; extern const FFCodec ff_v308_decoder; +#if FF_API_V408_CODECID extern const FFCodec ff_v408_encoder; extern const FFCodec ff_v408_decoder; +#endif extern const FFCodec ff_v410_encoder; extern const FFCodec ff_v410_decoder; extern const FFCodec ff_vb_decoder; diff --git a/libavcodec/codec_desc.c b/libavcodec/codec_desc.c index 2452a7b982..4badf9d250 100644 --- a/libavcodec/codec_desc.c +++ b/libavcodec/codec_desc.c @@ -1484,6 +1484,7 @@ static const AVCodecDescriptor codec_descriptors[] = { .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed 4:4:4"), .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, }, +#if FF_API_V408_CODECID { .id = AV_CODEC_ID_V408, .type = AVMEDIA_TYPE_VIDEO, @@ -1491,6 +1492,7 @@ static const AVCodecDescriptor codec_descriptors[] = { .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed QT 4:4:4:4"), .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, }, +#endif { .id = AV_CODEC_ID_YUV4, .type = AVMEDIA_TYPE_VIDEO, diff --git a/libavcodec/codec_id.h b/libavcodec/codec_id.h index 0abd036f49..9f77593db7 100644 --- a/libavcodec/codec_id.h +++ b/libavcodec/codec_id.h @@ -255,7 +255,9 @@ enum AVCodecID { AV_CODEC_ID_AVUI, AV_CODEC_ID_TARGA_Y216, AV_CODEC_ID_V308, +#if FF_API_V408_CODECID AV_CODEC_ID_V408, +#endif AV_CODEC_ID_YUV4, AV_CODEC_ID_AVRN, AV_CODEC_ID_CPIA, diff --git a/libavcodec/v408dec.c b/libavcodec/v408dec.c index 2433c6de14..4bce5c7b67 100644 --- a/libavcodec/v408dec.c +++ b/libavcodec/v408dec.c @@ -27,6 +27,8 @@ static av_cold int v408_decode_init(AVCodecContext *avctx) { avctx->pix_fmt = AV_PIX_FMT_YUVA444P; + av_log(avctx, AV_LOG_WARNING, "This decoder is deprecated and will be removed.\n"); + return 0; } diff --git a/libavcodec/v408enc.c b/libavcodec/v408enc.c index c173f650ef..bf264de463 100644 --- a/libavcodec/v408enc.c +++ b/libavcodec/v408enc.c @@ -30,6 +30,8 @@ static av_cold int v408_encode_init(AVCodecContext *avctx) avctx->bits_per_coded_sample = 32; avctx->bit_rate = ff_guess_coded_bitrate(avctx); + av_log(avctx, AV_LOG_WARNING, "This encoder is deprecated and will be removed.\n"); + return 0; } diff --git a/libavcodec/version_major.h b/libavcodec/version_major.h index 63df40e9dd..37f243f868 100644 --- a/libavcodec/version_major.h +++ b/libavcodec/version_major.h @@ -48,5 +48,6 @@ #define FF_API_BUFFER_MIN_SIZE (LIBAVCODEC_VERSION_MAJOR < 62) #define FF_API_VDPAU_ALLOC_GET_SET (LIBAVCODEC_VERSION_MAJOR < 62) #define FF_API_QUALITY_FACTOR (LIBAVCODEC_VERSION_MAJOR < 62) +#define FF_API_V408_CODECID (LIBAVCODEC_VERSION_MAJOR < 62) #endif /* AVCODEC_VERSION_MAJOR_H */ diff --git a/libavformat/isom_tags.c b/libavformat/isom_tags.c index 5b3b859d37..d1b6b52db4 100644 --- a/libavformat/isom_tags.c +++ b/libavformat/isom_tags.c @@ -64,7 +64,9 @@ const AVCodecTag ff_codec_movvideo_tags[] = { { AV_CODEC_ID_V210, MKTAG('v', '2', '1', '0') }, /* uncompressed 10-bit 4:2:2 */ { AV_CODEC_ID_V210, MKTAG('b', 'x', 'y', '2') }, /* BOXX 10-bit 4:2:2 */ { AV_CODEC_ID_V308, MKTAG('v', '3', '0', '8') }, /* uncompressed 8-bit 4:4:4 */ +#if FF_API_V408_CODECID { AV_CODEC_ID_V408, MKTAG('v', '4', '0', '8') }, /* uncompressed 8-bit 4:4:4:4 */ +#endif { AV_CODEC_ID_V410, MKTAG('v', '4', '1', '0') }, /* uncompressed 10-bit 4:4:4 */ { AV_CODEC_ID_Y41P, MKTAG('Y', '4', '1', 'P') }, /* uncompressed 12-bit 4:1:1 */ { AV_CODEC_ID_YUV4, MKTAG('y', 'u', 'v', '4') }, /* libquicktime packed yuv420p */ diff --git a/libavformat/movenc.c b/libavformat/movenc.c index d54510a3de..3d5bfa946e 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -2619,7 +2619,9 @@ static int mov_write_video_tag(AVFormatContext *s, AVIOContext *pb, MOVMuxContex || (track->par->codec_id == AV_CODEC_ID_RAWVIDEO && track->par->format == AV_PIX_FMT_UYVA) || (track->par->codec_id == AV_CODEC_ID_RAWVIDEO && track->par->format == AV_PIX_FMT_V30X) || track->par->codec_id == AV_CODEC_ID_V308 +#if FF_API_V408_CODECID || track->par->codec_id == AV_CODEC_ID_V408 +#endif || track->par->codec_id == AV_CODEC_ID_V410 || track->par->codec_id == AV_CODEC_ID_V210); diff --git a/libavformat/riff.c b/libavformat/riff.c index 7f3291a392..c1e48810b6 100644 --- a/libavformat/riff.c +++ b/libavformat/riff.c @@ -306,7 +306,9 @@ const AVCodecTag ff_codec_bmp_tags[] = { { AV_CODEC_ID_V210, MKTAG('v', '2', '1', '0') }, { AV_CODEC_ID_V210, MKTAG('C', '2', '1', '0') }, { AV_CODEC_ID_V308, MKTAG('v', '3', '0', '8') }, +#if FF_API_V408_CODECID { AV_CODEC_ID_V408, MKTAG('v', '4', '0', '8') }, +#endif { AV_CODEC_ID_V410, MKTAG('v', '4', '1', '0') }, { AV_CODEC_ID_YUV4, MKTAG('y', 'u', 'v', '4') }, { AV_CODEC_ID_INDEO3, MKTAG('I', 'V', '3', '1') },