[FFmpeg-devel] [PATCH] doc/encoders: document libjxl encoder options

Leo Izen leo.izen at gmail.com
Wed Apr 27 15:28:30 EEST 2022


On 4/27/22 04:39, Gyan Doshi wrote:
>
>
> On 2022-04-27 02:38 am, Leo Izen wrote:
>>
>> +
>> + at item modular
>> +Force the encoder to use Modular mode. The default is to let the 
>> encoder pick
>> +between VarDCT and Modular encoding modes based on encoding settings 
>> and the
>> +type of input content.
>
> What happens in these two modes? Why would the user want to force 
> modular? Is there a way and reason to force VarDCT?
>
>
VarDCT uses a fourier-DCT-based transform in essence. Modular uses a 
variety of transforms that can be combined like Lego bricks into 
patches, including a modified Haar transform.

In general, VarDCT will be superior to Modular for lossy encoding, but 
VarDCT doesn't support lossless, so Modular is required for lossless 
encoding. Currently, the library always chooses VarDCT for lossy and 
Modular for lossless, although this could potentially be subject to change.

A user will have very little reason to force modular unless they're 
testing the two modes against each other. The library API does not 
provide a way to force VarDCT. Or rather, it does, but if you force 
VarDCT and tell it to encode losslessly it will silently use modular 
rather than fail.

You generally won't have a reason to force VarDCT anyway, since it's 
chosen by default if you pick lossy, so this isn't an issue.

Leo Izen (thebombzen)




More information about the ffmpeg-devel mailing list