summaryrefslogtreecommitdiff
path: root/libavcodec/h264_cabac.c
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2015-01-17 22:28:46 +0100
committerAnton Khirnov <anton@khirnov.net>2015-03-21 11:27:12 +0100
commit5355ed6b20e941430c4f8fb82644e87a65366d61 (patch)
tree7ff64ca4f9c5a91c4a0b85290a7444c4b12d733e /libavcodec/h264_cabac.c
parent06789ad3b71296a9e2fbd0278632d97a5d9af8d7 (diff)
h264: move {prev,next}_mb_skipped into the per-slice context
Diffstat (limited to 'libavcodec/h264_cabac.c')
-rw-r--r--libavcodec/h264_cabac.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/libavcodec/h264_cabac.c b/libavcodec/h264_cabac.c
index 5699bceec1..4225fc1f60 100644
--- a/libavcodec/h264_cabac.c
+++ b/libavcodec/h264_cabac.c
@@ -1897,16 +1897,16 @@ int ff_h264_decode_mb_cabac(H264Context *h, H264SliceContext *sl)
if( h->slice_type_nos != AV_PICTURE_TYPE_I ) {
int skip;
/* a skipped mb needs the aff flag from the following mb */
- if (FRAME_MBAFF(h) && (h->mb_y & 1) == 1 && h->prev_mb_skipped)
- skip = h->next_mb_skipped;
+ if (FRAME_MBAFF(h) && (h->mb_y & 1) == 1 && sl->prev_mb_skipped)
+ skip = sl->next_mb_skipped;
else
skip = decode_cabac_mb_skip( h, h->mb_x, h->mb_y );
/* read skip flags */
if( skip ) {
if (FRAME_MBAFF(h) && (h->mb_y & 1) == 0) {
h->cur_pic.mb_type[mb_xy] = MB_TYPE_SKIP;
- h->next_mb_skipped = decode_cabac_mb_skip( h, h->mb_x, h->mb_y+1 );
- if(!h->next_mb_skipped)
+ sl->next_mb_skipped = decode_cabac_mb_skip( h, h->mb_x, h->mb_y+1 );
+ if(!sl->next_mb_skipped)
h->mb_mbaff = h->mb_field_decoding_flag = decode_cabac_field_decoding_flag(h);
}
@@ -1926,7 +1926,7 @@ int ff_h264_decode_mb_cabac(H264Context *h, H264SliceContext *sl)
h->mb_field_decoding_flag = decode_cabac_field_decoding_flag(h);
}
- h->prev_mb_skipped = 0;
+ sl->prev_mb_skipped = 0;
fill_decode_neighbors(h, -(MB_FIELD(h)));