From 48f9ea71043d283fb3a43d9bc5f37ae03b59b0bb Mon Sep 17 00:00:00 2001 From: wm4 Date: Fri, 15 Jul 2016 12:02:55 +0200 Subject: videotoolbox: add yuv420p to --videotoolbox-format --- DOCS/man/options.rst | 4 ++-- video/out/opengl/hwdec_osx.c | 10 ++++++++++ 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 @@ -69,6 +69,16 @@ static struct vt_format vt_formats[] = { { GL_RGB_422_APPLE, GL_UNSIGNED_SHORT_8_8_APPLE, GL_RGB, "gbra" } } }, + { + .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, -- cgit v1.2.3