[FFmpeg-devel] avcodec/proresaw_enc : improvment (vendor and color properties, 4444Xq)

Michael Niedermayer michael at niedermayer.cc
Sun Dec 2 18:01:14 EET 2018


On Sun, Dec 02, 2018 at 01:52:49PM +0100, Martin Vignali wrote:
> Hello,
> 
> New patch in attach
> 
> 001 : add ff_int_is_in_list func to libavcodec/utils.c
> 002 : add vendor option (unchanged)
> 003 : only write color properties if supported (use new ff_int_is_in_list
> func)
> 004 : Add 444Xq (unchanged)
> 
> Martin

>  proresenc_anatoliy.c |   13 ++++++++++---
>  1 file changed, 10 insertions(+), 3 deletions(-)
> 8ba4720a3b18d2ee2f865463d5ad402ba7a04a4b  0003-avcodec-prores_aw-only-set-color-prim-trc-space.patch
> From 219d1a49472712d601dc722a2719abf547321c32 Mon Sep 17 00:00:00 2001
> From: Martin Vignali <martin.vignali at gmail.com>
> Date: Sun, 2 Dec 2018 13:40:02 +0100
> Subject: [PATCH 3/4] avcodec/prores_aw : only set color prim, trc, space 
>  values if supported
> 
> set to unspecified if frame have another value
> ---
>  libavcodec/proresenc_anatoliy.c | 13 ++++++++++---
>  1 file changed, 10 insertions(+), 3 deletions(-)
> 
> diff --git a/libavcodec/proresenc_anatoliy.c b/libavcodec/proresenc_anatoliy.c
> index 8047f1c242..6263d2b83b 100644
> --- a/libavcodec/proresenc_anatoliy.c
> +++ b/libavcodec/proresenc_anatoliy.c
> @@ -52,6 +52,12 @@ static const int qp_start_table[5] = {  8, 3, 2, 1, 1};
>  static const int qp_end_table[5]   = { 13, 9, 6, 6, 5};
>  static const int bitrate_table[5]  = { 1000, 2100, 3500, 5400, 7000};
>  
> +static int valid_primaries[9]  = { AVCOL_PRI_RESERVED0, AVCOL_PRI_BT709, AVCOL_PRI_UNSPECIFIED, AVCOL_PRI_BT470BG,
> +                                   AVCOL_PRI_SMPTE170M, AVCOL_PRI_BT2020, AVCOL_PRI_SMPTE431, AVCOL_PRI_SMPTE432,INT_MAX };
> +static int valid_trc[4]        = { AVCOL_TRC_RESERVED0, AVCOL_TRC_BT709, AVCOL_TRC_UNSPECIFIED, INT_MAX };
> +static int valid_colorspace[5] = { AVCOL_SPC_BT709, AVCOL_SPC_UNSPECIFIED, AVCOL_SPC_SMPTE170M,
> +                                   AVCOL_SPC_BT2020_NCL, INT_MAX };

these should be const static

[...]
>  internal.h |   12 ++++++++++++
>  utils.c    |   19 +++++++++++++++++++
>  2 files changed, 31 insertions(+)
> 1d57ba15526595e41879dc1b4aa65444941e4d68  0001-avcodec-utils-add-ff_int_is_in_list-func.patch
> From 3489b650f90c62ecf621f4f930239bb639515aca Mon Sep 17 00:00:00 2001
> From: Martin Vignali <martin.vignali at gmail.com>
> Date: Sun, 2 Dec 2018 13:28:33 +0100
> Subject: [PATCH 1/4] avcodec/utils : add ff_int_is_in_list func
> 
> to check valid value, or return default_value
> ---
>  libavcodec/internal.h | 12 ++++++++++++
>  libavcodec/utils.c    | 19 +++++++++++++++++++
>  2 files changed, 31 insertions(+)
> 
> diff --git a/libavcodec/internal.h b/libavcodec/internal.h
> index 0c2133f092..03f1d29bc2 100644
> --- a/libavcodec/internal.h
> +++ b/libavcodec/internal.h
> @@ -404,6 +404,18 @@ int ff_alloc_a53_sei(const AVFrame *frame, size_t prefix_len,
>   */
>  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_is_in_list(void *ctx, const char * val_name, int val,
> +                      int * array_valid_values, int default_value);

maybe
ff_int_from_list_or_default()
is a clearer name, what do you think ?

but iam fine with either, just wondering 

thx

[...]


-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

I know you won't believe me, but the highest form of Human Excellence is
to question oneself and others. -- Socrates
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20181202/79a2c311/attachment.sig>


More information about the ffmpeg-devel mailing list