summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libmpcodecs/vf_crop.c1
-rw-r--r--libmpcodecs/vf_expand.c3
-rw-r--r--libmpcodecs/vf_flip.c2
-rw-r--r--libmpcodecs/vf_mirror.c1
-rw-r--r--libmpcodecs/vf_rotate.c1
5 files changed, 8 insertions, 0 deletions
diff --git a/libmpcodecs/vf_crop.c b/libmpcodecs/vf_crop.c
index 27f3165102..f00cccadad 100644
--- a/libmpcodecs/vf_crop.c
+++ b/libmpcodecs/vf_crop.c
@@ -78,6 +78,7 @@ static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
dmpi->planes[0]=mpi->planes[0]+
vf->priv->crop_y*mpi->stride[0]+
vf->priv->crop_x*(mpi->bpp/8);
+ dmpi->planes[1]=mpi->planes[1]; // passthrough rgb8 palette
}
dmpi->stride[0]=mpi->stride[0];
dmpi->width=mpi->width;
diff --git a/libmpcodecs/vf_expand.c b/libmpcodecs/vf_expand.c
index 64ab0e6369..653e156972 100644
--- a/libmpcodecs/vf_expand.c
+++ b/libmpcodecs/vf_expand.c
@@ -228,6 +228,8 @@ static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
if(vf->priv->osd) draw_osd(vf,mpi->w,mpi->h);
#endif
// we've used DR, so we're ready...
+ if(!(mpi->flags&MP_IMGFLAG_PLANAR))
+ vf->priv->dmpi->planes[1] = mpi->planes[1]; // passthrough rgb8 palette
return vf_next_put_image(vf,vf->priv->dmpi);
}
@@ -255,6 +257,7 @@ static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
vf->priv->exp_y*vf->priv->dmpi->stride[0]+vf->priv->exp_x*(vf->priv->dmpi->bpp/8),
mpi->planes[0], mpi->w*(vf->priv->dmpi->bpp/8), mpi->h,
vf->priv->dmpi->stride[0],mpi->stride[0]);
+ vf->priv->dmpi->planes[1] = mpi->planes[1]; // passthrough rgb8 palette
}
#ifdef OSD_SUPPORT
if(vf->priv->osd) draw_osd(vf,mpi->w,mpi->h);
diff --git a/libmpcodecs/vf_flip.c b/libmpcodecs/vf_flip.c
index b63472a1b2..78706aff2f 100644
--- a/libmpcodecs/vf_flip.c
+++ b/libmpcodecs/vf_flip.c
@@ -48,6 +48,8 @@ static void get_image(struct vf_instance_s* vf, mp_image_t *mpi){
static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
if(mpi->flags&MP_IMGFLAG_DIRECT){
// we've used DR, so we're ready...
+ if(!(mpi->flags&MP_IMGFLAG_PLANAR))
+ ((mp_image_t*)mpi->priv)->planes[1] = mpi->planes[1]; // passthrough rgb8 palette
return vf_next_put_image(vf,(mp_image_t*)mpi->priv);
}
diff --git a/libmpcodecs/vf_mirror.c b/libmpcodecs/vf_mirror.c
index 8e12788779..a16a062ab4 100644
--- a/libmpcodecs/vf_mirror.c
+++ b/libmpcodecs/vf_mirror.c
@@ -90,6 +90,7 @@ static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
mirror(dmpi->planes[0],mpi->planes[0],
dmpi->stride[0],mpi->stride[0],
dmpi->w,dmpi->h,dmpi->bpp>>3,mpi->imgfmt);
+ dmpi->planes[1]=mpi->planes[1]; // passthrough rgb8 palette
}
return vf_next_put_image(vf,dmpi);
diff --git a/libmpcodecs/vf_rotate.c b/libmpcodecs/vf_rotate.c
index 96f212eb66..fb5e7e96e8 100644
--- a/libmpcodecs/vf_rotate.c
+++ b/libmpcodecs/vf_rotate.c
@@ -91,6 +91,7 @@ static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
rotate(dmpi->planes[0],mpi->planes[0],
dmpi->stride[0],mpi->stride[0],
dmpi->w,dmpi->h,dmpi->bpp>>3,vf->priv->direction);
+ dmpi->planes[1] = mpi->planes[1]; // passthrough rgb8 palette
}
return vf_next_put_image(vf,dmpi);