[FFmpeg-devel] [PATCHv3] Added QSV based VPP filter
wm4
nfxjfg at gmail.com
Thu Nov 12 16:36:48 CET 2015
On Thu, 12 Nov 2015 16:25:06 +0100
"Sven Dueking" <sven at nablet.com> wrote:
> > You can't just set the data pointers on a refcounted AVFrame to a
> > completely different allocation. This breaks refcounting completely.
> > Also, a refcounted AVFrame has to remain valid even if the filter gets
> > destroyed, so I guess you can only output not-refcounted AVFrames,
> > which probably will result in a copy sooner or later.
> >
> > I'd say this is a pretty critical issue.
>
> Means I need to copy the data from my surface into the AVFrame ?
That'd be the easiest fix.
> > > +static av_cold int vpp_init(AVFilterContext *ctx) {
> > > + VPPContext *vpp= ctx->priv;
> > > +
> > > + AVCodecContext *avctx = (AVCodecContext *)ctx;
> >
> > Excuse me, what???
>
> I assume this means that such cast is not allowed, right ?
> This means that I need to add some stuff from qsv.c to this filter
>
> int ff_qsv_init_internal_session(AVCodecContext *avctx, QSVSession *qs,
> const char *load_plugins)
>
> Btw, this cast works (even it´s not allowed) ...
Also, this function is private to libavcodec and can't be used from
libavfilter. Your code doesn't even LINK as shared lib.
>
> Again, thanks for your review. I will think about your proposal to redesign the filter.
I didn't suggest to "redesign" it.
More information about the ffmpeg-devel
mailing list