[Libva] Are there any feature in libva (intel hw encoding) for skipping macroblocks in the frame.

Gwenole Beauchesne gb.devel at gmail.com
Wed Jun 11 08:59:12 PDT 2014


Hi,

2014-06-11 17:11 GMT+02:00 Nikita Orlov <nikitos1550 at yandex.ru>:
> Hello!
>
> x264 has next feature:
>
>     void (*quant_offsets_free)( void* );
>
>     /* In: optional array of flags for each macroblock.
>      *     Allows specifying additional information for the encoder such as which macroblocks
>      *     remain unchanged.  Usable flags are listed below.
>      *     x264_param_t.analyse.b_mb_info must be set to use this, since x264 needs to track
>      *     extra data internally to make full use of this information.
>
> So, I can send to encoder some info that some macroblocks are not changed, and encoder will not spend time for them.
>
> Question: Are there any features in livba like this?

The generic per-macroblock APIs were never implemented, so I will
probably remove those anyway. My original intention there was to make
it useful to x264. Though, this looked illusionary to have a generic
approach to that.

Nowadays, there is a work-in-progress Intel-specific API for
accelerating some parts of the encoding process. This is going to be
the long-term supported approach. FEI: Flexible Encoder Interface,
available in the "staging" branch of libva. However, as far as I know,
there is no immediate support for the feature you describe. Still, I
believe there is room to extend per-MB info there. Is this something
you are interested to work on?

Regards,
-- 
Gwenole Beauchesne
Intel Corporation SAS / 2 rue de Paris, 92196 Meudon Cedex, France
Registration Number (RCS): Nanterre B 302 456 199


More information about the Libva mailing list