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
