comparison rv40.c @ 6027:d1b9b395b1db libavcodec

RV40 decoder should use availability cache
author kostya
date Sun, 16 Dec 2007 12:45:38 +0000
parents a33699306850
children 493dc59d469a
comparison
equal deleted inserted replaced
6026:49c086b24908 6027:d1b9b395b1db
211 r->s.mb_skip_run = svq3_get_ue_golomb(gb) + 1; 211 r->s.mb_skip_run = svq3_get_ue_golomb(gb) + 1;
212 212
213 if(--r->s.mb_skip_run) 213 if(--r->s.mb_skip_run)
214 return RV34_MB_SKIP; 214 return RV34_MB_SKIP;
215 215
216 if(r->avail[0]) 216 if(r->avail_cache[5-1])
217 blocks[r->mb_type[mb_pos - 1]]++; 217 blocks[r->mb_type[mb_pos - 1]]++;
218 if(r->avail[1]){ 218 if(r->avail_cache[5-4]){
219 blocks[r->mb_type[mb_pos - s->mb_stride]]++; 219 blocks[r->mb_type[mb_pos - s->mb_stride]]++;
220 if(r->avail[2]) 220 if(r->avail_cache[5-2])
221 blocks[r->mb_type[mb_pos - s->mb_stride + 1]]++; 221 blocks[r->mb_type[mb_pos - s->mb_stride + 1]]++;
222 if(r->avail[3]) 222 if(r->avail_cache[5-5])
223 blocks[r->mb_type[mb_pos - s->mb_stride - 1]]++; 223 blocks[r->mb_type[mb_pos - s->mb_stride - 1]]++;
224 } 224 }
225 225
226 for(i = 0; i < RV34_MB_TYPES; i++){ 226 for(i = 0; i < RV34_MB_TYPES; i++){
227 if(blocks[i] > count){ 227 if(blocks[i] > count){