From 8fa97302e03f00a81177027c3578274fef41c250 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Wed, 26 Oct 2011 15:47:14 +0200 Subject: [PATCH] snow: do not draw_edge if emu_edge is set Fix segfault on emu edge, to reproduce make fate-vsynth1-snow avplay -flags emu_edge tests/data/vsynth1/snow.avi Signed-off-by: Luca Barbato --- libavcodec/snow.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/libavcodec/snow.c b/libavcodec/snow.c index 02fc5f79ab..a3af5772c2 100644 --- a/libavcodec/snow.c +++ b/libavcodec/snow.c @@ -1609,8 +1609,6 @@ static void dwt_quantize(SnowContext *s, Plane *p, DWTELEM *buffer, int width, i static void halfpel_interpol(SnowContext *s, uint8_t *halfpel[4][4], AVFrame *frame){ int p,x,y; - assert(!(s->avctx->flags & CODEC_FLAG_EMU_EDGE)); - for(p=0; p<3; p++){ int is_chroma= !!p; int w= s->avctx->width >>is_chroma; @@ -1667,7 +1665,7 @@ static int frame_start(SnowContext *s){ int w= s->avctx->width; //FIXME round up to x16 ? int h= s->avctx->height; - if(s->current_picture.data[0]){ + if (s->current_picture.data[0] && !(s->avctx->flags&CODEC_FLAG_EMU_EDGE)) { s->dsp.draw_edges(s->current_picture.data[0], s->current_picture.linesize[0], w , h , EDGE_WIDTH , EDGE_WIDTH , EDGE_TOP | EDGE_BOTTOM);