summaryrefslogtreecommitdiff
path: root/src/cam/sdl_texture_yuyv.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/cam/sdl_texture_yuyv.cpp')
-rw-r--r--src/cam/sdl_texture_yuyv.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/cam/sdl_texture_yuyv.cpp b/src/cam/sdl_texture_yuyv.cpp
new file mode 100644
index 00000000..cc161b2c
--- /dev/null
+++ b/src/cam/sdl_texture_yuyv.cpp
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (C) 2022, Ideas on Board Oy
+ *
+ * sdl_texture_yuyv.cpp - SDL Texture YUYV
+ */
+
+#include "sdl_texture_yuyv.h"
+
+using namespace libcamera;
+
+SDLTextureYUYV::SDLTextureYUYV(const SDL_Rect &rect)
+ : SDLTexture(rect, SDL_PIXELFORMAT_YUY2, 4 * ((rect.w + 1) / 2))
+{
+}
+
+void SDLTextureYUYV::update(const Span<uint8_t> &data)
+{
+ SDL_UpdateTexture(ptr_, &rect_, data.data(), pitch_);
+}