[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