[FFmpeg-devel] [RFC PATCH] libavcodec/libopenjpeg: pix fmt selection change

Michael Bradshaw mjbshaw at gmail.com
Thu Jun 11 08:07:09 EEST 2020


On Wed, Jun 10, 2020 at 9:35 PM Gautam Ramakrishnan <gautamramk at gmail.com>
wrote:

> The reference file has 4 components, Whereas all the Bayer formats
> have 3 components. Are we missing any Bayer pixel format in ffmpeg?
> Also, any other ideas on what has to be done for the 2 reference files
> mentioned? If this seems like a good idea, I could go through
> opj_decompress
> and try to replicate what it does.


I don't think this is a real image. I think it's probably just a synthetic
image for the purposes of conformance testing. p1_03.j2k and p0_05.j2k (and
others) are too weird.

I decoded p1_03.j2k's components into different files (opj_decompress -i
p1_03.j2k -split-pnm -o /tmp/p1_03.pgm) and inspected each one.
Additionally, I cat'd the raw gray8 pixel values to construct raw yuv420p
frames. I created 4 raw yuv420p frames using every valid combination
of p1_03.j2k's four planes. All of them looked like garbage.

That's not too surprising. Each plane has dark near-zero pixel values in
the sky region. A bright region like the sky should have high pixel values
for the Y-plane.

I highly suspect this j2k file is synthetic and just tests whether or not a
decoder can decode the planes, but that doesn't test whether or not they
can be sensibly displayed (and I'd argue they can't be sensibly displayed).


More information about the ffmpeg-devel mailing list