Mercurial > libavcodec.hg
comparison mjpeg.c @ 2173:380c40efd6bb libavcodec
get_bits(32) fix
author | michael |
---|---|
date | Mon, 16 Aug 2004 01:25:52 +0000 |
parents | 141a9539e270 |
children | 3b84b5fea968 |
comparison
equal
deleted
inserted
replaced
2172:2f01eb357e33 | 2173:380c40efd6bb |
---|---|
1913 | 1913 |
1914 init_get_bits(&hgb, buf_ptr, /*buf_size*/(buf_end - buf_ptr)*8); | 1914 init_get_bits(&hgb, buf_ptr, /*buf_size*/(buf_end - buf_ptr)*8); |
1915 | 1915 |
1916 skip_bits(&hgb, 32); /* reserved zeros */ | 1916 skip_bits(&hgb, 32); /* reserved zeros */ |
1917 | 1917 |
1918 if (get_bits(&hgb, 32) != be2me_32(ff_get_fourcc("mjpg"))) | 1918 if (get_bits_long(&hgb, 32) != be2me_32(ff_get_fourcc("mjpg"))) |
1919 { | 1919 { |
1920 dprintf("not mjpeg-b (bad fourcc)\n"); | 1920 dprintf("not mjpeg-b (bad fourcc)\n"); |
1921 return 0; | 1921 return 0; |
1922 } | 1922 } |
1923 | 1923 |
1924 field_size = get_bits(&hgb, 32); /* field size */ | 1924 field_size = get_bits_long(&hgb, 32); /* field size */ |
1925 dprintf("field size: 0x%x\n", field_size); | 1925 dprintf("field size: 0x%x\n", field_size); |
1926 skip_bits(&hgb, 32); /* padded field size */ | 1926 skip_bits(&hgb, 32); /* padded field size */ |
1927 second_field_offs = get_bits(&hgb, 32); | 1927 second_field_offs = get_bits_long(&hgb, 32); |
1928 dprintf("second field offs: 0x%x\n", second_field_offs); | 1928 dprintf("second field offs: 0x%x\n", second_field_offs); |
1929 if (second_field_offs) | 1929 if (second_field_offs) |
1930 s->interlaced = 1; | 1930 s->interlaced = 1; |
1931 | 1931 |
1932 dqt_offs = get_bits(&hgb, 32); | 1932 dqt_offs = get_bits_long(&hgb, 32); |
1933 dprintf("dqt offs: 0x%x\n", dqt_offs); | 1933 dprintf("dqt offs: 0x%x\n", dqt_offs); |
1934 if (dqt_offs) | 1934 if (dqt_offs) |
1935 { | 1935 { |
1936 init_get_bits(&s->gb, buf+dqt_offs, (buf_end - (buf+dqt_offs))*8); | 1936 init_get_bits(&s->gb, buf+dqt_offs, (buf_end - (buf+dqt_offs))*8); |
1937 s->start_code = DQT; | 1937 s->start_code = DQT; |
1938 mjpeg_decode_dqt(s); | 1938 mjpeg_decode_dqt(s); |
1939 } | 1939 } |
1940 | 1940 |
1941 dht_offs = get_bits(&hgb, 32); | 1941 dht_offs = get_bits_long(&hgb, 32); |
1942 dprintf("dht offs: 0x%x\n", dht_offs); | 1942 dprintf("dht offs: 0x%x\n", dht_offs); |
1943 if (dht_offs) | 1943 if (dht_offs) |
1944 { | 1944 { |
1945 init_get_bits(&s->gb, buf+dht_offs, (buf_end - (buf+dht_offs))*8); | 1945 init_get_bits(&s->gb, buf+dht_offs, (buf_end - (buf+dht_offs))*8); |
1946 s->start_code = DHT; | 1946 s->start_code = DHT; |
1947 mjpeg_decode_dht(s); | 1947 mjpeg_decode_dht(s); |
1948 } | 1948 } |
1949 | 1949 |
1950 sof_offs = get_bits(&hgb, 32); | 1950 sof_offs = get_bits_long(&hgb, 32); |
1951 dprintf("sof offs: 0x%x\n", sof_offs); | 1951 dprintf("sof offs: 0x%x\n", sof_offs); |
1952 if (sof_offs) | 1952 if (sof_offs) |
1953 { | 1953 { |
1954 init_get_bits(&s->gb, buf+sof_offs, (buf_end - (buf+sof_offs))*8); | 1954 init_get_bits(&s->gb, buf+sof_offs, (buf_end - (buf+sof_offs))*8); |
1955 s->start_code = SOF0; | 1955 s->start_code = SOF0; |
1956 if (mjpeg_decode_sof(s) < 0) | 1956 if (mjpeg_decode_sof(s) < 0) |
1957 return -1; | 1957 return -1; |
1958 } | 1958 } |
1959 | 1959 |
1960 sos_offs = get_bits(&hgb, 32); | 1960 sos_offs = get_bits_long(&hgb, 32); |
1961 dprintf("sos offs: 0x%x\n", sos_offs); | 1961 dprintf("sos offs: 0x%x\n", sos_offs); |
1962 if (sos_offs) | 1962 if (sos_offs) |
1963 { | 1963 { |
1964 // init_get_bits(&s->gb, buf+sos_offs, (buf_end - (buf+sos_offs))*8); | 1964 // init_get_bits(&s->gb, buf+sos_offs, (buf_end - (buf+sos_offs))*8); |
1965 init_get_bits(&s->gb, buf+sos_offs, field_size*8); | 1965 init_get_bits(&s->gb, buf+sos_offs, field_size*8); |