Hi Hans, On Sun, Jun 14, 2009 at 1:46 PM, Hans Verkuil<hverkuil@xxxxxxxxx> wrote: > On Friday 12 June 2009 19:30:33 Eduardo Valentin wrote: >> This patch adds a new class of extended controls. This class >> is intended to support FM Radio Modulators properties such as: >> rds, audio limiters, audio compression, pilot tone generation, >> tuning power levels and preemphasis properties. >> >> Signed-off-by: Eduardo Valentin <eduardo.valentin@xxxxxxxxx> >> --- >> linux/include/linux/videodev2.h | 34 ++++++++++++++++++++++++++++++++++ >> 1 files changed, 34 insertions(+), 0 deletions(-) >> >> diff --git a/linux/include/linux/videodev2.h b/linux/include/linux/videodev2.h >> index b8cffc9..9733435 100644 >> --- a/linux/include/linux/videodev2.h >> +++ b/linux/include/linux/videodev2.h >> @@ -806,6 +806,7 @@ struct v4l2_ext_controls { >> #define V4L2_CTRL_CLASS_USER 0x00980000 /* Old-style 'user' controls */ >> #define V4L2_CTRL_CLASS_MPEG 0x00990000 /* MPEG-compression controls */ >> #define V4L2_CTRL_CLASS_CAMERA 0x009a0000 /* Camera class controls */ >> +#define V4L2_CTRL_CLASS_FM_TX 0x009b0000 /* FM Modulator control class */ >> >> #define V4L2_CTRL_ID_MASK (0x0fffffff) >> #define V4L2_CTRL_ID2CLASS(id) ((id) & 0x0fff0000UL) >> @@ -1144,6 +1145,39 @@ enum v4l2_exposure_auto_type { >> >> #define V4L2_CID_PRIVACY (V4L2_CID_CAMERA_CLASS_BASE+16) >> >> +/* FM Modulator class control IDs */ >> +#define V4L2_CID_FM_TX_CLASS_BASE (V4L2_CTRL_CLASS_FM_TX | 0x900) >> +#define V4L2_CID_FM_TX_CLASS (V4L2_CTRL_CLASS_FM_TX | 1) >> + >> +#define V4L2_CID_RDS_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 1) >> +#define V4L2_CID_RDS_PI (V4L2_CID_FM_TX_CLASS_BASE + 2) >> +#define V4L2_CID_RDS_PTY (V4L2_CID_FM_TX_CLASS_BASE + 3) >> +#define V4L2_CID_RDS_PS_NAME (V4L2_CID_FM_TX_CLASS_BASE + 4) >> +#define V4L2_CID_RDS_RADIO_TEXT (V4L2_CID_FM_TX_CLASS_BASE + 5) > > I think these RDS controls should be renamed to V4L2_CID_RDS_TX_. This makes > it clear that these controls relate to the RDS transmitter instead of a > receiver. I would not be surprised to see similar controls appear for an RDS > receiver in the future. > >> + >> +#define V4L2_CID_AUDIO_LIMITER_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 6) >> +#define V4L2_CID_AUDIO_LIMITER_RELEASE_TIME (V4L2_CID_FM_TX_CLASS_BASE + 7) >> +#define V4L2_CID_AUDIO_LIMITER_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 8) >> + >> +#define V4L2_CID_AUDIO_COMPRESSION_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 9) >> +#define V4L2_CID_AUDIO_COMPRESSION_GAIN (V4L2_CID_FM_TX_CLASS_BASE + 10) >> +#define V4L2_CID_AUDIO_COMPRESSION_THRESHOLD (V4L2_CID_FM_TX_CLASS_BASE + 11) >> +#define V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME (V4L2_CID_FM_TX_CLASS_BASE + 12) >> +#define V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME (V4L2_CID_FM_TX_CLASS_BASE + 13) >> + >> +#define V4L2_CID_PILOT_TONE_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 14) >> +#define V4L2_CID_PILOT_TONE_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 15) >> +#define V4L2_CID_PILOT_TONE_FREQUENCY (V4L2_CID_FM_TX_CLASS_BASE + 16) >> + >> +#define V4L2_CID_PREEMPHASIS (V4L2_CID_FM_TX_CLASS_BASE + 17) >> +enum v4l2_fm_tx_preemphasis { >> + V4L2_FM_TX_PREEMPHASIS_DISABLED = 0, >> + V4L2_FM_TX_PREEMPHASIS_50_uS = 1, >> + V4L2_FM_TX_PREEMPHASIS_75_uS = 2, >> +}; > > I suggest renaming this to V4L2_CID_FM_TX_PREEMPHASIS. There is already a > similar V4L2_CID_MPEG_EMPHASIS control and others might well appear in the > future, so I think this name should be more specific to the FM_TX API. Right. Agreed for both suggestions. > >> +#define V4L2_CID_TUNE_POWER_LEVEL (V4L2_CID_FM_TX_CLASS_BASE + 18) >> +#define V4L2_CID_TUNE_ANTENNA_CAPACITOR (V4L2_CID_FM_TX_CLASS_BASE + 19) >> + >> /* >> * T U N I N G >> */ > > Regards, > > Hans > > -- > Hans Verkuil - video4linux developer - sponsored by TANDBERG Telecom > -- > To unsubscribe from this list: send the line "unsubscribe linux-media" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- Eduardo Bezerra Valentin -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html