.. | .. |
---|
202 | 202 | case V4L2_PIX_FMT_SGBRG12: |
---|
203 | 203 | case V4L2_PIX_FMT_SGRBG12: |
---|
204 | 204 | case V4L2_PIX_FMT_SRGGB12: |
---|
| 205 | + case V4L2_PIX_FMT_SBGGR16: |
---|
| 206 | + case V4L2_PIX_FMT_SGBRG16: |
---|
| 207 | + case V4L2_PIX_FMT_SGRBG16: |
---|
| 208 | + case V4L2_PIX_FMT_SRGGB16: |
---|
205 | 209 | tpg->interleaved = true; |
---|
206 | 210 | tpg->vdownsampling[1] = 1; |
---|
207 | 211 | tpg->hdownsampling[1] = 1; |
---|
208 | 212 | tpg->planes = 2; |
---|
209 | | - /* fall through */ |
---|
| 213 | + fallthrough; |
---|
210 | 214 | case V4L2_PIX_FMT_RGB332: |
---|
211 | 215 | case V4L2_PIX_FMT_RGB565: |
---|
212 | 216 | case V4L2_PIX_FMT_RGB565X: |
---|
213 | 217 | case V4L2_PIX_FMT_RGB444: |
---|
214 | 218 | case V4L2_PIX_FMT_XRGB444: |
---|
215 | 219 | case V4L2_PIX_FMT_ARGB444: |
---|
| 220 | + case V4L2_PIX_FMT_RGBX444: |
---|
| 221 | + case V4L2_PIX_FMT_RGBA444: |
---|
| 222 | + case V4L2_PIX_FMT_XBGR444: |
---|
| 223 | + case V4L2_PIX_FMT_ABGR444: |
---|
| 224 | + case V4L2_PIX_FMT_BGRX444: |
---|
| 225 | + case V4L2_PIX_FMT_BGRA444: |
---|
216 | 226 | case V4L2_PIX_FMT_RGB555: |
---|
217 | 227 | case V4L2_PIX_FMT_XRGB555: |
---|
218 | 228 | case V4L2_PIX_FMT_ARGB555: |
---|
| 229 | + case V4L2_PIX_FMT_RGBX555: |
---|
| 230 | + case V4L2_PIX_FMT_RGBA555: |
---|
| 231 | + case V4L2_PIX_FMT_XBGR555: |
---|
| 232 | + case V4L2_PIX_FMT_ABGR555: |
---|
| 233 | + case V4L2_PIX_FMT_BGRX555: |
---|
| 234 | + case V4L2_PIX_FMT_BGRA555: |
---|
219 | 235 | case V4L2_PIX_FMT_RGB555X: |
---|
220 | 236 | case V4L2_PIX_FMT_XRGB555X: |
---|
221 | 237 | case V4L2_PIX_FMT_ARGB555X: |
---|
.. | .. |
---|
228 | 244 | case V4L2_PIX_FMT_XBGR32: |
---|
229 | 245 | case V4L2_PIX_FMT_ARGB32: |
---|
230 | 246 | case V4L2_PIX_FMT_ABGR32: |
---|
| 247 | + case V4L2_PIX_FMT_RGBX32: |
---|
| 248 | + case V4L2_PIX_FMT_BGRX32: |
---|
| 249 | + case V4L2_PIX_FMT_RGBA32: |
---|
| 250 | + case V4L2_PIX_FMT_BGRA32: |
---|
231 | 251 | tpg->color_enc = TGP_COLOR_ENC_RGB; |
---|
232 | 252 | break; |
---|
233 | 253 | case V4L2_PIX_FMT_GREY: |
---|
.. | .. |
---|
235 | 255 | case V4L2_PIX_FMT_Y12: |
---|
236 | 256 | case V4L2_PIX_FMT_Y16: |
---|
237 | 257 | case V4L2_PIX_FMT_Y16_BE: |
---|
| 258 | + case V4L2_PIX_FMT_Z16: |
---|
238 | 259 | tpg->color_enc = TGP_COLOR_ENC_LUMA; |
---|
239 | 260 | break; |
---|
240 | 261 | case V4L2_PIX_FMT_YUV444: |
---|
241 | 262 | case V4L2_PIX_FMT_YUV555: |
---|
242 | 263 | case V4L2_PIX_FMT_YUV565: |
---|
243 | 264 | case V4L2_PIX_FMT_YUV32: |
---|
| 265 | + case V4L2_PIX_FMT_AYUV32: |
---|
| 266 | + case V4L2_PIX_FMT_XYUV32: |
---|
| 267 | + case V4L2_PIX_FMT_VUYA32: |
---|
| 268 | + case V4L2_PIX_FMT_VUYX32: |
---|
244 | 269 | tpg->color_enc = TGP_COLOR_ENC_YCBCR; |
---|
245 | 270 | break; |
---|
246 | 271 | case V4L2_PIX_FMT_YUV420M: |
---|
247 | 272 | case V4L2_PIX_FMT_YVU420M: |
---|
248 | 273 | tpg->buffers = 3; |
---|
249 | | - /* fall through */ |
---|
| 274 | + fallthrough; |
---|
250 | 275 | case V4L2_PIX_FMT_YUV420: |
---|
251 | 276 | case V4L2_PIX_FMT_YVU420: |
---|
252 | 277 | tpg->vdownsampling[1] = 2; |
---|
.. | .. |
---|
259 | 284 | case V4L2_PIX_FMT_YUV422M: |
---|
260 | 285 | case V4L2_PIX_FMT_YVU422M: |
---|
261 | 286 | tpg->buffers = 3; |
---|
262 | | - /* fall through */ |
---|
| 287 | + fallthrough; |
---|
263 | 288 | case V4L2_PIX_FMT_YUV422P: |
---|
264 | 289 | tpg->vdownsampling[1] = 1; |
---|
265 | 290 | tpg->vdownsampling[2] = 1; |
---|
.. | .. |
---|
271 | 296 | case V4L2_PIX_FMT_NV16M: |
---|
272 | 297 | case V4L2_PIX_FMT_NV61M: |
---|
273 | 298 | tpg->buffers = 2; |
---|
274 | | - /* fall through */ |
---|
| 299 | + fallthrough; |
---|
275 | 300 | case V4L2_PIX_FMT_NV16: |
---|
276 | 301 | case V4L2_PIX_FMT_NV61: |
---|
277 | 302 | tpg->vdownsampling[1] = 1; |
---|
.. | .. |
---|
283 | 308 | case V4L2_PIX_FMT_NV12M: |
---|
284 | 309 | case V4L2_PIX_FMT_NV21M: |
---|
285 | 310 | tpg->buffers = 2; |
---|
286 | | - /* fall through */ |
---|
| 311 | + fallthrough; |
---|
287 | 312 | case V4L2_PIX_FMT_NV12: |
---|
288 | 313 | case V4L2_PIX_FMT_NV21: |
---|
289 | 314 | tpg->vdownsampling[1] = 2; |
---|
.. | .. |
---|
334 | 359 | case V4L2_PIX_FMT_RGB444: |
---|
335 | 360 | case V4L2_PIX_FMT_XRGB444: |
---|
336 | 361 | case V4L2_PIX_FMT_ARGB444: |
---|
| 362 | + case V4L2_PIX_FMT_RGBX444: |
---|
| 363 | + case V4L2_PIX_FMT_RGBA444: |
---|
| 364 | + case V4L2_PIX_FMT_XBGR444: |
---|
| 365 | + case V4L2_PIX_FMT_ABGR444: |
---|
| 366 | + case V4L2_PIX_FMT_BGRX444: |
---|
| 367 | + case V4L2_PIX_FMT_BGRA444: |
---|
337 | 368 | case V4L2_PIX_FMT_RGB555: |
---|
338 | 369 | case V4L2_PIX_FMT_XRGB555: |
---|
339 | 370 | case V4L2_PIX_FMT_ARGB555: |
---|
| 371 | + case V4L2_PIX_FMT_RGBX555: |
---|
| 372 | + case V4L2_PIX_FMT_RGBA555: |
---|
| 373 | + case V4L2_PIX_FMT_XBGR555: |
---|
| 374 | + case V4L2_PIX_FMT_ABGR555: |
---|
| 375 | + case V4L2_PIX_FMT_BGRX555: |
---|
| 376 | + case V4L2_PIX_FMT_BGRA555: |
---|
340 | 377 | case V4L2_PIX_FMT_RGB555X: |
---|
341 | 378 | case V4L2_PIX_FMT_XRGB555X: |
---|
342 | 379 | case V4L2_PIX_FMT_ARGB555X: |
---|
.. | .. |
---|
351 | 388 | case V4L2_PIX_FMT_Y12: |
---|
352 | 389 | case V4L2_PIX_FMT_Y16: |
---|
353 | 390 | case V4L2_PIX_FMT_Y16_BE: |
---|
| 391 | + case V4L2_PIX_FMT_Z16: |
---|
354 | 392 | tpg->twopixelsize[0] = 2 * 2; |
---|
355 | 393 | break; |
---|
356 | 394 | case V4L2_PIX_FMT_RGB24: |
---|
.. | .. |
---|
365 | 403 | case V4L2_PIX_FMT_XBGR32: |
---|
366 | 404 | case V4L2_PIX_FMT_ARGB32: |
---|
367 | 405 | case V4L2_PIX_FMT_ABGR32: |
---|
| 406 | + case V4L2_PIX_FMT_RGBX32: |
---|
| 407 | + case V4L2_PIX_FMT_BGRX32: |
---|
| 408 | + case V4L2_PIX_FMT_RGBA32: |
---|
| 409 | + case V4L2_PIX_FMT_BGRA32: |
---|
368 | 410 | case V4L2_PIX_FMT_YUV32: |
---|
| 411 | + case V4L2_PIX_FMT_AYUV32: |
---|
| 412 | + case V4L2_PIX_FMT_XYUV32: |
---|
| 413 | + case V4L2_PIX_FMT_VUYA32: |
---|
| 414 | + case V4L2_PIX_FMT_VUYX32: |
---|
369 | 415 | case V4L2_PIX_FMT_HSV32: |
---|
370 | 416 | tpg->twopixelsize[0] = 2 * 4; |
---|
371 | 417 | break; |
---|
.. | .. |
---|
392 | 438 | case V4L2_PIX_FMT_SGRBG12: |
---|
393 | 439 | case V4L2_PIX_FMT_SGBRG12: |
---|
394 | 440 | case V4L2_PIX_FMT_SBGGR12: |
---|
| 441 | + case V4L2_PIX_FMT_SRGGB16: |
---|
| 442 | + case V4L2_PIX_FMT_SGRBG16: |
---|
| 443 | + case V4L2_PIX_FMT_SGBRG16: |
---|
| 444 | + case V4L2_PIX_FMT_SBGGR16: |
---|
395 | 445 | tpg->twopixelsize[0] = 4; |
---|
396 | 446 | tpg->twopixelsize[1] = 4; |
---|
397 | 447 | break; |
---|
.. | .. |
---|
989 | 1039 | case V4L2_PIX_FMT_RGB444: |
---|
990 | 1040 | case V4L2_PIX_FMT_XRGB444: |
---|
991 | 1041 | case V4L2_PIX_FMT_ARGB444: |
---|
| 1042 | + case V4L2_PIX_FMT_RGBX444: |
---|
| 1043 | + case V4L2_PIX_FMT_RGBA444: |
---|
| 1044 | + case V4L2_PIX_FMT_XBGR444: |
---|
| 1045 | + case V4L2_PIX_FMT_ABGR444: |
---|
| 1046 | + case V4L2_PIX_FMT_BGRX444: |
---|
| 1047 | + case V4L2_PIX_FMT_BGRA444: |
---|
992 | 1048 | r >>= 8; |
---|
993 | 1049 | g >>= 8; |
---|
994 | 1050 | b >>= 8; |
---|
.. | .. |
---|
996 | 1052 | case V4L2_PIX_FMT_RGB555: |
---|
997 | 1053 | case V4L2_PIX_FMT_XRGB555: |
---|
998 | 1054 | case V4L2_PIX_FMT_ARGB555: |
---|
| 1055 | + case V4L2_PIX_FMT_RGBX555: |
---|
| 1056 | + case V4L2_PIX_FMT_RGBA555: |
---|
| 1057 | + case V4L2_PIX_FMT_XBGR555: |
---|
| 1058 | + case V4L2_PIX_FMT_ABGR555: |
---|
| 1059 | + case V4L2_PIX_FMT_BGRX555: |
---|
| 1060 | + case V4L2_PIX_FMT_BGRA555: |
---|
999 | 1061 | case V4L2_PIX_FMT_RGB555X: |
---|
1000 | 1062 | case V4L2_PIX_FMT_XRGB555X: |
---|
1001 | 1063 | case V4L2_PIX_FMT_ARGB555X: |
---|
.. | .. |
---|
1062 | 1124 | buf[0][offset+1] = r_y_h >> 4; |
---|
1063 | 1125 | break; |
---|
1064 | 1126 | case V4L2_PIX_FMT_Y16: |
---|
| 1127 | + case V4L2_PIX_FMT_Z16: |
---|
1065 | 1128 | /* |
---|
1066 | 1129 | * Ideally both bytes should be set to r_y_h, but then you won't |
---|
1067 | 1130 | * be able to detect endian problems. So keep it 0 except for |
---|
.. | .. |
---|
1212 | 1275 | case V4L2_PIX_FMT_RGB444: |
---|
1213 | 1276 | case V4L2_PIX_FMT_XRGB444: |
---|
1214 | 1277 | alpha = 0; |
---|
1215 | | - /* fall through */ |
---|
| 1278 | + fallthrough; |
---|
1216 | 1279 | case V4L2_PIX_FMT_YUV444: |
---|
1217 | 1280 | case V4L2_PIX_FMT_ARGB444: |
---|
1218 | 1281 | buf[0][offset] = (g_u_s << 4) | b_v; |
---|
1219 | 1282 | buf[0][offset + 1] = (alpha & 0xf0) | r_y_h; |
---|
1220 | 1283 | break; |
---|
| 1284 | + case V4L2_PIX_FMT_RGBX444: |
---|
| 1285 | + alpha = 0; |
---|
| 1286 | + fallthrough; |
---|
| 1287 | + case V4L2_PIX_FMT_RGBA444: |
---|
| 1288 | + buf[0][offset] = (b_v << 4) | (alpha >> 4); |
---|
| 1289 | + buf[0][offset + 1] = (r_y_h << 4) | g_u_s; |
---|
| 1290 | + break; |
---|
| 1291 | + case V4L2_PIX_FMT_XBGR444: |
---|
| 1292 | + alpha = 0; |
---|
| 1293 | + fallthrough; |
---|
| 1294 | + case V4L2_PIX_FMT_ABGR444: |
---|
| 1295 | + buf[0][offset] = (g_u_s << 4) | r_y_h; |
---|
| 1296 | + buf[0][offset + 1] = (alpha & 0xf0) | b_v; |
---|
| 1297 | + break; |
---|
| 1298 | + case V4L2_PIX_FMT_BGRX444: |
---|
| 1299 | + alpha = 0; |
---|
| 1300 | + fallthrough; |
---|
| 1301 | + case V4L2_PIX_FMT_BGRA444: |
---|
| 1302 | + buf[0][offset] = (r_y_h << 4) | (alpha >> 4); |
---|
| 1303 | + buf[0][offset + 1] = (b_v << 4) | g_u_s; |
---|
| 1304 | + break; |
---|
1221 | 1305 | case V4L2_PIX_FMT_RGB555: |
---|
1222 | 1306 | case V4L2_PIX_FMT_XRGB555: |
---|
1223 | 1307 | alpha = 0; |
---|
1224 | | - /* fall through */ |
---|
| 1308 | + fallthrough; |
---|
1225 | 1309 | case V4L2_PIX_FMT_YUV555: |
---|
1226 | 1310 | case V4L2_PIX_FMT_ARGB555: |
---|
1227 | 1311 | buf[0][offset] = (g_u_s << 5) | b_v; |
---|
1228 | 1312 | buf[0][offset + 1] = (alpha & 0x80) | (r_y_h << 2) |
---|
1229 | 1313 | | (g_u_s >> 3); |
---|
1230 | 1314 | break; |
---|
| 1315 | + case V4L2_PIX_FMT_RGBX555: |
---|
| 1316 | + alpha = 0; |
---|
| 1317 | + fallthrough; |
---|
| 1318 | + case V4L2_PIX_FMT_RGBA555: |
---|
| 1319 | + buf[0][offset] = (g_u_s << 6) | (b_v << 1) | |
---|
| 1320 | + ((alpha & 0x80) >> 7); |
---|
| 1321 | + buf[0][offset + 1] = (r_y_h << 3) | (g_u_s >> 2); |
---|
| 1322 | + break; |
---|
| 1323 | + case V4L2_PIX_FMT_XBGR555: |
---|
| 1324 | + alpha = 0; |
---|
| 1325 | + fallthrough; |
---|
| 1326 | + case V4L2_PIX_FMT_ABGR555: |
---|
| 1327 | + buf[0][offset] = (g_u_s << 5) | r_y_h; |
---|
| 1328 | + buf[0][offset + 1] = (alpha & 0x80) | (b_v << 2) |
---|
| 1329 | + | (g_u_s >> 3); |
---|
| 1330 | + break; |
---|
| 1331 | + case V4L2_PIX_FMT_BGRX555: |
---|
| 1332 | + alpha = 0; |
---|
| 1333 | + fallthrough; |
---|
| 1334 | + case V4L2_PIX_FMT_BGRA555: |
---|
| 1335 | + buf[0][offset] = (g_u_s << 6) | (r_y_h << 1) | |
---|
| 1336 | + ((alpha & 0x80) >> 7); |
---|
| 1337 | + buf[0][offset + 1] = (b_v << 3) | (g_u_s >> 2); |
---|
| 1338 | + break; |
---|
1231 | 1339 | case V4L2_PIX_FMT_RGB555X: |
---|
1232 | 1340 | case V4L2_PIX_FMT_XRGB555X: |
---|
1233 | 1341 | alpha = 0; |
---|
1234 | | - /* fall through */ |
---|
| 1342 | + fallthrough; |
---|
1235 | 1343 | case V4L2_PIX_FMT_ARGB555X: |
---|
1236 | 1344 | buf[0][offset] = (alpha & 0x80) | (r_y_h << 2) | (g_u_s >> 3); |
---|
1237 | 1345 | buf[0][offset + 1] = (g_u_s << 5) | b_v; |
---|
.. | .. |
---|
1256 | 1364 | case V4L2_PIX_FMT_RGB32: |
---|
1257 | 1365 | case V4L2_PIX_FMT_XRGB32: |
---|
1258 | 1366 | case V4L2_PIX_FMT_HSV32: |
---|
| 1367 | + case V4L2_PIX_FMT_XYUV32: |
---|
1259 | 1368 | alpha = 0; |
---|
1260 | | - /* fall through */ |
---|
| 1369 | + fallthrough; |
---|
1261 | 1370 | case V4L2_PIX_FMT_YUV32: |
---|
1262 | 1371 | case V4L2_PIX_FMT_ARGB32: |
---|
| 1372 | + case V4L2_PIX_FMT_AYUV32: |
---|
1263 | 1373 | buf[0][offset] = alpha; |
---|
1264 | 1374 | buf[0][offset + 1] = r_y_h; |
---|
1265 | 1375 | buf[0][offset + 2] = g_u_s; |
---|
1266 | 1376 | buf[0][offset + 3] = b_v; |
---|
1267 | 1377 | break; |
---|
| 1378 | + case V4L2_PIX_FMT_RGBX32: |
---|
| 1379 | + alpha = 0; |
---|
| 1380 | + fallthrough; |
---|
| 1381 | + case V4L2_PIX_FMT_RGBA32: |
---|
| 1382 | + buf[0][offset] = r_y_h; |
---|
| 1383 | + buf[0][offset + 1] = g_u_s; |
---|
| 1384 | + buf[0][offset + 2] = b_v; |
---|
| 1385 | + buf[0][offset + 3] = alpha; |
---|
| 1386 | + break; |
---|
1268 | 1387 | case V4L2_PIX_FMT_BGR32: |
---|
1269 | 1388 | case V4L2_PIX_FMT_XBGR32: |
---|
| 1389 | + case V4L2_PIX_FMT_VUYX32: |
---|
1270 | 1390 | alpha = 0; |
---|
1271 | | - /* fall through */ |
---|
| 1391 | + fallthrough; |
---|
1272 | 1392 | case V4L2_PIX_FMT_ABGR32: |
---|
| 1393 | + case V4L2_PIX_FMT_VUYA32: |
---|
1273 | 1394 | buf[0][offset] = b_v; |
---|
1274 | 1395 | buf[0][offset + 1] = g_u_s; |
---|
1275 | 1396 | buf[0][offset + 2] = r_y_h; |
---|
1276 | 1397 | buf[0][offset + 3] = alpha; |
---|
| 1398 | + break; |
---|
| 1399 | + case V4L2_PIX_FMT_BGRX32: |
---|
| 1400 | + alpha = 0; |
---|
| 1401 | + fallthrough; |
---|
| 1402 | + case V4L2_PIX_FMT_BGRA32: |
---|
| 1403 | + buf[0][offset] = alpha; |
---|
| 1404 | + buf[0][offset + 1] = b_v; |
---|
| 1405 | + buf[0][offset + 2] = g_u_s; |
---|
| 1406 | + buf[0][offset + 3] = r_y_h; |
---|
1277 | 1407 | break; |
---|
1278 | 1408 | case V4L2_PIX_FMT_SBGGR8: |
---|
1279 | 1409 | buf[0][offset] = odd ? g_u_s : b_v; |
---|
.. | .. |
---|
1355 | 1485 | buf[0][offset] |= (buf[0][offset] >> 4) & 0xf; |
---|
1356 | 1486 | buf[1][offset] |= (buf[1][offset] >> 4) & 0xf; |
---|
1357 | 1487 | break; |
---|
| 1488 | + case V4L2_PIX_FMT_SBGGR16: |
---|
| 1489 | + buf[0][offset] = buf[0][offset + 1] = odd ? g_u_s : b_v; |
---|
| 1490 | + buf[1][offset] = buf[1][offset + 1] = odd ? r_y_h : g_u_s; |
---|
| 1491 | + break; |
---|
| 1492 | + case V4L2_PIX_FMT_SGBRG16: |
---|
| 1493 | + buf[0][offset] = buf[0][offset + 1] = odd ? b_v : g_u_s; |
---|
| 1494 | + buf[1][offset] = buf[1][offset + 1] = odd ? g_u_s : r_y_h; |
---|
| 1495 | + break; |
---|
| 1496 | + case V4L2_PIX_FMT_SGRBG16: |
---|
| 1497 | + buf[0][offset] = buf[0][offset + 1] = odd ? r_y_h : g_u_s; |
---|
| 1498 | + buf[1][offset] = buf[1][offset + 1] = odd ? g_u_s : b_v; |
---|
| 1499 | + break; |
---|
| 1500 | + case V4L2_PIX_FMT_SRGGB16: |
---|
| 1501 | + buf[0][offset] = buf[0][offset + 1] = odd ? g_u_s : r_y_h; |
---|
| 1502 | + buf[1][offset] = buf[1][offset + 1] = odd ? b_v : g_u_s; |
---|
| 1503 | + break; |
---|
1358 | 1504 | } |
---|
1359 | 1505 | } |
---|
1360 | 1506 | |
---|
.. | .. |
---|
1373 | 1519 | case V4L2_PIX_FMT_SGBRG12: |
---|
1374 | 1520 | case V4L2_PIX_FMT_SGRBG12: |
---|
1375 | 1521 | case V4L2_PIX_FMT_SRGGB12: |
---|
| 1522 | + case V4L2_PIX_FMT_SBGGR16: |
---|
| 1523 | + case V4L2_PIX_FMT_SGBRG16: |
---|
| 1524 | + case V4L2_PIX_FMT_SGRBG16: |
---|
| 1525 | + case V4L2_PIX_FMT_SRGGB16: |
---|
1376 | 1526 | return buf_line & 1; |
---|
1377 | 1527 | default: |
---|
1378 | 1528 | return 0; |
---|
.. | .. |
---|
1777 | 1927 | |
---|
1778 | 1928 | static noinline void tpg_print_str_2(const struct tpg_data *tpg, u8 *basep[TPG_MAX_PLANES][2], |
---|
1779 | 1929 | unsigned p, unsigned first, unsigned div, unsigned step, |
---|
1780 | | - int y, int x, char *text, unsigned len) |
---|
| 1930 | + int y, int x, const char *text, unsigned len) |
---|
1781 | 1931 | { |
---|
1782 | 1932 | PRINTSTR(u8); |
---|
1783 | 1933 | } |
---|
1784 | 1934 | |
---|
1785 | 1935 | static noinline void tpg_print_str_4(const struct tpg_data *tpg, u8 *basep[TPG_MAX_PLANES][2], |
---|
1786 | 1936 | unsigned p, unsigned first, unsigned div, unsigned step, |
---|
1787 | | - int y, int x, char *text, unsigned len) |
---|
| 1937 | + int y, int x, const char *text, unsigned len) |
---|
1788 | 1938 | { |
---|
1789 | 1939 | PRINTSTR(u16); |
---|
1790 | 1940 | } |
---|
1791 | 1941 | |
---|
1792 | 1942 | static noinline void tpg_print_str_6(const struct tpg_data *tpg, u8 *basep[TPG_MAX_PLANES][2], |
---|
1793 | 1943 | unsigned p, unsigned first, unsigned div, unsigned step, |
---|
1794 | | - int y, int x, char *text, unsigned len) |
---|
| 1944 | + int y, int x, const char *text, unsigned len) |
---|
1795 | 1945 | { |
---|
1796 | 1946 | PRINTSTR(x24); |
---|
1797 | 1947 | } |
---|
1798 | 1948 | |
---|
1799 | 1949 | static noinline void tpg_print_str_8(const struct tpg_data *tpg, u8 *basep[TPG_MAX_PLANES][2], |
---|
1800 | 1950 | unsigned p, unsigned first, unsigned div, unsigned step, |
---|
1801 | | - int y, int x, char *text, unsigned len) |
---|
| 1951 | + int y, int x, const char *text, unsigned len) |
---|
1802 | 1952 | { |
---|
1803 | 1953 | PRINTSTR(u32); |
---|
1804 | 1954 | } |
---|
1805 | 1955 | |
---|
1806 | 1956 | void tpg_gen_text(const struct tpg_data *tpg, u8 *basep[TPG_MAX_PLANES][2], |
---|
1807 | | - int y, int x, char *text) |
---|
| 1957 | + int y, int x, const char *text) |
---|
1808 | 1958 | { |
---|
1809 | 1959 | unsigned step = V4L2_FIELD_HAS_T_OR_B(tpg->field) ? 2 : 1; |
---|
1810 | 1960 | unsigned div = step; |
---|
1811 | 1961 | unsigned first = 0; |
---|
1812 | | - unsigned len = strlen(text); |
---|
| 1962 | + unsigned len; |
---|
1813 | 1963 | unsigned p; |
---|
1814 | 1964 | |
---|
1815 | | - if (font8x16 == NULL || basep == NULL) |
---|
| 1965 | + if (font8x16 == NULL || basep == NULL || text == NULL) |
---|
1816 | 1966 | return; |
---|
| 1967 | + |
---|
| 1968 | + len = strlen(text); |
---|
1817 | 1969 | |
---|
1818 | 1970 | /* Checks if it is possible to show string */ |
---|
1819 | 1971 | if (y + 16 >= tpg->compose.height || x + 8 >= tpg->compose.width) |
---|
.. | .. |
---|
1855 | 2007 | } |
---|
1856 | 2008 | } |
---|
1857 | 2009 | EXPORT_SYMBOL_GPL(tpg_gen_text); |
---|
| 2010 | + |
---|
| 2011 | +const char *tpg_g_color_order(const struct tpg_data *tpg) |
---|
| 2012 | +{ |
---|
| 2013 | + switch (tpg->pattern) { |
---|
| 2014 | + case TPG_PAT_75_COLORBAR: |
---|
| 2015 | + case TPG_PAT_100_COLORBAR: |
---|
| 2016 | + case TPG_PAT_CSC_COLORBAR: |
---|
| 2017 | + case TPG_PAT_100_HCOLORBAR: |
---|
| 2018 | + return "White, yellow, cyan, green, magenta, red, blue, black"; |
---|
| 2019 | + case TPG_PAT_BLACK: |
---|
| 2020 | + return "Black"; |
---|
| 2021 | + case TPG_PAT_WHITE: |
---|
| 2022 | + return "White"; |
---|
| 2023 | + case TPG_PAT_RED: |
---|
| 2024 | + return "Red"; |
---|
| 2025 | + case TPG_PAT_GREEN: |
---|
| 2026 | + return "Green"; |
---|
| 2027 | + case TPG_PAT_BLUE: |
---|
| 2028 | + return "Blue"; |
---|
| 2029 | + default: |
---|
| 2030 | + return NULL; |
---|
| 2031 | + } |
---|
| 2032 | +} |
---|
| 2033 | +EXPORT_SYMBOL_GPL(tpg_g_color_order); |
---|
1858 | 2034 | |
---|
1859 | 2035 | void tpg_update_mv_step(struct tpg_data *tpg) |
---|
1860 | 2036 | { |
---|
.. | .. |
---|
2038 | 2214 | tpg->compose.left, tpg->compose.top); |
---|
2039 | 2215 | pr_info("tpg colorspace: %d\n", tpg->colorspace); |
---|
2040 | 2216 | pr_info("tpg transfer function: %d/%d\n", tpg->xfer_func, tpg->real_xfer_func); |
---|
2041 | | - pr_info("tpg Y'CbCr encoding: %d/%d\n", tpg->ycbcr_enc, tpg->real_ycbcr_enc); |
---|
2042 | | - pr_info("tpg HSV encoding: %d/%d\n", tpg->hsv_enc, tpg->real_hsv_enc); |
---|
| 2217 | + if (tpg->color_enc == TGP_COLOR_ENC_HSV) |
---|
| 2218 | + pr_info("tpg HSV encoding: %d/%d\n", |
---|
| 2219 | + tpg->hsv_enc, tpg->real_hsv_enc); |
---|
| 2220 | + else if (tpg->color_enc == TGP_COLOR_ENC_YCBCR) |
---|
| 2221 | + pr_info("tpg Y'CbCr encoding: %d/%d\n", |
---|
| 2222 | + tpg->ycbcr_enc, tpg->real_ycbcr_enc); |
---|
2043 | 2223 | pr_info("tpg quantization: %d/%d\n", tpg->quantization, tpg->real_quantization); |
---|
2044 | 2224 | pr_info("tpg RGB range: %d/%d\n", tpg->rgb_range, tpg->real_rgb_range); |
---|
2045 | 2225 | } |
---|