Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH 2/3] avcodec/libx264: Set FFCodec.pix_fmts field and fix deprecation warning
@ 2025-02-05 17:22 Zhao Zhili
  2025-02-05 17:42 ` Andreas Rheinhardt
  0 siblings, 1 reply; 3+ messages in thread
From: Zhao Zhili @ 2025-02-05 17:22 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Zhao Zhili

From: Zhao Zhili <zhilizhao@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

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [FFmpeg-devel] [PATCH 2/3] avcodec/libx264: Set FFCodec.pix_fmts field and fix deprecation warning
  2025-02-05 17:22 [FFmpeg-devel] [PATCH 2/3] avcodec/libx264: Set FFCodec.pix_fmts field and fix deprecation warning Zhao Zhili
@ 2025-02-05 17:42 ` Andreas Rheinhardt
  2025-02-05 18:04   ` Zhao Zhili
  0 siblings, 1 reply; 3+ messages in thread
From: Andreas Rheinhardt @ 2025-02-05 17:42 UTC (permalink / raw)
  To: ffmpeg-devel

Zhao Zhili:
> From: Zhao Zhili <zhilizhao@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",

Only Clang emits these deprecation warnings; and IIRC GCC does not
support disabling deprecation warnings inside a definition like this
(compilation failure). The deprecation warnings can instead be fixed
like in fdff1b9cbfd8cf5a9810c29efa4baf13a4786742.

- Andreas

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [FFmpeg-devel] [PATCH 2/3] avcodec/libx264: Set FFCodec.pix_fmts field and fix deprecation warning
  2025-02-05 17:42 ` Andreas Rheinhardt
@ 2025-02-05 18:04   ` Zhao Zhili
  0 siblings, 0 replies; 3+ messages in thread
From: Zhao Zhili @ 2025-02-05 18:04 UTC (permalink / raw)
  To: FFmpeg development discussions and patches



> On Feb 6, 2025, at 01:42, Andreas Rheinhardt <andreas.rheinhardt@outlook.com> wrote:
> 
> Zhao Zhili:
>> From: Zhao Zhili <zhilizhao@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",
> 
> Only Clang emits these deprecation warnings; and IIRC GCC does not
> support disabling deprecation warnings inside a definition like this
> (compilation failure). The deprecation warnings can instead be fixed
> like in fdff1b9cbfd8cf5a9810c29efa4baf13a4786742.

OK. I decided just set -Wno-deprecated-declarations in my build environment
and not continue addressing the depression warning.

> 
> - Andreas
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-02-05 18:04 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-02-05 17:22 [FFmpeg-devel] [PATCH 2/3] avcodec/libx264: Set FFCodec.pix_fmts field and fix deprecation warning Zhao Zhili
2025-02-05 17:42 ` Andreas Rheinhardt
2025-02-05 18:04   ` Zhao Zhili

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git