Opened 15 years ago

Closed 15 years ago

Last modified 14 years ago

#1828 closed enhancement (fixed)

Add recorder keyed picture attribute adjustments

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


The attached patch adds recorder keyed picture attributes.

This will allow you to share one source between two analog cards that require different reasonable defaults for the brightness, contrast, etc.

The patch also provides information about the driver and card name attached to a particular video device and filters the vbi devices to match the card. This was made easy by the card detection rutines that the picture attribute keying required. But this functionality will be committed seperately.

Attachments (2)

1828-v1.patch (86.3 KB) - added by danielk 15 years ago.
1828-v2.patch (63.0 KB) - added by danielk 15 years ago.
Patch that just adds recorder keyed picture attributes

Download all attachments as: .zip

Change History (10)

Changed 15 years ago by danielk

Attachment: 1828-v1.patch added

comment:1 Changed 15 years ago by danielk

(In [9945]) Refs #1828. Some header jujitsu.

The tv.h header included both tv_rec.h and tv_play.h. But for the patch in #1828 I needed to include tv.h in two c++ files that ended up creating a difficult include loop.

This removes the include to tv_rec.h and tv_play.h in tv.h, and includes them explicitly when needed.

Unfortunately this touches a number of files, but on the bright side it will speed up compiles after future tv_rec.h or tv_play.h changes.

comment:2 Changed 15 years ago by danielk

(In [9946]) Refs #1828. Adds some cardutil utility functions

  • Adds GetV4LInfo() which returns the card name and if it is a V4L2 device also returns the driver being used by a video or vbi device.
  • Adds GetValue?[Int,etc.]() and SetValue?() which get/set any capturecard column for you.

This is used to implement two features in patch on ticket #1828

  • Card keyed picture attribute defaults [i.e. it will make HD-3000 analog captures look good without requiring any tedious editing or a SQL query.]
  • Device detection in mythtv-setup.

comment:3 Changed 15 years ago by danielk

(In [9947]) Refs #1828.

This adds some smarts to the V4L configuration dialogs.

This shows you the V4L card name, and if applicable the V4L2 driver, for the currently selected /devv4l/video* device.

You can still enter your own devices, but the only ones in the combobox are /devv4l/video* devices that currently have a V4L driver loaded.

When you select a device from the video device combobox the vbi device list will be filtered to only the ones using the same driver (assuming the driver is detected).

The MPEG recorder video device combobox only lists the devices using the ivtv driver.

Changed 15 years ago by danielk

Attachment: 1828-v2.patch added

Patch that just adds recorder keyed picture attributes

comment:4 Changed 15 years ago by danielk

Unless there are problems I'll apply the rest of this patch early next week, it changes both the schema and the myth protocol.

For the schema this ads columns for the picture attributes to capturecard, and to the protocol it adds GET_[ATTRIBUTE] commands and it adds a parameter to the CHANGE_[ATTRIBUTE] commands.

The GET_[ATTRIBUTE] commands are desirable because using two CHANGE_ATTRIBUTE calls in opposite directions, as is currently done, inadvertently changes the value if the value is near the extreemes of the range.

The extra param to CHANGE_[ATTRIBUTE] just tells the backend whether we want to change the capturecard value or the channel value.

comment:5 Changed 15 years ago by danielk

Resolution: fixed
Status: newclosed

(In [9968]) Fixes #1828. Adds recorder keyed picture attribute adjustments.

This fixes a long made complaint about using one source for several analog recorders, with different picture attribute defaults. This automatically uses the hardware defaults for V4L2 compatible devices. And for devices whose defaults are not reasonable, this allows you to set the picture settings on for a recorder, instead of just for a channel.

The default picture attribute keybindings are "F" for playback picture attributes, "G" for recorder picture attributes and "Ctrl-G" for channel picture attributes.

This changes the MythTV protocol, so you will need to update all connected frontends and backends.

This also gets rid of the "UseOutputPictureControls?" option. I don't see any reason why you would ever want to disable picture attributes if your hardware supports it, and it does no harm to have them enabled if the hardware does not support them.

comment:6 Changed 15 years ago by danielk

(In [9970]) Refs #1828. Missing piece of [9968].

This may cause problems with ATI XVideo output, please report this if this happens.

comment:7 Changed 15 years ago by danielk

[10017] and [10018] both reference this ticket. [10017] fixes a problem with changing playback picture attributes. [10018] fixes a problem where contrast was mapped to saturation in the recording picture attributes.

comment:8 Changed 14 years ago by danielk

(In [10789]) Refs #1828. Adds back the "UseOutputPictureControls?" configuration option.

In order to use the "F" playback picture controls you must enable this option in the Playback Settings. By default it is disabled because the default for the hue value varies between cards and we only know correct defaults for ATI, nVidia, VIA, and S3 cards, for other cards you may need to fix the hue after enabling this option.

Note: See TracTickets for help on using tickets.