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: Monday, August 31, 2009 11:10 AM
>To: Karicheri, Muralidharan
>Cc: [email protected];
>[email protected]; [email protected];
>[email protected]
>Subject: RE: [PATCH 1/6] Support for TVP7002 in v4l2 definitions
>
>
>> 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?
>
Oops! that is right. That is the important one. But there are other patches as 
well (1-6), tvp7002 being one of them.
>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

Reply via email to