Mercurial > mplayer.hg
comparison libmpcodecs/vf_spp.c @ 11308:0c8d12a58a29
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 ...
author | michael |
---|---|
date | Tue, 28 Oct 2003 20:49:33 +0000 |
parents | 487bf0179498 |
children | 04ea7b95da68 |
comparison
equal
deleted
inserted
replaced
11307:487bf0179498 | 11308:0c8d12a58a29 |
---|---|
369 | 369 |
370 dmpi= vf->dmpi; | 370 dmpi= vf->dmpi; |
371 | 371 |
372 vf->priv->mpeg2= mpi->qscale_type; | 372 vf->priv->mpeg2= mpi->qscale_type; |
373 if(vf->priv->log2_count || !(mpi->flags&MP_IMGFLAG_DIRECT)){ | 373 if(vf->priv->log2_count || !(mpi->flags&MP_IMGFLAG_DIRECT)){ |
374 if(mpi->qscale || vf->priv->qp){ | |
374 filter(vf->priv, dmpi->planes[0], mpi->planes[0], dmpi->stride[0], mpi->stride[0], mpi->w, mpi->h, mpi->qscale, mpi->qstride, 1); | 375 filter(vf->priv, dmpi->planes[0], mpi->planes[0], dmpi->stride[0], mpi->stride[0], mpi->w, mpi->h, mpi->qscale, mpi->qstride, 1); |
375 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); | 376 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); |
376 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); | 377 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); |
378 } | |
377 } | 379 } |
378 vf_clone_mpi_attributes(dmpi, mpi); | 380 vf_clone_mpi_attributes(dmpi, mpi); |
379 | 381 |
380 #ifdef HAVE_MMX | 382 #ifdef HAVE_MMX |
381 if(gCpuCaps.hasMMX) asm volatile ("emms\n\t"); | 383 if(gCpuCaps.hasMMX) asm volatile ("emms\n\t"); |