summaryrefslogtreecommitdiffstats
path: root/video
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-07-15 01:05:44 +0200
committerwm4 <wm4@nowhere>2013-07-15 01:49:26 +0200
commitcb8f638292457a6bcc8b1058a08fb6b6c2053f7b (patch)
tree7a6090d4e1900a54a00e33c07ded44ee99771fe1 /video
parent0ecd57d4b26500c662c398e3be2cfe316cee2431 (diff)
downloadmpv-cb8f638292457a6bcc8b1058a08fb6b6c2053f7b.tar.bz2
mpv-cb8f638292457a6bcc8b1058a08fb6b6c2053f7b.tar.xz
vd: add VDCTRL_GET_PARAMS
This is probably going to be unused, but might help with debugging and such. It returns the image parameters as determined by the video decoder.
Diffstat (limited to 'video')
-rw-r--r--video/decode/vd.h1
-rw-r--r--video/decode/vd_lavc.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/video/decode/vd.h b/video/decode/vd.h
index ca4107dca9..3142151373 100644
--- a/video/decode/vd.h
+++ b/video/decode/vd.h
@@ -40,6 +40,7 @@ typedef struct vd_functions
// NULL terminated array of all drivers
extern const vd_functions_t *const mpcodecs_vd_drivers[];
+#define VDCTRL_GET_PARAMS 1 // retrieve struct mp_image_params
#define VDCTRL_RESYNC_STREAM 8 // reset decode state after seeking
#define VDCTRL_QUERY_UNSEEN_FRAMES 9 // current decoder lag
#define VDCTRL_REINIT_VO 10 // reinit filter/VO chain
diff --git a/video/decode/vd_lavc.c b/video/decode/vd_lavc.c
index 3b266aeb94..978462fbe5 100644
--- a/video/decode/vd_lavc.c
+++ b/video/decode/vd_lavc.c
@@ -757,6 +757,9 @@ static int control(sh_video_t *sh, int cmd, void *arg)
if (ctx->vo_initialized)
mpcodecs_reconfig_vo(sh, &ctx->image_params);
return true;
+ case VDCTRL_GET_PARAMS:
+ *(struct mp_image_params *)arg = ctx->image_params;
+ return ctx->vo_initialized ? true : CONTROL_NA;
}
return CONTROL_UNKNOWN;
}