[vlc-devel] [PATCH] Adds Support for Intel's QuickSync Video encoder

Jean-Baptiste Kempf jb at videolan.org
Fri May 10 11:22:30 CEST 2013


On 10 May, Rafaël Carré wrote :
> > This encoder requires NV12 as its input, this is why i also provide a
> > second patch including a naive i420 to nv12 video_chroma filter, in order
> > to avoid to use swscale for a simple chroma conversion.
> 
> What's wrong with swscale?

Many things, notably the fight between the 2 projects, but the main
reason is to solve our classic conversion to NV12 problem, like in the
VIA case. I420->NV12 is something we'll see more and more.

> > I'm pretty sure there are many folks out there who can turn this naive C
> > implementation into a fast & furious MMX/SSE4/WTF implementation, and i
> > hope at some point, one of them will bravely rise and patch it.
> 
> I would have said maybe swscale does it already, but it is absolutely
> impossible to tell because swscale code can not be read.

And that's another reason.
There are lots of SIMD code to do interleaving like in this case.

> > +vlc_module_begin ()
> > +    set_category(CAT_INPUT)
> > +    set_subcategory(SUBCAT_INPUT_VCODEC)
> > +    set_description(N_("Intel QuickSync Video encoder H264/MPEG2"))
> > +    set_shortname("qsv")
> > +    set_capability("encoder", 0)
> 
> Is the encoder admitedly worse than x264 ?

No, but this is for testing first, and we are in freeze.
However, the quality is worse, but it is much faster.
And the quality is improving for Haswell.

> > +    if (enc->fmt_out.i_codec != VLC_CODEC_H264 &&
> > +        enc->fmt_out.i_codec != VLC_CODEC_MPGV && !enc->b_force)
> 
> Why b_force ?

Because x264 does the same.

Best regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device



More information about the vlc-devel mailing list