[FFmpeg-devel] qsv: question on CONFIG macros

Mark Thompson sw at jkqxz.net
Sun Sep 6 16:29:43 EEST 2020

On 04/09/2020 16:57, Rogozhkin, Dmitry V wrote:
> Hi,
> Can someone, please, help to clarify:
> 1. Where CONFIG_QSV and CONFIG_LIBMFX gets defined (I don't see that in
> the grep output - attached below)?

By configure, they end up in config.h in the build directory.

> 2. What's relationship between these 2? Which one should actually be
> used? /from the first glance they are about the same.../
CONFIG_LIBMFX is the top level test for the presence of libmfx libraries (--enable-libmfx to configure).

CONFIG_QSV seems to be enabled by lots of things depending on libmfx?  It does look like it might be identical (possibly you could have CONFIG_LIBMFX but not CONFIG_QSV by disabling all components using it, but that's not helpful).

Using the "Quick Sync Video" marketing name in libavcodec does rather seem like an error now, since it referred to the codec parts and has mostly been retired by Intel now (like the older marketing name, "Clear Video").  Perhaps we can get rid of it entirely inside the code?

I think the right name to use is mfx (so CONFIG_LIBMFX, CONFIG_MFXENC, CONFIG_MFXDEC; then mfx_h264, mfx_hevc, etc.), since that name is embedded the API and won't be able to change on the whims of marketing (though the "qsv" name will have to hang around in external APIs for a while).

The change of all of the developer branding from "Media SDK" to "oneAPI Video" looks like it will be irrelevant because it's still the same libmfx underneath, though all of the documentation will need an update.

- Mark

More information about the ffmpeg-devel mailing list