comparison mpeg4videodec.c @ 10818:514dc1c87b2e libavcodec

Rename most non static h263 tables so their name contains h263.
author michael
date Fri, 08 Jan 2010 17:51:48 +0000
parents d1fe22d92a65
children 77b3f322dba8
comparison
equal deleted inserted replaced
10817:d1fe22d92a65 10818:514dc1c87b2e
554 do{ 554 do{
555 if(show_bits_long(&s->gb, 19)==DC_MARKER){ 555 if(show_bits_long(&s->gb, 19)==DC_MARKER){
556 return mb_num-1; 556 return mb_num-1;
557 } 557 }
558 558
559 cbpc = get_vlc2(&s->gb, intra_MCBPC_vlc.table, INTRA_MCBPC_VLC_BITS, 2); 559 cbpc = get_vlc2(&s->gb, ff_h263_intra_MCBPC_vlc.table, INTRA_MCBPC_VLC_BITS, 2);
560 if (cbpc < 0){ 560 if (cbpc < 0){
561 av_log(s->avctx, AV_LOG_ERROR, "cbpc corrupted at %d %d\n", s->mb_x, s->mb_y); 561 av_log(s->avctx, AV_LOG_ERROR, "cbpc corrupted at %d %d\n", s->mb_x, s->mb_y);
562 return -1; 562 return -1;
563 } 563 }
564 }while(cbpc == 8); 564 }while(cbpc == 8);
613 if(s->mbintra_table[xy]) 613 if(s->mbintra_table[xy])
614 ff_clean_intra_table_entries(s); 614 ff_clean_intra_table_entries(s);
615 continue; 615 continue;
616 } 616 }
617 617
618 cbpc = get_vlc2(&s->gb, inter_MCBPC_vlc.table, INTER_MCBPC_VLC_BITS, 2); 618 cbpc = get_vlc2(&s->gb, ff_h263_inter_MCBPC_vlc.table, INTER_MCBPC_VLC_BITS, 2);
619 if (cbpc < 0){ 619 if (cbpc < 0){
620 av_log(s->avctx, AV_LOG_ERROR, "cbpc corrupted at %d %d\n", s->mb_x, s->mb_y); 620 av_log(s->avctx, AV_LOG_ERROR, "cbpc corrupted at %d %d\n", s->mb_x, s->mb_y);
621 return -1; 621 return -1;
622 } 622 }
623 if(cbpc == 20) 623 if(cbpc == 20)
710 if(s->mb_x == s->resync_mb_x && s->mb_y == s->resync_mb_y+1) 710 if(s->mb_x == s->resync_mb_x && s->mb_y == s->resync_mb_y+1)
711 s->first_slice_line=0; 711 s->first_slice_line=0;
712 712
713 if(s->pict_type==FF_I_TYPE){ 713 if(s->pict_type==FF_I_TYPE){
714 int ac_pred= get_bits1(&s->gb); 714 int ac_pred= get_bits1(&s->gb);
715 int cbpy = get_vlc2(&s->gb, cbpy_vlc.table, CBPY_VLC_BITS, 1); 715 int cbpy = get_vlc2(&s->gb, ff_h263_cbpy_vlc.table, CBPY_VLC_BITS, 1);
716 if(cbpy<0){ 716 if(cbpy<0){
717 av_log(s->avctx, AV_LOG_ERROR, "cbpy corrupted at %d %d\n", s->mb_x, s->mb_y); 717 av_log(s->avctx, AV_LOG_ERROR, "cbpy corrupted at %d %d\n", s->mb_x, s->mb_y);
718 return -1; 718 return -1;
719 } 719 }
720 720
722 s->current_picture.mb_type[xy] |= ac_pred*MB_TYPE_ACPRED; 722 s->current_picture.mb_type[xy] |= ac_pred*MB_TYPE_ACPRED;
723 }else{ /* P || S_TYPE */ 723 }else{ /* P || S_TYPE */
724 if(IS_INTRA(s->current_picture.mb_type[xy])){ 724 if(IS_INTRA(s->current_picture.mb_type[xy])){
725 int dir=0,i; 725 int dir=0,i;
726 int ac_pred = get_bits1(&s->gb); 726 int ac_pred = get_bits1(&s->gb);
727 int cbpy = get_vlc2(&s->gb, cbpy_vlc.table, CBPY_VLC_BITS, 1); 727 int cbpy = get_vlc2(&s->gb, ff_h263_cbpy_vlc.table, CBPY_VLC_BITS, 1);
728 728
729 if(cbpy<0){ 729 if(cbpy<0){
730 av_log(s->avctx, AV_LOG_ERROR, "I cbpy corrupted at %d %d\n", s->mb_x, s->mb_y); 730 av_log(s->avctx, AV_LOG_ERROR, "I cbpy corrupted at %d %d\n", s->mb_x, s->mb_y);
731 return -1; 731 return -1;
732 } 732 }
752 s->pred_dir_table[xy]= dir; 752 s->pred_dir_table[xy]= dir;
753 }else if(IS_SKIP(s->current_picture.mb_type[xy])){ 753 }else if(IS_SKIP(s->current_picture.mb_type[xy])){
754 s->current_picture.qscale_table[xy]= s->qscale; 754 s->current_picture.qscale_table[xy]= s->qscale;
755 s->cbp_table[xy]= 0; 755 s->cbp_table[xy]= 0;
756 }else{ 756 }else{
757 int cbpy = get_vlc2(&s->gb, cbpy_vlc.table, CBPY_VLC_BITS, 1); 757 int cbpy = get_vlc2(&s->gb, ff_h263_cbpy_vlc.table, CBPY_VLC_BITS, 1);
758 758
759 if(cbpy<0){ 759 if(cbpy<0){
760 av_log(s->avctx, AV_LOG_ERROR, "P cbpy corrupted at %d %d\n", s->mb_x, s->mb_y); 760 av_log(s->avctx, AV_LOG_ERROR, "P cbpy corrupted at %d %d\n", s->mb_x, s->mb_y);
761 return -1; 761 return -1;
762 } 762 }
890 if (!coded) { 890 if (!coded) {
891 s->block_last_index[n] = i; 891 s->block_last_index[n] = i;
892 return 0; 892 return 0;
893 } 893 }
894 if(rvlc) rl = &rvlc_rl_inter; 894 if(rvlc) rl = &rvlc_rl_inter;
895 else rl = &rl_inter; 895 else rl = &ff_h263_rl_inter;
896 896
897 scan_table = s->intra_scantable.permutated; 897 scan_table = s->intra_scantable.permutated;
898 898
899 if(s->mpeg_quant){ 899 if(s->mpeg_quant){
900 qmul=1; 900 qmul=1;
901 qadd=0; 901 qadd=0;
902 if(rvlc){ 902 if(rvlc){
903 rl_vlc = rvlc_rl_inter.rl_vlc[0]; 903 rl_vlc = rvlc_rl_inter.rl_vlc[0];
904 }else{ 904 }else{
905 rl_vlc = rl_inter.rl_vlc[0]; 905 rl_vlc = ff_h263_rl_inter.rl_vlc[0];
906 } 906 }
907 }else{ 907 }else{
908 qmul = s->qscale << 1; 908 qmul = s->qscale << 1;
909 qadd = (s->qscale - 1) | 1; 909 qadd = (s->qscale - 1) | 1;
910 if(rvlc){ 910 if(rvlc){
911 rl_vlc = rvlc_rl_inter.rl_vlc[s->qscale]; 911 rl_vlc = rvlc_rl_inter.rl_vlc[s->qscale];
912 }else{ 912 }else{
913 rl_vlc = rl_inter.rl_vlc[s->qscale]; 913 rl_vlc = ff_h263_rl_inter.rl_vlc[s->qscale];
914 } 914 }
915 } 915 }
916 } 916 }
917 { 917 {
918 OPEN_READER(re, &s->gb); 918 OPEN_READER(re, &s->gb);
1205 s->mv[0][0][1] = 0; 1205 s->mv[0][0][1] = 0;
1206 s->mb_skipped = 1; 1206 s->mb_skipped = 1;
1207 } 1207 }
1208 goto end; 1208 goto end;
1209 } 1209 }
1210 cbpc = get_vlc2(&s->gb, inter_MCBPC_vlc.table, INTER_MCBPC_VLC_BITS, 2); 1210 cbpc = get_vlc2(&s->gb, ff_h263_inter_MCBPC_vlc.table, INTER_MCBPC_VLC_BITS, 2);
1211 if (cbpc < 0){ 1211 if (cbpc < 0){
1212 av_log(s->avctx, AV_LOG_ERROR, "cbpc damaged at %d %d\n", s->mb_x, s->mb_y); 1212 av_log(s->avctx, AV_LOG_ERROR, "cbpc damaged at %d %d\n", s->mb_x, s->mb_y);
1213 return -1; 1213 return -1;
1214 } 1214 }
1215 }while(cbpc == 20); 1215 }while(cbpc == 20);
1220 if (s->mb_intra) goto intra; 1220 if (s->mb_intra) goto intra;
1221 1221
1222 if(s->pict_type==FF_S_TYPE && s->vol_sprite_usage==GMC_SPRITE && (cbpc & 16) == 0) 1222 if(s->pict_type==FF_S_TYPE && s->vol_sprite_usage==GMC_SPRITE && (cbpc & 16) == 0)
1223 s->mcsel= get_bits1(&s->gb); 1223 s->mcsel= get_bits1(&s->gb);
1224 else s->mcsel= 0; 1224 else s->mcsel= 0;
1225 cbpy = get_vlc2(&s->gb, cbpy_vlc.table, CBPY_VLC_BITS, 1) ^ 0x0F; 1225 cbpy = get_vlc2(&s->gb, ff_h263_cbpy_vlc.table, CBPY_VLC_BITS, 1) ^ 0x0F;
1226 1226
1227 cbp = (cbpc & 3) | (cbpy << 2); 1227 cbp = (cbpc & 3) | (cbpy << 2);
1228 if (dquant) { 1228 if (dquant) {
1229 ff_set_qscale(s, s->qscale + quant_tab[get_bits(&s->gb, 2)]); 1229 ff_set_qscale(s, s->qscale + quant_tab[get_bits(&s->gb, 2)]);
1230 } 1230 }
1436 mb_type |= ff_mpeg4_set_direct_mv(s, mx, my); 1436 mb_type |= ff_mpeg4_set_direct_mv(s, mx, my);
1437 } 1437 }
1438 s->current_picture.mb_type[xy]= mb_type; 1438 s->current_picture.mb_type[xy]= mb_type;
1439 } else { /* I-Frame */ 1439 } else { /* I-Frame */
1440 do{ 1440 do{
1441 cbpc = get_vlc2(&s->gb, intra_MCBPC_vlc.table, INTRA_MCBPC_VLC_BITS, 2); 1441 cbpc = get_vlc2(&s->gb, ff_h263_intra_MCBPC_vlc.table, INTRA_MCBPC_VLC_BITS, 2);
1442 if (cbpc < 0){ 1442 if (cbpc < 0){
1443 av_log(s->avctx, AV_LOG_ERROR, "I cbpc damaged at %d %d\n", s->mb_x, s->mb_y); 1443 av_log(s->avctx, AV_LOG_ERROR, "I cbpc damaged at %d %d\n", s->mb_x, s->mb_y);
1444 return -1; 1444 return -1;
1445 } 1445 }
1446 }while(cbpc == 8); 1446 }while(cbpc == 8);
1452 if(s->ac_pred) 1452 if(s->ac_pred)
1453 s->current_picture.mb_type[xy]= MB_TYPE_INTRA | MB_TYPE_ACPRED; 1453 s->current_picture.mb_type[xy]= MB_TYPE_INTRA | MB_TYPE_ACPRED;
1454 else 1454 else
1455 s->current_picture.mb_type[xy]= MB_TYPE_INTRA; 1455 s->current_picture.mb_type[xy]= MB_TYPE_INTRA;
1456 1456
1457 cbpy = get_vlc2(&s->gb, cbpy_vlc.table, CBPY_VLC_BITS, 1); 1457 cbpy = get_vlc2(&s->gb, ff_h263_cbpy_vlc.table, CBPY_VLC_BITS, 1);
1458 if(cbpy<0){ 1458 if(cbpy<0){
1459 av_log(s->avctx, AV_LOG_ERROR, "I cbpy damaged at %d %d\n", s->mb_x, s->mb_y); 1459 av_log(s->avctx, AV_LOG_ERROR, "I cbpy damaged at %d %d\n", s->mb_x, s->mb_y);
1460 return -1; 1460 return -1;
1461 } 1461 }
1462 cbp = (cbpc & 3) | (cbpy << 2); 1462 cbp = (cbpc & 3) | (cbpy << 2);