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");