Le mercredi 26 octobre 2022 à 10:42 +0800, Jammy Huang a écrit : > Hi Nicolas, > > Thanks for your comments. > > On 2022/10/25 下午 09:18, Nicolas Dufresne wrote: > > Hi Jammy, > > > > thanks for the addition. > > > > Le mardi 25 octobre 2022 à 17:02 +0800, Jammy Huang a écrit : > > > Add user documentation for the aspeed-video driver. > > > > > > Signed-off-by: Jammy Huang <jammy_huang@xxxxxxxxxxxxxx> > > > --- > > > v10: > > > - new > > > --- > > > .../media/drivers/aspeed-video.rst | 61 +++++++++++++++++++ > > > .../userspace-api/media/drivers/index.rst | 1 + > > > 2 files changed, 62 insertions(+) > > > create mode 100644 Documentation/userspace-api/media/drivers/aspeed-video.rst > > > > > > diff --git a/Documentation/userspace-api/media/drivers/aspeed-video.rst b/Documentation/userspace-api/media/drivers/aspeed-video.rst > > > new file mode 100644 > > > index 000000000000..798a2588b175 > > > --- /dev/null > > > +++ b/Documentation/userspace-api/media/drivers/aspeed-video.rst > > > @@ -0,0 +1,61 @@ > > > +.. SPDX-License-Identifier: GPL-2.0 > > > + > > > +.. include:: <isonum.txt> > > > + > > > +ASPEED video driver > > > +=================== > > > + > > > +ASPEED Video Engine found on AST2400/2500/2600 SoC supports high performance > > > +video compressions with a wide range of video quality and compression ratio > > > +options. The adopted compressing algorithm is a modified JPEG algorithm. > > > + > > > +There are 2 types of compressions in this IP. > > > + > > > +* JPEG JFIF standard mode: for single frame and management compression > > > +* ASPEED proprietary mode: for multi-frame and differential compression. > > > + Support 2-pass (high quality) video compression scheme (Patent pending by > > > + ASPEED). Provide visually lossless video compression quality or to reduce > > > + the network average loading under intranet KVM applications. > > I think some of the information disclosed in the following quote could be > > summarized. Notably the part about the extra buffers. > > > > Aspeed JPEG Format requires an additional buffer, called bcd, to store > > the information about which macro block in the new frame is different > > from the previous one. > > > > To have bcd correctly working, we need to swap the buffers for src0/1 to > > make src1 refer to previous frame and src0 to the coming new frame. > > > > But before I push you this route, have you considered using a dedicated pixel > > format instead ? Here's my thinking, the output of the JPEG encoder is no longer > > "compatible" (or at least won't yield the expected images) if used with a normal > > JPEG decoder. By differentiating these two as dedicated formats, you will only need > > 1 vendor control, and you avoid the potential risk of software bugs mixing them up. > > Also note that there is other JPEG based vendor formats that exist in V4L2. > > > > Let me know what do you think ? > > Yes, I also add a dedicated formats, V4L2_PIX_FMT_AJPG, in this series. > In [PATCH v10 1/5] > > media: v4l: Add definition for the Aspeed JPEG format, I add the > description in pixfmt-reserved.rst. > > After this series applied, the users can choose either of these two > formats by VIDIOC_S_FMT as > > per their preference. Sorry about that, I have skipped too much. The approach seems fair then, can you state in the doc that these control applies to V4L2_PIX_FMT_AJPG in some way ? (just a little cross-reference can help). The confusion with normal JPEG is easy. thanks for you patience, Nicolas > > > > > Nicolas > > > > > + > > > +More details on the ASPEED video hardware operations can be found in > > > +*chapter 6.2.16 KVM Video Driver* of SDK_User_Guide which available on > > > +AspeedTech-BMC/openbmc/releases. > > > + > > > +The ASPEED video driver implements the following driver-specific control: > > > + > > > +``V4L2_CID_ASPEED_HQ_MODE`` > > > +------------------------------- > > > + Enable/Disable ASPEED's High quality mode. This is a private control > > > + that can be used to enable high quality for aspeed proprietary mode. > > > + > > > +.. flat-table:: > > > + :header-rows: 0 > > > + :stub-columns: 0 > > > + :widths: 1 4 > > > + > > > + * - ``(0)`` > > > + - ASPEED HQ mode is disabled. > > > + * - ``(1)`` > > > + - ASPEED HQ mode is enabled. > > > + > > > +``V4L2_CID_ASPEED_HQ_JPEG_QUALITY`` > > > +------------------------------- > > > + Define the quality of ASPEED's High quality mode. This is a private control > > > + that can be used to decide compression quality if High quality mode enabled > > > + . Higher the value, better the quality and bigger the size. > > > + > > > +.. flat-table:: > > > + :header-rows: 0 > > > + :stub-columns: 0 > > > + :widths: 1 4 > > > + > > > + * - ``(1)`` > > > + - minimum > > > + * - ``(12)`` > > > + - maximum > > > + * - ``(1)`` > > > + - step > > > + * - ``(1)`` > > > + - default > > > + > > > +**Copyright** |copy| 2022 ASPEED Technology Inc. > > > diff --git a/Documentation/userspace-api/media/drivers/index.rst b/Documentation/userspace-api/media/drivers/index.rst > > > index 32f82aed47d9..46a494e00b72 100644 > > > --- a/Documentation/userspace-api/media/drivers/index.rst > > > +++ b/Documentation/userspace-api/media/drivers/index.rst > > > @@ -31,6 +31,7 @@ For more details see the file COPYING in the source distribution of Linux. > > > :maxdepth: 5 > > > :numbered: > > > > > > + aspeed-video > > > ccs > > > cx2341x-uapi > > > dw100 >