summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
authormichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-10-28 20:49:33 +0000
committermichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-10-28 20:49:33 +0000
commit09c8f3f996f7573f746aef21e08cbffa46fa0684 (patch)
tree68e4d64721d420d44f79a9317194b7234ea2c08f /libmpcodecs
parent9961263e7871b513e04fa147d76d6606615acdaa (diff)
downloadmpv-09c8f3f996f7573f746aef21e08cbffa46fa0684.tar.bz2
mpv-09c8f3f996f7573f746aef21e08cbffa46fa0684.tar.xz
skip filter if codec doesnt provide the QP array and user didnt force a QP (fixes diegos segfault)
its quite scary how many 10l bugs the spp filter had ... git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@11309 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/vf_spp.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libmpcodecs/vf_spp.c b/libmpcodecs/vf_spp.c
index 83b4150631..bde17b412b 100644
--- a/libmpcodecs/vf_spp.c
+++ b/libmpcodecs/vf_spp.c
@@ -371,9 +371,11 @@ static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
vf->priv->mpeg2= mpi->qscale_type;
if(vf->priv->log2_count || !(mpi->flags&MP_IMGFLAG_DIRECT)){
+ if(mpi->qscale || vf->priv->qp){
filter(vf->priv, dmpi->planes[0], mpi->planes[0], dmpi->stride[0], mpi->stride[0], mpi->w, mpi->h, mpi->qscale, mpi->qstride, 1);
filter(vf->priv, dmpi->planes[1], mpi->planes[1], dmpi->stride[1], mpi->stride[1], mpi->w>>mpi->chroma_x_shift, mpi->h>>mpi->chroma_y_shift, mpi->qscale, mpi->qstride, 0);
filter(vf->priv, dmpi->planes[2], mpi->planes[2], dmpi->stride[2], mpi->stride[2], mpi->w>>mpi->chroma_x_shift, mpi->h>>mpi->chroma_y_shift, mpi->qscale, mpi->qstride, 0);
+ }
}
vf_clone_mpi_attributes(dmpi, mpi);