Thread (13 messages) 13 messages, 2 authors, 2021-11-10

Re: [PATCH v3 5/7] media: aspeed: Support aspeed mode to reduce compressed data

From: Hans Verkuil <hidden>
Date: 2021-11-10 08:24:11
Also in: linux-aspeed, linux-media, lkml, openbmc

On 10/11/2021 03:40, Jammy Huang wrote:
Dear Hans,

On 2021/11/9 下午 06:17, Hans Verkuil wrote:
quoted
On 11/9/21 2:56 AM, Jammy Huang wrote:
quoted
Dear Hans,

Thanks for your review.

On 2021/11/8 下午 05:09, Hans Verkuil wrote:
quoted
On 22/10/2021 08:55, Jammy Huang wrote:
quoted
aspeed supports differential jpeg format which only compress the parts
which are changed. In this way, it reduces both the amount of data to be
transferred by network and those to be decoded on the client side.

4 new ctrls are added:
* Aspeed JPEG Format: to control aspeed's partial jpeg on/off
    0: standard jpeg, 1: aspeed jpeg
What exactly is 'aspeed jpeg'?
'aspeed jpeg' is aspeed proprietary compression format. It will compare
the new frame
with previous one to decide which macroblock's data is changed, and only
the changed
macroblock will be compressed. In this way, the amount of compressed data is
significantly reduced. This is similar to the concept of I/P-frames of
video compression.
Right, but that makes this a new vendor-specific pixelformat, not a control.
OK, I will add a new vendor-specific pixelformat for this.
quoted
quoted
For example, the video is static in first 3 frames and then a object in
the video moved in
4th frame.

          Frame Content      |    Standard    |    Aspeed
-----------------------------------------------------------------------
1th                                 |    Full             | Full
2th    identical with 1st   |    Full             |   none (only about
12 Bytes for header data)
3th    identical with 1st   |    Full             |   none
4th    a object moved     |    Full             |   Only the Macroblocks
that have data changed are compressed

I have implemented a javascript aspeed decoder in novnc to support this
format, but
the performance isn't good enough. I am working on a web-assembly to
improve it.
Is this format documented in a datasheet or something similar, ideally freely
available?
This format is documented in ast2400/2500/2600's datasheet, but it's not 
freely available.
OK. Make sure to document the new pixelformat in
Documentation/userspace-api/media/v4l/pixfmt-reserved.rst with a reference to where it
is defined in the datasheet.

If there is publicly available source code that converts it to 'normal' JPEG, then
a reference to that would be very nice as well.
quoted
quoted
quoted
quoted
* Aspeed Compression Mode: to control aspeed's compression mode
    0: DCT Only, 1: DCT VQ mix 2-color, 2: DCT VQ mix 4-color
    This is AST2400 only. It will adapt JPEG or VQ encoding method according
    to the context automatically.
What exactly does this do?

Is this very aspeed-specific, or could this be a standard JPEG control?
Yes, this is aspeed-specific. Its compression algorithm is a modified
JPEG algorithm.
Is this specific to the aspeed jpeg format, or also to the 'regular' jpeg format?
It's specific to the aspeed jpeg format. Regular jpeg is based on DCT 
and doesn't support VQ
compression
OK, that makes it an aspeed-specific control. Good to know.

Regards,

	Hans

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help