* How to configure resizer in ISP pipeline?
@ 2012-12-11 14:48 Andreas Nagel
2013-01-06 1:03 ` Sakari Ailus
0 siblings, 1 reply; 4+ messages in thread
From: Andreas Nagel @ 2012-12-11 14:48 UTC (permalink / raw)
To: linux-media
Hello,
using Media Controller API, I can successfully configure a simple ISP
pipeline on an OMAP3530 and capture video data. Now I want to include
the resizer. So the pipeline would look like this (where MEM would be
the devnode corresponding to "resizer output"):
Sensor --> CCDC --> Resizer --> MEM
My "sensor" (TVP5146) already provides YUV data, so I can skip the
previewer. I tried setting the input and output pad of the resizer
subdevice to incoming resolution (input pad) and desired resolution
(output pad). For example: 720x576 --> 352x288. But it didn't work out
quite well.
Can someone explain how one properly configures the resizer in an ISP
pipeline (with Media Controller API) ? I spend some hours researching,
but this topic seems to be a well guarded secret...
Kind regards,
Andreas
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: How to configure resizer in ISP pipeline?
2012-12-11 14:48 How to configure resizer in ISP pipeline? Andreas Nagel
@ 2013-01-06 1:03 ` Sakari Ailus
2013-01-06 1:43 ` Andreas Nagel
0 siblings, 1 reply; 4+ messages in thread
From: Sakari Ailus @ 2013-01-06 1:03 UTC (permalink / raw)
To: Andreas Nagel; +Cc: linux-media
Hi Andreas,
On Tue, Dec 11, 2012 at 03:48:23PM +0100, Andreas Nagel wrote:
> Hello,
>
> using Media Controller API, I can successfully configure a simple
> ISP pipeline on an OMAP3530 and capture video data. Now I want to
> include the resizer. So the pipeline would look like this (where MEM
> would be the devnode corresponding to "resizer output"):
>
> Sensor --> CCDC --> Resizer --> MEM
>
> My "sensor" (TVP5146) already provides YUV data, so I can skip the
> previewer. I tried setting the input and output pad of the resizer
> subdevice to incoming resolution (input pad) and desired resolution
> (output pad). For example: 720x576 --> 352x288. But it didn't work
> out quite well.
How did it not work quite well? :)
> Can someone explain how one properly configures the resizer in an
> ISP pipeline (with Media Controller API) ? I spend some hours
> researching, but this topic seems to be a well guarded secret...
There's nothing special about it. Really.
The resizing factor is chosen by setting the media bus format on the source
pad to the desired size.
--
Kind regards,
Sakari Ailus
e-mail: sakari.ailus@iki.fi XMPP: sailus@retiisi.org.uk
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: How to configure resizer in ISP pipeline?
2013-01-06 1:03 ` Sakari Ailus
@ 2013-01-06 1:43 ` Andreas Nagel
2013-01-06 15:05 ` Sakari Ailus
0 siblings, 1 reply; 4+ messages in thread
From: Andreas Nagel @ 2013-01-06 1:43 UTC (permalink / raw)
To: Sakari Ailus; +Cc: linux-media
Hi Sakari,
thanks for helping.
>> My "sensor" (TVP5146) already provides YUV data, so I can skip the
>> previewer. I tried setting the input and output pad of the resizer
>> subdevice to incoming resolution (input pad) and desired resolution
>> (output pad). For example: 720x576 --> 352x288. But it didn't work
>> out quite well.
> How did it not work quite well? :)
Not sure, if I recall all the details. I haven't done much in this area
for a few weeks now.
Currently, I actually can configure the resizer, but then
VIDIOC_STREAMON fails with EINVAL when I configure the devnode. Don't
know why.
I do connect the resizer source to the resizer output (devnode) and then
capture from there. I think it is /dev/video6.
If I leave the resizer out and connect the ccdc source to the ccdc
output (/dev/video2), capturing works just fine.
One reason could be, that the resizer isn't supported right now. (You
remember, I have to use Technexion's TI kernel 2.6.37 with its exotic
ISP driver. ;-) )
That's, what one could interpret from this TI wiki page.
http://processors.wiki.ti.com/index.php/UserGuideOmap35xCaptureDriver_PSP_04.02.00.07#Architecture
Under the block diagram, there's a note saying, that only the path with
the continuous line has been validated. So, the dotted lines are ISP
paths that might not have been validated ("supported"?) yet.
(I might add, that all this is part of my master thesis and resizing
would be a nice-to-have goal, but not a must-have. So I can live with it
if it won't work.)
>> Can someone explain how one properly configures the resizer in an
>> ISP pipeline (with Media Controller API) ? I spend some hours
>> researching, but this topic seems to be a well guarded secret...
> There's nothing special about it. Really.
>
> The resizing factor is chosen by setting the media bus format on the source
> pad to the desired size.
Yes, that is what I figured out eventually.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: How to configure resizer in ISP pipeline?
2013-01-06 1:43 ` Andreas Nagel
@ 2013-01-06 15:05 ` Sakari Ailus
0 siblings, 0 replies; 4+ messages in thread
From: Sakari Ailus @ 2013-01-06 15:05 UTC (permalink / raw)
To: Andreas Nagel; +Cc: linux-media
Hi Andreas,
Andreas Nagel wrote:
> Hi Sakari,
>
> thanks for helping.
>
>>> My "sensor" (TVP5146) already provides YUV data, so I can skip the
>>> previewer. I tried setting the input and output pad of the resizer
>>> subdevice to incoming resolution (input pad) and desired resolution
>>> (output pad). For example: 720x576 --> 352x288. But it didn't work
>>> out quite well.
>> How did it not work quite well? :)
>
> Not sure, if I recall all the details. I haven't done much in this area
> for a few weeks now.
> Currently, I actually can configure the resizer, but then
> VIDIOC_STREAMON fails with EINVAL when I configure the devnode. Don't
> know why.
> I do connect the resizer source to the resizer output (devnode) and then
> capture from there. I think it is /dev/video6.
> If I leave the resizer out and connect the ccdc source to the ccdc
> output (/dev/video2), capturing works just fine.
>
> One reason could be, that the resizer isn't supported right now. (You
> remember, I have to use Technexion's TI kernel 2.6.37 with its exotic
> ISP driver. ;-) )
Ouch. There have been many bugfixes and improvements in the omap3isp
driver since it was merged to mainline in this area. I don't know what
TI has backported to their own kernel; it could be something is missing
there.
The fact the ABI and API are incompatible with what's now in mainline
suggests that quite a lot may be missing.
> That's, what one could interpret from this TI wiki page.
> http://processors.wiki.ti.com/index.php/UserGuideOmap35xCaptureDriver_PSP_04.02.00.07#Architecture
>
> Under the block diagram, there's a note saying, that only the path with
> the continuous line has been validated. So, the dotted lines are ISP
> paths that might not have been validated ("supported"?) yet.
That's very possible.
> (I might add, that all this is part of my master thesis and resizing
> would be a nice-to-have goal, but not a must-have. So I can live with it
> if it won't work.)
Good to hear that... I guess the best starting point to get things
working would definitely be the mainline kernel. The rest is at best
unsupported.
--
Kind regards,
Sakari Ailus
sakari.ailus@iki.fi
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-01-06 15:01 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-11 14:48 How to configure resizer in ISP pipeline? Andreas Nagel
2013-01-06 1:03 ` Sakari Ailus
2013-01-06 1:43 ` Andreas Nagel
2013-01-06 15:05 ` Sakari Ailus
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).