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);