mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-24 12:09:55 +00:00
mpegvideo: increase edge_emu_buffer size for VC1
The VC1 decoder uses edge_emu_buffer simultaneously for luma and chroma
and needs more space. That was not a problem before f1d8763a02
since the size for edge_emu_buffer was always calculated with 2 byte per
pixel since the linesize was not known.
Fixes occasionally fate errors in vc1_sa10143.
This commit is contained in:
parent
a34d9ad969
commit
45635885e4
@ -241,8 +241,10 @@ int ff_mpv_frame_size_alloc(MpegEncContext *s, int linesize)
|
|||||||
|
|
||||||
// edge emu needs blocksize + filter length - 1
|
// edge emu needs blocksize + filter length - 1
|
||||||
// (= 17x17 for halfpel / 21x21 for h264)
|
// (= 17x17 for halfpel / 21x21 for h264)
|
||||||
|
// VC1 computes luma and chroma simultaneously and needs 19X19 + 9x9
|
||||||
|
// at uvlinesize. It supports only YUV420 so 24x24 is enough
|
||||||
// linesize * interlaced * MBsize
|
// linesize * interlaced * MBsize
|
||||||
FF_ALLOCZ_OR_GOTO(s->avctx, s->edge_emu_buffer, alloc_size * 2 * 21,
|
FF_ALLOCZ_OR_GOTO(s->avctx, s->edge_emu_buffer, alloc_size * 2 * 24,
|
||||||
fail);
|
fail);
|
||||||
|
|
||||||
FF_ALLOCZ_OR_GOTO(s->avctx, s->me.scratchpad, alloc_size * 2 * 16 * 2,
|
FF_ALLOCZ_OR_GOTO(s->avctx, s->me.scratchpad, alloc_size * 2 * 16 * 2,
|
||||||
|
Loading…
Reference in New Issue
Block a user