[FFmpeg-devel] [PATCH] ARM: NEON optimised simple_idct
Måns Rullgård
mans
Mon Aug 25 22:20:08 CEST 2008
Alexander Strange <astrange at ithinksw.com> writes:
> On Aug 25, 2008, at 4:04 PM, M?ns Rullg?rd wrote:
>
>> Michael Niedermayer <michaelni at gmx.at> writes:
>>
>>> On Mon, Aug 25, 2008 at 07:47:16PM +0100, M?ns Rullg?rd wrote:
>>>> Michael Niedermayer <michaelni at gmx.at> writes:
>>> [...]
>>>>> 2. depending on the pattern of non zero / all zero rows one of 8
>>>>> optimized column transforms is used. This may be a bad idea though
>>>>> for a CPU with a small code cache ...
>>>>>
>>>>> also maybe it would make sense to look at i386/idct_sse2_xvid.c
>>>>> which uses SSE2 (128bit registers), this one uses only 16bit
>>>>> operations
>>>>> for the column transform so it may be faster when the tricks of
>>>>> the simple
>>>>> idct arent applicable
>>>>
>>>> Do you expect any sane person to be able to read that?
>>>
>>> well, a little insanity may be needed
>>>
>>>> That's also not bitexact, right?
>>>
>>> it is supposed to be bitexact, and i cannot remember a case where any
>>> input lead to different output. Also the MMX one is used in the
>>> regression tests and they match between MMX and non x86 cpus ...
>>
>> All the different IDCT variants (int, simple, simplemmx, libmpeg2mmx,
>> xvidmmx, faani) give different output on my machine with current
>> FFmpeg. Which one is correct?
>
> All of them are correct; none of the IDCT-using codecs specify exact
> rounding.
Yes, I know.
> simple* and xvid* should be the same as their C versions, though.
Well, they're not.
> It's best to stick with simpleidct so we can at least have bit-exact
> compatibility with ffmpeg-encoded files.
Agreed.
--
M?ns Rullg?rd
mans at mansr.com
More information about the ffmpeg-devel
mailing list