diff options
author | Edward Hervey <bilboed@bilboed.com> | 2010-03-03 18:46:25 +0100 |
---|---|---|
committer | Edward Hervey <bilboed@bilboed.com> | 2010-03-03 19:03:19 +0100 |
commit | d4e63b2727dbc030ba165fec1794de57a0fbf52e (patch) | |
tree | 2b83e34712b5d892afa695e6f3ce55530872a78e /ext | |
parent | 38b71e40e644dc761470b1301f3e9e3459761998 (diff) |
gstffmpegdec: Disable direct-rendering for svq1/vp56 decoders.
They use a non-standard stride which we can't support.
Fixes #610613
Diffstat (limited to 'ext')
-rw-r--r-- | ext/ffmpeg/gstffmpegdec.c | 10 |
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; |