mx6: video playback using the coda driver

Philipp Zabel p.zabel at pengutronix.de
Mon Oct 9 14:50:54 UTC 2017


Hi Fabio,

On Mon, 2017-10-09 at 11:15 -0300, Fabio Estevam wrote:
> Hi Philipp,
> 
> On Mon, Oct 9, 2017 at 11:03 AM, Fabio Estevam <festevam at gmail.com>
> wrote:
> > Hi Philipp,
> > 
> > On Mon, Oct 9, 2017 at 10:57 AM, Philipp Zabel <p.zabel at pengutronix.
> > de> wrote:
> > 
> > > -ERANGE could be returned by drm_plane_helper_check_state if
> > > kmssink
> > > requests scaling, which we don't support in the imx-drm driver.
> > > Though I'm not sure why that whould happen on 1.12, especially if
> > > the
> > > video size matches the output size.
> > 
> > Actually the LVDS resolution is 1024x768 and the video resolution is
> > 1920x1080.
> 
> Yes, this is the problem: I can play the video if I use the HDMI
> output at 1920x1080.
> 
> Do we have any patches floating around that add support for IPUv3
> resizing?

I am not aware of any patches for scaling in the imx-drm / plane driver.
In most cases the IPUv3 IC -> DMFC direct path via IDMAC channel #21 is
pretty useless due to the 1024 pixel output width limit, although in
your case that would be just enough.

If the IC_DMFC_SYNC/SEL mechanism works, it should be possible to reuse
the code in drivers/gpu/ipu-v3/ipu-image-convert.c from ipuv3-plane,
which is currently hooked up to imx-media for <= 1024x1024 scaling in
the video capture path.

Although scaling on overlay planes should only be enabled if the display
mode / full plane size is <= 1024x1024, as otherwise the size limitation
will be very confusing to userspace.

The tiled (> 1024x1024) mem2mem scaling is still broken (see the FIXME
comment in ipu-image-convert.c), with that fixed we could wrap it with a
v4l2 mem2mem driver.

regards
Philipp


More information about the gstreamer-devel mailing list