From: Hans Verkuil <hverkuil@xs4all.nl>
To: Jammy Huang <jammy_huang@aspeedtech.com>,
"eajames@linux.ibm.com" <eajames@linux.ibm.com>,
"mchehab@kernel.org" <mchehab@kernel.org>,
"joel@jms.id.au" <joel@jms.id.au>,
"andrew@aj.id.au" <andrew@aj.id.au>,
"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>,
"openbmc@lists.ozlabs.org" <openbmc@lists.ozlabs.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-aspeed@lists.ozlabs.org" <linux-aspeed@lists.ozlabs.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v3 5/7] media: aspeed: Support aspeed mode to reduce compressed data
Date: Wed, 10 Nov 2021 09:23:57 +0100 [thread overview]
Message-ID: <f62d9fce-cb0b-42f2-ff69-71e79dcd51a2@xs4all.nl> (raw)
In-Reply-To: <fb546475-8e61-b847-67c4-466dee57b318@aspeedtech.com>
On 10/11/2021 03:40, Jammy Huang wrote:
> Dear Hans,
>
> On 2021/11/9 下午 06:17, Hans Verkuil wrote:
>> On 11/9/21 2:56 AM, Jammy Huang wrote:
>>> Dear Hans,
>>>
>>> Thanks for your review.
>>>
>>> On 2021/11/8 下午 05:09, Hans Verkuil wrote:
>>>> On 22/10/2021 08:55, Jammy Huang wrote:
>>>>> 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.
>>
>>> 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.
>>
>>>>> * 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
next prev parent reply other threads:[~2021-11-10 8:25 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-22 6:55 [PATCH v3 0/7] add aspeed-jpeg support for aspeed-video Jammy Huang
2021-10-22 6:55 ` [PATCH v3 1/7] media: aspeed: move err-handling together to the bottom Jammy Huang
2021-10-22 6:55 ` [PATCH v3 2/7] media: aspeed: use v4l2_info/v4l2_warn/v4l2_dbg for log Jammy Huang
2021-10-22 6:55 ` [PATCH v3 3/7] media: aspeed: add more debug log messages Jammy Huang
2021-10-22 6:55 ` [PATCH v3 4/7] media: aspeed: refactor to gather format/compress settings Jammy Huang
2021-10-22 6:55 ` [PATCH v3 5/7] media: aspeed: Support aspeed mode to reduce compressed data Jammy Huang
2021-11-08 9:09 ` Hans Verkuil
2021-11-09 1:56 ` Jammy Huang
2021-11-09 10:17 ` Hans Verkuil
2021-11-10 2:40 ` Jammy Huang
2021-11-10 8:23 ` Hans Verkuil [this message]
2021-10-22 6:55 ` [PATCH v3 6/7] media: aspeed: add comments and macro Jammy Huang
2021-10-22 6:55 ` [PATCH v3 7/7] media: aspeed: Extend debug message Jammy Huang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f62d9fce-cb0b-42f2-ff69-71e79dcd51a2@xs4all.nl \
--to=hverkuil@xs4all.nl \
--cc=andrew@aj.id.au \
--cc=eajames@linux.ibm.com \
--cc=jammy_huang@aspeedtech.com \
--cc=joel@jms.id.au \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-aspeed@lists.ozlabs.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=openbmc@lists.ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).