comparison rv10.c @ 450:0d990115524d libavcodec

bugfix
author michaelni
date Sat, 01 Jun 2002 23:18:44 +0000
parents 718a22dc121f
children 31be0f0b0792
comparison
equal deleted inserted replaced
449:7b2f23b5dcdd 450:0d990115524d
428 s->y_dc_scale = 8; 428 s->y_dc_scale = 8;
429 s->c_dc_scale = 8; 429 s->c_dc_scale = 8;
430 s->rv10_first_dc_coded[0] = 0; 430 s->rv10_first_dc_coded[0] = 0;
431 s->rv10_first_dc_coded[1] = 0; 431 s->rv10_first_dc_coded[1] = 0;
432 s->rv10_first_dc_coded[2] = 0; 432 s->rv10_first_dc_coded[2] = 0;
433 433
434 s->block_wrap[0]=
435 s->block_wrap[1]=
436 s->block_wrap[2]=
437 s->block_wrap[3]= s->mb_width*2 + 2;
438 s->block_wrap[4]=
439 s->block_wrap[5]= s->mb_width + 2;
440 s->block_index[0]= s->block_wrap[0]*(s->mb_y*2 + 1) - 1 + s->mb_x*2;
441 s->block_index[1]= s->block_wrap[0]*(s->mb_y*2 + 1) + s->mb_x*2;
442 s->block_index[2]= s->block_wrap[0]*(s->mb_y*2 + 2) - 1 + s->mb_x*2;
443 s->block_index[3]= s->block_wrap[0]*(s->mb_y*2 + 2) + s->mb_x*2;
444 s->block_index[4]= s->block_wrap[4]*(s->mb_y + 1) + s->block_wrap[0]*(s->mb_height*2 + 2) + s->mb_x;
445 s->block_index[5]= s->block_wrap[4]*(s->mb_y + 1 + s->mb_height + 2) + s->block_wrap[0]*(s->mb_height*2 + 2) + s->mb_x;
434 /* decode each macroblock */ 446 /* decode each macroblock */
435 for(i=0;i<mb_count;i++) { 447 for(i=0;i<mb_count;i++) {
448 s->block_index[0]+=2;
449 s->block_index[1]+=2;
450 s->block_index[2]+=2;
451 s->block_index[3]+=2;
452 s->block_index[4]++;
453 s->block_index[5]++;
436 #ifdef DEBUG 454 #ifdef DEBUG
437 printf("**mb x=%d y=%d\n", s->mb_x, s->mb_y); 455 printf("**mb x=%d y=%d\n", s->mb_x, s->mb_y);
438 #endif 456 #endif
439 457
440 memset(block, 0, sizeof(block)); 458 memset(block, 0, sizeof(block));
448 } 466 }
449 MPV_decode_mb(s, block); 467 MPV_decode_mb(s, block);
450 if (++s->mb_x == s->mb_width) { 468 if (++s->mb_x == s->mb_width) {
451 s->mb_x = 0; 469 s->mb_x = 0;
452 s->mb_y++; 470 s->mb_y++;
471 s->block_index[0]= s->block_wrap[0]*(s->mb_y*2 + 1) - 1;
472 s->block_index[1]= s->block_wrap[0]*(s->mb_y*2 + 1);
473 s->block_index[2]= s->block_wrap[0]*(s->mb_y*2 + 2) - 1;
474 s->block_index[3]= s->block_wrap[0]*(s->mb_y*2 + 2);
475 s->block_index[4]= s->block_wrap[4]*(s->mb_y + 1) + s->block_wrap[0]*(s->mb_height*2 + 2);
476 s->block_index[5]= s->block_wrap[4]*(s->mb_y + 1 + s->mb_height + 2) + s->block_wrap[0]*(s->mb_height*2 + 2);
453 } 477 }
454 } 478 }
455 479
456 if (s->mb_x == 0 && 480 if (s->mb_x == 0 &&
457 s->mb_y == s->mb_height) { 481 s->mb_y == s->mb_height) {