Revision 1e739679

View differences:

libavcodec/vp8.c
821 821
 * @return 0 if no coeffs were decoded
822 822
 *         otherwise, the index of the last coeff decoded plus one
823 823
 */
824
static int decode_block_coeffs(VP56RangeCoder *c, DCTELEM block[16],
825
                               uint8_t probs[8][3][NUM_DCT_TOKENS-1],
826
                               int i, int zero_nhood, int16_t qmul[2])
824
static int decode_block_coeffs_internal(VP56RangeCoder *c, DCTELEM block[16],
825
                                        uint8_t probs[8][3][NUM_DCT_TOKENS-1],
826
                                        int i, uint8_t *token_prob, int16_t qmul[2])
827 827
{
828
    uint8_t *token_prob = probs[i][zero_nhood];
829
    int coeff;
830

  
831
    if (!vp56_rac_get_prob_branchy(c, token_prob[0]))
832
        return 0;
833 828
    goto skip_eob;
834

  
835 829
    do {
830
        int coeff;
836 831
        if (!vp56_rac_get_prob_branchy(c, token_prob[0]))   // DCT_EOB
837 832
            return i;
838 833

  
......
880 875
}
881 876

  
882 877
static av_always_inline
878
int decode_block_coeffs(VP56RangeCoder *c, DCTELEM block[16],
879
                        uint8_t probs[8][3][NUM_DCT_TOKENS-1],
880
                        int i, int zero_nhood, int16_t qmul[2])
881
{
882
    uint8_t *token_prob = probs[i][zero_nhood];
883
    if (!vp56_rac_get_prob_branchy(c, token_prob[0]))   // DCT_EOB
884
        return 0;
885
    return decode_block_coeffs_internal(c, block, probs, i, token_prob, qmul);
886
}
887

  
888
static av_always_inline
883 889
void decode_mb_coeffs(VP8Context *s, VP56RangeCoder *c, VP8Macroblock *mb,
884 890
                      uint8_t t_nnz[9], uint8_t l_nnz[9])
885 891
{

Also available in: Unified diff