[FFmpeg-devel] [PATCH 2/3] avcodec/libx264: Set FFCodec.pix_fmts field and fix deprecation warning
Zhao Zhili
quinkblack at foxmail.com
Wed Feb 5 19:22:46 EET 2025
From: Zhao Zhili <zhilizhao at tencent.com>
We can fix deprecation warning by not set p.pix_fmts, and copy
FFCodec.pix_fmts to FFCodec.p.pix_fmts in av_codec_init_static().
However, that method requires non-const FFCodec. So I decided to
set pix_fmts and p.pix_fmts both, and disable deprecation warning
explicitly.
---
libavcodec/libx264.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c
index 409f45fc7d..9b8b32ef4e 100644
--- a/libavcodec/libx264.c
+++ b/libavcodec/libx264.c
@@ -1633,7 +1633,10 @@ const FFCodec ff_libx264_encoder = {
.flush = X264_flush,
.close = X264_close,
.defaults = x264_defaults,
+ .pix_fmts = pix_fmts_all,
+FF_DISABLE_DEPRECATION_WARNINGS
.p.pix_fmts = pix_fmts_all,
+FF_ENABLE_DEPRECATION_WARNINGS
.color_ranges = AVCOL_RANGE_MPEG | AVCOL_RANGE_JPEG,
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_AUTO_THREADS
#if X264_BUILD < 158
@@ -1659,7 +1662,10 @@ const FFCodec ff_libx264rgb_encoder = {
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
AV_CODEC_CAP_OTHER_THREADS |
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
+ .pix_fmts = pix_fmts_8bit_rgb,
+FF_DISABLE_DEPRECATION_WARNINGS
.p.pix_fmts = pix_fmts_8bit_rgb,
+FF_ENABLE_DEPRECATION_WARNINGS
.p.priv_class = &rgbclass,
.p.wrapper_name = "libx264",
.priv_data_size = sizeof(X264Context),
@@ -1691,7 +1697,10 @@ const FFCodec ff_libx262_encoder = {
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
AV_CODEC_CAP_OTHER_THREADS |
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
+ .pix_fmts = pix_fmts_8bit,
+FF_DISABLE_DEPRECATION_WARNINGS
.p.pix_fmts = pix_fmts_8bit,
+FF_ENABLE_DEPRECATION_WARNINGS
.color_ranges = AVCOL_RANGE_MPEG,
.p.priv_class = &X262_class,
.p.wrapper_name = "libx264",
--
2.46.0
More information about the ffmpeg-devel
mailing list