[FFmpeg-devel] have some major changes for nvenc support

Roger Pack rogerdpack2 at gmail.com
Wed Jan 13 06:57:35 CET 2016

On 1/8/16, Andrey Turkin <andrey.turkin at gmail.com> wrote:
> In my opinion this proliferation of various filters which do the same thing
> in different way is a configuration headache. There's CPU filters: one for
> scaling/format conversion, one for padding, one  for cropping, like 5
> different filters for deinterlacing. And now there would be nvresize for
> scaling, and we gotta add CUDA-based nvpad and nvdeint if we want to do
> some transcoding. Maybe add overlaying too - so nvoverlay. Then there is
> OpenCL which can do everything - so 4 more filters for that. And there is
> quicksync which I think can do those things, so there would be qsvscale and
> qsvdeint. And there is D3D11 video processor which can do those things too
> (simultaneously in fact), so there's gotta be
> d3d11vascaledeintpadcropoverlay. And then we've got a whole bunch of video
> filters which can only do their job on a specific hwaccel platform. Want to
> try different hwaccel? Rewrite damn filter string. Want to do something
> generic that can be used over different platforms? Can't be done.
> Maybe it's just my wishful thinking, but I was wondering for some time if
> there can be one "smart" filter to do one specific thing?

Yes a smart wrapper might be nice.
I'm all for different ways to resize, though, I used to wonder why
there wasn't a filter option liek

-filter_complex "convert_to_opengl; opengl_resize=1000x1000;
opengl_rotate=90;convert_from_opengl;" that type of thing, I think
based on similar functionality gstreamer has.

More information about the ffmpeg-devel mailing list