[FFmpeg-user] vpxenc-vp9 row-mt

Moritz Barsnick barsnick at gmx.net
Sun Oct 22 01:36:05 EEST 2017

On Sat, Oct 21, 2017 at 23:32:15 +0200, Szucsik Gy├Ârgy wrote:
> This is rather odd, since vpxenc has had this feature already for some
> time.

Well, not in the libvpx code I could find. Which vpxenc were/are you
using? What is its version, what is the option called?

In the libvpx source code, the option was at one time originally called
"new-mt", for a short while, and renamed to "row-mt" with the commit I

> Looks like there is a miscommunication here, unfortunately.

Between whom?

You're obviously the libvpx/vpxenc expert, not me. I can only interpret
the sources and their changes. ffmpeg looks at a libvpx source define
"VPX_CTRL_VP9E_SET_ROW_MT" to see whether the feature is available.
This source define was added in the named commit. ffmpeg *could* also
check for the old name "VPX_CTRL_VP9E_SET_NEW_MT", but that was also
never available in a libvpx release, and only available for a short
term, in other words experimental / not final.

> I was referring to this line (please note my C skills are very basic)
> https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/libvpxenc.c#L1159
> The option that needs to be passed is row-mt but the variable that's
> responsible for controlling this behavior is called row_mt. A bit of
> inconsistency but if it works, it works.

An option is a command line option for the shell (or for libavcodec's
API). Its name "row-mt" was chosen, corresponding to vpxenc's

The variable name is only internal to ffmpeg's source code. It could just
as well be named "foobla". Indeed it's called "row_mt" for convenience.
;-) C (the language) doesn't allow it to be named "row-mt", if that's
what you mean. (In libvpx's source code, the same "inconsistency"
exists, of course.)


More information about the ffmpeg-user mailing list