[FFmpeg-devel] [PATCH] replace hardcoded offset of CABACContext.bytestream with "m" operand
Måns Rullgård
mans
Tue Mar 18 01:52:01 CET 2008
Michael Niedermayer <michaelni at gmx.at> writes:
> On Mon, Mar 17, 2008 at 10:56:06PM +0000, M?ns Rullg?rd wrote:
>> Michael Niedermayer <michaelni at gmx.at> writes:
>>
>> > On Mon, Mar 17, 2008 at 09:01:20PM +0000, Mans Rullgard wrote:
>> >> ---
>> >> libavcodec/cabac.h | 54 ++++++++++++++++++++++-----------------------------
>> >> 1 files changed, 23 insertions(+), 31 deletions(-)
>> >
>> > Have you checked that gcc doesnt pessimize the code? Iam certain this
>> > was written the way because it didnt work the other (cleaner) way around
>> >
>> > I also like to see START/STOP_TIMER benchmarks. In adition to some
>> > confirmation that gcc still uses the same register for (c) and
>> > (c->bytestream)
>>
>> GCC 4.1.2 gives exactly the same code for the modified parts. There
>> are, however minor differences in other parts of code. In some
>> places, it has used r13 instead of r12, and instructions are reordered
>> in seemingly random ways in a few places. Full diff of disassembled
>> output (h264.o) attached. GCC is a mystery indeed.
>
> Ok, gcc 4.1.2 looks good, what about the other versions (4.2, 4.3,
> 3.4, 2.95)?
I haven't tried them. Will have to install them first, unless someone
is willing to help me out.
>> > And some confirmation that it doesnt cause failures or miscompilations on
>> > gcc 2.95 and 3.* (3.3/3.4 being most relevant)
>> > old gcc is very sensitive to the number of operands
>>
>> There's that of course...
>
> I dont understand what you mean?
I mean that it's annoying to have to test each version individually.
--
M?ns Rullg?rd
mans at mansr.com
More information about the ffmpeg-devel
mailing list