Based on kernel version 3.9. Page generated on 2013-05-02 23:17 EST.
1 Chinese translated version of Documentation/video4linux/omap3isp.txt 2 3 If you have any comment or update to the content, please contact the 4 original document maintainer directly. However, if you have a problem 5 communicating in English you can also ask the Chinese maintainer for 6 help. Contact the Chinese maintainer if this translation is outdated 7 or if there is a problem with the translation. 8 9 Maintainer: Laurent Pinchart <laurent.pinchart@ideasonboard.com> 10 Sakari Ailus <sakari.ailus@iki.fi> 11 David Cohen <dacohen@gmail.com> 12 Chinese maintainer: Fu Wei <tekkamanninja@gmail.com> 13 --------------------------------------------------------------------- 14 Documentation/video4linux/omap3isp.txt çä¸æç¿»è¯ 15 16 妿æ³è¯è®ºææ´æ°æ¬æçå 容ï¼è¯·ç´æ¥èç³»åææ¡£çç»´æ¤è ãå¦æä½ ä½¿ç¨è±æ 17 äº¤æµæå°é¾çè¯ï¼ä¹å¯ä»¥å䏿çç»´æ¤è æ±å©ã妿æ¬ç¿»è¯æ´æ°ä¸åæ¶æè ç¿» 18 è¯åå¨é®é¢ï¼è¯·èç³»ä¸æçç»´æ¤è ã 19 è±æçç»´æ¤è ï¼ Laurent Pinchart <laurent.pinchart@ideasonboard.com> 20 Sakari Ailus <sakari.ailus@iki.fi> 21 David Cohen <dacohen@gmail.com> 22 䏿çç»´æ¤è ï¼ å ç Fu Wei <tekkamanninja@gmail.com> 23 䏿çç¿»è¯è ï¼ å ç Fu Wei <tekkamanninja@gmail.com> 24 ä¸æçæ ¡è¯è ï¼ å ç Fu Wei <tekkamanninja@gmail.com> 25 26 27 以ä¸ä¸ºæ£æ 28 --------------------------------------------------------------------- 29 OMAP 3 å¾åä¿¡å·å¤çå¨ (ISP) é©±å¨ 30 31 Copyright (C) 2010 Nokia Corporation 32 Copyright (C) 2009 Texas Instruments, Inc. 33 34 è系人: Laurent Pinchart <laurent.pinchart@ideasonboard.com> 35 Sakari Ailus <sakari.ailus@iki.fi> 36 David Cohen <dacohen@gmail.com> 37 38 39 ä»ç» 40 === 41 42 æ¬ææ¡£ä»ç»äºç± drivers/media/video/omap3isp å è½½çå¾·å·ä»ªå¨ 43 ï¼TIï¼OMAP 3 å¾åä¿¡å·å¤çå¨ (ISP) 驱å¨ãåå§é©±å¨ç±å¾·å·ä»ªå¨ï¼TIï¼ 44 ç¼åï¼ä½æ¤åç±è¯ºåºäºéåäºä¸¤æ¬¡ã 45 46 驱å¨å·²å¨ä»¥ä¸ OMAP 3 ç³»åçè¯ç䏿å使ç¨ï¼ 47 48 3430 49 3530 50 3630 51 52 驱å¨å®ç°äº V4L2ãåªä½æ§å¶å¨å v4l2_subdev æ¥å£ãæ¯æå æ ¸ä¸ä½¿ç¨ 53 v4l2_subdev æ¥å£çä¼ æå¨ãé头åéªå ç¯é©±å¨ã 54 55 56 æå为åè®¾å¤ 57 ========== 58 59 OMAP 3 ISP 被æå为 V4L2 å设å¤ï¼ISPä¸çæ¯ä¸ªæ¨¡åé½ç±ä¸ä¸ªåè®¾å¤ 60 æ¥è¡¨ç¤ºãæ¯ä¸ªå设å¤åç¨æ·ç©ºé´æä¾ä¸ä¸ª V4L2 åè®¾å¤æ¥å£ã 61 62 OMAP3 ISP CCP2 63 OMAP3 ISP CSI2a 64 OMAP3 ISP CCDC 65 OMAP3 ISP preview 66 OMAP3 ISP resizer 67 OMAP3 ISP AEWB 68 OMAP3 ISP AF 69 OMAP3 ISP histogram 70 71 ISP 䏿¯ä¸ªå¯è½çè¿æ¥é½éè¿ä¸ä¸ªé¾æ¥åµå ¥å°åªä½æ§å¶å¨æ¥å£ä¸ã详è§ä¾ç¨ [2]ã 72 73 74 æ§å¶ OMAP 3 ISP 75 ============== 76 77 é常ï¼å¯¹ OMAP 3 ISP çé ç½®ä¼å¨ä¸ä¸å¸§èµ·å§æ¶çæãå¨ä¼ æå¨åç´æ¶éæé´ï¼ 78 模ååä¸ºç©ºé²æ¶å®æé ç½®ãå¨å åå°å åçæä½ä¸ï¼è§é¢ç®¡é䏿¬¡å¤çä¸å¸§ã 79 åºç¨é ç½®åºå¨å¸§é´å®æã 80 81 ISP ä¸çæææ¨¡åï¼é¤ CSI-2 å ï¼å¯è½åå¨çï¼CCP2 æ¥æ¶å¨å¤ï¼é½å¿ é¡» 82 æ¥æ¶å®æ´çå¸§æ°æ®ãå æ¤ï¼ä¼ æå¨å¿ é¡»ä¿è¯ä»ä¸åéé¨åå¸§æ°æ®ç»ISPã 83 84 Autoidleï¼èªå¨ç©ºé²ï¼åè½è³å°å¨ 3430 ç ISP 模åä¸ç¡®å®åå¨ä¸äºé®é¢ã 85 å½ omap3isp 模ååæ° autoidle éé¶æ¶ï¼autoidleï¼èªå¨ç©ºé²ï¼åè½ 86 ä» å¨ 3630 ä¸å¯ç¨äºã 87 88 89 äºä»¶æºå¶ 90 ====== 91 92 OMAP 3 ISP 驱å¨å¨ CCDC åç»è®¡ï¼AEWBãAF å ç´æ¹å¾ï¼å设å¤ä¸æ¯æ 93 V4L2 äºä»¶æºå¶æ¥å£ã 94 95 CCDC å设å¤éè¿ HS_VS 䏿ï¼å¤ç V4L2_EVENT_FRAME_SYNC ç±»å 96 äºä»¶ï¼ç¨äºåç¥å¸§èµ·å§ãæ©æçæ¬ç驱å¨åä½¿ç¨ V4L2_EVENT_OMAP3ISP_HS_VSã 97 å½å¨ CCDC 模å䏿¥æ¶å°èµ·å§å¸§ç第ä¸è¡æ¶ï¼ä¼åç¡®å°è§¦åäºä»¶ãè¿ä¸ªäºä»¶ 98 å¯ä»¥å¨ CCDC å设å¤ä¸â订é âã 99 100 ï¼å½ä½¿ç¨å¹¶è¡æ¥å£æ¶ï¼å¿ é¡»æ³¨ææ£ç¡®å°é ç½® VS ä¿¡å·ææ§ãèå½ä½¿ç¨ä¸²è¡æ¥æ¶æ¶ 101 è¿ä¸ªä¼èªå¨æ ¡æ£ãï¼ 102 103 æ¯ä¸ªç»è®¡å设å¤é½å¯ä»¥äº§çäºä»¶ãæ¯å½ä¸ä¸ªç»è®¡ç¼å²åºå¯ç±ç¨æ·ç©ºé´åºç¨ç¨åº 104 éè¿ VIDIOC_OMAP3ISP_STAT_REQ IOCTL æä½è·åæ¶ï¼å°±ä¼äº§çä¸ä¸ª 105 äºä»¶ãå½ååå¨ä»¥ä¸äºä»¶ï¼ 106 107 V4L2_EVENT_OMAP3ISP_AEWB 108 V4L2_EVENT_OMAP3ISP_AF 109 V4L2_EVENT_OMAP3ISP_HIST 110 111 è¿äº ioctl çäºä»¶æ°æ®ç±»å为 struct omap3isp_stat_event_status 112 ç»æä½ã妿åºç°è®¡ç®é误çç»è®¡ï¼ä¹åæ ·ä¼äº§çä¸ä¸ªäºä»¶ï¼ä½æ²¡æç¸å ³çç»è®¡ 113 æ°æ®ç¼å²åºãè¿ç§æ åµä¸ omap3isp_stat_event_status.buf_err ä¼è¢« 114 设置为éé¶å¼ã 115 116 117 ç§æ IOCTL 118 ========== 119 120 OMAP 3 ISP 驱卿¯ææ åç V4L2 IOCTL 以åå¯è½åå¨ä¸å®ç¨çæ§å¶ãä½ 121 ISP æä¾ç许å¤åè½é½ä¸å¨æ å IOCTL ä¹åï¼ä¾å¦ gammaï¼ä¼½é©¬ï¼è¡¨åç»è®¡ 122 æ°æ®ééé ç½®çã 123 124 é常ï¼ä¼æä¸ä¸ªç§æ ioctl ç¨äºé ç½®æ¯ä¸ªå å«ç¡¬ä»¶ä¾èµåè½ç模åã 125 126 æ¯æä»¥ä¸ç§æ IOCTLï¼ 127 128 VIDIOC_OMAP3ISP_CCDC_CFG 129 VIDIOC_OMAP3ISP_PRV_CFG 130 VIDIOC_OMAP3ISP_AEWB_CFG 131 VIDIOC_OMAP3ISP_HIST_CFG 132 VIDIOC_OMAP3ISP_AF_CFG 133 VIDIOC_OMAP3ISP_STAT_REQ 134 VIDIOC_OMAP3ISP_STAT_EN 135 136 å¨ include/linux/omap3isp.h ä¸æè¿°äºè¿äº ioctl 使ç¨çåæ°ç»æä½ã 137 ä¸ç¹å® ISP 模åç¸å ³ç ISP èªèº«ç详ç»åè½å¨ææ¯åèæå (TRMs)䏿 138 æè¿°ï¼è¯¦è§ææ¡£ç»å°¾ã 139 140 è½ç¶å¨ä¸ä½¿ç¨ä»»ä½ç§æ IOCTL çæ åµä¸ä½¿ç¨ ISP 驱卿¯å¯è½çï¼ä½è¿æ ·æ æ³ 141 è·å¾æä½³çå¾åè´¨éãAEWBãAF å ç´æ¹å¾ï¼è¯è 注ï¼ä¸è¬ç¨äºèªå¨æå åå¢ç 142 æ§å¶ï¼ä»¥åå¾ååè¡¡çï¼æ¨¡åæ æ³å¨æªä½¿ç¨éå½çç§æ IOCTL é ç½®çæ åµä¸ä½¿ç¨ã 143 144 145 CCDC å previewï¼é¢è§ï¼æ¨¡å IOCTL 146 =============================== 147 148 VIDIOC_OMAP3ISP_CCDC_CFG å VIDIOC_OMAP3ISP_PRV_CFG IOCTL 149 被åå«ç¨äºé ç½®ãå¯ç¨åç¦ç¨ CCDC å previewï¼é¢è§ï¼æ¨¡åçåè½ãå¨å®ä»¬ 150 ææ§å¶ç模åä¸ï¼ä¸¤ä¸ª IOCTL æ§å¶å¤ç§åè½ãVIDIOC_OMAP3ISP_CCDC_CFG IOCTL 151 æ¥åä¸ä¸ªæå omap3isp_ccdc_update_config ç»æä½çæéä½ä¸ºå®çåæ°ã 152 åæ ·çï¼VIDIOC_OMAP3ISP_PRV_CFG æ¥åä¸ä¸ªæå omap3isp_prev_update_config 153 ç»æä½çæéã以ä¸ä¸¤ä¸ªç»æä½å®ä¹ä½äº [1]ã 154 155 è¿äºç»æä½ä¸ç update åæ è¯æ¯å¦é对æå®çåè½æ´æ°é ç½®ï¼è flag å 156 åæ è¯æ¯å¯ç¨è¿æ¯ç¦ç¨æ¤åè½ã 157 158 update å flag 使¥å以䏿©ç å¼ãCCDC å previewï¼é¢è§ï¼æ¨¡åç 159 æ¯ä¸ªåç¬åè½é½ä¸ä¸ä¸ª flag å ³èï¼ç¦ç¨æå¯ç¨ï¼å¨ç»æä½ä¸ flag åç 160 ä¸é¨åï¼åä¸ä¸ªæååè½é ç½®æ°æ®çæéã 161 162 å¯¹äº VIDIOC_OMAP3ISP_CCDC_CFGï¼ä¸é¢ååºäº update å flag å 163 ä¸çææå¼ã è¿äºå¼å¯è½ä¼å¨åä¸ä¸ª IOCTL è°ç¨ä¸é ç½®å¤ä¸ªåè½ã 164 165 OMAP3ISP_CCDC_ALAW 166 OMAP3ISP_CCDC_LPF 167 OMAP3ISP_CCDC_BLCLAMP 168 OMAP3ISP_CCDC_BCOMP 169 OMAP3ISP_CCDC_FPC 170 OMAP3ISP_CCDC_CULL 171 OMAP3ISP_CCDC_CONFIG_LSC 172 OMAP3ISP_CCDC_TBL_LSC 173 174 é对 VIDIOC_OMAP3ISP_PRV_CFG çç¸åºå¼å¦ä¸ï¼ 175 176 OMAP3ISP_PREV_LUMAENH 177 OMAP3ISP_PREV_INVALAW 178 OMAP3ISP_PREV_HRZ_MED 179 OMAP3ISP_PREV_CFA 180 OMAP3ISP_PREV_CHROMA_SUPP 181 OMAP3ISP_PREV_WB 182 OMAP3ISP_PREV_BLKADJ 183 OMAP3ISP_PREV_RGB2RGB 184 OMAP3ISP_PREV_COLOR_CONV 185 OMAP3ISP_PREV_YC_LIMIT 186 OMAP3ISP_PREV_DEFECT_COR 187 OMAP3ISP_PREV_GAMMABYPASS 188 OMAP3ISP_PREV_DRK_FRM_CAPTURE 189 OMAP3ISP_PREV_DRK_FRM_SUBTRACT 190 OMAP3ISP_PREV_LENS_SHADING 191 OMAP3ISP_PREV_NF 192 OMAP3ISP_PREV_GAMMA 193 194 å¨å¯ç¨æä¸ªåè½çæ¶åï¼ç¸å ³çé ç½®æ°æ®æéä¸å¯ä¸º NULLãå¨ç¦ç¨æä¸ªåè½æ¶ï¼ 195 é ç½®æ°æ®æéä¼è¢«å¿½ç¥ã 196 197 198 ç»è®¡æ¨¡å IOCTL 199 ============= 200 201 ç»è®¡å设å¤ç¸è¾äºå ¶ä»åè®¾å¤æä¾äºæ´å¤å¨æé ç½®é项ãå¨å¾åå¤çæµæ°´çº¿å¤äº 202 å·¥ä½ç¶ææ¶ï¼å®ä»¬å¯ä»¥è¢«å¯ç¨ãç¦ç¨åéé ã 203 204 ç»è®¡æ¨¡åæ»æ¯ä» CCDC ä¸è·åè¾å ¥çå¾åæ°æ®ï¼ç±äºç´æ¹å¾å åè¯»åæªå®ç°ï¼ã 205 ç»è®¡æ°æ®å¯ç±ç¨æ·éè¿ç»è®¡å设å¤èç¹ä½¿ç¨ç§æ IOCTL è·åã 206 207 AEWBãAF å ç´æ¹å¾åè®¾å¤æä¾çç§æ IOCTL æå¤§ç¨åº¦ä¸ååºäº ISP 硬件 208 æä¾çå¯åå¨çº§æ¥å£ãæäºæ¹é¢çº¯ç²¹å驱å¨ç¨åºçå®ç°ç¸å ³ï¼è¿äºå°å¨ä¸é¢è®¨è®ºã 209 210 VIDIOC_OMAP3ISP_STAT_EN 211 ----------------------- 212 213 è¿ä¸ªç§æ IOCTL å¯ç¨/ç¦ç¨ ä¸ä¸ªç»è®¡æ¨¡åã妿è¿ä¸ªç³è¯·å¨è§é¢æµå¯å¨åå®æï¼ 214 å®å°å¨è§é¢æµæ°´çº¿å¼å§å·¥ä½æ¶çæã妿è§é¢æµæ°´çº¿å·²ç»å¤äºå·¥ä½ç¶æäºï¼å®å°å¨ 215 CCDC åä¸ºç©ºé²æ¶çæã 216 217 VIDIOC_OMAP3ISP_AEWB_CFG, VIDIOC_OMAP3ISP_HIST_CFG and VIDIOC_OMAP3ISP_AF_CFG 218 ----------------------------------------------------------------------------- 219 220 è¿äº IOCTL ç¨äºé 置模åãå®ä»¬è¦æ±ç¨æ·åºç¨ç¨åºå¯¹ç¡¬ä»¶ææ·±å ¥ç认è¯ã对 221 大夿°åçè§£éå¯ä»¥å¨ OMAP ç TRM 䏿¾å°ã以ä¸ä¸¤ä¸ªå对äºä»¥ä¸ææç 222 ç§æ IOCTL é ç½®é½å¾å¸¸è§ï¼ç±äºä»ä»¬æ²¡æå¨ TRM 䏿åï¼æ éè¦å¯¹å ¶æ 223 æ´å¥½ç认è¯ã 224 225 omap3isp_[h3a_af/h3a_aewb/hist]_config.buf_size: 226 227 模åå¨å é¨å¤çèªèº«ç¼å²ãå¯¹æ¨¡åæ°æ®è¾åºæå¿ éçç¼å大å°ä¾èµäºå·²ç³è¯·çé ç½®ã 228 è½ç¶é©±å¨æ¯æå¨è§é¢æµå·¥ä½æ¶éæ°é ç½®ï¼ä½å¯¹äºæéç¼åéå¤§äºæ¨¡åå¯ç¨æ¶å é¨ 229 æåé æ°éçæ åµï¼å䏿¯æéæ°é ç½®ãå¨è¿ç§æ åµä¸å°è¿å -EBUSYã为äºé¿å 230 æ¤ç±»ç¶åµï¼æ 论æ¯ç¦ç¨/éé /å¯ç¨æ¨¡åï¼è¿æ¯ç¬¬ä¸æ¬¡é ç½®æ¶ç³è¯·å¿ é¡»çç¼å大å°ï¼ 231 é½åºå¨æ¨¡åç¦ç¨çæ åµä¸è¿è¡ã 232 233 å é¨ç¼å²åé ç大å°é综åèèæç³è¯·é ç½®çæå°ç¼åé以å buf_size åä¸ 234 æè®¾çå¼ã妿 buf_size åå¨[minimumï¼æå°å¼ï¼, maximumï¼æå¤§å¼ï¼] 235 ç¼å²å¤§å°èå´ä¹å¤ï¼ååºè¯¥å°å ¶è°æ´å°å ¶èå´ä¸ã驱å¨åä¼éæ©æå¤§å¼ãæ£ç¡®ç 236 buf_size å¼å°ååå°ç¨æ·åºç¨ç¨åºä¸ã 237 238 omap3isp_[h3a_af/h3a_aewb/hist]_config.config_counter: 239 240 ç±äºé 置并æªå¨ç³è¯·ä¹å忥çæï¼é©±å¨å¿ é¡»æä¾ä¸ä¸ªè·è¸ªè¿ç±»ä¿¡æ¯çæ¹æ³ï¼ 241 以æä¾æ´åç¡®çæ°æ®ãå¨ä¸ä¸ªé 置被ç³è¯·ä¹åï¼è¿åå°ç¨æ·ç©ºé´åºç¨ç¨åºç 242 config_counter æ¯ä¸ä¸ªä¸å ¶é ç½®ç¸å ³çå¯ä¸å¼ãå½ç¨æ·åºç¨ç¨åºæ¥æ¶å° 243 ä¸ä¸ªç¼å²å¯ç¨æä¸ä¸ªæ°çç¼å²ç³è¯·äºä»¶æ¶ï¼è¿ä¸ª config_counter ç¨äº 244 ä¸ä¸ªç¼å²æ°æ®åä¸ä¸ªé ç½®çå¹é ã 245 246 VIDIOC_OMAP3ISP_STAT_REQ 247 ------------------------ 248 249 å°å é¨ç¼å²éå䏿æ©çæ°æ®åéå°ç¨æ·ç©ºé´ï¼ç¶å䏢弿¤ç¼å²åºã 250 omap3isp_stat_data.frame_number åä¸è§é¢ç¼å²ç field_count 251 åç¸å¹é ã 252 253 254 ææ¯åèæå (TRMs) åå ¶ä»ææ¡£ 255 ========================== 256 257 OMAP 3430 TRM: 258 <URL:http://focus.ti.com/pdfs/wtbu/OMAP34xx_ES3.1.x_PUBLIC_TRM_vZM.zip> 259 åèäº 2011-03-05. 260 261 OMAP 35xx TRM: 262 <URL:http://www.ti.com/litv/pdf/spruf98o> åèäº 2011-03-05. 263 264 OMAP 3630 TRM: 265 <URL:http://focus.ti.com/pdfs/wtbu/OMAP36xx_ES1.x_PUBLIC_TRM_vQ.zip> 266 åèäº 2011-03-05. 267 268 DM 3730 TRM: 269 <URL:http://www.ti.com/litv/pdf/sprugn4h> åèäº 2011-03-06. 270 271 272 åèèµæ 273 ======= 274 275 [1] include/linux/omap3isp.h 276 277 [2] http://git.ideasonboard.org/?p=media-ctl.git;a=summary