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

Gyan Doshi ffmpeg at gyani.pro
Wed Apr 27 16:31:37 EEST 2022



On 2022-04-27 05:58 pm, Leo Izen wrote:
> 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.

Ok, maybe qualify the option description to state lossless is always 
modular and lossy is VarDCT unless forced otherwise.

LGTM with those changes.

Regards,
Gyan


More information about the ffmpeg-devel mailing list