Mercurial > libavcodec.hg
comparison h263.c @ 1457:460e5ead6722 libavcodec
detect old xvid with fourcc=DIVX
remove "this file was encoded with ..." stuff (use debug=4096 if u want to know that)
author | michaelni |
---|---|
date | Wed, 10 Sep 2003 11:28:18 +0000 |
parents | 39ebefd82728 |
children | b372ecde32a8 |
comparison
equal
deleted
inserted
replaced
1456:670fca257a69 | 1457:460e5ead6722 |
---|---|
4779 e=sscanf(buf, "DivX%db%d%c", &ver, &build, &last); | 4779 e=sscanf(buf, "DivX%db%d%c", &ver, &build, &last); |
4780 if(e>=2){ | 4780 if(e>=2){ |
4781 s->divx_version= ver; | 4781 s->divx_version= ver; |
4782 s->divx_build= build; | 4782 s->divx_build= build; |
4783 s->divx_packed= e==3 && last=='p'; | 4783 s->divx_packed= e==3 && last=='p'; |
4784 if(s->picture_number==0){ | |
4785 printf("This file was encoded with DivX%d Build%d", ver, build); | |
4786 if(s->divx_packed) | |
4787 printf("p\n"); | |
4788 else | |
4789 printf("\n"); | |
4790 } | |
4791 } | 4784 } |
4792 | 4785 |
4793 /* ffmpeg detection */ | 4786 /* ffmpeg detection */ |
4794 e=sscanf(buf, "FFmpeg%d.%d.%db%d", &ver, &ver2, &ver3, &build); | 4787 e=sscanf(buf, "FFmpeg%d.%d.%db%d", &ver, &ver2, &ver3, &build); |
4795 if(e!=4) | 4788 if(e!=4) |
4801 } | 4794 } |
4802 } | 4795 } |
4803 if(e==4){ | 4796 if(e==4){ |
4804 s->ffmpeg_version= ver*256*256 + ver2*256 + ver3; | 4797 s->ffmpeg_version= ver*256*256 + ver2*256 + ver3; |
4805 s->lavc_build= build; | 4798 s->lavc_build= build; |
4806 if(s->picture_number==0) | |
4807 printf("This file was encoded with libavcodec build %d\n", build); | |
4808 } | 4799 } |
4809 | 4800 |
4810 /* xvid detection */ | 4801 /* xvid detection */ |
4811 e=sscanf(buf, "XviD%d", &build); | 4802 e=sscanf(buf, "XviD%d", &build); |
4812 if(e==1){ | 4803 if(e==1){ |
4813 s->xvid_build= build; | 4804 s->xvid_build= build; |
4814 if(s->picture_number==0) | |
4815 printf("This file was encoded with XviD build %d\n", build); | |
4816 } | 4805 } |
4817 | 4806 |
4818 //printf("User Data: %s\n", buf); | 4807 //printf("User Data: %s\n", buf); |
4819 return 0; | 4808 return 0; |
4820 } | 4809 } |
4980 s->b_code = get_bits(gb, 3); | 4969 s->b_code = get_bits(gb, 3); |
4981 }else | 4970 }else |
4982 s->b_code=1; | 4971 s->b_code=1; |
4983 | 4972 |
4984 if(s->avctx->debug&FF_DEBUG_PICT_INFO){ | 4973 if(s->avctx->debug&FF_DEBUG_PICT_INFO){ |
4985 printf("qp:%d fc:%d,%d %s size:%d pro:%d alt:%d top:%d %spel part:%d resync:%d w:%d a:%d rnd:%d\n", | 4974 printf("qp:%d fc:%d,%d %s size:%d pro:%d alt:%d top:%d %spel part:%d resync:%d w:%d a:%d rnd:%d vot:%d%s\n", |
4986 s->qscale, s->f_code, s->b_code, | 4975 s->qscale, s->f_code, s->b_code, |
4987 s->pict_type == I_TYPE ? "I" : (s->pict_type == P_TYPE ? "P" : (s->pict_type == B_TYPE ? "B" : "S")), | 4976 s->pict_type == I_TYPE ? "I" : (s->pict_type == P_TYPE ? "P" : (s->pict_type == B_TYPE ? "B" : "S")), |
4988 gb->size_in_bits,s->progressive_sequence, s->alternate_scan, s->top_field_first, | 4977 gb->size_in_bits,s->progressive_sequence, s->alternate_scan, s->top_field_first, |
4989 s->quarter_sample ? "q" : "h", s->data_partitioning, s->resync_marker, s->num_sprite_warping_points, | 4978 s->quarter_sample ? "q" : "h", s->data_partitioning, s->resync_marker, s->num_sprite_warping_points, |
4990 s->sprite_warping_accuracy, 1-s->no_rounding); | 4979 s->sprite_warping_accuracy, 1-s->no_rounding, s->vo_type, s->vol_control_parameters ? " VOLC" : " "); |
4991 } | 4980 } |
4992 | 4981 |
4993 if(!s->scalability){ | 4982 if(!s->scalability){ |
4994 if (s->shape!=RECT_SHAPE && s->pict_type!=I_TYPE) { | 4983 if (s->shape!=RECT_SHAPE && s->pict_type!=I_TYPE) { |
4995 skip_bits1(gb); // vop shape coding type | 4984 skip_bits1(gb); // vop shape coding type |