mirror of https://git.ffmpeg.org/ffmpeg.git
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 <lu_zero@gentoo.org>
This commit is contained in:
parent
d830264abd
commit
8fa97302e0
|
@ -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){
|
static void halfpel_interpol(SnowContext *s, uint8_t *halfpel[4][4], AVFrame *frame){
|
||||||
int p,x,y;
|
int p,x,y;
|
||||||
|
|
||||||
assert(!(s->avctx->flags & CODEC_FLAG_EMU_EDGE));
|
|
||||||
|
|
||||||
for(p=0; p<3; p++){
|
for(p=0; p<3; p++){
|
||||||
int is_chroma= !!p;
|
int is_chroma= !!p;
|
||||||
int w= s->avctx->width >>is_chroma;
|
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 w= s->avctx->width; //FIXME round up to x16 ?
|
||||||
int h= s->avctx->height;
|
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->dsp.draw_edges(s->current_picture.data[0],
|
||||||
s->current_picture.linesize[0], w , h ,
|
s->current_picture.linesize[0], w , h ,
|
||||||
EDGE_WIDTH , EDGE_WIDTH , EDGE_TOP | EDGE_BOTTOM);
|
EDGE_WIDTH , EDGE_WIDTH , EDGE_TOP | EDGE_BOTTOM);
|
||||||
|
|
Loading…
Reference in New Issue