comparison h263.c @ 281:1fc96b02142e libavcodec

mpeg4 aspect_ratio_info in AVCodecContext (requested by alex) experimental (& faster) motion estimation squished a dirty uninitialized var bug mpeg1 fcode>1 support
author michaelni
date Fri, 22 Mar 2002 23:22:08 +0000
parents 6a5293bc8089
children d94f9f58a2c5
comparison
equal deleted inserted replaced
280:3dc1ca4ba717 281:1fc96b02142e
779 put_bits(&s->pb, 1, 0); /* random access vol */ 779 put_bits(&s->pb, 1, 0); /* random access vol */
780 put_bits(&s->pb, 8, 1); /* video obj type indication= simple obj */ 780 put_bits(&s->pb, 8, 1); /* video obj type indication= simple obj */
781 put_bits(&s->pb, 1, 1); /* is obj layer id= yes */ 781 put_bits(&s->pb, 1, 1); /* is obj layer id= yes */
782 put_bits(&s->pb, 4, vo_ver_id); /* is obj layer ver id */ 782 put_bits(&s->pb, 4, vo_ver_id); /* is obj layer ver id */
783 put_bits(&s->pb, 3, 1); /* is obj layer priority */ 783 put_bits(&s->pb, 3, 1); /* is obj layer priority */
784 put_bits(&s->pb, 4, 1); /* aspect ratio info= sqare pixel */ //FIXME real aspect 784 if(s->aspect_ratio_info)
785 put_bits(&s->pb, 4, s->aspect_ratio_info);/* aspect ratio info */
786 else
787 put_bits(&s->pb, 4, 1); /* aspect ratio info= sqare pixel */
785 put_bits(&s->pb, 1, 0); /* vol control parameters= no */ 788 put_bits(&s->pb, 1, 0); /* vol control parameters= no */
786 put_bits(&s->pb, 2, RECT_SHAPE); /* vol shape= rectangle */ 789 put_bits(&s->pb, 2, RECT_SHAPE); /* vol shape= rectangle */
787 put_bits(&s->pb, 1, 1); /* marker bit */ 790 put_bits(&s->pb, 1, 1); /* marker bit */
788 put_bits(&s->pb, 16, s->time_increment_resolution=30000); 791 put_bits(&s->pb, 16, s->time_increment_resolution=30000);
789 s->time_increment_bits = av_log2(s->time_increment_resolution - 1) + 1; 792 s->time_increment_bits = av_log2(s->time_increment_resolution - 1) + 1;
2147 s->aspect_ratio_info= get_bits(&s->gb, 4); 2150 s->aspect_ratio_info= get_bits(&s->gb, 4);
2148 if(s->aspect_ratio_info == EXTENDET_PAR){ 2151 if(s->aspect_ratio_info == EXTENDET_PAR){
2149 skip_bits(&s->gb, 8); //par_width 2152 skip_bits(&s->gb, 8); //par_width
2150 skip_bits(&s->gb, 8); // par_height 2153 skip_bits(&s->gb, 8); // par_height
2151 } 2154 }
2155
2152 if(get_bits1(&s->gb)){ /* vol control parameter */ 2156 if(get_bits1(&s->gb)){ /* vol control parameter */
2153 printf("vol control parameter not supported\n"); 2157 printf("vol control parameter not supported\n");
2154 return -1; 2158 return -1;
2155 } 2159 }
2156 s->shape = get_bits(&s->gb, 2); /* vol shape */ 2160 s->shape = get_bits(&s->gb, 2); /* vol shape */
2386 if (s->pict_type == B_TYPE) { 2390 if (s->pict_type == B_TYPE) {
2387 s->b_code = get_bits(&s->gb, 3); 2391 s->b_code = get_bits(&s->gb, 3);
2388 //printf("b-code %d\n", s->b_code); 2392 //printf("b-code %d\n", s->b_code);
2389 } 2393 }
2390 //printf("quant:%d fcode:%d\n", s->qscale, s->f_code); 2394 //printf("quant:%d fcode:%d\n", s->qscale, s->f_code);
2391
2392 if(!s->scalability){ 2395 if(!s->scalability){
2393 if (s->shape!=RECT_SHAPE && s->pict_type!=I_TYPE) { 2396 if (s->shape!=RECT_SHAPE && s->pict_type!=I_TYPE) {
2394 skip_bits1(&s->gb); // vop shape coding type 2397 skip_bits1(&s->gb); // vop shape coding type
2395 } 2398 }
2396 } 2399 }