[FFmpeg-devel] [PATCH] Optimization of original IFF codec
Måns Rullgård
mans
Mon Apr 26 03:48:55 CEST 2010
"Ronald S. Bultje" <rsbultje at gmail.com> writes:
> Hi,
>
> On Sun, Apr 25, 2010 at 5:15 PM, Sebastian Vater
> <cdgs.basty at googlemail.com> wrote:
>> Ronald S. Bultje a ?crit :
>>> On Sun, Apr 25, 2010 at 12:47 PM, Sebastian Vater
>>> <cdgs.basty at googlemail.com> wrote:
>>>> + ? ?const unsigned b = (buf_size * 8) + bps - 1; \
>>>
>>> Shouldn't be const, I think (?).
>>>
>> Of course this should be const, since it isn't going to be changed. I
>> moved this just out of the for, because gcc was too stupid to do the
>> calculation outside of the loop.
>
> Out of loop isn't the same as const. Const means it never changes,
> ever. It means that the value is the same, regardless of input values
> to the function call. So regardless of buf_size, bps, b always has the
> same value.
No, that's not what it means. A local variable with a const qualifier
means simply that the value of the variable cannot be changed after
the initialisation. If an attempt is made to assign a value to it
later, the compiler must issue an error. Other than that it has no
effect at all.
Perhaps you confused it with "static const" symbols, which indeed have
a fixed value although their scope is limited to the enclosing block.
These, however, must be initialised by a constant expression.
--
M?ns Rullg?rd
mans at mansr.com
More information about the ffmpeg-devel
mailing list