| 318 | } |
| 319 | |
| 320 | static inline av_flatten int get_symbol_inline(RangeCoder *c, uint8_t *state, int is_signed){ |
| 321 | if(get_rac(c, state+0)) |
| 322 | return 0; |
| 323 | else{ |
| 324 | int i, e, a; |
| 325 | e= 0; |
| 326 | while(get_rac(c, state+1 + FFMIN(e,9))){ //1..10 |
| 327 | e++; |
| 328 | } |
| 329 | |
| 330 | a= 1; |
| 331 | for(i=e-1; i>=0; i--){ |
| 332 | a += a + get_rac(c, state+22 + FFMIN(i,9)); //22..31 |
| 333 | } |
| 334 | |
| 335 | e= -(is_signed && get_rac(c, state+11 + FFMIN(e, 10))); //11..21 |
| 336 | return (a^e)-e; |
| 337 | } |
| 338 | } |
| 339 | |
| 340 | static int av_noinline get_symbol(RangeCoder *c, uint8_t *state, int is_signed){ |
| 341 | return get_symbol_inline(c, state, is_signed); |
no test coverage detected