diff options
author | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2006-02-05 14:11:16 +0000 |
---|---|---|
committer | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2006-02-05 14:11:16 +0000 |
commit | 40c9e400fdaf1e9bb49eb0d0f0e437025b0ab6e8 (patch) | |
tree | 0a0d683a843d5d50b12233116b777e8e2780cad9 /src/libffmpeg/libavcodec/rangecoder.c | |
parent | 9a299a12ea17a363354f451d2efd15bfbf3c7dc6 (diff) | |
download | xine-lib-40c9e400fdaf1e9bb49eb0d0f0e437025b0ab6e8.tar.gz xine-lib-40c9e400fdaf1e9bb49eb0d0f0e437025b0ab6e8.tar.bz2 |
ffmpeg sync
CVS patchset: 7872
CVS date: 2006/02/05 14:11:16
Diffstat (limited to 'src/libffmpeg/libavcodec/rangecoder.c')
-rw-r--r-- | src/libffmpeg/libavcodec/rangecoder.c | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/src/libffmpeg/libavcodec/rangecoder.c b/src/libffmpeg/libavcodec/rangecoder.c index 730d5a87c..8607b8f6d 100644 --- a/src/libffmpeg/libavcodec/rangecoder.c +++ b/src/libffmpeg/libavcodec/rangecoder.c @@ -14,10 +14,10 @@ * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * */ - + /** * @file rangecoder.c * Range coder. @@ -38,7 +38,7 @@ void ff_init_range_encoder(RangeCoder *c, uint8_t *buf, int buf_size){ - c->bytestream_start= + c->bytestream_start= c->bytestream= buf; c->bytestream_end= buf + buf_size; @@ -66,9 +66,9 @@ void ff_build_rac_states(RangeCoder *c, int factor, int max_p){ #if 0 for(i=1; i<256; i++){ - if(c->one_state[i]) + if(c->one_state[i]) continue; - + p= (i*one + 128) >> 8; last_p8= i; for(;;){ @@ -93,13 +93,13 @@ void ff_build_rac_states(RangeCoder *c, int factor, int max_p){ if(p8 <= last_p8) p8= last_p8+1; if(last_p8 && last_p8<256 && p8<=max_p) c->one_state[last_p8]= p8; - + p+= ((one-p)*factor + one/2) >> 32; last_p8= p8; } #endif for(i=256-max_p; i<=max_p; i++){ - if(c->one_state[i]) + if(c->one_state[i]) continue; p= (i*one + 128) >> 8; @@ -109,7 +109,7 @@ void ff_build_rac_states(RangeCoder *c, int factor, int max_p){ if(p8 > max_p) p8= max_p; c->one_state[ i]= p8; } - + for(i=0; i<256; i++) c->zero_state[i]= 256-c->one_state[256-i]; #if 0 @@ -143,17 +143,17 @@ int main(){ uint8_t r[9*SIZE]; int i; uint8_t state[10]= {0}; - + ff_init_range_encoder(&c, b, SIZE); ff_build_rac_states(&c, 0.05*(1LL<<32), 128+64+32+16); - + memset(state, 128, sizeof(state)); for(i=0; i<SIZE; i++){ r[i]= random()%7; } - - + + for(i=0; i<SIZE; i++){ START_TIMER put_rac(&c, state, r[i]&1); @@ -161,18 +161,18 @@ STOP_TIMER("put_rac") } ff_put_rac_terminate(&c); - + ff_init_range_decoder(&c, b, SIZE); - + memset(state, 128, sizeof(state)); - + for(i=0; i<SIZE; i++){ START_TIMER if( (r[i]&1) != get_rac(&c, state) ) av_log(NULL, AV_LOG_DEBUG, "rac failure at %d\n", i); STOP_TIMER("get_rac") } - + return 0; } |