comparison common.c @ 452:297eed976b20 libavcodec

fixing get_bits_count at the end
author michaelni
date Sun, 02 Jun 2002 12:13:09 +0000
parents 718a22dc121f
children 5b33d11bd1fb
comparison
equal deleted inserted replaced
451:1228bf19299b 452:297eed976b20
172 bit_buf = (buf_ptr[-4] << 24) | 172 bit_buf = (buf_ptr[-4] << 24) |
173 (buf_ptr[-3] << 16) | 173 (buf_ptr[-3] << 16) |
174 (buf_ptr[-2] << 8) | 174 (buf_ptr[-2] << 8) |
175 (buf_ptr[-1]); 175 (buf_ptr[-1]);
176 #endif 176 #endif
177 val |= bit_buf >> (32 + bit_cnt);
178 bit_buf <<= - bit_cnt;
179 bit_cnt += 32;
177 } else { 180 } else {
178 buf_ptr -= 4; 181 buf_ptr -= 4;
179 bit_buf = 0; 182 bit_buf = 0;
180 if (buf_ptr < s->buf_end) 183 if (buf_ptr < s->buf_end)
181 bit_buf |= *buf_ptr++ << 24; 184 bit_buf |= *buf_ptr++ << 24;
183 bit_buf |= *buf_ptr++ << 16; 186 bit_buf |= *buf_ptr++ << 16;
184 if (buf_ptr < s->buf_end) 187 if (buf_ptr < s->buf_end)
185 bit_buf |= *buf_ptr++ << 8; 188 bit_buf |= *buf_ptr++ << 8;
186 if (buf_ptr < s->buf_end) 189 if (buf_ptr < s->buf_end)
187 bit_buf |= *buf_ptr++; 190 bit_buf |= *buf_ptr++;
191
192 val |= bit_buf >> (32 + bit_cnt);
193 bit_buf <<= - bit_cnt;
194 bit_cnt += 8*(buf_ptr - s->buf_ptr);
195 if(bit_cnt<0) bit_cnt=0;
188 } 196 }
189 s->buf_ptr = buf_ptr; 197 s->buf_ptr = buf_ptr;
190 val |= bit_buf >> (32 + bit_cnt);
191 bit_buf <<= - bit_cnt;
192 bit_cnt += 32;
193 } 198 }
194 s->bit_buf = bit_buf; 199 s->bit_buf = bit_buf;
195 s->bit_cnt = bit_cnt; 200 s->bit_cnt = bit_cnt;
196 return val; 201 return val;
197 } 202 }