# HG changeset patch # User henry # Date 1162410762 0 # Node ID 68b55a823fd4f42ad44fac794a94061088318f60 # Parent 200ec2faa4e1089f46e5bd214d287e232b058f14 qp height should be in macroblocks, not pixels diff -r 200ec2faa4e1 -r 68b55a823fd4 libmpcodecs/vf_fspp.c --- a/libmpcodecs/vf_fspp.c Wed Nov 01 19:44:35 2006 +0000 +++ b/libmpcodecs/vf_fspp.c Wed Nov 01 19:52:42 2006 +0000 @@ -531,8 +531,8 @@ vf->priv->mpeg2= mpi->qscale_type; if(mpi->pict_type != 3 && mpi->qscale && !vf->priv->qp){ if(!vf->priv->non_b_qp) - vf->priv->non_b_qp= malloc(mpi->qstride * mpi->h); - memcpy(vf->priv->non_b_qp, mpi->qscale, mpi->qstride * mpi->h); + vf->priv->non_b_qp= malloc(mpi->qstride * ((mpi->h + 15) >> 4)); + memcpy(vf->priv->non_b_qp, mpi->qscale, mpi->qstride * ((mpi->h + 15) >> 4)); } if(vf->priv->log2_count || !(mpi->flags&MP_IMGFLAG_DIRECT)){ char *qp_tab= vf->priv->non_b_qp; diff -r 200ec2faa4e1 -r 68b55a823fd4 libmpcodecs/vf_spp.c --- a/libmpcodecs/vf_spp.c Wed Nov 01 19:44:35 2006 +0000 +++ b/libmpcodecs/vf_spp.c Wed Nov 01 19:52:42 2006 +0000 @@ -477,8 +477,8 @@ vf->priv->mpeg2= mpi->qscale_type; if(mpi->pict_type != 3 && mpi->qscale && !vf->priv->qp){ if(!vf->priv->non_b_qp) - vf->priv->non_b_qp= malloc(mpi->qstride * mpi->h); - memcpy(vf->priv->non_b_qp, mpi->qscale, mpi->qstride * mpi->h); + vf->priv->non_b_qp= malloc(mpi->qstride * ((mpi->h + 15) >> 4)); + memcpy(vf->priv->non_b_qp, mpi->qscale, mpi->qstride * ((mpi->h + 15) >> 4)); } if(vf->priv->log2_count || !(mpi->flags&MP_IMGFLAG_DIRECT)){ char *qp_tab= vf->priv->non_b_qp;