> 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: m-kariche...@ti.com > >>-----Original Message----- >>From: Hans Verkuil [mailto:hverk...@xs4all.nl] >>Sent: Friday, August 28, 2009 2:42 AM >>To: davinci-linux-open-source@linux.davincidsp.com >>Cc: santiago.nu...@ridgerun.com; Karicheri, Muralidharan; >>clark.bec...@ridgerun.com; todd.fisc...@ridgerun.com >>Subject: Re: [PATCH 1/6] Support for TVP7002 in v4l2 definitions >> >>On Friday 28 August 2009 02:16:47 santiago.nu...@ridgerun.com wrote: >>> From: Santiago Nunez-Corrales <santiago.nu...@ridgerun.com> >>> >>> 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 <santiago.nu...@ridgerun.com> >>> --- >>> 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 Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source