[FFmpeg-devel] [PATCH 1/3] adler32: avoid "too big" check in the inner loop
Reimar Döffinger
Reimar.Doeffinger at gmx.de
Sat Feb 4 12:09:08 CET 2012
On 4 Feb 2012, at 05:43, Michael Niedermayer <michaelni at gmx.at> wrote:
> On Fri, Feb 03, 2012 at 10:51:01PM +0100, Reimar Döffinger wrote:
>>
>>
>> On 3 Feb 2012, at 22:20, Michael Niedermayer <michaelni at gmx.at> wrote:
>>
>>> Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
>>> ---
>>> libavutil/adler32.c | 14 ++++++++++----
>>> 1 files changed, 10 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/libavutil/adler32.c b/libavutil/adler32.c
>>> index f4f56ea..9ea639f 100644
>>> --- a/libavutil/adler32.c
>>> +++ b/libavutil/adler32.c
>>> @@ -37,17 +37,23 @@ unsigned long av_adler32_update(unsigned long adler, const uint8_t * buf,
>>> unsigned long s2 = adler >> 16;
>>>
>>> while (len > 0) {
>>> + unsigned len2=(len-1) & ~15;
>>> + if (len2 > 2048) len2 = 2048;
>>
>> I would suggest FFALIGN and FFMIN.
>
> i added FFMIN() but not FFALIGN because the FFALIGN operation rounds
> up and we need quite specific round down with at least 1 remaining
> here. It could be used of course but it feels quite unintuitiv to me.
Of course, I wasn't thinking straight there.
More information about the ffmpeg-devel
mailing list