diff options
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.patch | 65 |
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 @@ | |||
1 | From 0fa8f2fb83398d48f54c3462b0d1626037e0ee73 Mon Sep 17 00:00:00 2001 | ||
2 | From: Hou Qi <qi.hou@nxp.com> | ||
3 | Date: Sun, 4 Sep 2022 20:30:31 +0800 | ||
4 | Subject: [PATCH 09/17] V4L2VDA: Use correct plane size and bytesused | ||
5 | |||
6 | Upstream-Status: Inappropriate [NXP specific] | ||
7 | --- | ||
8 | media/gpu/v4l2/v4l2_device.cc | 20 ++++++++++++++++---- | ||
9 | 1 file changed, 16 insertions(+), 4 deletions(-) | ||
10 | |||
11 | diff --git a/media/gpu/v4l2/v4l2_device.cc b/media/gpu/v4l2/v4l2_device.cc | ||
12 | index 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 | -- | ||
64 | 2.17.1 | ||
65 | |||