summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Hervey <bilboed@bilboed.com>2010-03-03 18:46:25 +0100
committerEdward Hervey <bilboed@bilboed.com>2010-03-03 19:03:19 +0100
commitd4e63b2727dbc030ba165fec1794de57a0fbf52e (patch)
tree2b83e34712b5d892afa695e6f3ce55530872a78e
parent38b71e40e644dc761470b1301f3e9e3459761998 (diff)
gstffmpegdec: Disable direct-rendering for svq1/vp56 decoders.
They use a non-standard stride which we can't support. Fixes #610613
-rw-r--r--ext/ffmpeg/gstffmpegdec.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/ext/ffmpeg/gstffmpegdec.c b/ext/ffmpeg/gstffmpegdec.c
index ca35563..d1a868c 100644
--- a/ext/ffmpeg/gstffmpegdec.c
+++ b/ext/ffmpeg/gstffmpegdec.c
@@ -789,6 +789,16 @@ gst_ffmpegdec_setcaps (GstPad * pad, GstCaps * caps)
/* does not work, many stuff reads outside of the planes */
ffmpegdec->current_dr = FALSE;
ffmpegdec->extra_ref = TRUE;
+ } else if ((oclass->in_plugin->id == CODEC_ID_SVQ1) ||
+ (oclass->in_plugin->id == CODEC_ID_VP5) ||
+ (oclass->in_plugin->id == CODEC_ID_VP6) ||
+ (oclass->in_plugin->id == CODEC_ID_VP6F) ||
+ (oclass->in_plugin->id == CODEC_ID_VP6A)) {
+ GST_DEBUG_OBJECT (ffmpegdec,
+ "disable direct rendering setup for broken stride support");
+ /* does not work, uses a incompatible stride. See #610613 */
+ ffmpegdec->current_dr = FALSE;
+ ffmpegdec->extra_ref = TRUE;
} else {
GST_DEBUG_OBJECT (ffmpegdec, "enabled direct rendering");
ffmpegdec->current_dr = TRUE;