comparison dv.c @ 8010:4b19d9cbc75b libavcodec

fixing a bug that prevented proper unweighting table to be selected
author romansh
date Tue, 07 Oct 2008 15:51:29 +0000
parents f7c7ef5e448b
children 3ec8f8660152
comparison
equal deleted inserted replaced
8009:f7c7ef5e448b 8010:4b19d9cbc75b
408 dct_mode = get_bits1(&gb); 408 dct_mode = get_bits1(&gb);
409 class1 = get_bits(&gb, 2); 409 class1 = get_bits(&gb, 2);
410 if (DV_PROFILE_IS_HD(s->sys)) { 410 if (DV_PROFILE_IS_HD(s->sys)) {
411 mb->idct_put = s->idct_put[0]; 411 mb->idct_put = s->idct_put[0];
412 mb->scan_table = s->dv_zigzag[0]; 412 mb->scan_table = s->dv_zigzag[0];
413 mb->factor_table = s->dv100_idct_factor[((s->sys->height == 720)<<1)&(j < 4)][class1][quant]; 413 mb->factor_table = s->dv100_idct_factor[((s->sys->height == 720)<<1)|(j >= 4)][class1][quant];
414 is_field_mode[mb_index] |= !j && dct_mode; 414 is_field_mode[mb_index] |= !j && dct_mode;
415 } else { 415 } else {
416 mb->idct_put = s->idct_put[dct_mode && log2_blocksize==3]; 416 mb->idct_put = s->idct_put[dct_mode && log2_blocksize==3];
417 mb->scan_table = s->dv_zigzag[dct_mode]; 417 mb->scan_table = s->dv_zigzag[dct_mode];
418 mb->factor_table = s->dv_idct_factor[class1 == 3][dct_mode] 418 mb->factor_table = s->dv_idct_factor[class1 == 3][dct_mode]