comparison rv34.c @ 8224:6771b3544991 libavcodec

Invoke future RV30/40 loop filter for already decoded rows instead of the whole frame at once.
author kostya
date Sat, 29 Nov 2008 06:22:31 +0000
parents 466100c8e27b
children 91a340f25c8c
comparison
equal deleted inserted replaced
8223:d2a146706bc5 8224:6771b3544991
1283 s->mb_y++; 1283 s->mb_y++;
1284 ff_init_block_index(s); 1284 ff_init_block_index(s);
1285 1285
1286 memmove(r->intra_types_hist, r->intra_types, s->b4_stride * 4 * sizeof(*r->intra_types_hist)); 1286 memmove(r->intra_types_hist, r->intra_types, s->b4_stride * 4 * sizeof(*r->intra_types_hist));
1287 memset(r->intra_types, -1, s->b4_stride * 4 * sizeof(*r->intra_types_hist)); 1287 memset(r->intra_types, -1, s->b4_stride * 4 * sizeof(*r->intra_types_hist));
1288
1289 if(r->loop_filter && s->mb_y >= 2)
1290 r->loop_filter(r, s->mb_y - 2);
1288 } 1291 }
1289 if(s->mb_x == s->resync_mb_x) 1292 if(s->mb_x == s->resync_mb_x)
1290 s->first_slice_line=0; 1293 s->first_slice_line=0;
1291 s->mb_num_left--; 1294 s->mb_num_left--;
1292 } 1295 }
1403 break; 1406 break;
1404 } 1407 }
1405 1408
1406 if(last){ 1409 if(last){
1407 if(r->loop_filter) 1410 if(r->loop_filter)
1408 r->loop_filter(r); 1411 r->loop_filter(r, s->mb_height - 1);
1409 ff_er_frame_end(s); 1412 ff_er_frame_end(s);
1410 MPV_frame_end(s); 1413 MPV_frame_end(s);
1411 if (s->pict_type == FF_B_TYPE || s->low_delay) { 1414 if (s->pict_type == FF_B_TYPE || s->low_delay) {
1412 *pict= *(AVFrame*)s->current_picture_ptr; 1415 *pict= *(AVFrame*)s->current_picture_ptr;
1413 } else if (s->last_picture_ptr != NULL) { 1416 } else if (s->last_picture_ptr != NULL) {