[FFmpeg-devel] [PATCH] Fix CCE decoding and cleanup
Robert Swain
robert.swain
Tue Sep 23 14:10:45 CEST 2008
2008/9/23 M?ns Rullg?rd <mans at mansr.com>:
>
> Robert Swain wrote:
>> 2008/9/18 Alex Converse <alex.converse at gmail.com>:
>>> On Thu, Sep 18, 2008 at 5:45 PM, Michael Niedermayer <michaelni at gmx.at>
>>> wrote:
>>>>
>>>> On Thu, Sep 18, 2008 at 05:19:39PM -0400, Alex Converse wrote:
>>>> > Hi,
>>>> >
>>>> > The first patch fixes CCE decoding. The second patch cleans up some CCE
>>>> > related documentation and variable names.
>>>>
>>>> [...]
>>>>
>>>> > @@ -1001,12 +1001,13 @@
>>>> > int t = get_vlc2(gb, vlc_scalefactors.table, 7,
>>>> 3) - 60;
>>>> > if (t) {
>>>> > int s = 1;
>>>> > + int g;
>>>> > + g = gain += t;
>>>> > if (sign) {
>>>> > - s -= 2 * (t & 0x1);
>>>> > - t >>= 1;
>>>> > + s -= 2 * (g & 0x1);
>>>> > + g >>= 1;
>>>> > }
>>>> > - gain += t;
>>>> > - gain_cache = pow(scale, gain) * s;
>>>> > + gain_cache = pow(scale, -g) * s;
>>>> > }
>>>> > }
>>>>
>>>> int t = get_vlc2(gb, vlc_scalefactors.table, 7, 3) - 60;
>>>> if (t) {
>>>> int s = 1;
>>>> t = (gain += t);
>>>> if (sign) {
>>>> s -= 2 * (t & 1);
>>>> t >>= 1;
>>>> }
>>>> gain_cache = pow(scale, -t) * s;
>>>> }
>>>> }
>>>
>>> Fixed.
>>
>> I'm not sure if they're needed but you omitted the parentheses around
>> 'gain += t' in your fixed patch.
>
> The = and += operators have the same precedence and right to left
> associativity, so a = b += c is equivalent to a = (b += c). Were
> the associativity left to right, that would become (a = b) += c,
> which isn't a valid expression, since an assignment isn't an lvalue.
Thanks.
Rob
More information about the ffmpeg-devel
mailing list