summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libmpcodecs/vf.c5
-rw-r--r--libmpcodecs/vf.h2
2 files changed, 6 insertions, 1 deletions
diff --git a/libmpcodecs/vf.c b/libmpcodecs/vf.c
index f72aa5a3ad..a598a8248e 100644
--- a/libmpcodecs/vf.c
+++ b/libmpcodecs/vf.c
@@ -268,11 +268,14 @@ mp_image_t* vf_get_image(vf_instance_t* vf, unsigned int outfmt, int mp_imgtype,
mpi->flags|=MP_IMGFLAG_ALLOCATED;
}
}
+ if(mpi->flags&MP_IMGFLAG_DRAW_CALLBACK)
+ if(vf->start_slice) vf->start_slice(vf,mpi);
if(!(mpi->flags&MP_IMGFLAG_TYPE_DISPLAYED)){
- mp_msg(MSGT_DECVIDEO,MSGL_V,"*** [%s] %s mp_image_t, %dx%dx%dbpp %s %s, %d bytes\n",
+ mp_msg(MSGT_DECVIDEO,MSGL_V,"*** [%s] %s%s mp_image_t, %dx%dx%dbpp %s %s, %d bytes\n",
vf->info->name,
(mpi->type==MP_IMGTYPE_EXPORT)?"Exporting":
((mpi->flags&MP_IMGFLAG_DIRECT)?"Direct Rendering":"Allocating"),
+ (mpi->flags&MP_IMGFLAG_DRAW_CALLBACK)?" (slices)":"",
mpi->width,mpi->height,mpi->bpp,
(mpi->flags&MP_IMGFLAG_YUV)?"YUV":((mpi->flags&MP_IMGFLAG_SWAPPED)?"BGR":"RGB"),
(mpi->flags&MP_IMGFLAG_PLANAR)?"planar":"packed",
diff --git a/libmpcodecs/vf.h b/libmpcodecs/vf.h
index fe04c467ef..ffe8ef934a 100644
--- a/libmpcodecs/vf.h
+++ b/libmpcodecs/vf.h
@@ -31,6 +31,8 @@ typedef struct vf_instance_s {
mp_image_t *mpi);
int (*put_image)(struct vf_instance_s* vf,
mp_image_t *mpi);
+ void (*start_slice)(struct vf_instance_s* vf,
+ mp_image_t *mpi);
void (*draw_slice)(struct vf_instance_s* vf,
unsigned char** src, int* stride, int w,int h, int x, int y);
void (*uninit)(struct vf_instance_s* vf);