[FFmpeg-devel] [PATCH] split mpegvideo.c
Benoit Fouet
benoit.fouet
Mon Jul 2 12:18:21 CEST 2007
Hi,
Michael Niedermayer wrote:
> Hi
>
> On Thu, Jun 28, 2007 at 01:38:23PM +0200, Benoit Fouet wrote:
>
>> Benoit Fouet wrote:
>>
>>> M?ns Rullg?rd wrote:
>>>
>>>
>>>> Benoit Fouet <benoit.fouet at purplelabs.com> writes:
>>>>
>>>>
>>>>
>>>>> Hi,
>>>>>
>>>>> here is a first attempt to $subj
>>>>>
>>>>> what is done:
>>>>> - remove everything flagged under CONFIG_ENCODERS from mpegvideo.c
>>>>> (apart from the DCT_common_init() part)
>>>>> - put those parts in mpegvideo_enc.c
>>>>>
>>>>>
>>>>>
>>>> Does this in any way affect performance? I can imagine calls from
>>>> encoding functions to common functions no longer being inlined due to
>>>> the split. Then again, there might not be any relevant such calls.
>>>>
>>>>
>>>>
>>>>
>>> i didn't check performances yet. but this is a problem we might have, i
>>> guess...
>>>
>>>
>>>
>> anyway, what would be the proper way to do such a benchmark.
>> As it is something i never did in ffmpeg, any pointer on how to do it
>> would be very welcome !
>>
>
> nm anychangedobject.o
>
> and checking if new function names appear (simply cleaning the output of nm
> with sed and diffing them works well), if so they are no longer inlined
> (this will tell us what needs benchmarking)
>
>
ok, i did that.
it seems the only differences are the following ones:
- copy_picture is now defined
- MPV_common_defaults too
the two of them were implicitely inlined by the compiler actually.
i think copy_picture could be moved to the common header file to make it
inlined again, but this should not be necessary for
MPV_commmon_defaults, which is only called at initialization of codec.
> a time ffmpeg -i A B test for mpeg encoding and decoding
> some START/STOP_TIMER tests for functions which we think might have changed
> inlining behavior (see nm and what you changed in your patch)
>
>
i've juste tried to move copy_picture to header as an inlined function,
and it make it disappear from nm output, so there are no difference
left, apart from the MPV_common_defaults one between the nm output
before and after the patch.
Ben
--
Purple Labs S.A.
www.purplelabs.com
More information about the ffmpeg-devel
mailing list