[FFmpeg-devel] [PATCH 18/19] avcodec/utils: Move ff_int_from_list_or_default() to its only user

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Wed Aug 2 15:54:49 EEST 2023


Namely proresenc_anatoliy.c.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
 libavcodec/internal.h           | 12 ----------
 libavcodec/proresenc_anatoliy.c | 39 +++++++++++++++++++++++++++++----
 libavcodec/utils.c              | 19 ----------------
 3 files changed, 35 insertions(+), 35 deletions(-)

diff --git a/libavcodec/internal.h b/libavcodec/internal.h
index 7de6c577fe..a67cf713ca 100644
--- a/libavcodec/internal.h
+++ b/libavcodec/internal.h
@@ -207,16 +207,4 @@ int ff_alloc_timecode_sei(const AVFrame *frame, AVRational rate, size_t prefix_l
  */
 int64_t ff_guess_coded_bitrate(AVCodecContext *avctx);
 
-/**
- * Check if a value is in the list. If not, return the default value
- *
- * @param ctx                Context for the log msg
- * @param val_name           Name of the checked value, for log msg
- * @param array_valid_values Array of valid int, ended with INT_MAX
- * @param default_value      Value return if checked value is not in the array
- * @return                   Value or default_value.
- */
-int ff_int_from_list_or_default(void *ctx, const char * val_name, int val,
-                                const int * array_valid_values, int default_value);
-
 #endif /* AVCODEC_INTERNAL_H */
diff --git a/libavcodec/proresenc_anatoliy.c b/libavcodec/proresenc_anatoliy.c
index fc48c97d5b..c701275e5d 100644
--- a/libavcodec/proresenc_anatoliy.c
+++ b/libavcodec/proresenc_anatoliy.c
@@ -32,7 +32,6 @@
 #include "avcodec.h"
 #include "codec_internal.h"
 #include "encode.h"
-#include "internal.h"
 #include "profiles.h"
 #include "proresdata.h"
 #include "put_bits.h"
@@ -198,6 +197,35 @@ typedef struct {
     char *vendor;
 } ProresContext;
 
+/**
+ * Check if a value is in the list. If not, return the default value
+ *
+ * @param ctx                Context for the log msg
+ * @param val_name           Name of the checked value, for log msg
+ * @param array_valid_values Array of valid int, ended with INT_MAX
+ * @param default_value      Value return if checked value is not in the array
+ * @return                   Value or default_value.
+ */
+static int int_from_list_or_default(void *ctx, const char *val_name, int val,
+                                    const int *array_valid_values, int default_value)
+{
+    int i = 0;
+
+    while (1) {
+        int ref_val = array_valid_values[i];
+        if (ref_val == INT_MAX)
+            break;
+        if (val == ref_val)
+            return val;
+        i++;
+    }
+    /* val is not a valid value */
+    av_log(ctx, AV_LOG_DEBUG,
+           "%s %d are not supported. Set to default value : %d\n",
+           val_name, val, default_value);
+    return default_value;
+}
+
 static void encode_codeword(PutBitContext *pb, int val, int codebook)
 {
     unsigned int rice_order, exp_order, switch_bits, first_exp, exp, zeros;
@@ -761,9 +789,12 @@ static int prores_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
     *buf++ = frame_flags;
     *buf++ = 0; /* reserved */
     /* only write color properties, if valid value. set to unspecified otherwise */
-    *buf++ = ff_int_from_list_or_default(avctx, "frame color primaries", pict->color_primaries, valid_primaries, 0);
-    *buf++ = ff_int_from_list_or_default(avctx, "frame color trc", pict->color_trc, valid_trc, 0);
-    *buf++ = ff_int_from_list_or_default(avctx, "frame colorspace", pict->colorspace, valid_colorspace, 0);
+    *buf++ = int_from_list_or_default(avctx, "frame color primaries",
+                                      pict->color_primaries, valid_primaries, 0);
+    *buf++ = int_from_list_or_default(avctx, "frame color trc",
+                                      pict->color_trc, valid_trc, 0);
+    *buf++ = int_from_list_or_default(avctx, "frame colorspace",
+                                      pict->colorspace, valid_colorspace, 0);
     if (avctx->profile >= FF_PROFILE_PRORES_4444) {
         if (avctx->pix_fmt == AV_PIX_FMT_YUV444P10) {
             *buf++ = 0xA0;/* src b64a and no alpha */
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index da652d4db1..bd4131db62 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -1142,22 +1142,3 @@ int64_t ff_guess_coded_bitrate(AVCodecContext *avctx)
 
     return bitrate;
 }
-
-int ff_int_from_list_or_default(void *ctx, const char * val_name, int val,
-                                const int * array_valid_values, int default_value)
-{
-    int i = 0, ref_val;
-
-    while (1) {
-        ref_val = array_valid_values[i];
-        if (ref_val == INT_MAX)
-            break;
-        if (val == ref_val)
-            return val;
-        i++;
-    }
-    /* val is not a valid value */
-    av_log(ctx, AV_LOG_DEBUG,
-           "%s %d are not supported. Set to default value : %d\n", val_name, val, default_value);
-    return default_value;
-}
-- 
2.34.1



More information about the ffmpeg-devel mailing list