From f6d71b3942ae994ed576de81c9ddba2a08cb6f90 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer <michaelni@gmx.at> Date: Thu, 7 Apr 2011 15:12:03 +0200 Subject: [PATCH] ffplay: Set EMU_EDGE if dr1, this is an alternative fix for ticket40. Idea borrowed from mplayer. Signed-off-by: Michael Niedermayer <michaelni@gmx.at> --- ffplay.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ffplay.c b/ffplay.c index 56236d861b1..e3e6e378dc8 100644 --- a/ffplay.c +++ b/ffplay.c @@ -31,6 +31,7 @@ #include "libavutil/imgutils.h" #include "libavutil/parseutils.h" #include "libavutil/samplefmt.h" +#include "libavutil/avassert.h" #include "libavformat/avformat.h" #include "libavdevice/avdevice.h" #include "libswscale/swscale.h" @@ -1582,6 +1583,8 @@ static int input_get_buffer(AVCodecContext *codec, AVFrame *pic) int i, w, h, stride[4]; unsigned edge; + av_assert0(codec->flags & CODEC_FLAG_EMU_EDGE); + if (codec->codec->capabilities & CODEC_CAP_NEG_LINESIZES) perms |= AV_PERM_NEG_LINESIZES; @@ -1664,8 +1667,8 @@ static int input_init(AVFilterContext *ctx, const char *args, void *opaque) codec = priv->is->video_st->codec; codec->opaque = ctx; if((codec->codec->capabilities & CODEC_CAP_DR1) - && codec->codec_id != CODEC_ID_SVQ1 //chroma alignment from lavfi is insufficient ) { + codec->flags |= CODEC_FLAG_EMU_EDGE; priv->use_dr1 = 1; codec->get_buffer = input_get_buffer; codec->release_buffer = input_release_buffer; -- GitLab