[FFmpeg-devel] [PATCH] Heavy optimization of IFF decoder
Sebastian Vater
cdgs.basty
Wed Apr 28 13:02:48 CEST 2010
Michael Niedermayer a ?crit :
> On Tue, Apr 27, 2010 at 11:04:34PM +0200, Sebastian Vater wrote:
>
>> Sebastian Vater a ?crit :
>>
>>> Sebastian Vater a ?crit :
>>>
>>>
>>>> Patch attached!
>>>>
>>>> But could you try out and compare the new patch, if it doesn't cause any
>>>> side effects?
>>>> Load several 8bpp IFF files and see if something is truncated, etc.
>>>>
>>>> I'm far too tired right now, and just falling to bed!
>>>> Good night and nice dreams!
>>>>
>>>>
>>>>
>>> Just figured out that the (buf_size * 8) + bps - 1 expression can be
>>> simplified to (buf_size * 8), at least it didn't change Heart.ILBM.
>>>
>>> New patch attached fixing this! But that's really the very last one for
>>> today!
>>>
>>>
>> Argghh, did apply the wrong patch!
>>
>> Also I noticed that it can just be reduced to (buf_size * 8) + bps
>> not to (buf_size * 8), so just the - 1 is discarded.
>>
>> I shouldn't sent patched when extremely tired, sorry for the inconvience!
>>
>> --
>>
>> Best regards,
>> :-) Basty/CDGS (-
>>
>>
>
>
>> iff.c | 40 +++++++++++++++++++++++++++++++++++-----
>> 1 file changed, 35 insertions(+), 5 deletions(-)
>> d9a944397db01b94beb978a757ea8c4e64b2419e iff-opt-dp8-static.patch
>>
>
> looks ok if tested on little & big endian
>
> [...]
Could the revert this patch, please?
I just found a serious bug in the original code, which I believe which
is the cause that some IFF images (like MRLake.iff) are displayed
partially incorrect.
The specs say that a line should be rounded up to nearest int16_t of
width (the current code doesn't round at all and is byte boundary).
This requires change in lots of part of this code and I want to
fix/commit this first.
Regarding this, please read:
http://home.comcast.net/~erniew/lwsdk/docs/filefmts/ilbm.html
And the source code files:
http://home.comcast.net/~erniew/lwsdk/sample/index.html#iff
--
Best regards,
:-) Basty/CDGS (-:
More information about the ffmpeg-devel
mailing list