summaryrefslogtreecommitdiff
path: root/libavcodec/mpeg12.c
diff options
context:
space:
mode:
authorIvan Kalvachev <ikalvachev@gmail.com>2004-06-11 07:59:12 +0000
committerIvan Kalvachev <ikalvachev@gmail.com>2004-06-11 07:59:12 +0000
commitffdff4d7e8baa6769e099c37bec20438ac7f5889 (patch)
treec895ca445b274e84dda3e7160d3a452978eef251 /libavcodec/mpeg12.c
parent364ec9dcb6760ae86b1efb418f6cab16cd629da1 (diff)
mpeg2 chroma422/444 support, may be slower, may be faster for other codecs
Originally committed as revision 3215 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/mpeg12.c')
-rw-r--r--libavcodec/mpeg12.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/libavcodec/mpeg12.c b/libavcodec/mpeg12.c
index c967908d60..f187783140 100644
--- a/libavcodec/mpeg12.c
+++ b/libavcodec/mpeg12.c
@@ -2340,7 +2340,9 @@ static int mpeg_decode_slice(Mpeg1Context *s1, int mb_y,
#endif
s->dsp.clear_blocks(s->block[0]);
-
+ if(!s->chroma_y_shift){
+ s->dsp.clear_blocks(s->block[6]);
+ }
ret = mpeg_decode_mb(s, s->block);
s->chroma_qscale= s->qscale;
@@ -2379,8 +2381,8 @@ static int mpeg_decode_slice(Mpeg1Context *s1, int mb_y,
}
s->dest[0] += 16;
- s->dest[1] += 8;
- s->dest[2] += 8;
+ s->dest[1] += 16 >> s->chroma_x_shift;
+ s->dest[2] += 16 >> s->chroma_x_shift;
MPV_decode_mb(s, s->block);