[FFmpeg-devel] Output buffer size in ffmpeg.c

compn tempn
Sat Jun 13 18:52:04 CEST 2009


On Sat, 13 Jun 2009 14:11:49 +0100, M?ns Rullg?rd wrote:
>Kostya <kostya.shishkov at gmail.com> writes:
>
>> On Sat, Jun 13, 2009 at 01:12:29PM +0100, M?ns Rullg?rd wrote:
>>> In ffmpeg.c, line 1926, the size of the output buffer for compressed
>>> data is calculated as 6*width*height+200.  The subsequent malloc is
>>> failing on my 64MB systems for some inputs, and is the cause of the
>>> redcode-demux FATE failure on AVR32.  This particular test passes if I
>>> enable memory overcommit.  This will not help on blackfin, however,
>>> since it has no MMU and hence overcommit is impossible.
>>> 
>>> Does the output buffer really need to be this big?  The only case I
>>> can think of that would need it is 48-bit raw.  Perhaps we should use
>>> a more intelligent estimate taking the codec into account.
>>
>> IIRC, it was settled after experiments with XViD coding pure noise.
>> Also we do support 48-bit raw a bit now.
>
>I know we do, that's what I mentioned it.  However, most codecs need
>no more than 8 bits per pixel.  When the difference between typical
>and worst case if of this magnitude, it seems wrong to always use the
>worst case, more so when it causes needless failures.

if blackfin && system_without_mmu
 {set out_buf = sys_max_buf ?

-compn



More information about the ffmpeg-devel mailing list