summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2010-02-14 02:08:48 +0000
committerMichael Niedermayer <michaelni@gmx.at>2010-02-14 02:08:48 +0000
commit3d2c3ef4b46d96023d6f0d358e4d7d65568da67c (patch)
tree7cebba50fa7ab37ba65c6f670c85c716d5cf1718 /libavcodec
parent056c502155fdae551054e52e670dd6190279c4bc (diff)
downloadffmpeg-3d2c3ef4b46d96023d6f0d358e4d7d65568da67c.tar.gz
Remove slice_table checks from decode_cabac_mb_cbp_luma() and set left/top_cbp so
these checks arent needed. Originally committed as revision 21819 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/h264.h8
-rw-r--r--libavcodec/h264_cabac.c4
2 files changed, 6 insertions, 6 deletions
diff --git a/libavcodec/h264.h b/libavcodec/h264.h
index 9b4a72e955..f5eb17bbd7 100644
--- a/libavcodec/h264.h
+++ b/libavcodec/h264.h
@@ -927,17 +927,17 @@ static void fill_decode_caches(H264Context *h, int mb_type){
if(top_type) {
h->top_cbp = h->cbp_table[top_xy];
} else if(IS_INTRA(mb_type)) {
- h->top_cbp = 0x1C0;
+ h->top_cbp = 0x1CF;
} else {
- h->top_cbp = 0;
+ h->top_cbp = 0x00F;
}
// left_cbp
if (left_type[0]) {
h->left_cbp = h->cbp_table[left_xy[0]] & 0x1f0;
} else if(IS_INTRA(mb_type)) {
- h->left_cbp = 0x1C0;
+ h->left_cbp = 0x1CF;
} else {
- h->left_cbp = 0;
+ h->left_cbp = 0x00F;
}
if (left_type[0]) {
h->left_cbp |= ((h->cbp_table[left_xy[0]]>>((left_block[0]&(~1))+1))&0x1) << 1;
diff --git a/libavcodec/h264_cabac.c b/libavcodec/h264_cabac.c
index aba25a539a..a35b3eb0bd 100644
--- a/libavcodec/h264_cabac.c
+++ b/libavcodec/h264_cabac.c
@@ -867,8 +867,8 @@ static int decode_cabac_mb_chroma_pre_mode( H264Context *h) {
static int decode_cabac_mb_cbp_luma( H264Context *h) {
int cbp_b, cbp_a, ctx, cbp = 0;
- cbp_a = h->slice_table[h->left_mb_xy[0]] == h->slice_num ? h->left_cbp : -1;
- cbp_b = h->slice_table[h->top_mb_xy] == h->slice_num ? h->top_cbp : -1;
+ cbp_a = h->left_cbp;
+ cbp_b = h->top_cbp;
ctx = !(cbp_a & 0x02) + 2 * !(cbp_b & 0x04);
cbp |= get_cabac_noinline(&h->cabac, &h->cabac_state[73 + ctx]);