[FFmpeg-devel] [PATCH v2] avfilter/showinfo: support Content Light Level information

James Almer jamrial at gmail.com
Sat Aug 17 20:44:19 EEST 2019


On 8/10/2019 11:58 AM, lance.lmwang at gmail.com wrote:
> From: Limin Wang <lance.lmwang at gmail.com>
> 
> show real information instead of the unknown side data type message for HDR10 stream
> 
> Signed-off-by: Limin Wang <lance.lmwang at gmail.com>
> ---
>  libavfilter/vf_showinfo.c | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 
> diff --git a/libavfilter/vf_showinfo.c b/libavfilter/vf_showinfo.c
> index 9fa322e..94d17bf 100644
> --- a/libavfilter/vf_showinfo.c
> +++ b/libavfilter/vf_showinfo.c
> @@ -160,6 +160,20 @@ static void dump_mastering_display(AVFilterContext *ctx, AVFrameSideData *sd)
>             av_q2d(mastering_display->min_luminance), av_q2d(mastering_display->max_luminance));
>  }
>  
> +static void dump_content_light_metadata(AVFilterContext *ctx, AVFrameSideData *sd)
> +{
> +    AVContentLightMetadata* metadata = (AVContentLightMetadata*)sd->data;
> +
> +    if (sd->size < sizeof(*metadata)) {

sizeof(AVContentLightMetadata) is not part of the ABI, so just remove
this check.

> +        av_log(ctx, AV_LOG_ERROR, "invalid data");
> +        return;
> +    }
> +
> +    av_log(ctx, AV_LOG_INFO, "Content Light Level information: "
> +           "MaxCLL=%d, MaxFALL=%d",
> +           metadata->MaxCLL, metadata->MaxFALL);
> +}
> +
>  static void dump_color_property(AVFilterContext *ctx, AVFrame *frame)
>  {
>      const char *color_range_str     = av_color_range_name(frame->color_range);
> @@ -301,6 +315,9 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
>          case AV_FRAME_DATA_MASTERING_DISPLAY_METADATA:
>              dump_mastering_display(ctx, sd);
>              break;
> +        case AV_FRAME_DATA_CONTENT_LIGHT_LEVEL:
> +            dump_content_light_metadata(ctx, sd);
> +            break;
>          default:
>              av_log(ctx, AV_LOG_WARNING, "unknown side data type %d (%d bytes)",
>                     sd->type, sd->size);
> 



More information about the ffmpeg-devel mailing list