diff --git a/libavcodec/cabac.c b/libavcodec/cabac.c index 466d6239dc2a58b7526306ae2afb26ad0f919aa6..54414fa1e585ff3f9fa041dc14b90683a28398f8 100644 --- a/libavcodec/cabac.c +++ b/libavcodec/cabac.c @@ -248,67 +248,6 @@ static int put_cabac_terminate(CABACContext *c, int bit){ return (put_bits_count(&c->pb)+7)>>3; } -/** - * put (truncated) unary binarization. - */ -static void put_cabac_u(CABACContext *c, uint8_t * state, int v, int max, int max_index, int truncated){ - int i; - - assert(v <= max); - - for(i=0; i<v; i++){ - put_cabac(c, state, 1); - if(i < max_index) state++; - } - if(truncated==0 || v<max) - put_cabac(c, state, 0); -} - -/** - * put unary exp golomb k-th order binarization. - */ -static void put_cabac_ueg(CABACContext *c, uint8_t * state, int v, int max, int is_signed, int k, int max_index){ - int i; - - if(v==0) - put_cabac(c, state, 0); - else{ - const int sign= v < 0; - - if(is_signed) v= FFABS(v); - - if(v<max){ - for(i=0; i<v; i++){ - put_cabac(c, state, 1); - if(i < max_index) state++; - } - - put_cabac(c, state, 0); - }else{ - int m= 1<<k; - - for(i=0; i<max; i++){ - put_cabac(c, state, 1); - if(i < max_index) state++; - } - - v -= max; - while(v >= m){ //FIXME optimize - put_cabac_bypass(c, 1); - v-= m; - m+= m; - } - put_cabac_bypass(c, 0); - while(m>>=1){ - put_cabac_bypass(c, v&m); - } - } - - if(is_signed) - put_cabac_bypass(c, sign); - } -} - int main(void){ CABACContext c; uint8_t b[9*SIZE]; @@ -337,18 +276,6 @@ START_TIMER STOP_TIMER("put_cabac") } - for(i=0; i<SIZE; i++){ -START_TIMER - put_cabac_u(&c, state, r[i], 6, 3, i&1); -STOP_TIMER("put_cabac_u") - } - - for(i=0; i<SIZE; i++){ -START_TIMER - put_cabac_ueg(&c, state, r[i], 3, 0, 1, 2); -STOP_TIMER("put_cabac_ueg") - } - put_cabac_terminate(&c, 1); ff_init_cabac_decoder(&c, b, SIZE);