Mercurial > libavcodec.hg
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 } |