summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2016-07-15 12:02:55 +0200
committerwm4 <wm4@nowhere>2016-07-15 13:04:17 +0200
commit48f9ea71043d283fb3a43d9bc5f37ae03b59b0bb (patch)
treed2bd966642ed2f4fde43f6d5029029589542530f
parentae94f329a9b1296bf740e85c888910f8483e21cd (diff)
downloadmpv-48f9ea71043d283fb3a43d9bc5f37ae03b59b0bb.tar.bz2
mpv-48f9ea71043d283fb3a43d9bc5f37ae03b59b0bb.tar.xz
videotoolbox: add yuv420p to --videotoolbox-format
-rw-r--r--DOCS/man/options.rst4
-rw-r--r--video/out/opengl/hwdec_osx.c10
2 files changed, 12 insertions, 2 deletions
diff --git a/DOCS/man/options.rst b/DOCS/man/options.rst
index 74d17a653f..ade2c5cb5f 100644
--- a/DOCS/man/options.rst
+++ b/DOCS/man/options.rst
@@ -692,8 +692,8 @@ Video
choice of the format can influence performance considerably. On the other
hand, there doesn't appear to be a good way to detect the best format for
the given hardware. ``nv12``, the default, works better on modern hardware,
- while ``uyvy422`` appears to be better for old hardware. ``rgb0`` also
- works.
+ while ``uyvy422`` appears to be better for old hardware. ``rgb0`` and
+ ``yuv420p`` also work.
``--panscan=<0.0-1.0>``
Enables pan-and-scan functionality (cropping the sides of e.g. a 16:9
diff --git a/video/out/opengl/hwdec_osx.c b/video/out/opengl/hwdec_osx.c
index 677661c09e..e0fc5ab19b 100644
--- a/video/out/opengl/hwdec_osx.c
+++ b/video/out/opengl/hwdec_osx.c
@@ -70,6 +70,16 @@ static struct vt_format vt_formats[] = {
}
},
{
+ .cvpixfmt = kCVPixelFormatType_420YpCbCr8Planar,
+ .imgfmt = IMGFMT_420P,
+ .planes = 3,
+ .gl = {
+ { GL_RED, GL_UNSIGNED_BYTE, GL_RED },
+ { GL_RED, GL_UNSIGNED_BYTE, GL_RED },
+ { GL_RED, GL_UNSIGNED_BYTE, GL_RED },
+ }
+ },
+ {
.cvpixfmt = kCVPixelFormatType_32BGRA,
.imgfmt = IMGFMT_RGB0,
.planes = 1,