[FFmpeg-devel] [PATCH] RoQ video encoder

Eric Lasota riot
Thu May 31 05:42:36 CEST 2007


Michael Niedermayer wrote:
> roq is a YV12 codec not a YUV 4:4:4 codec AFAIK so this is just wrong

The actual RoQ decoder, the one used in Quake 3, uses RGB.  Check the
cl_cin.c file.  Codebooks are converted out of 4:2:0 when they are
loaded, and the 8x8 versions are also generated at that point.  This
makes sense, as RoQ was created when 16-bit was popular, and and doing
tons of copies was probably cheaper than doing colorspace conversion
into 16-bit on a full frame on the hardware at the time.

Chroma subsampling is merely done to reduce codebook size.  The
authoritative RoQ decoder DOES NOT subsample chroma.  Using 4:4:4 is
consequently the correct internal representation.  Ferguson's decoder,
the one that FFMPEG was based off of, is incorrect.

More information about the ffmpeg-devel mailing list