Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#2954 closed defect (fixed)

Update ivtv header + recording profiles

Reported by: danielk Owned by: danielk
Priority: minor Milestone: 0.21
Component: mythtv Version: head
Severity: medium Keywords:
Cc: Ticket locked: no

Description


Attachments (6)

2954-v1.patch (24.8 KB) - added by danielk 12 years ago.
2954-v2.patch (35.7 KB) - added by danielk 12 years ago.
Updated patch (only tested with a limited driver revs though), first attempt at handling various VBI embedding APIs without requiring backwards compatibility in drivers.
2954-v3.patch (35.7 KB) - added by danielk 12 years ago.
Updated to latest svn
2954-v4.patch (35.5 KB) - added by danielk 12 years ago.
Updated patch
2954-v5.patch (49.6 KB) - added by danielk 12 years ago.
Updated patch, prevents unsupported v4l/ivtv options from being passed to driver w/warning
picture-attribute-fix.patch (531 bytes) - added by danielk 12 years ago.
Fix for picture attribute problem

Download all attachments as: .zip

Change History (14)

Changed 12 years ago by danielk

Attachment: 2954-v1.patch added

Changed 12 years ago by danielk

Attachment: 2954-v2.patch added

Updated patch (only tested with a limited driver revs though), first attempt at handling various VBI embedding APIs without requiring backwards compatibility in drivers.

Changed 12 years ago by danielk

Attachment: 2954-v3.patch added

Updated to latest svn

comment:1 Changed 12 years ago by bjm

I don't think the dbcheck should be done. The users' existing settings should not be changed with out their consent.

Changed 12 years ago by danielk

Attachment: 2954-v4.patch added

Updated patch

comment:2 Changed 12 years ago by danielk

I've attached an updated patch. With my PVR-250 captions work at either 720x480 & 480x480 with the following ivtv drivers 2.0, 4.9, 6.6, 7.3 and 8.2. I could not test any later ivtv's due to an problem in later Linux kernels with my SATA chipset.

With my PVR-250 480x480 looked fine, some google searches revealed that this was primarily a problem when using PVR-150 or PVR-500 and when using the temporal_filter. This was apparently enabled by default in 9.1. I think enabling this when it results in poor looking video is a driver bug that should be addressed there by disabling this filter when capturing smaller frames. In light of this, I've removed the dbcheck update instead of trying to make it more specific to people who have not changed the settings from the defaults. I've left in the full frame default for the ivtv cards, since I've seen many reports in my Google searches that the filtering does improve video quality, even if it does have this unfortunate bug.

I also noticed that the various drivers I tested had problems with TS mode recording. This is feature, along with some other recording modes, is completely absent in 8.2, I will be asking Hans about this before taking any further action on this issue. Finally, MPEG Layer 1 sound does not appear to work at all in with any of the drivers I tested; again I will be asking Hans Verkuil about this.

Changed 12 years ago by danielk

Attachment: 2954-v5.patch added

Updated patch, prevents unsupported v4l/ivtv options from being passed to driver w/warning

comment:3 Changed 12 years ago by bjm

Initial observations for 2954-v5.patch using PVR-250 and ivtv 0.9.1.

In the recording profiles audio page the widgets for "Sampling rate:" and "Type:" are both grayed out and can't be changed. The sampling rate was locked ot 48000 a long time ago due to other lower rates causing playback to run slow. However, the type could be changed but this widget does not allow me to do so.

Live TV works and channel changes were snappy. I tried changing the record picture settings to test those ioctls. However, I did find one pre-existing bug. Changing brightness, contrast and colour moved the slider and took effect. Pressing right or left for Hue set the value to -1 and did not change the hue. ESC then cycle thru again showed Hue at 50% again until a button was pressed. I found this with the patch but it is true without the patch also.

comment:4 Changed 12 years ago by bjm

Sorry, I skipped the main point. 954-v5.patch using PVR-250 and ivtv 0.9.1. Closed captions worked for 720x480, 480x480, 352x480 and 160x480. Though I didn't run long tests I didn't see any initial problems. I didn't see any error messages other than the warning to use 0.10.0.

comment:5 Changed 12 years ago by danielk

None of the ivtv drivers + firmware I teseted worked with MPEG Layer I audio, which is why it is locked to MPEG Layer II audio. Hans confirmed this problem. I suspect that this is a firmware issue, just like MPEG2-TS not working with any firmware that works with 2.0+ drivers. I didn't remove Layer I configuration support, it's just disabled.

I'll look at the picture setting issue, I had not thought to test this.

Changed 12 years ago by danielk

Attachment: picture-attribute-fix.patch added

Fix for picture attribute problem

comment:6 Changed 12 years ago by danielk

(In [12739]) Refs #2954. Fixes the picture adjustment for V4L2 attributes with negative values.

The problem was discovered by Bruce when testing the ivtv patch. The math that converted V4L2 attribute values to MythTV's attribute value range was incorrect and would break whenever the range included negative numbers. The hue in the new IVTV driver interface uses negative numbers for half the hue values.

comment:7 Changed 12 years ago by danielk

Resolution: fixed
Status: newclosed

(In [12740]) Fixes #2954. Various updates to ivtv recorder.

This makes sure that closed captions work with driver with revisions 0.2.0 through ~0.10.0. This removes recording modes that don't work from the configuration UI, these are MPEG2-TS and MPEG-x layer 2 audio. This makes full NTSC/PAL resolution the default for IVTV cards (only), the ivtv temporal filter only works at this resolution and has been reported to greatly improve recording quality. This removes the --enable-ivtv-sys-header configuration option, this wasn't working correctly, is a pain to maintain and is only potentially useful for a very small number of ivtv driver developers.

comment:8 Changed 12 years ago by stuartm

(In [12747]) Need #include <stdint.h> in cardutil.h as uint32_t was added in [12740]. Refs #2954

Note: See TracTickets for help on using tickets.