> Hans,
>
> This is only temporary and will not merge to upstream. We need to
> work on the RFC for HD resolutions (I have responded to separately on
> this) before we can submit it upstream. But could you review rest of
> the stuffs so that it can be re-submitted later with the above RFC change?
> Santiago is working with me on this.
Huh? I did review the tvp7002 driver on Saturday. Or am I missing something?
Regards,
Hans
>
> Murali Karicheri
> Software Design Engineer
> Texas Instruments Inc.
> Germantown, MD 20874
> new phone: 301-407-9583
> Old Phone : 301-515-3736 (will be deprecated)
> email: [email protected]
>
>>-----Original Message-----
>>From: Hans Verkuil [mailto:[email protected]]
>>Sent: Friday, August 28, 2009 2:42 AM
>>To: [email protected]
>>Cc: [email protected]; Karicheri, Muralidharan;
>>[email protected]; [email protected]
>>Subject: Re: [PATCH 1/6] Support for TVP7002 in v4l2 definitions
>>
>>On Friday 28 August 2009 02:16:47 [email protected] wrote:
>>> From: Santiago Nunez-Corrales <[email protected]>
>>>
>>> This patch provides required std and control definitions in TVP7002
>>> within v4l2.
>>
>>Is this supposed to be merged into the mainline kernel? Or is this for a
>>non-mainline tree only?
>>
>>If you want to get it merged in the mainline, then you should be aware
>> that
>>there will be a new API for HD resolutions. I hope to have a good
>> proposal
>>available for discussion during the Linux Plumbers Conference in
>> September.
>>
>>We are definitely not going to extend v4l2_std_id. That will be frozen
>> for
>>use with PAL/SECAM/NTSC formats only.
>>
>>Note that I also have serious doubts about the usefulness of the decoder
>>controls. Is anyone actually interested in setting those?
>>
>>It will be another topic for discussion during that conference: how to
>> give
>>applications access to these low-level controls and whether we even want
>>that.
>>
>>Regards,
>>
>> Hans
>>
>>>
>>> Signed-off-by: Santiago Nunez-Corrales <[email protected]>
>>> ---
>>> include/linux/videodev2.h | 87
>>+++++++++++++++++++++++++++++++++++++-
>>> include/media/v4l2-chip-ident.h | 3 +
>>> 2 files changed, 87 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
>>> index 74f1687..5a735be 100644
>>> --- a/include/linux/videodev2.h
>>> +++ b/include/linux/videodev2.h
>>> @@ -704,11 +704,66 @@ typedef __u64 v4l2_std_id;
>>> V4L2_STD_PAL_Nc |\
>>> V4L2_STD_SECAM)
>>> #define V4L2_STD_ATSC (V4L2_STD_ATSC_8_VSB |\
>>> - V4L2_STD_ATSC_16_VSB)
>>> +
>>> V4L2_STD_ATSC_16_VSB)
>>>
>>> +/* Frequency for HD (i.e. 60 vs 50) */
>>> +#define V4L2_STD_HDTV_50 ((v4l2_std_id)0x04000000)
>>> +#define V4L2_STD_HDTV_60 ((v4l2_std_id)0x00000000)
>>> +
>>> +/* interlaced vs progressive for HD */
>>> +#define V4L2_STD_HDTV_I ((v4l2_std_id)0x08000000)
>>> +#define V4L2_STD_HDTV_P ((v4l2_std_id)0x00000000)
>>> +
>>> +/* 720 vs 1080 HD modes */
>>> +#define V4L2_STD_HDTV_720 ((v4l2_std_id)0x08000000)
>>> +#define V4L2_STD_HDTV_1080 ((v4l2_std_id)0x10000000)
>>> +
>>> +/* FIXME:
>>> + *
>>> + * Definitions equal to zero are listed for clarity. In general,
>>> + * definitions of standards should be improved by using bits to
>>> + * denote properties, not specific standards and forcing the use
>>> + * of unnatural combinatorics tricks. Otherwise, as such is the
>>> + * current case, the descriptor bit space gets exhausted very
>>> + * rapidly.
>>> + */
>>> +
>>> +/* some standards for SDTV and HDTV */
>>> +#define V4L2_STD_480P_60 (V4L2_STD_525_60 |\
>>> + V4L2_STD_HDTV_P)
>>> +#define V4L2_STD_480I_60 (V4L2_STD_525_60 |\
>>> + V4L2_STD_HDTV_I)
>>> +#define V4L2_STD_576P_50 (V4L2_STD_625_50 |\
>>> + V4L2_STD_HDTV_P)
>>> +#define V4L2_STD_576I_50 (V4L2_STD_625_50 |\
>>> + V4L2_STD_HDTV_I)
>>> +#define V4L2_STD_720P_50 (V4L2_STD_ATSC |\
>>> + V4L2_STD_HDTV_50 |\
>>> + V4L2_STD_HDTV_P |\
>>> + V4L2_STD_HDTV_720)
>>> +#define V4L2_STD_720P_60 (V4L2_STD_ATSC |\
>>> + V4L2_STD_HDTV_60 |\
>>> + V4L2_STD_HDTV_P |\
>>> + V4L2_STD_HDTV_720)
>>> +#define V4L2_STD_1080I_50 (V4L2_STD_ATSC |\
>>> + V4L2_STD_HDTV_50 |\
>>> + V4L2_STD_HDTV_I |\
>>> + V4L2_STD_HDTV_1080)
>>> +#define V4L2_STD_1080I_60 (V4L2_STD_ATSC |\
>>> + V4L2_STD_HDTV_60 |\
>>> + V4L2_STD_HDTV_I |\
>>> + V4L2_STD_HDTV_1080)
>>> +#define V4L2_STD_1080P_50 (V4L2_STD_ATSC |\
>>> + V4L2_STD_HDTV_50 |\
>>> + V4L2_STD_HDTV_P |\
>>> + V4L2_STD_HDTV_1080)
>>> +#define V4L2_STD_1080P_60 (V4L2_STD_ATSC |\
>>> + V4L2_STD_HDTV_60 |\
>>> + V4L2_STD_HDTV_P |\
>>> + V4L2_STD_HDTV_1080)
>>> +
>>> +
>>> #define V4L2_STD_UNKNOWN 0
>>> -#define V4L2_STD_ALL (V4L2_STD_525_60 |\
>>> - V4L2_STD_625_50)
>>>
>>> struct v4l2_standard {
>>> __u32 index;
>>> @@ -808,6 +863,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_DECODER 0x009c0000 /* Decoder class controls
>>*/
>>>
>>> #define V4L2_CTRL_ID_MASK (0x0fffffff)
>>> #define V4L2_CTRL_ID2CLASS(id) ((id) & 0x0fff0000UL)
>>> @@ -1147,6 +1203,31 @@ enum v4l2_exposure_auto_type {
>>>
>>> #define V4L2_CID_PRIVACY (V4L2_CID_CAMERA_CLASS_BASE+16)
>>>
>>> +
>>> +/* tvp7002 control IDs*/
>>> +#define V4L2_CID_TVP7002_BASE V4L2_CTRL_CLASS_DECODER
>>> +#define V4L2_CID_TVP7002_COARSE_GAIN_R (V4L2_CID_TVP7002_BASE
>>> + 1)
>>> +#define V4L2_CID_TVP7002_COARSE_GAIN_G (V4L2_CID_TVP7002_BASE
>>> + 2)
>>> +#define V4L2_CID_TVP7002_COARSE_GAIN_B (V4L2_CID_TVP7002_BASE
>>> + 3)
>>> +#define V4L2_CID_TVP7002_FINE_GAIN_R (V4L2_CID_TVP7002_BASE
>>> + 4)
>>> +#define V4L2_CID_TVP7002_FINE_GAIN_G (V4L2_CID_TVP7002_BASE
>>> + 5)
>>> +#define V4L2_CID_TVP7002_FINE_GAIN_B (V4L2_CID_TVP7002_BASE
>>> + 6)
>>> +#define V4L2_CID_TVP7002_B_CLAMP (V4L2_CID_TVP7002_BASE + 7)
>>> +#define V4L2_CID_TVP7002_G_CLAMP (V4L2_CID_TVP7002_BASE + 8)
>>> +#define V4L2_CID_TVP7002_R_CLAMP (V4L2_CID_TVP7002_BASE + 9)
>>> +#define V4L2_CID_TVP7002_CLAMP_OFF_EN (V4L2_CID_TVP7002_BASE +
>>10)
>>> +#define V4L2_CID_TVP7002_FCTCA (V4L2_CID_PRIVATE_BASE +
>>11)
>>> +#define V4L2_CID_TVP7002_F_CLAMP_GB (V4L2_CID_TVP7002_BASE +
>>12)
>>> +#define V4L2_CID_TVP7002_F_CLAMP_R (V4L2_CID_TVP7002_BASE +
>>13)
>>> +#define V4L2_CID_TVP7002_CLAMP_START (V4L2_CID_TVP7002_BASE +
>>14)
>>> +#define V4L2_CID_TVP7002_CLAMP_W (V4L2_CID_TVP7002_BASE + 15)
>>> +#define V4L2_CID_TVP7002_B_COARSE_OFF (V4L2_CID_TVP7002_BASE +
>>16)
>>> +#define V4L2_CID_TVP7002_G_COARSE_OFF (V4L2_CID_TVP7002_BASE +
>>17)
>>> +#define V4L2_CID_TVP7002_R_COARSE_OFF (V4L2_CID_TVP7002_BASE +
>>18)
>>> +#define V4L2_CID_TVP7002_B_FINE_OFF (V4L2_CID_TVP7002_BASE +
>>19)
>>> +#define V4L2_CID_TVP7002_G_FINE_OFF (V4L2_CID_TVP7002_BASE +
>>20)
>>> +#define V4L2_CID_TVP7002_R_FINE_OFF (V4L2_CID_TVP7002_BASE +
>>21)
>>> +
>>> /*
>>> * T U N I N G
>>> */
>>> diff --git a/include/media/v4l2-chip-ident.h b/include/media/v4l2-chip-
>>ident.h
>>> index 94e908c..b8c86d9 100644
>>> --- a/include/media/v4l2-chip-ident.h
>>> +++ b/include/media/v4l2-chip-ident.h
>>> @@ -129,6 +129,9 @@ enum {
>>> V4L2_IDENT_SAA6752HS = 6752,
>>> V4L2_IDENT_SAA6752HS_AC3 = 6753,
>>>
>>> + /* module tvp7002: just ident 7002 */
>>> + V4L2_IDENT_TVP7002 = 7002,
>>> +
>>> /* module adv7170: just ident 7170 */
>>> V4L2_IDENT_ADV7170 = 7170,
>>>
>>
>>
>>
>>--
>>Hans Verkuil - video4linux developer - sponsored by TANDBERG Telecom
>
>
>
--
Hans Verkuil - video4linux developer - sponsored by TANDBERG
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source