On 30/11/2024 04:33, Michael Niedermayer wrote:

Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc>
---
  libavcodec/ffv1enc.c | 14 +++++++++++++-
  1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/libavcodec/ffv1enc.c b/libavcodec/ffv1enc.c
index c96c71b1096..742db549e5f 100644
--- a/libavcodec/ffv1enc.c
+++ b/libavcodec/ffv1enc.c
@@ -41,6 +41,12 @@
  #include "ffv1.h"
  #include "ffv1enc.h"
+enum {
+    QTABLE_DEFAULT = -1,
+    QTABLE_8BIT,
+    QTABLE_GT8BIT,
+};
+
  static const int8_t quant5_10bit[256] = {
       0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,
       1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
@@ -1346,7 +1352,13 @@ static const AVOption options[] = {
      { "context", "Context model", OFFSET(context_model), AV_OPT_TYPE_INT,
              { .i64 = 0 }, 0, 1, VE },
      { "qtable", "Quantization table", OFFSET(qtable), AV_OPT_TYPE_INT,
-            { .i64 = -1 }, -1, 2, VE },
+            { .i64 = -1 }, -1, 2, VE , .unit = "qtable"},
+        { "default", NULL, 0, AV_OPT_TYPE_CONST,
+            { .i64 = QTABLE_DEFAULT }, INT_MIN, INT_MAX, VE, .unit = "qtable" 
},
+        { "8bit", NULL, 0, AV_OPT_TYPE_CONST,
+            { .i64 = QTABLE_8BIT }, INT_MIN, INT_MAX, VE, .unit = "qtable" },
+        { "greater8bit", NULL, 0, AV_OPT_TYPE_CONST,
+            { .i64 = QTABLE_GT8BIT }, INT_MIN, INT_MAX, VE, .unit = "qtable" },
{ NULL }
  };


Could you apply this to ffv1enc_vulkan.c as well? It uses the same quantization table

that the software encoder initializes, as well as the same option definition, so it

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

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

Reply via email to