linux-sh.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
To: Mikhail Ulyanov <mikhail.ulyanov@cogentembedded.com>,
	hverkuil@xs4all.nl, horms@verge.net.au, magnus.damm@gmail.com
Cc: laurent.pinchart@ideasonboard.com, linux-media@vger.kernel.org,
	linux-sh@vger.kernel.org
Subject: Re: [PATCH v3 1/1] V4L2: platform: Renesas R-Car JPEG codec driver
Date: Wed, 29 Apr 2015 21:59:11 +0000	[thread overview]
Message-ID: <5541542F.7010505@cogentembedded.com> (raw)
In-Reply-To: <1430344409-11928-1-git-send-email-mikhail.ulyanov@cogentembedded.com>

On 04/30/2015 12:53 AM, Mikhail Ulyanov wrote:

> Here's the the driver for the Renesas R-Car JPEG processing unit driver.

    One "the" is enough. And one "driver" too, you probbaly forgot to remove 
the word at the end.

> The driver is implemented within the V4L2 framework as a mem-to-mem device.  It

    Perhaps "memory-to-memory"?

> presents two video nodes to userspace, one for the encoding part, and one for
> the decoding part.

> It was found that the only working mode for encoding is no markers output, so we
> generate it with software. In current version of driver we also use software
> JPEG header parsing because with hardware parsing performance is lower then
> desired.

>  From a userspace point of view the encoding process is typical (S_FMT, REQBUF,
> optionally QUERYBUF, QBUF, STREAMON, DQBUF) for both the source and destination
> queues. The decoding process requires that the source queue performs S_FMT,
> REQBUF, (QUERYBUF), QBUF and STREAMON. After STREAMON on the source queue, it is
> possible to perform G_FMT on the destination queue to find out the processed
> image width and height in order to be able to allocate an appropriate buffer -
> it is assumed that the user does not pass the compressed image width and height
> but instead this information is parsed from the JPEG input. This is done in
> kernel. Then REQBUF, QBUF and STREAMON on the destination queue complete the
> decoding and it is possible to DQBUF from both queues and finish the operation.

> During encoding the available formats are: V4L2_PIX_FMT_NV12M and
> V4L2_PIX_FMT_NV16M for source and V4L2_PIX_FMT_JPEG for destination.

> During decoding the available formats are: V4L2_PIX_FMT_JPEG for source and
> V4L2_PIX_FMT_NV12M and V4L2_PIX_FMT_NV16M for destination.

> Performance of current version:
> 1280x800 NV12 image encoding/decoding
> 	decoding ~121 FPS
> 	encoding ~190 FPS

> Signed-off-by: Mikhail Ulyanov <mikhail.ulyanov@cogentembedded.com>
> ---
> Changes since v2:
>      - Kconfig entry reordered
>      - unnecessary clk_disable_unprepare(jpu->clk) removed
>      - ref_count fixed in jpu_resume
>      - enable DMABUF in src_vq->io_modes
>      - remove jpu_s_priority jpu_g_priority
>      - jpu_g_selection fixed
>      - timeout in jpu_reset added and hardware reset reworked
>      - remove unused macros
>      - JPEG header parsing now is software because of performance issues
>        based on s5p-jpu code
>      - JPEG header generation redesigned:
>        JPEG header(s) pre-generated and memcpy'ed on encoding
>        we only fill the necessary fields
>        more "transparent" header format description
>      - S_FMT, G_FMT and TRY_FMT hooks redesigned

    Still need a comma before "and" -- the English punctuation rules are 
different from the Russian ones.

>        partially inspired by VSP1 driver code
>      - some code was reformatted
>      - image formats handling redesigned
>      - multi-planar V4L2 API now in use
>      - now passes v4l2-compliance tool check

> Cnanges since v1:
>      - s/g_fmt function simplified
>      - default format for queues added
>      - dumb vidioc functions added to be in compliance with standard api:
>          jpu_s_priority, jpu_g_priority
>      - standard v4l2_ctrl_subscribe_event and v4l2_event_unsubscribe
>        now in use by the same reason

[...]

WBR, Sergei


  reply	other threads:[~2015-04-29 21:59 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-29 21:53 [PATCH v3 1/1] V4L2: platform: Renesas R-Car JPEG codec driver Mikhail Ulyanov
2015-04-29 21:59 ` Sergei Shtylyov [this message]
2015-04-29 22:08   ` Sergei Shtylyov
2015-05-03 10:21 ` Hans Verkuil
2015-05-03 23:32 ` Laurent Pinchart
2015-05-05 22:03   ` Mikhail Ulianov
2015-06-18 19:48     ` Laurent Pinchart
2015-06-22 14:54       ` Kamil Debski
2015-06-26 11:34         ` Mikhail Ulyanov
2015-06-26 12:14           ` Kamil Debski
2015-06-26 12:23             ` Mikhail Ulyanov
2015-05-06  5:46   ` Mikhail Ulianov

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=5541542F.7010505@cogentembedded.com \
    --to=sergei.shtylyov@cogentembedded.com \
    --cc=horms@verge.net.au \
    --cc=hverkuil@xs4all.nl \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=magnus.damm@gmail.com \
    --cc=mikhail.ulyanov@cogentembedded.com \
    /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).