Skip to content
Snippets Groups Projects
Commit 03518090 authored by Reimar Döffinger's avatar Reimar Döffinger
Browse files

r210enc.c: Simplify and never store more than 10 bits.


The r10k and avrp decoders would previously store 12 bit precision
for the blue channel, which is inconsistent and probably not a
desirable behaviour.
Now the 2 unused extra bits are set to 0.
This is possibly not ideal either as RGBA1010102 format has the same
layout but stores alpha in these bits, thus explicitly setting them
to 1 might be preferable.

Signed-off-by: default avatarReimar Döffinger <Reimar.Doeffinger@gmx.de>
parent 56e432b2
No related branches found
No related tags found
No related merge requests found
......@@ -58,11 +58,11 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
uint32_t pixel;
uint16_t r = *src++ >> 6;
uint16_t g = *src++ >> 6;
uint16_t b = *src++ >> 4;
uint16_t b = *src++ >> 6;
if (avctx->codec_id == AV_CODEC_ID_R210)
pixel = (r << 20) | (g << 10) | b >> 2;
pixel = (r << 20) | (g << 10) | b;
else
pixel = (r << 22) | (g << 12) | b;
pixel = (r << 22) | (g << 12) | (b << 2);
if (avctx->codec_id == AV_CODEC_ID_AVRP)
bytestream_put_le32(&dst, pixel);
else
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment