armbian_build/patch/kernel/archive/sunxi-5.18/patches.armbian/Doc-u-api-media-v4l-Add-scaling-matrix-control.patch
The-going 0c438d8c56
sunxi-5.18: Add armbian patches (#3846)
* sunxi-5.18 Initial state for armbian patches

* Adapting patches to the new kernel, sort, add new megous patches

* DEBUG

* Add the latest patches

* fix: compile error

drivers/spi/spi.c:3548:3: note: in expansion of macro ‘dev_info’
   dev_info(&spi->dev, "spi_setup / gpio_is_valid(%d) ... doing gpio_request ...\n", spi->cs_gpio);
   ^~~~~~~~
drivers/spi/spi.c:3549:9: error:
 implicit declaration of function ‘gpio_request’;
 did you mean ‘gpio_to_desc’? [-Werror=implicit-function-declaration]
   ret = gpio_request(spi->cs_gpio, dev_name(&spi->dev));
         ^~~~~~~~~~~~
         gpio_to_desc
drivers/spi/spi.c:3549:27: error:
 ‘struct spi_device’ has no member named ‘cs_gpio’;
 did you mean ‘cs_gpiod’?
   ret = gpio_request(spi->cs_gpio, dev_name(&spi->dev));
                           ^~~~~~~
                           cs_gpiod
drivers/spi/spi.c:3554:4: error:
 implicit declaration of function ‘gpio_direction_output’;
 did you mean ‘gpiod_direction_output’? [-Werror=implicit-function-declaration]
    gpio_direction_output(spi->cs_gpio,
    ^~~~~~~~~~~~~~~~~~~~~
    gpiod_direction_output
drivers/spi/spi.c:3554:31: error:
	‘struct spi_device’ has no member named ‘cs_gpio’;
	did you mean ‘cs_gpiod’?
    gpio_direction_output(spi->cs_gpio,
                               ^~~~~~~
                               cs_gpiod
In file included from ./include/linux/device.h:15,
                 from drivers/spi/spi.c:8:
drivers/spi/spi.c:3556:79: error:
 ‘struct spi_device’ has no member named ‘cs_gpio’;
 did you mean ‘cs_gpiod’?

* Remove pre-applied patches
2022-06-01 17:10:19 +02:00

95 lines
3.4 KiB
Diff

From b0a5f4e53bb4de44c30c7b038f2660800be6c07a Mon Sep 17 00:00:00 2001
From: Benjamin Gaignard <benjamin.gaignard@collabora.com>
Date: Thu, 15 Jul 2021 17:12:22 +0200
Subject: [PATCH 043/101] Doc:u-api:media:v4l: Add scaling matrix control
HEVC scaling lists are used for the scaling process for transform
coefficients.
V4L2_HEVC_SPS_FLAG_SCALING_LIST_ENABLED has to set when they are
encoded in the bitstream.
Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Reviewed-by: Ezequiel Garcia <ezequiel@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
.../media/v4l/ext-ctrls-codec.rst | 57 +++++++++++++++++++
.../media/v4l/vidioc-queryctrl.rst | 6 ++
drivers/media/v4l2-core/v4l2-ctrls-core.c | 6 ++
drivers/media/v4l2-core/v4l2-ctrls-defs.c | 4 ++
include/media/hevc-ctrls.h | 11 ++++
5 files changed, 84 insertions(+)
diff --git a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
index 976d34445..e141f0e4e 100644
--- a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
+++ b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
@@ -3088,6 +3088,63 @@ enum v4l2_mpeg_video_hevc_size_of_length_field -
\normalsize
+``V4L2_CID_MPEG_VIDEO_HEVC_SCALING_MATRIX (struct)``
+ Specifies the HEVC scaling matrix parameters used for the scaling process
+ for transform coefficients.
+ These matrix and parameters are defined according to :ref:`hevc`.
+ They are described in section 7.4.5 "Scaling list data semantics" of
+ the specification.
+
+.. c:type:: v4l2_ctrl_hevc_scaling_matrix
+
+.. raw:: latex
+
+ \scriptsize
+
+.. tabularcolumns:: |p{5.4cm}|p{6.8cm}|p{5.1cm}|
+
+.. cssclass:: longtable
+
+.. flat-table:: struct v4l2_ctrl_hevc_scaling_matrix
+ :header-rows: 0
+ :stub-columns: 0
+ :widths: 1 1 2
+
+ * - __u8
+ - ``scaling_list_4x4[6][16]``
+ - Scaling list is used for the scaling process for transform
+ coefficients. The values on each scaling list are expected
+ in raster scan order.
+ * - __u8
+ - ``scaling_list_8x8[6][64]``
+ - Scaling list is used for the scaling process for transform
+ coefficients. The values on each scaling list are expected
+ in raster scan order.
+ * - __u8
+ - ``scaling_list_16x16[6][64]``
+ - Scaling list is used for the scaling process for transform
+ coefficients. The values on each scaling list are expected
+ in raster scan order.
+ * - __u8
+ - ``scaling_list_32x32[2][64]``
+ - Scaling list is used for the scaling process for transform
+ coefficients. The values on each scaling list are expected
+ in raster scan order.
+ * - __u8
+ - ``scaling_list_dc_coef_16x16[6]``
+ - Scaling list is used for the scaling process for transform
+ coefficients. The values on each scaling list are expected
+ in raster scan order.
+ * - __u8
+ - ``scaling_list_dc_coef_32x32[2]``
+ - Scaling list is used for the scaling process for transform
+ coefficients. The values on each scaling list are expected
+ in raster scan order.
+
+.. raw:: latex
+
+ \normalsize
+
.. c:type:: v4l2_hevc_dpb_entry
.. raw:: latex
--
2.31.1