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

Limin Wang lance.lmwang at gmail.com
Sun Aug 18 02:09:36 EEST 2019


On Sat, Aug 17, 2019 at 02:49:29PM -0300, James Almer wrote:
> On 8/17/2019 2:44 PM, James Almer wrote:
> > 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.
> 
> Oh, your first version was like that, and this one is the result of
> someone suggesting to add the check.
> 
> Pushed the correct version then.

thanks, when we should check the size as some other metadata have the
size 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);
> >>
> > 
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-devel mailing list