[FFmpeg-devel] [Patch] scale_npp : Fix pass through mode

Mark Thompson sw at jkqxz.net
Mon Aug 14 14:39:04 EEST 2017


On 14/08/17 12:20, Yogender Gupta wrote:
> Pass through mode (input resolution = output resolution) mode is broken in scale_npp. This patch fixes the same.
> 
> Thanks,
> Yogender
> 
> From 6ab2dee97b0eef4c06e9ba8a24a9be01a8c3e33d Mon Sep 17 00:00:00 2001
> From: Yogender Gupta <ygupta at nvidia.com>
> Date: Mon, 14 Aug 2017 16:11:32 +0530
> Subject: [PATCH] scale_npp : Fix pass through mode
> 
> ---
>  libavfilter/vf_scale_npp.c | 4 ++++
>  1 file changed, 4 insertions(+)

Right, this was broken by the addition of the the HWFRAME_AWARE flag to the filter, because it was previously relying on the automatic propagation of the input hw_frames_ctx to the output link for the passthrough case.

LGTM with changes below.

Thanks,

- Mark


> diff --git a/libavfilter/vf_scale_npp.c b/libavfilter/vf_scale_npp.c
> index c36772e..f64ab95 100644
> --- a/libavfilter/vf_scale_npp.c
> +++ b/libavfilter/vf_scale_npp.c
> @@ -320,7 +320,11 @@ static int init_processing_chain(AVFilterContext *ctx, int in_width, int in_heig
>      }
>  
>      if (last_stage < 0)
> +    {

Please use the same brace style as everywhere else in ffmpeg.

> +        ctx->outputs[0]->hw_frames_ctx = av_buffer_ref(ctx->inputs[0]->hw_frames_ctx);

This needs to check that the allocation succeeds (as in the following lines).

>          return 0;
> +    }
> +
>      ctx->outputs[0]->hw_frames_ctx = av_buffer_ref(s->stages[last_stage].frames_ctx);
>      if (!ctx->outputs[0]->hw_frames_ctx)
>          return AVERROR(ENOMEM);
> -- 
> 2.10.1.windows.1
> 


More information about the ffmpeg-devel mailing list