On Thu, 12 Nov 2015 16:25:06 +0100 "Sven Dueking" <s...@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. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel