linux-aspeed.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Jammy Huang <jammy_huang@aspeedtech.com>
To: linux-aspeed@lists.ozlabs.org
Subject: [PATCH 4/6] media: aspeed: Support aspeed mode to reduce compressed data
Date: Mon, 18 Oct 2021 18:10:35 +0800	[thread overview]
Message-ID: <8f20094e-506a-f03a-4dfc-669d7b0d19d8@aspeedtech.com> (raw)
In-Reply-To: <5466798e-32c1-81f5-3428-7bbfe31cdea7@molgen.mpg.de>

Dear Paul,

Thanks for your help.

On 2021/10/18 ?? 05:34, Paul Menzel wrote:
> Dear Jammy,
>
>
> Am 18.10.21 um 10:51 schrieb Jammy Huang:
>
>> On 2021/10/14 ?? 02:47, Paul Menzel wrote:
>>> Am 14.10.21 um 05:48 schrieb Jammy Huang:
>>>> aspeed support differential jpeg format which only compress the parts
>>> support*s*
>>>
>>>> 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.
>>> Please mention the datasheet name and revision and section, where this
>>> functionality is described.
>> Sorry but our datasheet is confidential. The basic idea of this
>> feature is that we can just compress the blocks which is different
>> with previous frame rather than full frame. This idea is similar to
>> the I & P frame in multimedia.
> It?s still good to have the name and revision of the datasheet, the code
> was developed against documented. (Public datasheets would be even
> better, also for review.)
You can reference to the datasheet of ast2600 revision 9 at section 36, 
Video Engine.

>
>>> Which chips support it?
>> AST2400/2500/2600 all support it.
>>>> 4 new ctrls are added:
>>>> *Aspeed JPEG Format: to control aspeed's partial jpeg on/off
>>>> *Aspeed Compression Mode: to control aspeed's compression mode
>>>> *Aspeed HQ Mode: to control aspeed's HQ mode on/off
>>>> *Aspeed HQ Quality: to control the quality of aspeed's HQ mode
>>> Please add a space after the bullet points.
>>>
>>> Excuse my ignorance, how can these options be controlled?
>> * Aspeed JPEG Format: to control jpeg format
>>   ? 0: standard jpeg, 1: aspeed jpeg
>> * 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.
>> * Aspeed HQ Mode: to control aspeed's HQ mode on/off
>>   ? 0: disabled, 1: enabled
>> * Aspeed HQ Quality: to control the quality(0~11) of aspeed's HQ mode,
>>   ? only usefull if Aspeed HQ mode is enabled
> Thank you. So some sysfs file?
This is a v4l2 based driver, so I prefer to use v4l2 control interface 
rather than sysfs.
The user can iterate v4l2 control by V4L2_CTRL_FLAG_NEXT_CTRL to know 
what is
available. For example, the following is the information that 
aspeed_video driver supports

[User Controls???????????????? ]
Aspeed JPEG Format???????????? : type=1, minimum=0, maximum=2, step=1, 
default_value=0
Aspeed Compression Mode??????? : type=1, minimum=0, maximum=2, step=1, 
default_value=0
Aspeed HQ Mode???????????????? : type=2, minimum=0, maximum=1, step=1, 
default_value=0
Aspeed HQ Quality????????????? : type=1, minimum=0, maximum=11, step=1, 
default_value=0
[JPEG Compression Controls???? ]
Chroma Subsampling???????????? : type=3, minimum=0, maximum=2, step=1, 
default_value=0
Compression Quality??????????? : type=1, minimum=0, maximum=11, step=1, 
default_value=0

>
>>>> Aspeed JPEG Format requires an additional buffer, called bcd, to store
>>>> the information that which macro block in the new frame is different
>>> s/that which/which/
>>>
>>>> from the old 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.
>>> How did you test it? What do the clients need to support?
>>>
>>> Did you test, how much bandwidth is saved? Some numbers would be nice.
>> I tested it by aspeed's kvm client which support decoding the aspeed
>> format. Currently, I am porting this feature to novnc to have openbmc
>> support it.
> Nice.
>> The bandwidth saved is variant. It depends on how many blocks is
>> different between new and old frame.If the new frame is identical
>> with the previous one, the compressed frame only needs 12 Bytes.
> Thank you for the explanation.
>
>
> Kind regards,
>
> Paul

  reply	other threads:[~2021-10-18 10:10 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-14  3:48 [PATCH 0/6] add aspeed-jpeg support for aspeed-video Jammy Huang
2021-10-14  3:48 ` [PATCH 1/6] media: aspeed: move err-handling together to the bottom Jammy Huang
2021-10-14  3:48 ` [PATCH 2/6] media: aspeed: add dprintk for more detailed log control Jammy Huang
2021-10-14  6:28   ` Paul Menzel
2021-10-15  2:16     ` Jammy Huang
2021-10-15  8:29       ` Paul Menzel
2021-10-14  3:48 ` [PATCH 3/6] media: aspeed: refine to centerize format/compress settings Jammy Huang
2021-10-14  6:36   ` Paul Menzel
2021-10-15  5:39     ` Jammy Huang
2021-10-14  3:48 ` [PATCH 4/6] media: aspeed: Support aspeed mode to reduce compressed data Jammy Huang
2021-10-14  6:47   ` Paul Menzel
2021-10-18  8:51     ` Jammy Huang
2021-10-18  9:34       ` Paul Menzel
2021-10-18 10:10         ` Jammy Huang [this message]
2021-10-14  3:48 ` [PATCH 5/6] media: aspeed: add comments and macro Jammy Huang
2021-10-14  3:48 ` [PATCH 6/6] media: aspeed: richer debugfs Jammy Huang
2021-10-14  6:54   ` Paul Menzel
2021-10-14  6:57     ` Paul Menzel
2021-10-15  3:29       ` 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=8f20094e-506a-f03a-4dfc-669d7b0d19d8@aspeedtech.com \
    --to=jammy_huang@aspeedtech.com \
    --cc=linux-aspeed@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).