mirror of
https://github.com/mpv-player/mpv
synced 2025-03-19 18:05:21 +00:00
vo_direct3d: support nv12/nv21 directly
This commit is contained in:
parent
bb80204de2
commit
3b34f0078d
@ -201,6 +201,8 @@ static const struct fmt_entry fmt_table[] = {
|
||||
{IMGFMT_420P, MAKEFOURCC('I','4','2','0')},
|
||||
{IMGFMT_420P, MAKEFOURCC('I','Y','U','V')},
|
||||
{IMGFMT_410P, MAKEFOURCC('Y','V','U','9')},
|
||||
{IMGFMT_NV12, MAKEFOURCC('N','V','1','2')},
|
||||
{IMGFMT_NV21, MAKEFOURCC('N','V','2','1')},
|
||||
// packed YUV
|
||||
{IMGFMT_YUYV, D3DFMT_YUY2},
|
||||
{IMGFMT_UYVY, D3DFMT_UYVY},
|
||||
@ -1379,6 +1381,12 @@ static bool get_video_buffer(d3d_priv *priv, struct mp_image *out)
|
||||
out->planes[0] = base;
|
||||
out->stride[0] = stride;
|
||||
|
||||
if (out->num_planes == 2) {
|
||||
// NV12, NV21
|
||||
out->planes[1] = base + stride * out->h;
|
||||
out->stride[1] = stride;
|
||||
}
|
||||
|
||||
if (out->num_planes == 3) {
|
||||
bool swap = priv->movie_src_fmt == MAKEFOURCC('Y','V','1','2');
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user