PR #23028 opened by add-uos-ffmpeg
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/23028
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/23028.patch

Add printing of AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
AV_CODEC_CAP_ENCODER_FLUSH, and AV_CODEC_CAP_ENCODER_RECON_FRAME
capabilities that were defined but not displayed.

----

Hi, Thank you for your time and careful review.  Please let me know if you have 
any further suggestions.

Test as follows:

`./ffmpeg -hide_banner -h encoder=mpeg4 2>&1 | head -10`

    Encoder mpeg4 [MPEG-4 part 2]:
        General capabilities: dr1 delay threads reorderedopaque 
        Threading capabilities: slice
        Supported pixel formats: yuv420p
    MPEG4 encoder AVOptions:
      -data_partitioning <boolean>    E..V....... Use data partitioning. 
(default false)
      -alternate_scan    <boolean>    E..V....... Enable alternate scantable. 
(default false)
      -mpeg_quant        <int>        E..V....... Use MPEG quantizers instead 
of H.263 (from 0 to 1) (default 0)
      -b_strategy        <int>        E..V....... Strategy to choose between 
I/P/B-frames (from 0 to 2) (default 0)
      -b_sensitivity     <int>        E..V....... Adjust sensitivity of 
b_frame_strategy 1 (from 1 to INT_MAX) (default 40)



`$ ./ffmpeg -hide_banner -h encoder=av1_nvenc 2>&1 | head -10`

    Encoder av1_nvenc [NVIDIA NVENC av1 encoder]:
        General capabilities: dr1 delay hardware reorderedopaque flush 
        Threading capabilities: none
        Supported hardware devices: cuda cuda 
        Supported pixel formats: yuv420p nv12 p010le yuv444p p016le 
yuv444p10msble yuv444p16le bgr0 bgra rgb0 rgba x2rgb10le x2bgr10le gbrp 
gbrp10msble gbrp16le cuda
    av1_nvenc AVOptions:
      -preset            <int>        E..V....... Set the encoding preset (from 
0 to 18) (default p4)
         default         0            E..V....... 
         slow            1            E..V....... hq 2 passes
         medium          2            E..V....... hq 1 pass


Best regards.


>From 234016e4f3c4eb136dc6242b20a6d9ad10562a02 Mon Sep 17 00:00:00 2001
From: zhanghongyuan <[email protected]>
Date: Wed, 6 May 2026 13:20:29 +0800
Subject: [PATCH] fftools/opt_common: print encoder-specific capabilities in
 print_codec()

Add printing of AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
AV_CODEC_CAP_ENCODER_FLUSH, and AV_CODEC_CAP_ENCODER_RECON_FRAME
capabilities that were defined but not displayed.
---
 fftools/opt_common.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/fftools/opt_common.c b/fftools/opt_common.c
index f23055646f..82b3cf2464 100644
--- a/fftools/opt_common.c
+++ b/fftools/opt_common.c
@@ -326,6 +326,12 @@ static void print_codec(const AVCodec *c)
         printf("hardware ");
     if (c->capabilities & AV_CODEC_CAP_HYBRID)
         printf("hybrid ");
+    if (c->capabilities & AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE)
+        printf("reorderedopaque ");
+    if (c->capabilities & AV_CODEC_CAP_ENCODER_FLUSH)
+        printf("flush ");
+    if (c->capabilities & AV_CODEC_CAP_ENCODER_RECON_FRAME)
+        printf("reconframe ");
     if (!c->capabilities)
         printf("none");
     printf("\n");
-- 
2.52.0

_______________________________________________
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to