From b46b5ac9f8d013e238931fef9783e91c12d50b71 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Thu, 4 Mar 2010 01:03:15 +0000 Subject: Optimize *_type init, 1.5 cpu cycles faster. Originally committed as revision 22192 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/h264.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'libavcodec') diff --git a/libavcodec/h264.h b/libavcodec/h264.h index 842088b7cd..7caf7b3ed2 100644 --- a/libavcodec/h264.h +++ b/libavcodec/h264.h @@ -824,10 +824,18 @@ static void fill_decode_neighbors(H264Context *h, int mb_type){ h->left_type[0] = s->current_picture.mb_type[left_xy[0]] ; h->left_type[1] = s->current_picture.mb_type[left_xy[1]] ; + if(FMO){ if(h->slice_table[topleft_xy ] != h->slice_num) h->topleft_type = 0; if(h->slice_table[top_xy ] != h->slice_num) h->top_type = 0; - if(h->slice_table[topright_xy] != h->slice_num) h->topright_type= 0; if(h->slice_table[left_xy[0] ] != h->slice_num) h->left_type[0] = h->left_type[1] = 0; + }else{ + if(h->slice_table[topleft_xy ] != h->slice_num){ + h->topleft_type = 0; + if(h->slice_table[top_xy ] != h->slice_num) h->top_type = 0; + if(h->slice_table[left_xy[0] ] != h->slice_num) h->left_type[0] = h->left_type[1] = 0; + } + } + if(h->slice_table[topright_xy] != h->slice_num) h->topright_type= 0; } static void fill_decode_caches(H264Context *h, int mb_type){ -- cgit v1.2.3