summaryrefslogtreecommitdiff
path: root/libavcodec/mpegvideo_enc.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-02-27 02:56:06 +0100
committerMichael Niedermayer <michaelni@gmx.at>2013-02-27 02:56:06 +0100
commit1672624ddc746f236294548980a69a2301f6ddd5 (patch)
tree1ed991a102ff89c3c759d9525bee6233a063f02f /libavcodec/mpegvideo_enc.c
parent2d7044683f3c0fa87445bf60854f1bd7ab0faf4f (diff)
mpegvideo_enc: fix gray flag with 444 jpeg
Fixes Ticket2155 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/mpegvideo_enc.c')
-rw-r--r--libavcodec/mpegvideo_enc.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c
index 9378c0cc91..a0e7a54fb1 100644
--- a/libavcodec/mpegvideo_enc.c
+++ b/libavcodec/mpegvideo_enc.c
@@ -2156,6 +2156,12 @@ static av_always_inline void encode_mb_internal(MpegEncContext *s,
s->block_last_index[5] = 0;
s->block[4][0] =
s->block[5][0] = (1024 + s->c_dc_scale / 2) / s->c_dc_scale;
+ if (!s->chroma_y_shift) { /* 422 / 444 */
+ for (i=6; i<12; i++) {
+ s->block_last_index[i] = 0;
+ s->block[i][0] = s->block[4][0];
+ }
+ }
}
// non c quantize code returns incorrect block_last_index FIXME