comparison h263.c @ 1090:8216533dd959 libavcodec

10l
author michaelni
date Fri, 28 Feb 2003 16:06:40 +0000
parents 7e79a58954b1
children f59c3f66363b
comparison
equal deleted inserted replaced
1089:7e79a58954b1 1090:8216533dd959
1517 /* 0 cannot be represented also */ 1517 /* 0 cannot be represented also */
1518 else if (level < 1) { 1518 else if (level < 1) {
1519 level = 1; 1519 level = 1;
1520 block[0] = 1; 1520 block[0] = 1;
1521 } 1521 }
1522 if (level == 128) 1522 if (level == 128) //FIXME check rv10
1523 put_bits(&s->pb, 8, 0xff); 1523 put_bits(&s->pb, 8, 0xff);
1524 else 1524 else
1525 put_bits(&s->pb, 8, level & 0xff); 1525 put_bits(&s->pb, 8, level & 0xff);
1526 i = 1; 1526 i = 1;
1527 } else { 1527 } else {
3546 else 3546 else
3547 scan_table = s->intra_h_scantable.permutated; /* top */ 3547 scan_table = s->intra_h_scantable.permutated; /* top */
3548 } 3548 }
3549 } else if (s->mb_intra) { 3549 } else if (s->mb_intra) {
3550 /* DC coef */ 3550 /* DC coef */
3551 if (s->h263_rv10 && s->rv10_version == 3 && s->pict_type == I_TYPE) { 3551 if(s->h263_rv10){
3552 if (s->rv10_version == 3 && s->pict_type == I_TYPE) {
3552 int component, diff; 3553 int component, diff;
3553 component = (n <= 3 ? 0 : n - 4 + 1); 3554 component = (n <= 3 ? 0 : n - 4 + 1);
3554 level = s->last_dc[component]; 3555 level = s->last_dc[component];
3555 if (s->rv10_first_dc_coded[component]) { 3556 if (s->rv10_first_dc_coded[component]) {
3556 diff = rv_decode_dc(s, n); 3557 diff = rv_decode_dc(s, n);
3560 level = level & 0xff; /* handle wrap round */ 3561 level = level & 0xff; /* handle wrap round */
3561 s->last_dc[component] = level; 3562 s->last_dc[component] = level;
3562 } else { 3563 } else {
3563 s->rv10_first_dc_coded[component] = 1; 3564 s->rv10_first_dc_coded[component] = 1;
3564 } 3565 }
3565 } else { 3566 } else {
3567 level = get_bits(&s->gb, 8);
3568 }
3569 }else{
3566 level = get_bits(&s->gb, 8); 3570 level = get_bits(&s->gb, 8);
3567 if((level&0x7F) == 0){ 3571 if((level&0x7F) == 0){
3568 fprintf("illegal dc at %d %d\n", s->mb_x, s->mb_y); 3572 fprintf(stderr, "illegal dc %d at %d %d\n", level, s->mb_x, s->mb_y);
3569 return -1; 3573 return -1;
3570 } 3574 }
3571 if (level == 255) 3575 if (level == 255)
3572 level = 128; 3576 level = 128;
3573 } 3577 }