[FFmpeg-devel] [PATCH v1] avfilter/vaapi: add overlay_vaapi filter

Zhou, Zachary zachary.zhou at intel.com
Tue Jun 11 05:55:30 EEST 2019



> -----Original Message-----
> From: ffmpeg-devel [mailto:ffmpeg-devel-bounces at ffmpeg.org] On Behalf Of
> Michael Niedermayer
> Sent: Tuesday, June 11, 2019 4:50 AM
> To: FFmpeg development discussions and patches <ffmpeg-devel at ffmpeg.org>
> Subject: Re: [FFmpeg-devel] [PATCH v1] avfilter/vaapi: add overlay_vaapi filter
> 
> On Mon, Jun 10, 2019 at 01:24:29PM +0800, Zachary Zhou wrote:
> > ---
> >  configure                      |   1 +
> >  libavfilter/Makefile           |   1 +
> >  libavfilter/allfilters.c       |   1 +
> >  libavfilter/vaapi_vpp.c        |  95 +++++++++
> >  libavfilter/vaapi_vpp.h        |   5 +
> >  libavfilter/vf_overlay_vaapi.c | 352
> > +++++++++++++++++++++++++++++++++
> >  6 files changed, 455 insertions(+)
> >  create mode 100644 libavfilter/vf_overlay_vaapi.c
> 
> breaks build
> 
> CC	libavfilter/vf_overlay_vaapi.o
> libavfilter/vf_overlay_vaapi.c:32:1: error: unknown type name ‘VABlendState’
>  static VABlendState blend_state = { /** \brief Video blending flags. */  ^
> libavfilter/vf_overlay_vaapi.c:33:5: error: field name not in record or union
> initializer
>      .flags        = VA_BLEND_PREMULTIPLIED_ALPHA,
> //VA_BLEND_GLOBAL_ALPHA,
>      ^
> libavfilter/vf_overlay_vaapi.c:33:5: error: (near initialization for ‘blend_state’)
> libavfilter/vf_overlay_vaapi.c:33:14: error:
> ‘VA_BLEND_PREMULTIPLIED_ALPHA’ undeclared here (not in a function)
>      .flags        = VA_BLEND_PREMULTIPLIED_ALPHA,
> //VA_BLEND_GLOBAL_ALPHA,
>               ^
> libavfilter/vf_overlay_vaapi.c:34:5: error: field name not in record or union
> initializer
>      .global_alpha = 1,
>      ^
> libavfilter/vf_overlay_vaapi.c:34:5: error: (near initialization for ‘blend_state’)
> libavfilter/vf_overlay_vaapi.c:34:5: warning: excess elements in scalar
> initializer [enabled by default]
> libavfilter/vf_overlay_vaapi.c:34:5: warning: (near initialization for
> ‘blend_state’) [enabled by default]
> libavfilter/vf_overlay_vaapi.c:35:5: error: field name not in record or union
> initializer
>      .min_luma     = 0,
>      ^
> libavfilter/vf_overlay_vaapi.c:35:5: error: (near initialization for ‘blend_state’)
> libavfilter/vf_overlay_vaapi.c:35:5: warning: excess elements in scalar
> initializer [enabled by default]
> libavfilter/vf_overlay_vaapi.c:35:5: warning: (near initialization for
> ‘blend_state’) [enabled by default]
> libavfilter/vf_overlay_vaapi.c:36:5: error: field name not in record or union
> initializer
>      .max_luma     = 1
>      ^
> libavfilter/vf_overlay_vaapi.c:36:5: error: (near initialization for ‘blend_state’)
> libavfilter/vf_overlay_vaapi.c:37:1: warning: excess elements in scalar
> initializer [enabled by default]  };  ^
> libavfilter/vf_overlay_vaapi.c:37:1: warning: (near initialization for
> ‘blend_state’) [enabled by default]
> libavfilter/vf_overlay_vaapi.c: In function ‘overlay_vaapi_blend’:
> libavfilter/vf_overlay_vaapi.c:186:16: error: request for member ‘global_alpha’
> in something not a structure or union
>      blend_state.global_alpha = ctx->overlay_alpha;
>                 ^
> libavfilter/vf_overlay_vaapi.c:187:18: error: ‘VAProcPipelineParameterBuffer’
> has no member named ‘blend_state’
>      subpic_params.blend_state = &blend_state;
>                   ^
> make: *** [libavfilter/vf_overlay_vaapi.o] Error 1
> make: Target `all' not remade because of errors.

Thanks Michael for the check, added #if VA_CHECK_VERSION(2, 1, 0) in code, and sent out the v2 version of the patch.

Thanks,
Zachary

> 
> [...]
> --
> Michael     GnuPG fingerprint:
> 9FF2128B147EF6730BADF133611EC787040B0FAB
> 
> I have often repented speaking, but never of holding my tongue.
> -- Xenocrates


More information about the ffmpeg-devel mailing list