Revision 59bebb11 libavcodec/mpegaudiodec_float.c

View differences:

libavcodec/mpegaudiodec_float.c
41 41
    *synth_buf_offset = offset;
42 42
}
43 43

  
44
static void compute_antialias_float(MPADecodeContext *s,
45
                              GranuleDef *g)
46
{
47
    float *ptr;
48
    int n, i;
49

  
50
    /* we antialias only "long" bands */
51
    if (g->block_type == 2) {
52
        if (!g->switch_point)
53
            return;
54
        /* XXX: check this for 8000Hz case */
55
        n = 1;
56
    } else {
57
        n = SBLIMIT - 1;
58
    }
59

  
60
    ptr = g->sb_hybrid + 18;
61
    for(i = n;i > 0;i--) {
62
        float tmp0, tmp1;
63
        float *csa = &csa_table_float[0][0];
64
#define FLOAT_AA(j)\
65
        tmp0= ptr[-1-j];\
66
        tmp1= ptr[   j];\
67
        ptr[-1-j] = tmp0 * csa[0+4*j] - tmp1 * csa[1+4*j];\
68
        ptr[   j] = tmp0 * csa[1+4*j] + tmp1 * csa[0+4*j];
69

  
70
        FLOAT_AA(0)
71
        FLOAT_AA(1)
72
        FLOAT_AA(2)
73
        FLOAT_AA(3)
74
        FLOAT_AA(4)
75
        FLOAT_AA(5)
76
        FLOAT_AA(6)
77
        FLOAT_AA(7)
78

  
79
        ptr += 18;
80
    }
81
}
82

  
44 83
#if CONFIG_MP1FLOAT_DECODER
45 84
AVCodec mp1float_decoder =
46 85
{

Also available in: Unified diff