diff options
author | michael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-04-18 13:18:59 +0000 |
---|---|---|
committer | michael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-04-18 13:18:59 +0000 |
commit | 40a073bea4d4ab8ebdd1240850ad1eefc5835f37 (patch) | |
tree | 97f49180d6000494304265ef7d83c252ff6d59a4 /libmpcodecs | |
parent | cb961f66005023513f1914349a9a003d1b0fa86e (diff) |
passing qscale_type around so the pp code can fix the mpeg2 <<1 thing
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9926 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r-- | libmpcodecs/mp_image.h | 1 | ||||
-rw-r--r-- | libmpcodecs/vd_ffmpeg.c | 1 | ||||
-rw-r--r-- | libmpcodecs/vd_libmpeg2.c | 1 | ||||
-rw-r--r-- | libmpcodecs/vf_pp.c | 2 |
4 files changed, 4 insertions, 1 deletions
diff --git a/libmpcodecs/mp_image.h b/libmpcodecs/mp_image.h index 23d0c34852..e0ec216659 100644 --- a/libmpcodecs/mp_image.h +++ b/libmpcodecs/mp_image.h @@ -76,6 +76,7 @@ typedef struct mp_image_s { char * qscale; int qstride; int pict_type; // 0->unknown, 1->I, 2->P, 3->B + int qscale_type; // 0->mpeg1/4/h263, 1->mpeg2 int num_planes; /* these are only used by planar formats Y,U(Cb),V(Cr) */ int chroma_width; diff --git a/libmpcodecs/vd_ffmpeg.c b/libmpcodecs/vd_ffmpeg.c index 864ae1f1a3..f1756f4a2a 100644 --- a/libmpcodecs/vd_ffmpeg.c +++ b/libmpcodecs/vd_ffmpeg.c @@ -662,6 +662,7 @@ static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags){ mpi->qscale =pic->qscale_table; mpi->qstride=pic->qstride; mpi->pict_type=pic->pict_type; + mpi->qscale_type= pic->qscale_type; return mpi; } diff --git a/libmpcodecs/vd_libmpeg2.c b/libmpcodecs/vd_libmpeg2.c index 9bd1486251..2decf8324b 100644 --- a/libmpcodecs/vd_libmpeg2.c +++ b/libmpcodecs/vd_libmpeg2.c @@ -150,6 +150,7 @@ static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags){ mpeg2dec->decoder.quant_store=mpi->qscale; mpeg2dec->decoder.quant_stride=mpi->qstride; mpi->pict_type=type; // 1->I, 2->P, 3->B + mpi->qscale_type= 1; #endif if(mpi->flags&MP_IMGFLAG_DRAW_CALLBACK && diff --git a/libmpcodecs/vf_pp.c b/libmpcodecs/vf_pp.c index f9b79039ea..6839e38ff6 100644 --- a/libmpcodecs/vf_pp.c +++ b/libmpcodecs/vf_pp.c @@ -129,7 +129,7 @@ static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){ (mpi->w+7)&(~7),mpi->h, mpi->qscale, mpi->qstride, vf->priv->ppMode[ vf->priv->pp ], vf->priv->context, - mpi->pict_type); + mpi->pict_type | (mpi->qscale_type ? PP_PICT_TYPE_QP2 : 0)); } return vf_next_put_image(vf,vf->priv->dmpi); } |