summaryrefslogtreecommitdiff
path: root/libavcodec/r210dec.c
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2018-12-03 23:34:05 +0100
committerPaul B Mahol <onemda@gmail.com>2018-12-03 23:34:05 +0100
commit060ea5261df52ff1ce20e87d1ddd0645fc58c2ca (patch)
tree2abb449c81dacab589ce97e3a80a3bab6672a02e /libavcodec/r210dec.c
parent5487560acfc48b783392e30e04347131f7d46a4f (diff)
avcodec/r210dec: fix r10x decoding
Diffstat (limited to 'libavcodec/r210dec.c')
-rw-r--r--libavcodec/r210dec.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libavcodec/r210dec.c b/libavcodec/r210dec.c
index 22b95e9092..407684c7fc 100644
--- a/libavcodec/r210dec.c
+++ b/libavcodec/r210dec.c
@@ -73,10 +73,14 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
} else {
pixel = av_be2ne32(*src++);
}
- if (avctx->codec_id == AV_CODEC_ID_R210 || r10) {
+ if (avctx->codec_id == AV_CODEC_ID_R210) {
b = pixel & 0x3ff;
g = (pixel >> 10) & 0x3ff;
r = (pixel >> 20) & 0x3ff;
+ } else if (r10) {
+ r = pixel & 0x3ff;
+ g = (pixel >> 10) & 0x3ff;
+ b = (pixel >> 20) & 0x3ff;
} else {
b = (pixel >> 2) & 0x3ff;
g = (pixel >> 12) & 0x3ff;