Re: saa7146: please test the vb2 conversion!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/04/2023 12:11, Hans Verkuil wrote:
> On 10/04/2023 00:36, Stefan Herdler wrote:
>> On 07/04/23 09:04, Hans Verkuil wrote:
>>> On 07/04/2023 00:43, Stefan Herdler wrote:
>> [...]
>>>>
>>>> VBI output is used to switch the aspect-ratio via WSS.
>>>> this should be supported by any av7110 card.
>>>>
>>>> The software is run a daemon or plugin, so the userspace-facing change
>>>> shouldn't matter.
>>>>
>>>> I'll test this as soon as possible.
>>>>
>>>>
>>>>
>>>>
>>>> I've done only basic testing so far, but unfortunately it already failed.
>>>>
>>>> The test:
>>>> Switch to a channel[*] and view the decoded video with tvtime.
>>>>
>>>> The resulting picture is corrupted.
>>>> Almost green with some pink traces at the outlines.
>>>>
>>>> It reminds me to YCbCr component-yideo on a RGB-input.
>>>> Maybe the input-format of saa7146 not set correctly?
>>>>
>>>> The OSD is equally affected, but the card seems to run stable.
>>>
>>> That's weird. When you are in this state, can you run
>>> 'v4l2-ctl -V -d /dev/videoX' for the video device that tvtime
>>> is using? I'll try to test it with tvtime as well next week.
>>> I have done my tests using qvidcap and qv4l2, and that looked fine.
>>
>> I've done some more testing and the result is somehow confusing to me.
>>
>> At first I tried qv4l and it shows correct videos with any driver.
>> And with any pixel format setting I tried.
>>
>>
>> After boot /dev/video0 (there is only this device) starts always with
>> this settings:
>> Format Video Capture:
>>         Width/Height      : 384/288
>>         Pixel Format      : 'BGR3' (24-bit BGR 8-8-8)
>>         Field             : Interlaced
>>         Bytes per Line    : 1152
>>         Size Image        : 331776
>>         Colorspace        : SMPTE 170M
>>         Transfer Function : Default (maps to Rec. 709)
>>         YCbCr/HSV Encoding: Default (maps to ITU-R 601)
>>         Quantization      : Default (maps to Full Range)
>>         Flags             :
>>
>>
>> On the working "old" driver tvtime switches to the following settings:
>> Format Video Capture:
>>         Width/Height      : 720/576
>>         Pixel Format      : 'UYVY' (UYVY 4:2:2)
>>         Field             : Interlaced
>>         Bytes per Line    : 1440
>>         Size Image        : 829440
>>         Colorspace        : SMPTE 170M
>>         Transfer Function : Default (maps to Rec. 709)
>>         YCbCr/HSV Encoding: Default (maps to ITU-R 601)
>>         Quantization      : Default (maps to Limited Range)
>>         Flags             :
>> It seems tvtime needs this 'UYVY' pixel format to work.
>>
>>
>> On the "new" driver, with patches [1], tvtime switches to:
>> Format Video Capture:
>>         Width/Height      : 720/576
>>         Pixel Format      : 'BGR3' (24-bit BGR 8-8-8)
>>         Field             : Interlaced
>>         Bytes per Line    : 2160
>>         Size Image        : 1244160
>>         Colorspace        : SMPTE 170M
>>         Transfer Function : Default (maps to Rec. 709)
>>         YCbCr/HSV Encoding: Default (maps to ITU-R 601)
>>         Quantization      : Default (maps to Full Range)
>>         Flags             :
>> And now it is getting weird:
>> I can switch to the correct 'UYVY' settings using qv4l.
>> But tvtime always switches back to 'BGR3'.
> 
> The cause is "[PATCH 10/17] media: common: saa7146: fall back to V4L2_PIX_FMT_BGR24".
> 
> Can you drop that patch and test again?
> 
> It's really a tvtime bug since drivers are allowed to either reject an unsupported
> pixelformat (the old behavior) or replace it with a supported pixelformat (the
> new behavior). And tvtime only supports the old behavior.

FYI: I posted a patch fixing tvtime:

https://patchwork.linuxtv.org/project/linux-media/patch/a5dff340-ab8a-46e0-1f0c-25ceaf9fe5ca@xxxxxxxxx/

That said, I do plan to drop patch 10/17 from the saa7146 series, since it is better
to keep the old behavior.

Once I get the green light from you, I will make a pull request for this vb2 conversion.

Regards,

	Hans

> 
>>
>> Using qv4l while tvtime is running doesn't work and sometimes
>> causes freezing of both programs (on all drivers).
> 
> Are you just starting qv4l2 when tvtime is running? Or trying to stream?
> Do you see messages in the kernel log?
> 
> I couldn't reproduce this. Since tvtime is streaming, qv4l2 shouldn't be able to
> do anything since all attempts to change something should result in EBUSY.
> 
> Regards,
> 
> 	Hans
> 
>>
>>
>> I have also build a new driver just without the patches [2].
>> It shows the "old" correct behavior.
>> So I think, the cause of the change must be somewhere in the
>> patches.
>>
>>
>>
>> Btw.:
>> I also tried to open the video device with the usual
>> media-players, but I had no luck so far (with any driver).
>>
>>
>> Regards
>>
>> Stefan
>>
>>
>> [1] git checkout -B saa7146-clean 837736a79a76c9becddf0caf905b27c144a64030
>> [2] git checkout -B saa7146-clean 2653fad0d8a9625667e9a78133ea9e1245b7c40c
>>
>>>
>>> Regards,
>>>
>>> 	Hans
>>>
>> [...]
> 




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux