Mercurial > libavcodec.hg
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 } |