From 0ec35fa111391b8069640ba2f616746a1b5530a5 Mon Sep 17 00:00:00 2001 From: wm4 Date: Tue, 17 Nov 2015 21:07:41 +0100 Subject: videotoolbox: make decoder format customizable Because apparently there's no ideal universally working format. The weird OpenGL texture format for kCVPixelFormatType_32BGRA is from: http://stackoverflow.com/questions/22077544/draw-an-iosurface-to-an-opengl-context (Which apparently got it from the linked Apple example code.) --- options/options.c | 4 ++++ options/options.h | 1 + 2 files changed, 5 insertions(+) (limited to 'options') diff --git a/options/options.c b/options/options.c index a42d818c83..fb9237938c 100644 --- a/options/options.c +++ b/options/options.c @@ -308,6 +308,9 @@ const m_option_t mp_opts[] = { OPT_CHOICE_C("hwdec", hwdec_api, 0, mp_hwdec_names), OPT_CHOICE_C("hwdec-preload", vo.hwdec_preload_api, 0, mp_hwdec_names), OPT_STRING("hwdec-codecs", hwdec_codecs, 0), +#if HAVE_VIDEOTOOLBOX_HWACCEL + OPT_IMAGEFORMAT("videotoolbox-format", videotoolbox_format, 0), +#endif OPT_SUBSTRUCT("sws", vo.sws_opts, sws_conf, 0), @@ -804,6 +807,7 @@ const struct MPOpts mp_default_opts = { .screenshot_template = "mpv-shot%n", .hwdec_codecs = "h264,vc1,wmv3,hevc,mpeg2video", + .videotoolbox_format = IMGFMT_NV12, .index_mode = 1, diff --git a/options/options.h b/options/options.h index 49387f388b..7c9046f50b 100644 --- a/options/options.h +++ b/options/options.h @@ -268,6 +268,7 @@ typedef struct MPOpts { int hwdec_api; char *hwdec_codecs; + int videotoolbox_format; int w32_priority; -- cgit v1.2.3