Lines Matching refs:range

19 // Choose the range decoder variants to use using a bitmask.
69 uint32_t range;
75 /// Reads the first five bytes to initialize the range decoder.
99 /// Makes local copies of range decoder and *in_pos variables. Doing this
100 /// improves speed significantly. The range decoder macros expect also
118 /// Stores the local copes back to the range decoder structure.
126 /// Resets the range decoder structure.
129 (range_decoder).range = UINT32_MAX; \
145 if (rc.range < RC_TOP_VALUE) { \
146 rc.range <<= RC_SHIFT_BITS; \
159 if (rc.range < RC_TOP_VALUE) { \
164 rc.range <<= RC_SHIFT_BITS; \
183 rc_bound = (rc.range >> RC_BIT_MODEL_TOTAL_BITS) * (prob); \
189 rc_bound = (rc.range >> RC_BIT_MODEL_TOTAL_BITS) * (prob); \
193 /// Update the range decoder state and the used probability variable to
200 rc.range = rc_bound; \
206 /// Update the range decoder state and the used probability variable to
210 rc.range -= rc_bound; \
370 rc.range >>= 1; \
371 rc.code -= rc.range; \
374 rc.code += rc.range & rc_bound; \
382 rc.range >>= 1; \
383 rc.code -= rc.range; \
385 rc.code += rc.range & rc_bound; \
400 rc_bound = (rc.range >> RC_BIT_MODEL_TOTAL_BITS) * *p; \
405 rc.range &= rc_mask; /* If bit 0: set rc.range = 0 */ \
408 rc.range += rc_bound; \
490 "cmp %[top_value], %[range]\n\t" \
494 "shl %[shift_bits], %[range]\n\t" \
500 // rc_bound = (rc.range >> RC_BIT_MODEL_TOTAL_BITS) * (prob);
503 // ...but the bound is stored in "range":
505 // t0 = range;
506 // range = (range >> RC_BIT_MODEL_TOTAL_BITS) * (prob);
507 // t0 -= range;
509 // code -= range;
516 // rc.range = rc_bound;
518 // ...has already been done but the "code -= range" has to be reverted using
523 // rc.range -= rc_bound;
526 // ...is already done for "code" but the value for "range" needs to be taken
533 "mov %[range], %[t0]\n\t" \
534 "shr %[bit_model_total_bits], %[range]\n\t" \
535 "imul %[" prob "], %[range]\n\t" \
536 "sub %[range], %[t0]\n\t" \
538 "sub %[range], %[code]\n\t"
610 "cmovae %[t0], %[range]\n\t" \
653 [range] "+&r"(rc.range), \
731 "cmovae %[t0], %[range]\n\t" \
800 "cmovae %[t0], %[range]\n\t" \
812 [range] "+&r"(rc.range), \
859 "cmovae %[t0], %[range]\n\t" \
903 [range] "+&r"(rc.range), \
941 "shr $1, %[range]\n\t" \
943 "sub %[range], %[code]\n\t" \
949 [range] "+&r"(rc.range), \