From 2f20d287d116b04b9963e2c56512290c66d5ec60 Mon Sep 17 00:00:00 2001 From: David Franco <117270600+david-metrica@users.noreply.github.com> Date: Tue, 20 Jan 2026 11:50:30 +0100 Subject: [PATCH] feat: import shared texture supports p010le (#49272) feat: import shared texture supports p010le. --- docs/api/structures/shared-texture-import-texture-info.md | 1 + shell/common/api/electron_api_shared_texture.cc | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/docs/api/structures/shared-texture-import-texture-info.md b/docs/api/structures/shared-texture-import-texture-info.md index 813aa70c5e..fa38df4c8d 100644 --- a/docs/api/structures/shared-texture-import-texture-info.md +++ b/docs/api/structures/shared-texture-import-texture-info.md @@ -5,6 +5,7 @@ * `rgba` - 32bpp RGBA (byte-order), 1 plane. * `rgbaf16` - Half float RGBA, 1 plane. * `nv12` - 12bpp with Y plane followed by a 2x2 interleaved UV plane. + * `p010le` - 4:2:0 10-bit YUV (little-endian), Y plane followed by a 2x2 interleaved UV plane. * `colorSpace` [ColorSpace](color-space.md) (optional) - The color space of the texture. * `codedSize` [Size](size.md) - The full dimensions of the shared texture. * `visibleRect` [Rectangle](rectangle.md) (optional) - A subsection of [0, 0, codedSize.width, codedSize.height]. In common cases, it is the full section area. diff --git a/shell/common/api/electron_api_shared_texture.cc b/shell/common/api/electron_api_shared_texture.cc index f1dddc00a3..ba22b50aa0 100644 --- a/shell/common/api/electron_api_shared_texture.cc +++ b/shell/common/api/electron_api_shared_texture.cc @@ -127,6 +127,8 @@ std::string TransferVideoPixelFormatToString(media::VideoPixelFormat format) { return "rgbaf16"; case media::PIXEL_FORMAT_NV12: return "nv12"; + case media::PIXEL_FORMAT_P010LE: + return "p010le"; default: NOTREACHED(); } @@ -569,6 +571,8 @@ struct Converter { out->pixel_format = media::PIXEL_FORMAT_RGBAF16; else if (pixel_format_str == "nv12") out->pixel_format = media::PIXEL_FORMAT_NV12; + else if (pixel_format_str == "p010le") + out->pixel_format = media::PIXEL_FORMAT_P010LE; else return false; }