Mercurial > libavcodec.hg
comparison svq1.c @ 2214:de5ed621effc libavcodec
try to select w/h from tables
author | alex |
---|---|
date | Wed, 08 Sep 2004 17:57:25 +0000 |
parents | e0d88f21d864 |
children | 5b3dfc4103b9 |
comparison
equal
deleted
inserted
replaced
2213:c17d0cbbdf66 | 2214:de5ed621effc |
---|---|
878 return 0; | 878 return 0; |
879 } | 879 } |
880 | 880 |
881 static void svq1_write_header(SVQ1Context *s, int frame_type) | 881 static void svq1_write_header(SVQ1Context *s, int frame_type) |
882 { | 882 { |
883 int i; | |
884 | |
883 /* frame code */ | 885 /* frame code */ |
884 put_bits(&s->pb, 22, 0x20); | 886 put_bits(&s->pb, 22, 0x20); |
885 | 887 |
886 /* temporal reference (sure hope this is a "don't care") */ | 888 /* temporal reference (sure hope this is a "don't care") */ |
887 put_bits(&s->pb, 8, 0x00); | 889 put_bits(&s->pb, 8, 0x00); |
896 /* no embedded string either */ | 898 /* no embedded string either */ |
897 | 899 |
898 /* output 5 unknown bits (2 + 2 + 1) */ | 900 /* output 5 unknown bits (2 + 2 + 1) */ |
899 put_bits(&s->pb, 5, 0); | 901 put_bits(&s->pb, 5, 0); |
900 | 902 |
901 /* forget about matching up resolutions, just use the free-form | 903 for (i = 0; i < 7; i++) |
902 * resolution code (7) for now */ | 904 { |
903 put_bits(&s->pb, 3, 7); | 905 if ((svq1_frame_size_table[i].width == s->frame_width) && |
904 put_bits(&s->pb, 12, s->frame_width); | 906 (svq1_frame_size_table[i].height == s->frame_height)) |
905 put_bits(&s->pb, 12, s->frame_height); | 907 { |
906 | 908 put_bits(&s->pb, 3, i); |
909 break; | |
910 } | |
911 } | |
912 | |
913 if (i == 7) | |
914 { | |
915 put_bits(&s->pb, 3, 7); | |
916 put_bits(&s->pb, 12, s->frame_width); | |
917 put_bits(&s->pb, 12, s->frame_height); | |
918 } | |
907 } | 919 } |
908 | 920 |
909 /* no checksum or extra data (next 2 bits get 0) */ | 921 /* no checksum or extra data (next 2 bits get 0) */ |
910 put_bits(&s->pb, 2, 0); | 922 put_bits(&s->pb, 2, 0); |
911 } | 923 } |