summaryrefslogtreecommitdiffstats
path: root/video
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-11-23 21:26:31 +0100
committerwm4 <wm4@nowhere>2013-11-23 21:26:31 +0100
commit4fa2babacc290b94bed0938658447205c0545e27 (patch)
tree1d5cae1fe22e9e12b3fdb442279a565782953a55 /video
parent9f4820f6ec1721dc73335cb64b5a5e63170bf379 (diff)
downloadmpv-4fa2babacc290b94bed0938658447205c0545e27.tar.bz2
mpv-4fa2babacc290b94bed0938658447205c0545e27.tar.xz
video: move struct mp_hwdec_info into its own header file
This means most code accessing this struct must now include hwdec.h instead of dec_video.h. I just put it into dec_video.h at first because I thought a separate file would be a waste, but it's more proper to do it this way, as there are too many files which include dec_video.h only to get the mp_hwdec_info definition.
Diffstat (limited to 'video')
-rw-r--r--video/decode/dec_video.h14
-rw-r--r--video/decode/lavc.h1
-rw-r--r--video/decode/vaapi.c2
-rw-r--r--video/decode/vdpau.c2
-rw-r--r--video/decode/vdpau_old.c2
-rw-r--r--video/filter/vf_vavpp.c2
-rw-r--r--video/hwdec.h20
-rw-r--r--video/out/gl_hwdec_vaglx.c2
-rw-r--r--video/out/gl_hwdec_vdpau.c2
-rw-r--r--video/out/vo_opengl.c2
-rw-r--r--video/out/vo_vaapi.c2
-rw-r--r--video/out/vo_vdpau.c2
12 files changed, 30 insertions, 23 deletions
diff --git a/video/decode/dec_video.h b/video/decode/dec_video.h
index 959d50caaf..2564f45f97 100644
--- a/video/decode/dec_video.h
+++ b/video/decode/dec_video.h
@@ -42,18 +42,4 @@ void video_reinit_vo(struct sh_video *sh_video);
int get_current_video_decoder_lag(sh_video_t *sh_video);
int vd_control(struct sh_video *sh_video, int cmd, void *arg);
-// Used to communicate hardware decoder API handles from VO to video decoder.
-// The VO can set the context pointer for supported APIs.
-struct mp_hwdec_info {
- struct mp_vdpau_ctx *vdpau_ctx;
- struct mp_vaapi_ctx *vaapi_ctx;
- // Can be used to lazily load a requested API.
- // api_name is e.g. "vdpau" (like the fields above, without "_ctx")
- // Can be NULL, is idempotent, caller checks _ctx fields for success/access.
- void (*load_api)(struct mp_hwdec_info *info, const char *api_name);
- void *load_api_ctx;
-};
-
-void hwdec_request_api(struct mp_hwdec_info *info, const char *api_name);
-
#endif /* MPLAYER_DEC_VIDEO_H */
diff --git a/video/decode/lavc.h b/video/decode/lavc.h
index 9e2533cbd5..0b0cf0a32a 100644
--- a/video/decode/lavc.h
+++ b/video/decode/lavc.h
@@ -9,6 +9,7 @@
#include "demux/stheader.h"
#include "video/mp_image.h"
+#include "video/hwdec.h"
// keep in sync with --hwdec option
enum hwdec_type {
diff --git a/video/decode/vaapi.c b/video/decode/vaapi.c
index 4603a3c5e1..a27e3cde93 100644
--- a/video/decode/vaapi.c
+++ b/video/decode/vaapi.c
@@ -33,7 +33,7 @@
#include "video/fmt-conversion.h"
#include "video/vaapi.h"
#include "video/mp_image_pool.h"
-#include "video/decode/dec_video.h"
+#include "video/hwdec.h"
#include "video/filter/vf.h"
/*
diff --git a/video/decode/vdpau.c b/video/decode/vdpau.c
index 02f71085d1..02eab84a0c 100644
--- a/video/decode/vdpau.c
+++ b/video/decode/vdpau.c
@@ -27,7 +27,7 @@
#include "mpvcore/av_common.h"
#include "video/fmt-conversion.h"
#include "video/vdpau.h"
-#include "video/decode/dec_video.h"
+#include "video/hwdec.h"
struct priv {
struct mp_vdpau_ctx *mpvdp;
diff --git a/video/decode/vdpau_old.c b/video/decode/vdpau_old.c
index 9a15609e14..1ef6c7857a 100644
--- a/video/decode/vdpau_old.c
+++ b/video/decode/vdpau_old.c
@@ -30,7 +30,7 @@
#include "lavc.h"
#include "video/fmt-conversion.h"
#include "video/vdpau.h"
-#include "video/decode/dec_video.h"
+#include "video/hwdec.h"
struct priv {
struct mp_vdpau_ctx *mpvdp;
diff --git a/video/filter/vf_vavpp.c b/video/filter/vf_vavpp.c
index 49bef77e50..fddc870550 100644
--- a/video/filter/vf_vavpp.c
+++ b/video/filter/vf_vavpp.c
@@ -22,7 +22,7 @@
#include "mpvcore/options.h"
#include "vf.h"
#include "video/vaapi.h"
-#include "video/decode/dec_video.h"
+#include "video/hwdec.h"
static inline bool is_success(VAStatus status, const char *msg)
{
diff --git a/video/hwdec.h b/video/hwdec.h
new file mode 100644
index 0000000000..3ff7e32a50
--- /dev/null
+++ b/video/hwdec.h
@@ -0,0 +1,20 @@
+#ifndef MP_HWDEC_H_
+#define MP_HWDEC_H_
+
+// Used to communicate hardware decoder API handles from VO to video decoder.
+// The VO can set the context pointer for supported APIs.
+struct mp_hwdec_info {
+ struct mp_vdpau_ctx *vdpau_ctx;
+ struct mp_vaapi_ctx *vaapi_ctx;
+ // Can be used to lazily load a requested API.
+ // api_name is e.g. "vdpau" (like the fields above, without "_ctx")
+ // Can be NULL, is idempotent, caller checks _ctx fields for success/access.
+ void (*load_api)(struct mp_hwdec_info *info, const char *api_name);
+ void *load_api_ctx;
+};
+
+// Trivial helper to call info->load_api().
+// Implemented in vd_lavc.c.
+void hwdec_request_api(struct mp_hwdec_info *info, const char *api_name);
+
+#endif
diff --git a/video/out/gl_hwdec_vaglx.c b/video/out/gl_hwdec_vaglx.c
index abfc656337..8bcc1724de 100644
--- a/video/out/gl_hwdec_vaglx.c
+++ b/video/out/gl_hwdec_vaglx.c
@@ -26,7 +26,7 @@
#include "x11_common.h"
#include "gl_common.h"
#include "video/vaapi.h"
-#include "video/decode/dec_video.h"
+#include "video/hwdec.h"
struct priv {
struct mp_vaapi_ctx *ctx;
diff --git a/video/out/gl_hwdec_vdpau.c b/video/out/gl_hwdec_vdpau.c
index 02f667499c..58e1ab2d8d 100644
--- a/video/out/gl_hwdec_vdpau.c
+++ b/video/out/gl_hwdec_vdpau.c
@@ -22,7 +22,7 @@
#include "gl_common.h"
#include "video/vdpau.h"
-#include "video/decode/dec_video.h"
+#include "video/hwdec.h"
// This is a GL_NV_vdpau_interop specification bug, and headers (unfortunately)
// follow it. I'm not sure about the original nvidia headers.
diff --git a/video/out/vo_opengl.c b/video/out/vo_opengl.c
index 08dd84689d..71a5092288 100644
--- a/video/out/vo_opengl.c
+++ b/video/out/vo_opengl.c
@@ -48,7 +48,7 @@
#include "gl_osd.h"
#include "filter_kernels.h"
#include "video/memcpy_pic.h"
-#include "video/decode/dec_video.h"
+#include "video/hwdec.h"
#include "gl_video.h"
#include "gl_lcms.h"
diff --git a/video/out/vo_vaapi.c b/video/out/vo_vaapi.c
index 637c4442fa..83528a2100 100644
--- a/video/out/vo_vaapi.c
+++ b/video/out/vo_vaapi.c
@@ -39,7 +39,7 @@
#include "video/vfcap.h"
#include "video/mp_image.h"
#include "video/vaapi.h"
-#include "video/decode/dec_video.h"
+#include "video/hwdec.h"
struct vaapi_osd_image {
int w, h;
diff --git a/video/out/vo_vdpau.c b/video/out/vo_vdpau.c
index 6845beea08..e1816b1595 100644
--- a/video/out/vo_vdpau.c
+++ b/video/out/vo_vdpau.c
@@ -36,7 +36,7 @@
#include "config.h"
#include "video/vdpau.h"
-#include "video/decode/dec_video.h"
+#include "video/hwdec.h"
#include "mpvcore/mp_msg.h"
#include "mpvcore/options.h"
#include "talloc.h"