[Ffmpeg-devel] Porting to symbian, possible ??

Colin Ward lists
Mon Aug 21 11:38:52 CEST 2006

Michael Niedermayer wrote:
>>   1) Executable size.  Given the structure of FFMPEG and the fact that 
>> GCC doesn't do function level linking, even if you disable all but a few 
>> required codecs you end up with a 2+ MB executable.  Pull in a table or 
>> a function from one module and you pull in everything else, even if its 
>> not used.  This might not be a problem if you are targeting the more 
>> modern phones such as Series 60 DP3 though, as these do have large 
>> heaps.  But for the older Symbian OS phones, which often only have a 
>> couple of MB heap, forget it.
> hmm, does -ffunction-sections and -Wl,--gc-sections have any effect on 
> this? ive just found these with google, so no clue if they work ...

   Thanks, I will try this out when I get a chance (been too busy at 
work lately).

> and patches to reduce the size if lots of stuff is disabled are welcome as
> long as they are not too messy

   Ok, great.  I think that pulling out certain shared functions and 
putting them into their own files might help as well.  Let's say that 
codec "a" and codec "b" both use a function and that function is in 
codec b's module.  If you only want to compile codec "a" you still need 
to compile and link in codec b's module to get at that function.  I 
think that that is where most of the size problems come from.  I first 
noticed this when I reduced my list of supported codecs from all codecs 
in FFMPEG down to just a dozen or so, and was surprised to see that the 
size of my executable was still just as large!

[Hitman/Code HQ - 6502/z80/68000/604e/80x86/ARM coder - Amiga rulez!]
[VZ-200/VIC-20/MZ-700/c16/c64*10/c128*8/Plus-4/CPC464/CD32/500*2    ]
[600/1000/1200*2/A4000/SNES/N64/Dreamcast/Athlon 1100/AmigaOne      ]
[Assembly Language: The most fun you can have with your clothes on! ]

More information about the ffmpeg-devel mailing list