[FFmpeg-devel] [PATCH]Mark experimental j2k decoder as experimental if libopenjpeg is available

Dave Rice dave at dericed.com
Thu Jun 19 01:02:59 CEST 2014

Hi all,

On May 7, 2014, at 6:41 AM, Carl Eugen Hoyos <cehoyos at ag.or.at> wrote:

> Nicolas George <george <at> nsup.org> writes:
>>> I thought this would anger both users and downstream 
>>> (who paid for the removal of EXPERIMENTAL iirc) and I 
>>> intended to keep the profile low for this controversy.
>> Well, this ticket obviously shows that the removal of 
>> EXPERIMENTAL was premature.
> Sorry, I assumed this was well known for all developers.
> (See also the large number of tickets opened 
> immediately after the removal.)


I wanted to check on the status of this patch. Jpeg2000 files are often found in the digital preservation community, often at yuv422p10le. By default, ffmpeg decodes these files with the native jpeg2000 decoder even if libopenjpeg is present. In addition to being experimental I would refer to this decoder as broken (in many pixel formats) because the output of the decode is colorful mess that does not depict the source material. I find this issue particularly important since jpeg2000 is intended to be a lossless codec that is able to decode to the same rawvideo data that was originally encoded, but in this case there are many tickets to document that it doesn't.

Given that a lot of experimentation was at one point performed to remove the experimental flag from the jpeg2000 decoder, I can perform experimentation to show that the codec is still experimental, if such testing is found to be necessary or helpful.

Although this thread refers to the possibility of controversy involved in re-applying an experimental flag to an experimental codec, there is certainly controversy to be found in the user community that requires complex workarounds to use jpeg2000 in ffmpeg at all. Currently users must either ensure that all decodes are preceded by a -vcodec libopenjpeg to force that non-default decoder or ffmpeg must be configured with -disable-decoder=jpeg2000 which at the moment seems the preferable option.

Dave Rice

More information about the ffmpeg-devel mailing list