On Thu, 28 Mar 2013 12:22:52 -0300
Mauro Carvalho Chehab <mche...@redhat.com> wrote:

> > On the W7 driver, I don't get any of the above mentioned problems.
> > 
> > I looked at the saa7113 register init sequence, and copied that
> > over to linux saa7113 init, but that did not remove the problems.
> > There were only few changes.
> 
> So, maybe it does a different crop setup at em28xx.

I did an analysis of the register setups of em28xx and found the
following differences:

1. Different crop settings

EM28XX_R1D_VSTART, EM28XX_R1F_CHEIGHT and EM28XX_R2B_YMAX set by W7
driver were divided by two compared to the linux driver. Seems that
linux driver did just this before commit c2a6b54.  I also found the
patch https://patchwork.kernel.org/patch/1272051/ to restore the
original behaviour, but somehow it was disregarded and commit 0bc9c89
was done instead. The mentioned patch though does not fix R1D setting
though.

2. Different outfmt used

It seems that ffmpeg defaults to v4l default, which somehow apparently
resulted in EM28XX_OUTFMT_RGB_8_RGRG set. When forcing ffmpeg to set
yuyv422 or EM28XX_OUTFMT_YUV422_Y0UY1V the color distortions vanished.
I'm unsure if the distiortion comes from ffmpeg doing some automatic
conversions, or from v4l kernel driver.

Though, it might be an idea to set the default outfmt to something that
is known to work. So I'm wondering if this could be fixed easily?
YUYV422 should have also better quality, so it would make sense to
select it instead of the other one.

--

So seems that now the device is working properly. Basically we need the
following changes:
 1. saa7113 id ignore (or autodetect, and fallback to forced type)
 2. saa7113 not writing to the registers 14-17 in case it's not the
    original chip (id not present)
 3. em28xx crop height/vstart to divided by 2 in interlaced mode
 4. (optionally) em28xx outfmt should default to YUYV422

I can post a patch for 3, but for others I'm not fully certain about
implementation details. With few pointers, I could probably produce
patches, though. But I would be also happy to just test what ever you
come up with.

Thanks,
 Timo
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to