[Ffmpeg-devel] Wavpack decoded packet size?
Kostya
kostya.shishkov
Fri Oct 13 13:29:28 CEST 2006
On Fri, Oct 13, 2006 at 07:51:16AM +0300, Uoti Urpala wrote:
> On Fri, 2006-10-13 at 07:23 +0300, Kostya wrote:
> > > seconded, a decoder should not depend on a demuxer doing sanity checks
> >
> > Maybe yes, but:
> > a) what decoders do actually check for overflow (I found only vorbis and raw PCM)
>
> Many formats have natural packet size limits below
> AVCODEC_MAX_AUDIO_FRAME_SIZE.
Quite right but I don't know what to do with Monkey's Audio. It uses block
sizes up to several megabytes with insane compression level (_very_ appropriate name).
>
> > b) external demuxer may pass greater buffer to decoder and everything will be fine
>
> But can only do that safely if it has wavpack-specific code to check the
> size of the frames. And if you think external demuxer+internal decoder
> is an argument against checking the size in the decoder, then why did
> you put the check in the demuxer? Now you can't use internal demuxer
> +external decoder with big packets. Is there a reason why having the
> check in the demuxer is better than having it in the decoder? There's no
> reason the demuxer couldn't return arbitrarily big packets as long as
> they won't cause a buffer overflow in the decoder.
I'll move check to decoder then as it's really proper place for it.
> > this leads us to a long-discussed questions of API change (for audio, palette, etc.)
>
> The API could probably be improved, but as long as it isn't violating it
> in a way that can cause buffer overflows is worse.
More information about the ffmpeg-devel
mailing list