linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Steve Longerbeam <steve_longerbeam@mentor.com>
To: Philipp Zabel <p.zabel@pengutronix.de>,
	Steve Longerbeam <slongerbeam@gmail.com>
Cc: Jean-Michel Hautbois <jean-michel.hautbois@vodalys.com>,
	Tim Harvey <tharvey@gateworks.com>,
	Robert Schwebel <r.schwebel@pengutronix.de>,
	<linux-media@vger.kernel.org>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Subject: Re: i.MX6 status for IPU/VPU/GPU
Date: Wed, 10 Sep 2014 18:17:03 -0700	[thread overview]
Message-ID: <5410F80F.5060803@mentor.com> (raw)
In-Reply-To: <1410284421.3353.47.camel@paszta.hi.pengutronix.de>

Hi Phillip,

On 09/09/2014 10:40 AM, Philipp Zabel wrote:
>
>>>> I've also worked out what I think is a workable video pipeline graph for i.MX,
>>>> suitable for defining the entities, pads, and links. Unfortunately I haven't
>>>> been able to spend as much time as I'd like on it.
>>> This is very interesting, do you have written this somewhere ?
>> Yes, I'll try to find some time to create a pdf image.
> I'd be very interested in this, too.

I should have something to show tomorrow.

>  I have in the meantime started to
> implement everything that has a source or destination selector in the
> Frame Synchronization Unit (FSU) as media entity. I wonder which of
> these parts should reasonably be unified into a single entity:
>
> 	CSI0
> 	CSI1

Yes, we need a CSI subdev/entity, and it can be instantiated twice for
the two CSI ports.

> 	SMFC0
> 	SMFC1
> 	SMFC2
> 	SMFC3

I don't really see the need for an SMFC entity. The SMFC control can
be integrated into the CSI subdev.

> 	IC preprocessor (input to VF and ENC, if I understood correctly)
> 	IC viewfinder task (scaling, csc)
> 	IC encoding task
> 	IC post processing task

I see either three different IC subdev entities (IC prpenc, IC prpvf,
IC pp), or a single IC entity with three sink pads for each IC task.

> 	IRT viewfinder task (rotation)
> 	IRT encoding task
> 	IRT post processing task

well, the IRT is really just a submodule enable bit, I see no need
for an IRT subdev, in fact IRT has already been folded into ipu-ic.c
as a simple submodule enable/disable. Rotation support can be
implemented as part of the IC entities.

> 	VDIC (deinterlacing, combining)

I am thinking VDIC support can be part of the IC prpvf entity (well,
combining is not really on my radar, I haven't given that much thought).

> 	(and probably some entry for DP/DC/DMFC for the direct
> 	 viewfinder path)

Ugh, I've been ignoring that path as well. Freescale's BSP releases
and sample code from their SDK's have no example code for the
direct-to-DP/DC/DMFC camera viewfinder path, so given the quality
of the imx TRM, this could be a challenge to implement. Have you
gotten this path to work?

>
> I suppose the SMFC channels need to be separate because they can belong
> to different pipelines (and each entity can only belong to one).

I see the chosen SMFC channel as an internal decision by the
CSI subdev.

> The three IC task entities could probably be combined with their
> corresponding IRT task entity somehow, but that would be at the cost of
> not being able to tell the kernel whether to rotate before or after
> scaling, which might be useful when handling chroma subsampled formats.

I'm fairly sure IC rotation must always occur _after_ scaling. I.e.
raw frames are first passed through IC prpenc/prpvf/pp for scaling/CSC,
then EOF completion of that task is hardware linked to IRT.

>
> I have put my current state up here:
>
> git://git.pengutronix.de/git/pza/linux.git test/nitrogen6x-ipu-media
>
> So far I've captured video through the SMFC on a Nitrogen6X board with
> OV5652 parallel camera with this.

Thanks Phillip, I'll take a look! Sounds like a good place to start.
I assume this is with the video mux entity and CSI driver? I.e. no
IC entity support yet for scaling, CSC, or rotation.

Steve


  reply	other threads:[~2014-09-11  1:17 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-28 16:24 i.MX6 status for IPU/VPU/GPU Jean-Michel Hautbois
2014-07-28 18:59 ` Robert Schwebel
2014-07-28 21:15   ` Steve Longerbeam
2014-08-04  6:14     ` Tim Harvey
2014-08-04 11:54       ` Philipp Zabel
2014-08-05  8:07         ` Jean-Michel Hautbois
2014-08-27  7:13         ` Jean-Michel Hautbois
2014-08-27 14:23           ` Steve Longerbeam
2014-09-09  7:49             ` Jean-Michel Hautbois
2014-09-09  7:52               ` Hans Verkuil
2014-09-09 16:06                 ` Steve Longerbeam
2014-09-09 16:12               ` Steve Longerbeam
2014-09-09 17:40                 ` Philipp Zabel
2014-09-11  1:17                   ` Steve Longerbeam [this message]
2014-09-11 13:26                     ` Philipp Zabel
2014-09-15 14:13                       ` Jean-Michel Hautbois
2014-10-24 13:42                         ` Jean-Michel Hautbois
2015-01-27 15:00                           ` Carlos Sanmartín Bustos
2014-09-09 16:28               ` Steve Longerbeam
2014-09-10 16:08                 ` Jean-Michel Hautbois
2014-09-10 16:25                   ` Steve Longerbeam
2014-09-11  0:37                     ` Steve Longerbeam
2014-10-02 14:50                 ` Jean-Michel Hautbois
2014-10-03 10:25                   ` Carlos Sanmartín Bustos
     [not found]                   ` <CAPW4HR0BJ7X0sMy78keEFtS6WXpbJjYCo75utKqWBtsDvrbUeg@mail.gmail.com>
2014-10-03 10:27                     ` Jean-Michel Hautbois
2014-10-06  1:03                   ` Steve Longerbeam

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=5410F80F.5060803@mentor.com \
    --to=steve_longerbeam@mentor.com \
    --cc=jean-michel.hautbois@vodalys.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=p.zabel@pengutronix.de \
    --cc=r.schwebel@pengutronix.de \
    --cc=slongerbeam@gmail.com \
    --cc=tharvey@gateworks.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).