summaryrefslogtreecommitdiffstats
path: root/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/0109-V4L2VDA-Use-correct-plane-size-and-bytesused.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/0109-V4L2VDA-Use-correct-plane-size-and-bytesused.patch')
-rw-r--r--dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/0109-V4L2VDA-Use-correct-plane-size-and-bytesused.patch65
1 files changed, 65 insertions, 0 deletions
diff --git a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/0109-V4L2VDA-Use-correct-plane-size-and-bytesused.patch b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/0109-V4L2VDA-Use-correct-plane-size-and-bytesused.patch
new file mode 100644
index 00000000..53a1a973
--- /dev/null
+++ b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/0109-V4L2VDA-Use-correct-plane-size-and-bytesused.patch
@@ -0,0 +1,65 @@
1From 0fa8f2fb83398d48f54c3462b0d1626037e0ee73 Mon Sep 17 00:00:00 2001
2From: Hou Qi <qi.hou@nxp.com>
3Date: Sun, 4 Sep 2022 20:30:31 +0800
4Subject: [PATCH 09/17] V4L2VDA: Use correct plane size and bytesused
5
6Upstream-Status: Inappropriate [NXP specific]
7---
8 media/gpu/v4l2/v4l2_device.cc | 20 ++++++++++++++++----
9 1 file changed, 16 insertions(+), 4 deletions(-)
10
11diff --git a/media/gpu/v4l2/v4l2_device.cc b/media/gpu/v4l2/v4l2_device.cc
12index 200b0fccb1232..726ad1ab0f144 100644
13--- a/media/gpu/v4l2/v4l2_device.cc
14+++ b/media/gpu/v4l2/v4l2_device.cc
15@@ -785,7 +785,10 @@ size_t V4L2WritableBufferRef::GetPlaneSize(const size_t plane) const {
16 return 0;
17 }
18
19- return buffer_data_->v4l2_buffer_.m.planes[plane].length;
20+ if (V4L2_TYPE_IS_MULTIPLANAR(buffer_data_->v4l2_buffer_.type))
21+ return buffer_data_->v4l2_buffer_.m.planes[plane].length;
22+ else
23+ return buffer_data_->v4l2_buffer_.length;
24 }
25
26 void V4L2WritableBufferRef::SetPlaneSize(const size_t plane,
27@@ -845,7 +848,10 @@ void V4L2WritableBufferRef::SetPlaneBytesUsed(const size_t plane,
28 return;
29 }
30
31- buffer_data_->v4l2_buffer_.m.planes[plane].bytesused = bytes_used;
32+ if (V4L2_TYPE_IS_MULTIPLANAR(buffer_data_->v4l2_buffer_.type))
33+ buffer_data_->v4l2_buffer_.m.planes[plane].bytesused = bytes_used;
34+ else
35+ buffer_data_->v4l2_buffer_.bytesused = bytes_used;
36 }
37
38 size_t V4L2WritableBufferRef::GetPlaneBytesUsed(const size_t plane) const {
39@@ -857,7 +863,10 @@ size_t V4L2WritableBufferRef::GetPlaneBytesUsed(const size_t plane) const {
40 return 0;
41 }
42
43- return buffer_data_->v4l2_buffer_.m.planes[plane].bytesused;
44+ if (V4L2_TYPE_IS_MULTIPLANAR(buffer_data_->v4l2_buffer_.type))
45+ return buffer_data_->v4l2_buffer_.m.planes[plane].bytesused;
46+ else
47+ return buffer_data_->v4l2_buffer_.bytesused;
48 }
49
50 void V4L2WritableBufferRef::SetPlaneDataOffset(const size_t plane,
51@@ -959,7 +968,10 @@ size_t V4L2ReadableBuffer::GetPlaneBytesUsed(const size_t plane) const {
52 return 0;
53 }
54
55- return buffer_data_->v4l2_planes_[plane].bytesused;
56+ if (V4L2_TYPE_IS_MULTIPLANAR(buffer_data_->v4l2_buffer_.type))
57+ return buffer_data_->v4l2_planes_[plane].bytesused;
58+ else
59+ return buffer_data_->v4l2_buffer_.bytesused;
60 }
61
62 size_t V4L2ReadableBuffer::GetPlaneDataOffset(const size_t plane) const {
63--
642.17.1
65