PDK API Guide for J721E
csl_fvid2_dataTypes.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) Texas Instruments Incorporated 2012-2018
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *
8  * Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  *
11  * Redistributions in binary form must reproduce the above copyright
12  * notice, this list of conditions and the following disclaimer in the
13  * documentation and/or other materials provided with the
14  * distribution.
15  *
16  * Neither the name of Texas Instruments Incorporated nor the names of
17  * its contributors may be used to endorse or promote products derived
18  * from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 
39 #ifndef CSL_FVID2_DATATYPES_H_
40 #define CSL_FVID2_DATATYPES_H_
41 
42 /* ========================================================================== */
43 /* Include Files */
44 /* ========================================================================== */
45 
46 #include <ti/csl/tistdtypes.h>
47 
48 #ifdef __cplusplus
49 extern "C" {
50 #endif
51 
52 /* ========================================================================== */
53 /* Macros & Typedefs */
54 /* ========================================================================== */
55 
65 #define FVID2_SOK ((int32_t) 0)
66 
69 #define FVID2_EFAIL (-(int32_t) 1)
70 
73 #define FVID2_EBADARGS (-(int32_t) 2)
74 
77 #define FVID2_EINVALID_PARAMS (-(int32_t) 3)
78 
82 #define FVID2_EDEVICE_INUSE (-(int32_t) 4)
83 
87 #define FVID2_ETIMEOUT (-(int32_t) 5)
88 
91 #define FVID2_EALLOC (-(int32_t) 6)
92 
96 #define FVID2_EOUT_OF_RANGE (-(int32_t) 7)
97 
101 #define FVID2_EAGAIN (-(int32_t) 8)
102 
105 #define FVID2_EUNSUPPORTED_CMD (-(int32_t) 9)
106 
109 #define FVID2_ENO_MORE_BUFFERS (-(int32_t) 10)
110 
114 #define FVID2_EUNSUPPORTED_OPS (-(int32_t) 11)
115 
117 #define FVID2_EDRIVER_INUSE (-(int32_t) 12)
118 
121 #define FVID2_WNON_RECOMMENDED_PARAMS (-(int32_t) 13)
122 
125 #define FVID2_ENO_DEVICE (-(int32_t) 14)
126 
127 /* @} */
128 
138 #define FVID2_MAX_FRAME_PTR (64U)
139 
144 #define FVID2_MAX_FIELDS (2U)
145 
152 #define FVID2_MAX_PLANES_PER_FIELD (3U)
153 
160 #define FVID2_MAX_PLANES (FVID2_MAX_FIELDS * \
161  FVID2_MAX_PLANES_PER_FIELD)
162 
163 /* @} */
164 
166 #define FVID2_TIMEOUT_NONE (0U)
167 
168 #define FVID2_TIMEOUT_FOREVER (~((uint32_t) 0U))
169 
179 #define FVID2_YUV_PL_Y_ADDR_IDX (0U)
180 
181 #define FVID2_YUV_PL_CB_ADDR_IDX (1U)
182 
183 #define FVID2_YUV_PL_CR_ADDR_IDX (2U)
184 
185 #define FVID2_YUV_SP_Y_ADDR_IDX (0U)
186 
187 #define FVID2_YUV_SP_CBCR_ADDR_IDX (1U)
188 
189 #define FVID2_RGB_ADDR_IDX (0U)
190 
191 #define FVID2_YUV_INT_ADDR_IDX (0U)
192 
194 #define FVID2_YUV_PL_Y_FID2_ADDR_IDX (FVID2_YUV_PL_Y_ADDR_IDX + 3U)
195 
196 #define FVID2_YUV_PL_CB_FID2_ADDR_IDX (FVID2_YUV_PL_CB_ADDR_IDX + 3U)
197 
198 #define FVID2_YUV_PL_CR_FID2_ADDR_IDX (FVID2_YUV_PL_CR_ADDR_IDX + 3U)
199 
200 #define FVID2_YUV_SP_Y_FID2_ADDR_IDX (FVID2_YUV_SP_Y_ADDR_IDX + 3U)
201 
202 #define FVID2_YUV_SP_CBCR_FID2_ADDR_IDX (FVID2_YUV_SP_CBCR_ADDR_IDX + 3U)
203 
204 #define FVID2_RGB_FID2_ADDR_IDX (FVID2_RGB_ADDR_IDX + 3U)
205 
206 #define FVID2_YUV_INT_FID2_ADDR_IDX (FVID2_YUV_INT_ADDR_IDX + 3U)
207 /* @} */
208 
215 typedef uint32_t Fvid2_DVFormat;
217 #define FVID2_DV_BT656_EMBSYNC ((uint32_t) 0x00U)
218 
219 #define FVID2_DV_BT1120_EMBSYNC ((uint32_t) 0x01U)
220 
221 #define FVID2_DV_GENERIC_DISCSYNC ((uint32_t) 0x02U)
222 /* @} */
223 
230 typedef uint32_t Fvid2_FlipType;
232 #define FVID2_FLIP_TYPE_NONE ((uint32_t) 0x00U)
233 
234 #define FVID2_FLIP_TYPE_H ((uint32_t) 0x01U)
235 
236 #define FVID2_FLIP_TYPE_V ((uint32_t) 0x02U)
237 
238 #define FVID2_FLIP_TYPE_HV ((uint32_t) 0x03U)
239 /* @} */
240 
249 #define FVID2_CSI2_DF_YUV420_8B ((uint32_t) 0x18)
250 
251 #define FVID2_CSI2_DF_YUV420_10B ((uint32_t) 0x19)
252 
253 #define FVID2_CSI2_DF_YUV420_8B_LEGACY ((uint32_t) 0x1A)
254 
255 #define FVID2_CSI2_DF_YUV420_8B_CHROMA_SHIFT ((uint32_t) 0x1C)
256 
257 #define FVID2_CSI2_DF_YUV420_10B_CHROMA_SHIFT ((uint32_t) 0x1D)
258 
259 #define FVID2_CSI2_DF_YUV422_8B ((uint32_t) 0x1E)
260 
261 #define FVID2_CSI2_DF_YUV422_10B ((uint32_t) 0x1F)
262 
263 #define FVID2_CSI2_DF_RGB444 ((uint32_t) 0x20)
264 
265 #define FVID2_CSI2_DF_RGB555 ((uint32_t) 0x21)
266 
267 #define FVID2_CSI2_DF_RGB565 ((uint32_t) 0x22)
268 
269 #define FVID2_CSI2_DF_RGB666 ((uint32_t) 0x23)
270 
271 #define FVID2_CSI2_DF_RGB888 ((uint32_t) 0x24)
272 
273 #define FVID2_CSI2_DF_RAW6 ((uint32_t) 0x28)
274 
275 #define FVID2_CSI2_DF_RAW7 ((uint32_t) 0x29)
276 
277 #define FVID2_CSI2_DF_RAW8 ((uint32_t) 0x2A)
278 
279 #define FVID2_CSI2_DF_RAW10 ((uint32_t) 0x2B)
280 
281 #define FVID2_CSI2_DF_RAW12 ((uint32_t) 0x2C)
282 
283 #define FVID2_CSI2_DF_RAW14 ((uint32_t) 0x2D)
284 
285 #define FVID2_CSI2_DF_RAW16 ((uint32_t) 0x2E)
286 
287 #define FVID2_CSI2_DF_RAW20 ((uint32_t) 0x2F)
288 /* @} */
289 
314 typedef uint32_t Fvid2_DataFormat;
316 #define FVID2_DF_YUV422I_UYVY ((uint32_t) 0x0000U)
317 
318 #define FVID2_DF_YUV422I_YUYV ((uint32_t) 0x0001U)
319 
320 #define FVID2_DF_YUV422I_YVYU ((uint32_t) 0x0002U)
321 
322 #define FVID2_DF_YUV422I_VYUY ((uint32_t) 0x0003U)
323 
324 #define FVID2_DF_YUV422SP_UV ((uint32_t) 0x0004U)
325 
326 #define FVID2_DF_YUV422SP_VU ((uint32_t) 0x0005U)
327 
328 #define FVID2_DF_YUV422P ((uint32_t) 0x0006U)
329 
330 #define FVID2_DF_YUV420SP_UV ((uint32_t) 0x0007U)
331 
332 #define FVID2_DF_YUV420SP_VU ((uint32_t) 0x0008U)
333 
334 #define FVID2_DF_YUV420P ((uint32_t) 0x0009U)
335 
336 #define FVID2_DF_YUV444P ((uint32_t) 0x000AU)
337 
338 #define FVID2_DF_YUV444I ((uint32_t) 0x000BU)
339 
340 #define FVID2_DF_RGB16_565 ((uint32_t) 0x000CU)
341 
342 #define FVID2_DF_ARGB16_1555 ((uint32_t) 0x000DU)
343 
344 #define FVID2_DF_RGBA16_5551 ((uint32_t) 0x000EU)
345 
346 #define FVID2_DF_ARGB16_4444 ((uint32_t) 0x000FU)
347 
348 #define FVID2_DF_RGBA16_4444 ((uint32_t) 0x0010U)
349 
350 #define FVID2_DF_RGBX16_4444 ((uint32_t) 0x0011U)
351 
352 #define FVID2_DF_ARGB24_6666 ((uint32_t) 0x0012U)
353 
354 #define FVID2_DF_RGBA24_6666 ((uint32_t) 0x0013U)
355 
356 #define FVID2_DF_RGB24_888 ((uint32_t) 0x0014U)
357 
358 #define FVID2_DF_BGRX_4444 ((uint32_t) 0x0015U)
359 
360 #define FVID2_DF_XBGR_4444 ((uint32_t) 0x0016U)
361 
362 #define FVID2_DF_ARGB32_8888 ((uint32_t) 0x0017U)
363 
364 #define FVID2_DF_XRGB32_8888 ((uint32_t) 0x0018U)
365 
366 #define FVID2_DF_RGBA32_8888 ((uint32_t) 0x0019U)
367 
368 #define FVID2_DF_BGR16_565 ((uint32_t) 0x001AU)
369 
370 #define FVID2_DF_ABGR16_1555 ((uint32_t) 0x001BU)
371 
372 #define FVID2_DF_ABGR16_4444 ((uint32_t) 0x001CU)
373 
374 #define FVID2_DF_BGRA16_5551 ((uint32_t) 0x001DU)
375 
376 #define FVID2_DF_BGRA16_4444 ((uint32_t) 0x001EU)
377 
378 #define FVID2_DF_AGBR16_1555 ((uint32_t) 0x001FU)
379 
380 #define FVID2_DF_AGBR16_4444 ((uint32_t) 0x0020U)
381 
382 #define FVID2_DF_XGBR16_1555 ((uint32_t) 0x0021U)
383 
384 #define FVID2_DF_BGRX16_5551 ((uint32_t) 0x0022U)
385 
386 #define FVID2_DF_ABGR24_6666 ((uint32_t) 0x0023U)
387 
388 #define FVID2_DF_BGR24_888 ((uint32_t) 0x0024U)
389 
390 #define FVID2_DF_XBGR24_8888 ((uint32_t) 0x0025U)
391 
392 #define FVID2_DF_RGBX24_8888 ((uint32_t) 0x0026U)
393 
394 #define FVID2_DF_BGRX24_8888 ((uint32_t) 0x0027U)
395 
396 #define FVID2_DF_ABGR32_8888 ((uint32_t) 0x0028U)
397 
398 #define FVID2_DF_BGRA24_6666 ((uint32_t) 0x0029U)
399 
400 #define FVID2_DF_BGRA32_8888 ((uint32_t) 0x002AU)
401 
402 #define FVID2_DF_BGRX32_8888 ((uint32_t) 0x002BU)
403 
404 #define FVID2_DF_BGRA16_1555 ((uint32_t) 0x002CU)
405 
406 #define FVID2_DF_BGRX16_1555 ((uint32_t) 0x002DU)
407 
408 #define FVID2_DF_BGRA32_1010102 ((uint32_t) 0x002EU)
409 
410 #define FVID2_DF_BGRX32_1010102 ((uint32_t) 0x002FU)
411 
412 #define FVID2_DF_RGBA32_1010102 ((uint32_t) 0x0030U)
413 
414 #define FVID2_DF_RGBX32_1010102 ((uint32_t) 0x0031U)
415 
416 #define FVID2_DF_BGRA64_16161616 ((uint32_t) 0x0032U)
417 
418 #define FVID2_DF_BGRX64_16161616 ((uint32_t) 0x0033U)
419 
420 #define FVID2_DF_ABGR64_16161616 ((uint32_t) 0x0034U)
421 
422 #define FVID2_DF_XBGR64_16161616 ((uint32_t) 0x0035U)
423 
424 #define FVID2_DF_BITMAP8 ((uint32_t) 0x0036U)
425 
426 #define FVID2_DF_BITMAP4_LOWER ((uint32_t) 0x0037U)
427 
428 #define FVID2_DF_BITMAP4_UPPER ((uint32_t) 0x0038U)
429 
430 #define FVID2_DF_BITMAP2_OFFSET0 ((uint32_t) 0x0039U)
431 
432 #define FVID2_DF_BITMAP2_OFFSET1 ((uint32_t) 0x003AU)
433 
434 #define FVID2_DF_BITMAP2_OFFSET2 ((uint32_t) 0x003BU)
435 
436 #define FVID2_DF_BITMAP2_OFFSET3 ((uint32_t) 0x003CU)
437 
438 #define FVID2_DF_BITMAP1_OFFSET0 ((uint32_t) 0x003DU)
439 
440 #define FVID2_DF_BITMAP1_OFFSET1 ((uint32_t) 0x003EU)
441 
442 #define FVID2_DF_BITMAP1_OFFSET2 ((uint32_t) 0x003FU)
443 
444 #define FVID2_DF_BITMAP1_OFFSET3 ((uint32_t) 0x0040U)
445 
446 #define FVID2_DF_BITMAP1_OFFSET4 ((uint32_t) 0x0041U)
447 
448 #define FVID2_DF_BITMAP1_OFFSET5 ((uint32_t) 0x0042U)
449 
450 #define FVID2_DF_BITMAP1_OFFSET6 ((uint32_t) 0x0043U)
451 
452 #define FVID2_DF_BITMAP1_OFFSET7 ((uint32_t) 0x0044U)
453 
454 #define FVID2_DF_BITMAP8_BGRA32 ((uint32_t) 0x0045U)
455 
456 #define FVID2_DF_BITMAP4_BGRA32_LOWER ((uint32_t) 0x0046U)
457 
458 #define FVID2_DF_BITMAP4_BGRA32_UPPER ((uint32_t) 0x0047U)
459 
460 #define FVID2_DF_BITMAP2_BGRA32_OFFSET0 ((uint32_t) 0x0048U)
461 
462 #define FVID2_DF_BITMAP2_BGRA32_OFFSET1 ((uint32_t) 0x0049U)
463 
464 #define FVID2_DF_BITMAP2_BGRA32_OFFSET2 ((uint32_t) 0x004AU)
465 
466 #define FVID2_DF_BITMAP2_BGRA32_OFFSET3 ((uint32_t) 0x004BU)
467 
468 #define FVID2_DF_BITMAP1_BGRA32_OFFSET0 ((uint32_t) 0x004CU)
469 
470 #define FVID2_DF_BITMAP1_BGRA32_OFFSET1 ((uint32_t) 0x004DU)
471 
472 #define FVID2_DF_BITMAP1_BGRA32_OFFSET2 ((uint32_t) 0x004EU)
473 
474 #define FVID2_DF_BITMAP1_BGRA32_OFFSET3 ((uint32_t) 0x004FU)
475 
476 #define FVID2_DF_BITMAP1_BGRA32_OFFSET4 ((uint32_t) 0x0050U)
477 
478 #define FVID2_DF_BITMAP1_BGRA32_OFFSET5 ((uint32_t) 0x0051U)
479 
480 #define FVID2_DF_BITMAP1_BGRA32_OFFSET6 ((uint32_t) 0x0052U)
481 
482 #define FVID2_DF_BITMAP1_BGRA32_OFFSET7 ((uint32_t) 0x0053U)
483 
484 #define FVID2_DF_BAYER_RAW ((uint32_t) 0x0054U)
485 
489 #define FVID2_DF_BAYER_GRBG ((uint32_t) 0x0055U)
490 
494 #define FVID2_DF_BAYER_RGGB ((uint32_t) 0x0056U)
495 
499 #define FVID2_DF_BAYER_BGGR ((uint32_t) 0x0057U)
500 
504 #define FVID2_DF_BAYER_GBRG ((uint32_t) 0x0058U)
505 
506 #define FVID2_DF_RAW_VBI ((uint32_t) 0x0059U)
507 
508 #define FVID2_DF_RAW24 ((uint32_t) 0x005AU)
509 
510 #define FVID2_DF_RAW16 ((uint32_t) 0x005BU)
511 
512 #define FVID2_DF_RAW08 ((uint32_t) 0x005CU)
513 
514 #define FVID2_DF_MISC ((uint32_t) 0x005DU)
515 
516 #define FVID2_DF_BITMAP4 ((uint32_t) FVID2_DF_BITMAP4_LOWER)
517 
518 #define FVID2_DF_BITMAP2 ((uint32_t) FVID2_DF_BITMAP2_OFFSET0)
519 
520 #define FVID2_DF_BITMAP1 ((uint32_t) FVID2_DF_BITMAP1_OFFSET0)
521 
522 #define FVID2_DF_RAW06 ((uint32_t) 0x5EU)
523 
524 #define FVID2_DF_RAW07 ((uint32_t) 0x5FU)
525 
526 #define FVID2_DF_RAW10 ((uint32_t) 0x60U)
527 
528 #define FVID2_DF_RAW12 ((uint32_t) 0x61U)
529 
530 #define FVID2_DF_RAW14 ((uint32_t) 0x62U)
531 
532 #define FVID2_DF_JPEG1_INTERCHANGE ((uint32_t) 0x63U)
533 
534 #define FVID2_DF_JPEG2_JFIF ((uint32_t) 0x64U)
535 
536 #define FVID2_DF_JPEG3_EXIF ((uint32_t) 0x65U)
537 
538 #define FVID2_DF_DPCM_10_8_10_PRED1 ((uint32_t) 0x66U)
539 
540 #define FVID2_DF_DPCM_10_8_10_PRED2 ((uint32_t) 0x67U)
541 
542 #define FVID2_DF_DPCM_10_7_10_PRED1 ((uint32_t) 0x68U)
543 
544 #define FVID2_DF_DPCM_10_7_10_PRED2 ((uint32_t) 0x69U)
545 
546 #define FVID2_DF_DPCM_10_6_10_PRED1 ((uint32_t) 0x6AU)
547 
548 #define FVID2_DF_DPCM_10_6_10_PRED2 ((uint32_t) 0x6BU)
549 
550 #define FVID2_DF_DPCM_12_8_10_PRED1 ((uint32_t) 0x6CU)
551 
552 #define FVID2_DF_DPCM_12_8_10_PRED2 ((uint32_t) 0x6DU)
553 
554 #define FVID2_DF_DPCM_12_7_10_PRED1 ((uint32_t) 0x6EU)
555 
556 #define FVID2_DF_DPCM_12_7_10_PRED2 ((uint32_t) 0x6FU)
557 
558 #define FVID2_DF_DPCM_12_6_10_PRED1 ((uint32_t) 0x70U)
559 
560 #define FVID2_DF_DPCM_12_6_10_PRED2 ((uint32_t) 0x71U)
561 
564 #define FVID2_DF_BGR16_565_A8 ((uint32_t) 0x72U)
565 
568 #define FVID2_DF_RGB16_565_A8 ((uint32_t) 0x73U)
569 
570 #define FVID2_DF_LUMA_ONLY ((uint32_t) 0x74U)
571 
572 #define FVID2_DF_CHROMA_ONLY ((uint32_t) 0x75U)
573 
574 #define FVID2_DF_RGB24_888_PLANAR ((uint32_t) 0x76U)
575 
576 #define FVID2_DF_ARGB48_12121212 ((uint32_t) 0x0077U)
577 
578 
580 #define FVID2_DF_GREY ((uint32_t) 0x0078U)
581 
582 #define FVID2_DF_SATURATION ((uint32_t) 0x0079U)
583 
584 #define FVID2_DF_HUE ((uint32_t) 0x007AU)
585 
586 #define FVID2_DF_RAW ((uint32_t) 0x007BU)
587 
588 #define FVID2_DF_RED ((uint32_t) 0x007CU)
589 
590 #define FVID2_DF_GREEN ((uint32_t) 0x007DU)
591 
592 #define FVID2_DF_BLUE ((uint32_t) 0x007EU)
593 
595 #define FVID2_DF_2PLANES ((uint32_t) 0x007FU)
596 #define FVID2_DF_PLANE_1 ((uint32_t) 0x0080U)
597 #define FVID2_DF_PLANE_2 ((uint32_t) 0x0081U)
598 
600 #define FVID2_DF_R_GBI ((uint32_t) 0x0082U)
601 
603 #define FVID2_DF_RGI_B ((uint32_t) 0x0083U)
604 
606 #define FVID2_DF_RGB ((uint32_t) 0x0084U)
607 
609 #define FVID2_DF_R ((uint32_t) 0x0085U)
610 
611 #define FVID2_DF_GBI ((uint32_t) 0x0086U)
612 
613 #define FVID2_DF_RGI ((uint32_t) 0x0087U)
614 
616 #define FVID2_DF_INVALID ((uint32_t) 0x00FFU)
617 /* @} */
618 
625 typedef uint32_t Fvid2_ScanFormat;
627 #define FVID2_SF_INTERLACED ((uint32_t) 0x00U)
628 
629 #define FVID2_SF_PROGRESSIVE ((uint32_t) 0x01U)
630 
631 #define FVID2_SF_MAX ((uint32_t) 0x02U)
632 /* @} */
633 
640 typedef uint32_t Fvid2_Standard;
642 #define FVID2_STD_NTSC ((uint32_t) 0x00U)
643 
644 #define FVID2_STD_PAL ((uint32_t) 0x01U)
645 
646 #define FVID2_STD_480I ((uint32_t) 0x02U)
647 
648 #define FVID2_STD_576I ((uint32_t) 0x03U)
649 
650 #define FVID2_STD_CIF ((uint32_t) 0x04U)
651 
652 #define FVID2_STD_HALF_D1 ((uint32_t) 0x05U)
653 
654 #define FVID2_STD_D1 ((uint32_t) 0x06U)
655 
656 #define FVID2_STD_480P ((uint32_t) 0x07U)
657 
658 #define FVID2_STD_576P ((uint32_t) 0x08U)
659 
660 #define FVID2_STD_720P_60 ((uint32_t) 0x09U)
661 
662 #define FVID2_STD_720P_50 ((uint32_t) 0x0AU)
663 
664 #define FVID2_STD_1080I_60 ((uint32_t) 0x0BU)
665 
666 #define FVID2_STD_1080I_50 ((uint32_t) 0x0CU)
667 
668 #define FVID2_STD_1080P_60 ((uint32_t) 0x0DU)
669 
670 #define FVID2_STD_1080P_50 ((uint32_t) 0x0EU)
671 
672 #define FVID2_STD_1080P_24 ((uint32_t) 0x0FU)
673 
674 #define FVID2_STD_1080P_30 ((uint32_t) 0x10U)
675 
676 #define FVID2_STD_VGA_60 ((uint32_t) 0x11U)
677 
678 #define FVID2_STD_VGA_72 ((uint32_t) 0x12U)
679 
680 #define FVID2_STD_VGA_75 ((uint32_t) 0x13U)
681 
682 #define FVID2_STD_VGA_85 ((uint32_t) 0x14U)
683 
684 #define FVID2_STD_WVGA_60 ((uint32_t) 0x15U)
685 
686 #define FVID2_STD_SVGA_60 ((uint32_t) 0x16U)
687 
688 #define FVID2_STD_SVGA_72 ((uint32_t) 0x17U)
689 
690 #define FVID2_STD_SVGA_75 ((uint32_t) 0x18U)
691 
692 #define FVID2_STD_SVGA_85 ((uint32_t) 0x19U)
693 
694 #define FVID2_STD_WSVGA_70 ((uint32_t) 0x1AU)
695 
696 #define FVID2_STD_XGA_60 ((uint32_t) 0x1BU)
697 
698 #define FVID2_STD_XGA_DSS_TDM_60 ((uint32_t) 0x1CU)
699 
700 #define FVID2_STD_XGA_70 ((uint32_t) 0x1DU)
701 
702 #define FVID2_STD_XGA_75 ((uint32_t) 0x1EU)
703 
704 #define FVID2_STD_XGA_85 ((uint32_t) 0x1FU)
705 
706 #define FVID2_STD_1368_768_60 ((uint32_t) 0x20U)
707 
708 #define FVID2_STD_1366_768_60 ((uint32_t) 0x21U)
709 
710 #define FVID2_STD_1360_768_60 ((uint32_t) 0x22U)
711 
712 #define FVID2_STD_WXGA_30 ((uint32_t) 0x23U)
713 
714 #define FVID2_STD_WXGA_60 ((uint32_t) 0x24U)
715 
716 #define FVID2_STD_WXGA_75 ((uint32_t) 0x25U)
717 
718 #define FVID2_STD_WXGA_85 ((uint32_t) 0x26U)
719 
720 #define FVID2_STD_1440_900_60 ((uint32_t) 0x27U)
721 
722 #define FVID2_STD_SXGA_60 ((uint32_t) 0x28U)
723 
724 #define FVID2_STD_SXGA_75 ((uint32_t) 0x29U)
725 
726 #define FVID2_STD_SXGA_85 ((uint32_t) 0x2AU)
727 
728 #define FVID2_STD_WSXGAP_60 ((uint32_t) 0x2BU)
729 
730 #define FVID2_STD_SXGAP_60 ((uint32_t) 0x2CU)
731 
732 #define FVID2_STD_SXGAP_75 ((uint32_t) 0x2DU)
733 
734 #define FVID2_STD_UXGA_60 ((uint32_t) 0x2EU)
735 
736 #define FVID2_STD_MUX_2CH_D1 ((uint32_t) 0x2FU)
737 
738 #define FVID2_STD_MUX_2CH_HALF_D1 ((uint32_t) 0x30U)
739 
740 #define FVID2_STD_MUX_2CH_CIF ((uint32_t) 0x31U)
741 
742 #define FVID2_STD_MUX_4CH_D1 ((uint32_t) 0x32U)
743 
744 #define FVID2_STD_MUX_4CH_CIF ((uint32_t) 0x33U)
745 
746 #define FVID2_STD_MUX_4CH_HALF_D1 ((uint32_t) 0x34U)
747 
748 #define FVID2_STD_MUX_8CH_CIF ((uint32_t) 0x35U)
749 
750 #define FVID2_STD_MUX_8CH_HALF_D1 ((uint32_t) 0x36U)
751 
752 #define FVID2_STD_WXGA_5x3_30 ((uint32_t) 0x37U)
753 
754 #define FVID2_STD_WXGA_5x3_60 ((uint32_t) 0x38U)
755 
756 #define FVID2_STD_WXGA_5x3_75 ((uint32_t) 0x39U)
757 
758 #define FVID2_STD_AUTO_DETECT ((uint32_t) 0x3AU)
759 
763 #define FVID2_STD_CUSTOM ((uint32_t) 0x3BU)
764 /* @} */
765 
772 typedef uint32_t Fvid2_Fid;
774 #define FVID2_FID_TOP ((uint32_t) 0U)
775 
776 #define FVID2_FID_BOTTOM ((uint32_t) 1U)
777 
778 #define FVID2_FID_FRAME ((uint32_t) 2U)
779 
780 #define FVID2_FID_MAX ((uint32_t) 3U)
781 /* @} */
782 
789 typedef uint32_t Fvid2_Polarity;
791 #define FVID2_POL_LOW ((uint32_t) 0U)
792 
793 #define FVID2_POL_HIGH ((uint32_t) 1U)
794 
795 #define FVID2_POL_MAX ((uint32_t) 2U)
796 /* @} */
797 
804 typedef uint32_t Fvid2_EdgePolarity;
806 #define FVID2_EDGE_POL_RISING ((uint32_t) 0U)
807 
808 #define FVID2_EDGE_POL_FALLING ((uint32_t) 1U)
809 
810 #define FVID2_EDGE_POL_MAX ((uint32_t) 2U)
811 /* @} */
812 
819 typedef uint32_t Fvid2_FidPol;
821 #define FVID2_FIDPOL_NORMAL ((uint32_t) 0U)
822 
823 #define FVID2_FIDPOL_INVERT ((uint32_t) 1U)
824 /* @} */
825 
832 typedef uint32_t Fvid2_BufferFormat;
834 #define FVID2_BUF_FMT_FIELD ((uint32_t) 0U)
835 
836 #define FVID2_BUF_FMT_FRAME ((uint32_t) 1U)
837 /* @} */
838 
845 typedef uint32_t Fvid2_ColorCompStorageFmt;
847 #define FVID2_CCSF_BITS1_PACKED ((uint32_t) 0x00U)
848 
849 #define FVID2_CCSF_BITS2_PACKED ((uint32_t) 0x01U)
850 
851 #define FVID2_CCSF_BITS4_PACKED ((uint32_t) 0x02U)
852 
853 #define FVID2_CCSF_BITS8_PACKED ((uint32_t) 0x03U)
854 
855 #define FVID2_CCSF_BITS10_PACKED ((uint32_t) 0x04U)
856 
857 #define FVID2_CCSF_BITS12_PACKED ((uint32_t) 0x05U)
858 
859 #define FVID2_CCSF_BITS14_PACKED ((uint32_t) 0x06U)
860 
861 #define FVID2_CCSF_BITS16_PACKED ((uint32_t) 0x07U)
862 
863 #define FVID2_CCSF_BITS24_PACKED ((uint32_t) 0x08U)
864 
865 #define FVID2_CCSF_BITS32_PACKED ((uint32_t) 0x09U)
866 
867 #define FVID2_CCSF_BITS6_UNPACKED8 ((uint32_t) 0x0AU)
868 
869 #define FVID2_CCSF_BITS7_UNPACKED8 ((uint32_t) 0x0BU)
870 
871 #define FVID2_CCSF_BITS8_UNPACKED12 ((uint32_t) 0x0CU)
872 
873 #define FVID2_CCSF_BITS8_UNPACKED16 ((uint32_t) 0x0DU)
874 
875 #define FVID2_CCSF_BITS9_UNPACKED16 ((uint32_t) 0x0EU)
876 
877 #define FVID2_CCSF_BITS10_UNPACKED16 ((uint32_t) 0x0FU)
878 
879 #define FVID2_CCSF_BITS11_UNPACKED16 ((uint32_t) 0x10U)
880 
881 #define FVID2_CCSF_BITS12_UNPACKED16 ((uint32_t) 0x11U)
882 
883 #define FVID2_CCSF_BITS13_UNPACKED16 ((uint32_t) 0x12U)
884 
885 #define FVID2_CCSF_BITS14_UNPACKED16 ((uint32_t) 0x13U)
886 
887 #define FVID2_CCSF_BITS15_UNPACKED16 ((uint32_t) 0x14U)
888 
889 #define FVID2_CCSF_BITS20_UNPACKED24 ((uint32_t) 0x15U)
890 
891 #define FVID2_CCSF_BITS6_UNPACKED8_MSB_ALIGNED ((uint32_t) 0x16U)
892 
893 #define FVID2_CCSF_BITS7_UNPACKED8_MSB_ALIGNED ((uint32_t) 0x17U)
894 
895 #define FVID2_CCSF_BITS8_UNPACKED12_MSB_ALIGNED ((uint32_t) 0x18U)
896 
897 #define FVID2_CCSF_BITS8_UNPACKED16_MSB_ALIGNED ((uint32_t) 0x19U)
898 
899 #define FVID2_CCSF_BITS9_UNPACKED16_MSB_ALIGNED ((uint32_t) 0x1AU)
900 
901 #define FVID2_CCSF_BITS10_UNPACKED16_MSB_ALIGNED ((uint32_t) 0x1BU)
902 
903 #define FVID2_CCSF_BITS11_UNPACKED16_MSB_ALIGNED ((uint32_t) 0x1CU)
904 
905 #define FVID2_CCSF_BITS12_UNPACKED16_MSB_ALIGNED ((uint32_t) 0x1DU)
906 
907 #define FVID2_CCSF_BITS13_UNPACKED16_MSB_ALIGNED ((uint32_t) 0x1EU)
908 
909 #define FVID2_CCSF_BITS14_UNPACKED16_MSB_ALIGNED ((uint32_t) 0x1FU)
910 
911 #define FVID2_CCSF_BITS15_UNPACKED16_MSB_ALIGNED ((uint32_t) 0x20U)
912 
913 #define FVID2_CCSF_BITS20_UNPACKED24_MSB_ALIGNED ((uint32_t) 0x21U)
914 
915 #define FVID2_CCSF_MAX ((uint32_t) 0x22U)
916 /* @} */
917 
924 typedef uint32_t Fvid2_VideoIfWidth;
926 #define FVID2_VIFW_8BIT ((uint32_t) 0x00U)
927 
928 #define FVID2_VIFW_10BIT ((uint32_t) 0x01U)
929 
930 #define FVID2_VIFW_12BIT ((uint32_t) 0x02U)
931 
932 #define FVID2_VIFW_14BIT ((uint32_t) 0x03U)
933 
934 #define FVID2_VIFW_16BIT ((uint32_t) 0x04U)
935 
936 #define FVID2_VIFW_18BIT ((uint32_t) 0x05U)
937 
938 #define FVID2_VIFW_20BIT ((uint32_t) 0x06U)
939 
940 #define FVID2_VIFW_24BIT ((uint32_t) 0x07U)
941 
942 #define FVID2_VIFW_30BIT ((uint32_t) 0x08U)
943 
944 #define FVID2_VIFW_36BIT ((uint32_t) 0x09U)
945 
946 #define FVID2_VIFW_1LANES ((uint32_t) 0x0AU)
947 
948 #define FVID2_VIFW_2LANES ((uint32_t) 0x0BU)
949 
950 #define FVID2_VIFW_3LANES ((uint32_t) 0x0CU)
951 
952 #define FVID2_VIFW_4LANES ((uint32_t) 0x0DU)
953 
954 #define FVID2_VIFW_MAX ((uint32_t) 0x0EU)
955 /* @} */
956 
965 typedef uint32_t Fvid2_VideoIfMode;
966 #define FVID2_VIFM_SCH_ES (0U)
967 
968 #define FVID2_VIFM_MCH_LINE_MUX_ES (1U)
969 
970 #define FVID2_VIFM_MCH_PIXEL_MUX_ES (2U)
971 
972 #define FVID2_VIFM_SCH_DS_HSYNC_VBLK (3U)
973 
975 #define FVID2_VIFM_SCH_DS_HSYNC_VSYNC (4U)
976 
978 #define FVID2_VIFM_SCH_DS_AVID_VBLK (5U)
979 
981 #define FVID2_VIFM_SCH_DS_AVID_VSYNC (6U)
982 
984 #define FVID2_VIFM_MCH_LINE_MUX_SPLIT_LINE_ES (7U)
985 
986 #define FVID2_VIFM_SCH_CSI2 (8U)
987 
988 #define FVID2_VIFM_SCH_LVDS (9U)
989 
990 #define FVID2_VIFM_SCH_CPI (10U)
991 
992 #define FVID2_VIFM_MAX (11U)
993 
995 /* @} */
996 
1005 typedef uint32_t Fvid2_ChromaPos;
1006 #define FVID2_CHROMA_POS_COSITED (0U)
1007 
1008 #define FVID2_CHROMA_POS_CENTERED (1U)
1009 
1010 /* @} */
1011 
1022 typedef uint32_t Fvid2_BayerColorComp;
1023 #define FVID2_BAYER_COLOR_COMP_R (0U)
1024 
1025 #define FVID2_BAYER_COLOR_COMP_GR (1U)
1026 
1027 #define FVID2_BAYER_COLOR_COMP_GB (2U)
1028 
1029 #define FVID2_BAYER_COLOR_COMP_B (3U)
1030 
1031 #define FVID2_BAYER_COLOR_COMP_MAX (4U)
1032 
1034 /* @} */
1035 
1046 typedef uint32_t Fvid2_FrameStatus;
1047 #define FVID2_FRAME_STATUS_INIT (0U)
1048 
1049 #define FVID2_FRAME_STATUS_COMPLETED (1U)
1050 
1051 #define FVID2_FRAME_STATUS_PENDING (2U)
1052 
1054 #define FVID2_FRAME_STATUS_SUBMITTED (3U)
1055 
1056 #define FVID2_FRAME_STATUS_ERROR (4U)
1057 
1058 #define FVID2_FRAME_STATUS_ABORTED (5U)
1059 
1061 #define FVID2_FRAME_STATUS_OVERFLOW (6U)
1062 
1064 #define FVID2_FRAME_STATUS_ECC_CORRECTED (7U)
1065 
1068 #define FVID2_FRAME_STATUS_CRC_ERROR (8U)
1069 
1072 #define FVID2_FRAME_STATUS_ECC_ERROR (9U)
1073 
1076 #define FVID2_FRAME_STATUS_SUBMISSION_ERROR (10U)
1077 
1078 #define FVID2_FRAME_STATUS_TRUNCATED (11U)
1079 
1080 #define FVID2_FRAME_STATUS_ELONGATED (12U)
1081 
1082 #define FVID2_FRAME_STATUS_MAX (13U)
1083 
1084 /* @} */
1085 
1086 /* ========================================================================== */
1087 /* Structure Declarations */
1088 /* ========================================================================== */
1089 
1096 typedef struct
1097 {
1098  uint32_t chNum;
1101  uint32_t width;
1104  uint32_t height;
1107  uint32_t pitch[FVID2_MAX_PLANES];
1114  uint32_t fieldMerged[FVID2_MAX_PLANES_PER_FIELD];
1121  uint32_t dataFormat;
1124  uint32_t scanFormat;
1127  uint32_t ccsFormat;
1130 } Fvid2_Format;
1131 
1138 typedef struct
1139 {
1140  uint32_t subFrameNum;
1146  uint32_t numInLines;
1151  uint32_t numOutLines;
1155 
1165 typedef struct
1166 {
1204  uint32_t fid;
1207  uint32_t chNum;
1210  uint64_t timeStamp64;
1218  void *appData;
1238  void *drvData;
1247  uint32_t status;
1250 } Fvid2_Frame;
1251 
1262 typedef struct
1263 {
1268  uint32_t numFrames;
1273  void *drvData;
1276  void *appData;
1280  void *perListCfg;
1288 } Fvid2_FrameList;
1289 
1293 typedef struct
1294 {
1295  uint32_t standard;
1298  uint32_t width;
1300  uint32_t height;
1302  uint32_t scanFormat;
1304  uint32_t pixelClock;
1308  uint32_t fps;
1310  uint32_t hFrontPorch;
1313  uint32_t hBackPorch;
1315  uint32_t hSyncLen;
1318  uint32_t vFrontPorch;
1320  uint32_t vBackPorch;
1322  uint32_t vSyncLen;
1324 } Fvid2_ModeInfo;
1325 
1330 typedef struct
1331 {
1332  uint32_t cropStartX;
1334  uint32_t cropStartY;
1336  uint32_t cropWidth;
1338  uint32_t cropHeight;
1341 
1350 typedef struct
1351 {
1352  uint32_t cropTop;
1354  uint32_t cropBottom;
1356  uint32_t cropLeft;
1358  uint32_t cropRight;
1361 
1366 typedef struct
1367 {
1368  uint32_t startX;
1370  uint32_t startY;
1372 } Fvid2_PosConfig;
1373 
1378 typedef struct
1379 {
1380  UInt32 width;
1382  UInt32 height;
1385 
1386 /* ========================================================================== */
1387 /* Function Declarations */
1388 /* ========================================================================== */
1389 
1398 int32_t Fvid2_getModeInfo(Fvid2_ModeInfo *modeInfo);
1399 
1409 const Char *Fvid2_getDataFmtString(uint32_t dataFmt);
1410 
1420 const Char *Fvid2_getStandardString(uint32_t standard);
1421 
1430 static inline int32_t Fvid2_isDataFmtYuv422(uint32_t dataFmt);
1431 
1440 static inline int32_t Fvid2_isDataFmtYuv420(uint32_t dataFmt);
1441 
1450 static inline int32_t Fvid2_isDataFmtYuv420Sp(uint32_t dataFmt);
1451 
1460 static inline int32_t Fvid2_isDataFmtYuv422Sp(uint32_t dataFmt);
1461 
1470 static inline int32_t Fvid2_isDataFmtSemiPlanar(uint32_t dataFmt);
1471 
1480 static inline int32_t Fvid2_isDataFmtYuv422I(uint32_t dataFmt);
1481 
1490 static inline int32_t Fvid2_isDataFmtYuv444(uint32_t dataFmt);
1491 
1500 static inline int32_t Fvid2_isDataFmtYuv(uint32_t dataFmt);
1501 
1510 static inline int32_t Fvid2_isDataFmtBayer(uint32_t dataFmt);
1511 
1520 static inline int32_t Fvid2_isDataFmtRgb16bit(uint32_t dataFmt);
1521 
1530 static inline int32_t Fvid2_isDataFmtRgb(uint32_t dataFmt);
1531 
1540 static inline int32_t Fvid2_isDataFmtRgb24bit(uint32_t dataFmt);
1541 
1550 static inline int32_t Fvid2_isDataFmtRgb32bit(uint32_t dataFmt);
1551 
1560 static inline int32_t Fvid2_isDataFmtRgb64bit(uint32_t dataFmt);
1561 
1573 static inline uint32_t Fvid2_BayerColorIndex(uint32_t dataFmt, uint32_t color);
1574 
1583 static inline int32_t Fvid2_isStandardVesa(uint32_t standard);
1584 
1591 static inline void Fvid2Format_init(Fvid2_Format *fmt);
1592 
1599 static inline void Fvid2SubFrameInfo_init(Fvid2_SubFrameInfo *sfInfo);
1600 
1607 static inline void Fvid2Frame_init(Fvid2_Frame *frm);
1608 
1615 static inline void Fvid2FrameList_init(Fvid2_FrameList *fList);
1616 
1623 static inline void Fvid2ModeInfo_init(Fvid2_ModeInfo *modeInfo);
1624 
1631 static inline void Fvid2CropConfig_init(Fvid2_CropConfig *cropCfg);
1632 
1639 static inline void Fvid2EdgeCropConfig_init(Fvid2_EdgeCropConfig *edgeCropCfg);
1640 
1647 static inline void Fvid2PosConfig_init(Fvid2_PosConfig *posCfg);
1648 
1649 /* ========================================================================== */
1650 /* Static Function Definitions */
1651 /* ========================================================================== */
1652 
1653 static inline int32_t Fvid2_isDataFmtYuv422(uint32_t dataFmt)
1654 {
1655  int32_t retVal = (int32_t) FALSE;
1656 
1657  switch(dataFmt)
1658  {
1659  case FVID2_DF_YUV422I_UYVY:
1660  case FVID2_DF_YUV422I_YUYV:
1661  case FVID2_DF_YUV422I_YVYU:
1662  case FVID2_DF_YUV422I_VYUY:
1663  case FVID2_DF_YUV422SP_UV:
1664  case FVID2_DF_YUV422SP_VU:
1665  case FVID2_DF_YUV422P:
1666  retVal = (int32_t) TRUE;
1667  break;
1668 
1669  default:
1670  retVal = (int32_t) FALSE;
1671  break;
1672  }
1673 
1674  return (retVal);
1675 }
1676 
1677 static inline int32_t Fvid2_isDataFmtYuv420(uint32_t dataFmt)
1678 {
1679  int32_t retVal = (int32_t) FALSE;
1680 
1681  switch(dataFmt)
1682  {
1683  case FVID2_DF_YUV420SP_UV:
1684  case FVID2_DF_YUV420SP_VU:
1685  case FVID2_DF_YUV420P:
1686  retVal = (int32_t) TRUE;
1687  break;
1688 
1689  default:
1690  retVal = (int32_t) FALSE;
1691  break;
1692  }
1693 
1694  return (retVal);
1695 }
1696 
1697 static inline int32_t Fvid2_isDataFmtYuv420Sp(uint32_t dataFmt)
1698 {
1699  int32_t retVal = (int32_t) FALSE;
1700 
1701  switch(dataFmt)
1702  {
1703  case FVID2_DF_YUV420SP_UV:
1704  case FVID2_DF_YUV420SP_VU:
1705  retVal = (int32_t) TRUE;
1706  break;
1707 
1708  default:
1709  retVal = (int32_t) FALSE;
1710  break;
1711  }
1712 
1713  return (retVal);
1714 }
1715 
1716 static inline int32_t Fvid2_isDataFmtYuv422Sp(uint32_t dataFmt)
1717 {
1718  int32_t retVal = (int32_t) FALSE;
1719 
1720  switch(dataFmt)
1721  {
1722  case FVID2_DF_YUV422SP_UV:
1723  case FVID2_DF_YUV422SP_VU:
1724  retVal = (int32_t) TRUE;
1725  break;
1726 
1727  default:
1728  retVal = (int32_t) FALSE;
1729  break;
1730  }
1731 
1732  return (retVal);
1733 }
1734 
1735 static inline int32_t Fvid2_isDataFmtSemiPlanar(uint32_t dataFmt)
1736 {
1737  int32_t retVal = (int32_t) FALSE;
1738 
1739  switch(dataFmt)
1740  {
1741  case FVID2_DF_YUV422SP_UV:
1742  case FVID2_DF_YUV422SP_VU:
1743  case FVID2_DF_YUV420SP_UV:
1744  case FVID2_DF_YUV420SP_VU:
1745  retVal = (int32_t) TRUE;
1746  break;
1747 
1748  default:
1749  retVal = (int32_t) FALSE;
1750  break;
1751  }
1752 
1753  return (retVal);
1754 }
1755 
1756 static inline int32_t Fvid2_isDataFmtYuv422I(uint32_t dataFmt)
1757 {
1758  int32_t retVal = (int32_t) FALSE;
1759 
1760  switch(dataFmt)
1761  {
1762  case FVID2_DF_YUV422I_UYVY:
1763  case FVID2_DF_YUV422I_YUYV:
1764  case FVID2_DF_YUV422I_YVYU:
1765  case FVID2_DF_YUV422I_VYUY:
1766  retVal = (int32_t) TRUE;
1767  break;
1768 
1769  default:
1770  retVal = (int32_t) FALSE;
1771  break;
1772  }
1773 
1774  return (retVal);
1775 }
1776 
1777 static inline int32_t Fvid2_isDataFmtYuv444(uint32_t dataFmt)
1778 {
1779  int32_t retVal = (int32_t) FALSE;
1780 
1781  switch(dataFmt)
1782  {
1783  case FVID2_DF_YUV444P:
1784  case FVID2_DF_YUV444I:
1785  retVal = (int32_t) TRUE;
1786  break;
1787 
1788  default:
1789  retVal = (int32_t) FALSE;
1790  break;
1791  }
1792 
1793  return (retVal);
1794 }
1795 
1796 static inline int32_t Fvid2_isDataFmtBayer(uint32_t dataFmt)
1797 {
1798  int32_t retVal = (int32_t) FALSE;
1799 
1800  switch(dataFmt)
1801  {
1802  case FVID2_DF_BAYER_GBRG:
1803  case FVID2_DF_BAYER_BGGR:
1804  case FVID2_DF_BAYER_RGGB:
1805  case FVID2_DF_BAYER_GRBG:
1806  case FVID2_DF_BAYER_RAW:
1807  retVal = (int32_t) TRUE;
1808  break;
1809 
1810  default:
1811  retVal = (int32_t) FALSE;
1812  break;
1813  }
1814 
1815  return (retVal);
1816 }
1817 
1818 static inline int32_t Fvid2_isDataFmtYuv(uint32_t dataFmt)
1819 {
1820  int32_t retVal = (int32_t) FALSE;
1821 
1822  switch(dataFmt)
1823  {
1824  case FVID2_DF_YUV422I_UYVY:
1825  case FVID2_DF_YUV422I_YUYV:
1826  case FVID2_DF_YUV422I_YVYU:
1827  case FVID2_DF_YUV422I_VYUY:
1828  case FVID2_DF_YUV422SP_UV:
1829  case FVID2_DF_YUV422SP_VU:
1830  case FVID2_DF_YUV422P:
1831  case FVID2_DF_YUV420SP_UV:
1832  case FVID2_DF_YUV420SP_VU:
1833  case FVID2_DF_YUV420P:
1834  case FVID2_DF_YUV444P:
1835  case FVID2_DF_YUV444I:
1836  retVal = (int32_t) TRUE;
1837  break;
1838 
1839  default:
1840  retVal = (int32_t) FALSE;
1841  break;
1842  }
1843 
1844  return (retVal);
1845 }
1846 
1847 static inline int32_t Fvid2_isDataFmtRgb(uint32_t dataFmt)
1848 {
1849  int32_t retVal = (int32_t) FALSE;
1850 
1851  switch(dataFmt)
1852  {
1853  case FVID2_DF_RGB16_565:
1854  case FVID2_DF_RGBA16_5551:
1855  case FVID2_DF_RGBA16_4444:
1856  case FVID2_DF_RGBX16_4444:
1857  case FVID2_DF_RGBA24_6666:
1858  case FVID2_DF_RGB24_888:
1859  case FVID2_DF_RGBA32_8888:
1860  case FVID2_DF_RGBX24_8888:
1863  case FVID2_DF_BGRX_4444:
1864  case FVID2_DF_BGR16_565:
1865  case FVID2_DF_BGRA16_5551:
1866  case FVID2_DF_BGRA16_4444:
1867  case FVID2_DF_BGRX16_5551:
1868  case FVID2_DF_BGR24_888:
1869  case FVID2_DF_BGRX24_8888:
1870  case FVID2_DF_BGRA24_6666:
1871  case FVID2_DF_BGRA32_8888:
1872  case FVID2_DF_BGRX32_8888:
1873  case FVID2_DF_BGRA16_1555:
1874  case FVID2_DF_BGRX16_1555:
1879  case FVID2_DF_XBGR_4444:
1880  case FVID2_DF_XBGR24_8888:
1882  case FVID2_DF_ABGR16_1555:
1883  case FVID2_DF_ABGR16_4444:
1884  case FVID2_DF_ABGR24_6666:
1885  case FVID2_DF_ABGR32_8888:
1887  case FVID2_DF_ARGB16_1555:
1888  case FVID2_DF_ARGB16_4444:
1889  case FVID2_DF_ARGB24_6666:
1890  case FVID2_DF_ARGB32_8888:
1891  case FVID2_DF_XRGB32_8888:
1907  case FVID2_DF_BAYER_RAW:
1908  case FVID2_DF_BAYER_GRBG:
1909  case FVID2_DF_BAYER_RGGB:
1910  case FVID2_DF_BAYER_BGGR:
1911  case FVID2_DF_BAYER_GBRG:
1912  case FVID2_DF_BGR16_565_A8:
1913  case FVID2_DF_RGB16_565_A8:
1916  retVal = (int32_t) TRUE;
1917  break;
1918 
1919  default:
1920  retVal = (int32_t) FALSE;
1921  break;
1922  }
1923 
1924  return (retVal);
1925 }
1926 
1927 static inline int32_t Fvid2_isDataFmtRgb16bit(uint32_t dataFmt)
1928 {
1929  int32_t retVal = (int32_t) FALSE;
1930 
1931  switch(dataFmt)
1932  {
1933  case FVID2_DF_BGRX_4444:
1934  case FVID2_DF_XBGR_4444:
1935  case FVID2_DF_AGBR16_4444:
1936  case FVID2_DF_RGBA16_4444:
1937  case FVID2_DF_RGBX16_4444:
1938  case FVID2_DF_XGBR16_1555:
1939  case FVID2_DF_AGBR16_1555:
1940  case FVID2_DF_BGR16_565:
1941  case FVID2_DF_RGB16_565:
1942  case FVID2_DF_ARGB16_1555:
1943  case FVID2_DF_RGBA16_5551:
1944  case FVID2_DF_ARGB16_4444:
1945  case FVID2_DF_ABGR16_1555:
1946  case FVID2_DF_ABGR16_4444:
1947  case FVID2_DF_BGRA16_5551:
1948  case FVID2_DF_BGRA16_4444:
1949  case FVID2_DF_BGRX16_5551:
1950  case FVID2_DF_BGRA16_1555:
1951  case FVID2_DF_BGRX16_1555:
1952  case FVID2_DF_BGR16_565_A8:
1953  case FVID2_DF_RGB16_565_A8:
1954  /* BGR16_565_A8 and RGB16_565_A8 data formats have 24 bits per pixel
1955  * With 8 bits Alpha in different plane.
1956  * Since this function is used to check pitch, added in RGB16bit */
1957  retVal = (int32_t) TRUE;
1958  break;
1959 
1960  default:
1961  retVal = (int32_t) FALSE;
1962  break;
1963  }
1964 
1965  return (retVal);
1966 }
1967 
1968 static inline int32_t Fvid2_isDataFmtRgb24bit(uint32_t dataFmt)
1969 {
1970  int32_t retVal = (int32_t) FALSE;
1971 
1972  switch(dataFmt)
1973  {
1974  case FVID2_DF_BGR24_888:
1975  case FVID2_DF_RGB24_888:
1976  case FVID2_DF_ABGR24_6666:
1977  case FVID2_DF_BGRA24_6666:
1978  case FVID2_DF_ARGB24_6666:
1979  case FVID2_DF_RGBA24_6666:
1980  retVal = (int32_t) TRUE;
1981  break;
1982 
1983  default:
1984  retVal = (int32_t) FALSE;
1985  break;
1986  }
1987 
1988  return (retVal);
1989 }
1990 
1991 static inline int32_t Fvid2_isDataFmtRgb32bit(uint32_t dataFmt)
1992 {
1993  int32_t retVal = (int32_t) FALSE;
1994 
1995  switch(dataFmt)
1996  {
1997  case FVID2_DF_XBGR24_8888:
1998  case FVID2_DF_RGBX24_8888:
1999  case FVID2_DF_ABGR32_8888:
2000  case FVID2_DF_RGBA32_8888:
2001  case FVID2_DF_BGRX24_8888:
2002  case FVID2_DF_BGRA32_8888:
2003  case FVID2_DF_ARGB32_8888:
2004  case FVID2_DF_BGRX32_8888:
2005  case FVID2_DF_XRGB32_8888:
2010  retVal = (int32_t) TRUE;
2011  break;
2012 
2013  default:
2014  retVal = (int32_t) FALSE;
2015  break;
2016  }
2017 
2018  return (retVal);
2019 }
2020 
2021 static inline int32_t Fvid2_isDataFmtRgb64bit(uint32_t dataFmt)
2022 {
2023  int32_t retVal = (int32_t) FALSE;
2024 
2025  switch(dataFmt)
2026  {
2031  retVal = (int32_t) TRUE;
2032  break;
2033 
2034  default:
2035  retVal = (int32_t) FALSE;
2036  break;
2037  }
2038 
2039  return (retVal);
2040 }
2041 
2042 static inline uint32_t Fvid2_BayerColorIndex(uint32_t dataFmt, uint32_t color)
2043 {
2044  uint32_t dataFmtIndex;
2045 
2046  switch(dataFmt)
2047  {
2048  case FVID2_DF_BAYER_RGGB:
2049  if(FVID2_BAYER_COLOR_COMP_R == color)
2050  {
2051  dataFmtIndex = 0U;
2052  }
2053  else if(FVID2_BAYER_COLOR_COMP_GR == color)
2054  {
2055  dataFmtIndex = 1U;
2056  }
2057  else if(FVID2_BAYER_COLOR_COMP_GB == color)
2058  {
2059  dataFmtIndex = 2U;
2060  }
2061  else
2062  {
2063  dataFmtIndex = 3U;
2064  }
2065  break;
2066  case FVID2_DF_BAYER_GRBG:
2067  if(FVID2_BAYER_COLOR_COMP_R == color)
2068  {
2069  dataFmtIndex = 1U;
2070  }
2071  else if(FVID2_BAYER_COLOR_COMP_GR == color)
2072  {
2073  dataFmtIndex = 0U;
2074  }
2075  else if(FVID2_BAYER_COLOR_COMP_GB == color)
2076  {
2077  dataFmtIndex = 3U;
2078  }
2079  else
2080  {
2081  dataFmtIndex = 2U;
2082  }
2083  break;
2084  case FVID2_DF_BAYER_BGGR:
2085  if(FVID2_BAYER_COLOR_COMP_R == color)
2086  {
2087  dataFmtIndex = 3U;
2088  }
2089  else if(FVID2_BAYER_COLOR_COMP_GR == color)
2090  {
2091  dataFmtIndex = 2U;
2092  }
2093  else if(FVID2_BAYER_COLOR_COMP_GB == color)
2094  {
2095  dataFmtIndex = 1U;
2096  }
2097  else
2098  {
2099  dataFmtIndex = 0U;
2100  }
2101  break;
2102  case FVID2_DF_BAYER_GBRG:
2103  if(FVID2_BAYER_COLOR_COMP_R == color)
2104  {
2105  dataFmtIndex = 2U;
2106  }
2107  else if(FVID2_BAYER_COLOR_COMP_GR == color)
2108  {
2109  dataFmtIndex = 3U;
2110  }
2111  else if(FVID2_BAYER_COLOR_COMP_GB == color)
2112  {
2113  dataFmtIndex = 0U;
2114  }
2115  else
2116  {
2117  dataFmtIndex = 1U;
2118  }
2119  break;
2120  default:
2121  if(FVID2_BAYER_COLOR_COMP_R == color)
2122  {
2123  dataFmtIndex = 0U;
2124  }
2125  else if(FVID2_BAYER_COLOR_COMP_GR == color)
2126  {
2127  dataFmtIndex = 1U;
2128  }
2129  else if(FVID2_BAYER_COLOR_COMP_GB == color)
2130  {
2131  dataFmtIndex = 2U;
2132  }
2133  else
2134  {
2135  dataFmtIndex = 3U;
2136  }
2137  break;
2138  }
2139 
2140  return (dataFmtIndex);
2141 }
2142 
2143 static inline int32_t Fvid2_isStandardVesa(uint32_t standard)
2144 {
2145  int32_t retVal = (int32_t) FALSE;
2146 
2147  switch(standard)
2148  {
2149  case FVID2_STD_VGA_60:
2150  case FVID2_STD_VGA_72:
2151  case FVID2_STD_VGA_75:
2152  case FVID2_STD_VGA_85:
2153  case FVID2_STD_SVGA_60:
2154  case FVID2_STD_SVGA_72:
2155  case FVID2_STD_SVGA_75:
2156  case FVID2_STD_SVGA_85:
2157  case FVID2_STD_WSVGA_70:
2158  case FVID2_STD_XGA_60:
2160  case FVID2_STD_XGA_70:
2161  case FVID2_STD_XGA_75:
2162  case FVID2_STD_XGA_85:
2163  case FVID2_STD_WXGA_60:
2164  case FVID2_STD_WXGA_75:
2165  case FVID2_STD_WXGA_85:
2166  case FVID2_STD_SXGA_60:
2167  case FVID2_STD_SXGA_75:
2168  case FVID2_STD_SXGA_85:
2169  case FVID2_STD_SXGAP_60:
2170  case FVID2_STD_SXGAP_75:
2171  case FVID2_STD_UXGA_60:
2172  retVal = (int32_t) TRUE;
2173  break;
2174 
2175  default:
2176  retVal = (int32_t) FALSE;
2177  break;
2178  }
2179 
2180  return (retVal);
2181 }
2182 
2183 static inline void Fvid2Format_init(Fvid2_Format *fmt)
2184 {
2185  uint32_t i;
2186 
2187  if(NULL != fmt)
2188  {
2189  fmt->chNum = 0U;
2190  fmt->width = 0U;
2191  fmt->height = 0U;
2192  for(i = 0U; i < FVID2_MAX_PLANES; i++)
2193  {
2194  fmt->pitch[i] = 0U;
2195  }
2196  for(i = 0U; i < FVID2_MAX_PLANES_PER_FIELD; i++)
2197  {
2198  fmt->fieldMerged[i] = (uint32_t) FALSE;
2199  }
2203  }
2204 
2205  return;
2206 }
2207 
2208 static inline void Fvid2SubFrameInfo_init(Fvid2_SubFrameInfo *sfInfo)
2209 {
2210  if(NULL != sfInfo)
2211  {
2212  sfInfo->subFrameNum = 0U;
2213  sfInfo->numInLines = 0U;
2214  sfInfo->numOutLines = 0U;
2215  }
2216 
2217  return;
2218 }
2219 
2220 static inline void Fvid2Frame_init(Fvid2_Frame *frm)
2221 {
2222  uint32_t j;
2223 
2224  if(NULL != frm)
2225  {
2226  for(j = 0U; j < FVID2_MAX_PLANES; j++)
2227  {
2228  frm->addr[j] = 0U;
2229  }
2230  frm->chNum = 0U;
2231  frm->timeStamp64 = 0U;
2232  frm->appData = NULL;
2233  frm->perFrameCfg = NULL;
2234  frm->drvData = NULL;
2235  frm->subFrameInfo = NULL;
2237  }
2238 
2239  return;
2240 }
2241 
2242 static inline void Fvid2FrameList_init(Fvid2_FrameList *fList)
2243 {
2244  uint32_t i;
2245 
2246  if(NULL != fList)
2247  {
2248  for(i = 0U; i < FVID2_MAX_FRAME_PTR; i++)
2249  {
2250  fList->frames[i] = NULL;
2251  }
2252  fList->numFrames = 0U;
2253  fList->drvData = NULL;
2254  fList->appData = NULL;
2255  }
2256 
2257  return;
2258 }
2259 
2260 static inline void Fvid2ModeInfo_init(Fvid2_ModeInfo *modeInfo)
2261 {
2262  if(NULL != modeInfo)
2263  {
2264  modeInfo->standard = FVID2_STD_1080P_60;
2265  modeInfo->width = 1920U;
2266  modeInfo->height = 1080U;
2267  modeInfo->scanFormat = FVID2_SF_PROGRESSIVE;
2268  modeInfo->pixelClock = 148500U;
2269  modeInfo->fps = 60U;
2270  modeInfo->hFrontPorch = 88U;
2271  modeInfo->hBackPorch = 148U;
2272  modeInfo->hSyncLen = 44U;
2273  modeInfo->vFrontPorch = 4U;
2274  modeInfo->vBackPorch = 36U;
2275  modeInfo->vSyncLen = 5U;
2276  }
2277 
2278  return;
2279 }
2280 
2281 static inline void Fvid2CropConfig_init(Fvid2_CropConfig *cropCfg)
2282 {
2283  if(NULL != cropCfg)
2284  {
2285  cropCfg->cropStartX = 0U;
2286  cropCfg->cropStartY = 0U;
2287  cropCfg->cropWidth = 0U;
2288  cropCfg->cropHeight = 0U;
2289  }
2290 
2291  return;
2292 }
2293 
2294 static inline void Fvid2EdgeCropConfig_init(Fvid2_EdgeCropConfig *edgeCropCfg)
2295 {
2296  if(NULL != edgeCropCfg)
2297  {
2298  edgeCropCfg->cropTop = 0U;
2299  edgeCropCfg->cropBottom = 0U;
2300  edgeCropCfg->cropLeft = 0U;
2301  edgeCropCfg->cropRight = 0U;
2302  }
2303 
2304  return;
2305 }
2306 
2307 static inline void Fvid2PosConfig_init(Fvid2_PosConfig *posCfg)
2308 {
2309  if(NULL != posCfg)
2310  {
2311  posCfg->startX = 0U;
2312  posCfg->startY = 0U;
2313  }
2314 
2315  return;
2316 }
2317 
2318 #ifdef __cplusplus
2319 }
2320 #endif
2321 
2322 #endif /* #ifndef CSL_FVID2_DATATYPES_H_ */
2323 
2324 /* @} */
#define FVID2_DF_BITMAP1_BGRA32_OFFSET0
BITMAP 1bpp BGRA32 offset 0 in CLUT.
Definition: csl_fvid2_dataTypes.h:468
static void Fvid2FrameList_init(Fvid2_FrameList *fList)
Fvid2_FrameList structure init function.
Definition: csl_fvid2_dataTypes.h:2242
#define FVID2_DF_BGRA32_1010102
BGRA1010102 32-bit - 10-bits B, 10-bits G, 10-bits R, 2-bit Alpha.
Definition: csl_fvid2_dataTypes.h:408
#define FVID2_DF_BGRA16_1555
BGRA1555 16-bit - 5-bits B, 5-bits G, 5-bits R, 1-bit Alpha.
Definition: csl_fvid2_dataTypes.h:404
#define FVID2_DF_AGBR16_1555
ABGR1555 16-bit - 5-bits G, 5-bits B, 5-bits R, 1-bit Alpha .
Definition: csl_fvid2_dataTypes.h:378
uint32_t fieldMerged[FVID2_MAX_PLANES_PER_FIELD]
Definition: csl_fvid2_dataTypes.h:1114
const Char * Fvid2_getDataFmtString(uint32_t dataFmt)
Function to get the name of the data format in printable string.
uint32_t Fvid2_ScanFormat
Definition: csl_fvid2_dataTypes.h:625
uint32_t cropStartX
Definition: csl_fvid2_dataTypes.h:1332
uint32_t scanFormat
Definition: csl_fvid2_dataTypes.h:1302
#define TRUE
Definition: csl_types.h:54
void * drvData
Definition: csl_fvid2_dataTypes.h:1238
#define FVID2_DF_ABGR16_1555
ABGR1555 16-bit - 5-bits B, 5-bits G, 5-bits R, 1-bit Alpha .
Definition: csl_fvid2_dataTypes.h:370
Structure containing size configuration.
Definition: csl_fvid2_dataTypes.h:1378
uint32_t fid
Definition: csl_fvid2_dataTypes.h:1204
#define FVID2_BAYER_COLOR_COMP_GR
Definition: csl_fvid2_dataTypes.h:1025
Fvid2_SubFrameInfo * subFrameInfo
Definition: csl_fvid2_dataTypes.h:1241
#define FVID2_DF_YUV422P
YUV 422 Planar - Y, U and V separate.
Definition: csl_fvid2_dataTypes.h:328
Structure containing position configuration - used in VCOMP and CIG.
Definition: csl_fvid2_dataTypes.h:1366
FVID2 Mode information structure.
Definition: csl_fvid2_dataTypes.h:1293
static int32_t Fvid2_isDataFmtRgb32bit(uint32_t dataFmt)
Function to check whether a data format is RGB 32-bit.
Definition: csl_fvid2_dataTypes.h:1991
static int32_t Fvid2_isDataFmtRgb64bit(uint32_t dataFmt)
Function to check whether a data format is RGB 64 bit.
Definition: csl_fvid2_dataTypes.h:2021
UInt32 height
Definition: csl_fvid2_dataTypes.h:1382
uint32_t Fvid2_Polarity
Definition: csl_fvid2_dataTypes.h:789
#define FVID2_DF_RGBA16_4444
RGBA4444 16-bit - 4-bits R, 4-bits G, 4-bits B, 4-bit Alpha .
Definition: csl_fvid2_dataTypes.h:348
static void Fvid2CropConfig_init(Fvid2_CropConfig *cropCfg)
Fvid2_CropConfig structure init function.
Definition: csl_fvid2_dataTypes.h:2281
uint32_t chNum
Definition: csl_fvid2_dataTypes.h:1207
#define FVID2_DF_BGRA64_16161616
RGBA16161616 64-bit - 16-bits B, 16-bits G, 16-bits R, 16-bit Alpha.
Definition: csl_fvid2_dataTypes.h:416
#define FVID2_DF_YUV422I_YVYU
YUV 422 Interleaved format - YVYU.
Definition: csl_fvid2_dataTypes.h:320
#define FALSE
Definition: csl_types.h:55
#define FVID2_DF_ABGR64_16161616
ABGR16161616 64-bit - 16-bits B, 16-bits G, 16-bits R, 16-bit Alpha.
Definition: csl_fvid2_dataTypes.h:420
static int32_t Fvid2_isDataFmtYuv(uint32_t dataFmt)
Function to check whether a data format is YUV.
Definition: csl_fvid2_dataTypes.h:1818
static int32_t Fvid2_isDataFmtSemiPlanar(uint32_t dataFmt)
Function to check whether a data format is semi-planar.
Definition: csl_fvid2_dataTypes.h:1735
#define FVID2_STD_WXGA_85
1280x800 85FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:718
void * appData
Definition: csl_fvid2_dataTypes.h:1218
uint32_t width
Definition: csl_fvid2_dataTypes.h:1298
#define FVID2_STD_SVGA_75
800x600 75FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:690
#define FVID2_STD_SXGA_75
1280x1024 75FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:724
uint64_t timeStamp64
Definition: csl_fvid2_dataTypes.h:1210
#define FVID2_DF_BAYER_RAW
Bayer pattern.
Definition: csl_fvid2_dataTypes.h:484
#define FVID2_DF_BGRX16_5551
BGRX5551 16-bit - 5-bits B, 5-bits G, 5-bits R, 1-bit unused .
Definition: csl_fvid2_dataTypes.h:384
#define FVID2_BAYER_COLOR_COMP_GB
Definition: csl_fvid2_dataTypes.h:1027
uint32_t cropStartY
Definition: csl_fvid2_dataTypes.h:1334
#define FVID2_DF_YUV422I_VYUY
YUV 422 Interleaved format - VYUY.
Definition: csl_fvid2_dataTypes.h:322
#define FVID2_DF_YUV420SP_VU
YUV 420 Semi-Planar - Y separate, VU interleaved.
Definition: csl_fvid2_dataTypes.h:332
static int32_t Fvid2_isDataFmtRgb(uint32_t dataFmt)
Function to check whether a data format is RGB .
Definition: csl_fvid2_dataTypes.h:1847
static void Fvid2EdgeCropConfig_init(Fvid2_EdgeCropConfig *edgeCropCfg)
Fvid2_EdgeCropConfig structure init function.
Definition: csl_fvid2_dataTypes.h:2294
#define FVID2_DF_BGRA16_5551
BGRA5551 16-bit - 5-bits B, 5-bits G, 5-bits R, 1-bit Alpha .
Definition: csl_fvid2_dataTypes.h:374
uint32_t Fvid2_DVFormat
Definition: csl_fvid2_dataTypes.h:215
static void Fvid2ModeInfo_init(Fvid2_ModeInfo *modeInfo)
Fvid2_ModeInfo structure init function. This defaults to 1080p60.
Definition: csl_fvid2_dataTypes.h:2260
uint32_t subFrameNum
Definition: csl_fvid2_dataTypes.h:1140
#define FVID2_STD_XGA_85
1024x768 85FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:704
#define FVID2_STD_SXGAP_60
1400x1050 60FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:730
uint32_t Fvid2_ColorCompStorageFmt
Definition: csl_fvid2_dataTypes.h:845
#define FVID2_STD_SXGAP_75
1400x1050 75FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:732
uint32_t Fvid2_BufferFormat
Definition: csl_fvid2_dataTypes.h:832
#define FVID2_DF_YUV444I
YUV 444 interleaved - YUVYUV...
Definition: csl_fvid2_dataTypes.h:338
uint32_t Fvid2_FrameStatus
Enum for state of the FVID2 frame. Typically used for marking FVID2_frame as either SUBMITTED,...
Definition: csl_fvid2_dataTypes.h:1046
Structure containing crop configuration - used in Scaler and VCOMP.
Definition: csl_fvid2_dataTypes.h:1330
uint32_t Fvid2_FlipType
Definition: csl_fvid2_dataTypes.h:230
static int32_t Fvid2_isDataFmtYuv420Sp(uint32_t dataFmt)
Function to check whether a data format is YUV420SP.
Definition: csl_fvid2_dataTypes.h:1697
uint32_t dataFormat
Definition: csl_fvid2_dataTypes.h:1121
uint32_t cropRight
Definition: csl_fvid2_dataTypes.h:1358
uint32_t fps
Definition: csl_fvid2_dataTypes.h:1308
uint32_t startY
Definition: csl_fvid2_dataTypes.h:1370
#define FVID2_STD_SVGA_72
800x600 72FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:688
uint32_t Fvid2_VideoIfMode
Video interface mode.
Definition: csl_fvid2_dataTypes.h:965
uint32_t cropHeight
Definition: csl_fvid2_dataTypes.h:1338
FVID2 frame buffer list used to exchange multiple FVID2 frames in a single driver call.
Definition: csl_fvid2_dataTypes.h:1262
static int32_t Fvid2_isDataFmtBayer(uint32_t dataFmt)
Function to check whether a data format is Bayer with MosaicPattern.
Definition: csl_fvid2_dataTypes.h:1796
uint32_t numInLines
Definition: csl_fvid2_dataTypes.h:1146
#define FVID2_DF_ARGB16_1555
ARGB1555 16-bit - 5-bits R, 5-bits G, 5-bits B, 1-bit Alpha .
Definition: csl_fvid2_dataTypes.h:342
uint32_t Fvid2_EdgePolarity
Definition: csl_fvid2_dataTypes.h:804
#define FVID2_DF_AGBR16_4444
ABGR4444 16-bit - 4-bits G, 4-bits B, 4-bits R, 4-bit Alpha .
Definition: csl_fvid2_dataTypes.h:380
FVID2 frame buffer structure.
Definition: csl_fvid2_dataTypes.h:1165
#define FVID2_SF_PROGRESSIVE
Progressive mode.
Definition: csl_fvid2_dataTypes.h:629
static int32_t Fvid2_isDataFmtYuv444(uint32_t dataFmt)
Function to check whether a data format is YUV444 .
Definition: csl_fvid2_dataTypes.h:1777
void * drvData
Definition: csl_fvid2_dataTypes.h:1273
uint32_t cropWidth
Definition: csl_fvid2_dataTypes.h:1336
#define FVID2_DF_BGRX64_16161616
BGRX16161616 64-bit - 16-bits B, 16-bits G, 16-bits R, 16-bit unused.
Definition: csl_fvid2_dataTypes.h:418
Sub-Frame information.
Definition: csl_fvid2_dataTypes.h:1138
#define FVID2_STD_XGA_DSS_TDM_60
1024x768 60FPS VESA standard. Applicable for DSS in 8-bit TDM mode.
Definition: csl_fvid2_dataTypes.h:698
Structure containing edge crop configuration - used in DSS.
Definition: csl_fvid2_dataTypes.h:1350
uint32_t Fvid2_BayerColorComp
Enum for selecting bayer color components for odd/even pixel position on odd/even lines,...
Definition: csl_fvid2_dataTypes.h:1022
uint32_t height
Definition: csl_fvid2_dataTypes.h:1104
#define FVID2_DF_BITMAP2_BGRA32_OFFSET2
BITMAP 2bpp BGRA32 offset 2 in CLUT.
Definition: csl_fvid2_dataTypes.h:464
void * perListCfg
Definition: csl_fvid2_dataTypes.h:1280
uint32_t pixelClock
Definition: csl_fvid2_dataTypes.h:1304
int32_t Fvid2_getModeInfo(Fvid2_ModeInfo *modeInfo)
Function to get the information about various FVID2 modes/standards.
#define FVID2_DF_BGRA24_6666
BGRA6666 24-bit - 6-bits B, 6-bits G, 6-bits R, 6-bit Alpha .
Definition: csl_fvid2_dataTypes.h:398
uint32_t cropBottom
Definition: csl_fvid2_dataTypes.h:1354
uint32_t chNum
Definition: csl_fvid2_dataTypes.h:1098
#define FVID2_DF_RGBA24_6666
RGBA6666 24-bit - 6-bits R, 6-bits G, 6-bits B, 6-bit Alpha .
Definition: csl_fvid2_dataTypes.h:354
#define FVID2_DF_RGBA32_8888
RGBA32 32-bit - 8-bits R, 8-bits G, 8-bits B, 8-bit Alpha .
Definition: csl_fvid2_dataTypes.h:366
#define FVID2_DF_BGRX32_1010102
BGRX1010102 32-bit - 10-bits B, 10-bits G, 10-bits R, 2-bit unused.
Definition: csl_fvid2_dataTypes.h:410
#define FVID2_STD_VGA_85
640x480 85FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:682
static int32_t Fvid2_isDataFmtYuv422Sp(uint32_t dataFmt)
Function to check whether a data format is YUV422SP.
Definition: csl_fvid2_dataTypes.h:1716
uint32_t status
Definition: csl_fvid2_dataTypes.h:1247
uint32_t standard
Definition: csl_fvid2_dataTypes.h:1295
#define FVID2_DF_BGR16_565
BGR565 16-bit - 5-bits B, 6-bits G, 5-bits R.
Definition: csl_fvid2_dataTypes.h:368
#define FVID2_DF_ARGB24_6666
ARGB6666 24-bit - 6-bits R, 6-bits G, 6-bits B, 6-bit Alpha .
Definition: csl_fvid2_dataTypes.h:352
uint32_t startX
Definition: csl_fvid2_dataTypes.h:1368
#define FVID2_DF_BITMAP1_BGRA32_OFFSET2
BITMAP 1bpp BGRA32 offset 2 in CLUT.
Definition: csl_fvid2_dataTypes.h:472
#define FVID2_DF_ABGR32_8888
ABGR8888 32-bit - 8-bits B, 8-bits G, 8-bits R, 8-bit Alpha .
Definition: csl_fvid2_dataTypes.h:396
#define FVID2_DF_XBGR64_16161616
XBGR16161616 64-bit - 16-bits B, 16-bits G, 16-bits R, 16-bit unused.
Definition: csl_fvid2_dataTypes.h:422
static uint32_t Fvid2_BayerColorIndex(uint32_t dataFmt, uint32_t color)
Function to get the index of the color for bayer data format.
Definition: csl_fvid2_dataTypes.h:2042
uint32_t Fvid2_ChromaPos
Enum for selecting chroma position in chroma up or down sampler.
Definition: csl_fvid2_dataTypes.h:1005
Fvid2_Frame * frames[FVID2_MAX_FRAME_PTR]
Definition: csl_fvid2_dataTypes.h:1264
#define FVID2_DF_BGR16_565_A8
BGR565 16-bit - 5-bits B, 6-bits G, 5-bits R. Alpha 8-bits another plane.
Definition: csl_fvid2_dataTypes.h:564
#define FVID2_DF_BITMAP4_BGRA32_UPPER
BITMAP 4bpp BGRA32 upper address in CLUT.
Definition: csl_fvid2_dataTypes.h:458
static int32_t Fvid2_isDataFmtRgb16bit(uint32_t dataFmt)
Function to check whether a data format is RGB 16-bit.
Definition: csl_fvid2_dataTypes.h:1927
#define FVID2_DF_YUV422I_UYVY
YUV 422 Interleaved format - UYVY.
Definition: csl_fvid2_dataTypes.h:316
#define FVID2_DF_BAYER_GRBG
Raw bayer data color pattern G R G R ... B G B G ...
Definition: csl_fvid2_dataTypes.h:489
#define FVID2_DF_BGRX16_1555
BGRX1555 16-bit - 5-bits B, 5-bits G, 5-bits R, 1-bit unused.
Definition: csl_fvid2_dataTypes.h:406
uint32_t hFrontPorch
Definition: csl_fvid2_dataTypes.h:1310
static void Fvid2SubFrameInfo_init(Fvid2_SubFrameInfo *sfInfo)
Fvid2_SubFrameInfo structure init function.
Definition: csl_fvid2_dataTypes.h:2208
#define FVID2_DF_BITMAP2_BGRA32_OFFSET1
BITMAP 2bpp BGRA32 offset 1 in CLUT.
Definition: csl_fvid2_dataTypes.h:462
#define NULL
Define NULL if not defined.
Definition: csl_types.h:107
#define FVID2_DF_YUV444P
YUV 444 Planar - Y, U and V separate.
Definition: csl_fvid2_dataTypes.h:336
#define FVID2_STD_WSVGA_70
1024x600 70FPS standard.
Definition: csl_fvid2_dataTypes.h:694
#define FVID2_DF_BITMAP1_BGRA32_OFFSET7
BITMAP 1bpp BGRA32 offset 7 in CLUT.
Definition: csl_fvid2_dataTypes.h:482
uint32_t pitch[FVID2_MAX_PLANES]
Definition: csl_fvid2_dataTypes.h:1107
uint64_t addr
Definition: csl_udmap_tr.h:216
uint32_t vSyncLen
Definition: csl_fvid2_dataTypes.h:1322
#define FVID2_DF_ABGR16_4444
ABGR4444 16-bit - 4-bits B, 4-bits G, 4-bits R, 4-bit Alpha .
Definition: csl_fvid2_dataTypes.h:372
#define FVID2_DF_BGRX24_8888
xBGR888 24-bit - 8-bits B, 8-bits G, 8-bits R, 8-bit unused
Definition: csl_fvid2_dataTypes.h:394
#define FVID2_FRAME_STATUS_INIT
Definition: csl_fvid2_dataTypes.h:1047
#define FVID2_DF_BAYER_GBRG
Raw bayer data color pattern G B G B ... R R R G ...
Definition: csl_fvid2_dataTypes.h:504
#define FVID2_MAX_PLANES_PER_FIELD
This macro determines the maximum number of planes/address used to represent a video buffer per field...
Definition: csl_fvid2_dataTypes.h:152
#define FVID2_DF_BGRX_4444
RGBx12-16bit- 4-bits R, 4-bits G, 4-bits B, 4-bits unused .
Definition: csl_fvid2_dataTypes.h:358
#define FVID2_DF_BITMAP1_BGRA32_OFFSET5
BITMAP 1bpp BGRA32 offset 5 in CLUT.
Definition: csl_fvid2_dataTypes.h:478
uint32_t cropTop
Definition: csl_fvid2_dataTypes.h:1352
#define FVID2_STD_UXGA_60
1600x1200 60FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:734
void * appData
Definition: csl_fvid2_dataTypes.h:1276
uint64_t addr[FVID2_MAX_PLANES]
Definition: csl_fvid2_dataTypes.h:1167
#define FVID2_STD_SVGA_60
800x600 60FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:686
uint32_t Fvid2_DataFormat
Definition: csl_fvid2_dataTypes.h:314
#define FVID2_STD_VGA_72
640x480 72FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:678
#define FVID2_DF_XBGR24_8888
xBGR888 24-bit - 8-bits B, 8-bits G, 8-bits R, 8-bit unused
Definition: csl_fvid2_dataTypes.h:390
#define FVID2_DF_BGRA16_4444
BGRA4444 16-bit - 4-bits B, 4-bits G, 4-bits R, 4-bit Alpha .
Definition: csl_fvid2_dataTypes.h:376
uint32_t Fvid2_FidPol
Definition: csl_fvid2_dataTypes.h:819
UInt32 width
Definition: csl_fvid2_dataTypes.h:1380
#define FVID2_STD_SVGA_85
800x600 85FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:692
#define FVID2_DF_RGB16_565
RGB565 16-bit - 5-bits R, 6-bits G, 5-bits B.
Definition: csl_fvid2_dataTypes.h:340
#define FVID2_STD_SXGA_60
1280x1024 60FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:722
static int32_t Fvid2_isDataFmtYuv422I(uint32_t dataFmt)
Function to check whether a data format is YUV422 interleaved.
Definition: csl_fvid2_dataTypes.h:1756
FVID2 video buffer format specification.
Definition: csl_fvid2_dataTypes.h:1096
#define FVID2_STD_SXGA_85
1280x1024 85FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:726
#define FVID2_DF_RGB24_888
RGB24 24-bit - 8-bits R, 8-bits G, 8-bits B.
Definition: csl_fvid2_dataTypes.h:356
#define FVID2_DF_RGBX16_4444
RGBX4444 16-bit - 4-bits R, 4-bits G, 4-bits B, 4-bit Unused .
Definition: csl_fvid2_dataTypes.h:350
#define FVID2_STD_XGA_60
1024x768 60FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:696
uint32_t hBackPorch
Definition: csl_fvid2_dataTypes.h:1313
uint32_t Fvid2_Fid
Definition: csl_fvid2_dataTypes.h:772
const Char * Fvid2_getStandardString(uint32_t standard)
Function to get the name of the standard in printable string.
#define FVID2_DF_BITMAP2_BGRA32_OFFSET3
BITMAP 2bpp BGRA32 offset 3 in CLUT.
Definition: csl_fvid2_dataTypes.h:466
#define FVID2_DF_BITMAP1_BGRA32_OFFSET4
BITMAP 1bpp BGRA32 offset 4 in CLUT.
Definition: csl_fvid2_dataTypes.h:476
#define FVID2_MAX_FRAME_PTR
This macro determines the maximum number of FVID2 frame pointers that can be passed per frame list.
Definition: csl_fvid2_dataTypes.h:138
uint32_t width
Definition: csl_fvid2_dataTypes.h:1101
uint32_t vFrontPorch
Definition: csl_fvid2_dataTypes.h:1318
#define FVID2_DF_YUV420P
YUV 420 Planar - Y, U and V separate.
Definition: csl_fvid2_dataTypes.h:334
#define FVID2_STD_VGA_75
640x480 75FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:680
uint32_t numOutLines
Definition: csl_fvid2_dataTypes.h:1151
#define FVID2_DF_BITMAP4_BGRA32_LOWER
BITMAP 4bpp BGRA32 lower address in CLUT.
Definition: csl_fvid2_dataTypes.h:456
static int32_t Fvid2_isDataFmtYuv420(uint32_t dataFmt)
Function to check whether a data format is YUV420.
Definition: csl_fvid2_dataTypes.h:1677
uint32_t Fvid2_Standard
Definition: csl_fvid2_dataTypes.h:640
static int32_t Fvid2_isStandardVesa(uint32_t standard)
Function to check whether a standard is VESA mode or not.
Definition: csl_fvid2_dataTypes.h:2143
#define FVID2_STD_WXGA_75
1280x800 75FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:716
#define FVID2_DF_BGRX32_8888
BGRX8888 32-bit - 8-bits B, 8-bits G, 8-bits R, 8-bit unused.
Definition: csl_fvid2_dataTypes.h:402
static int32_t Fvid2_isDataFmtYuv422(uint32_t dataFmt)
Function to check whether a data format is YUV422.
Definition: csl_fvid2_dataTypes.h:1653
#define FVID2_STD_VGA_60
640x480 60FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:676
#define FVID2_BAYER_COLOR_COMP_R
Definition: csl_fvid2_dataTypes.h:1023
#define FVID2_DF_RGB16_565_A8
RGB565 16-bit - 5-bits R, 6-bits G, 5-bits B. Alpha 8-bits another plane.
Definition: csl_fvid2_dataTypes.h:568
#define FVID2_DF_BITMAP1_BGRA32_OFFSET1
BITMAP 1bpp BGRA32 offset 1 in CLUT.
Definition: csl_fvid2_dataTypes.h:470
#define FVID2_DF_RGBX32_1010102
RGBX1010102 32-bit - 10-bits B, 10-bits G, 10-bits R, 2-bit unused.
Definition: csl_fvid2_dataTypes.h:414
#define FVID2_DF_RGBA32_1010102
RGBA1010102 32-bit - 10-bits B, 10-bits G, 10-bits R, 2-bit Alpha.
Definition: csl_fvid2_dataTypes.h:412
#define FVID2_DF_YUV422SP_VU
YUV 422 Semi-Planar - Y separate, VU interleaved.
Definition: csl_fvid2_dataTypes.h:326
#define FVID2_DF_XGBR16_1555
XGBR1555 16-bit - 5-bits G, 5-bits B, 5-bits R, 1-bit unused .
Definition: csl_fvid2_dataTypes.h:382
#define FVID2_DF_ABGR24_6666
ABGR6666 24-bit - 6-bits B, 6-bits G, 6-bits R, 6-bit Alpha .
Definition: csl_fvid2_dataTypes.h:386
#define FVID2_DF_BITMAP2_BGRA32_OFFSET0
BITMAP 2bpp BGRA32 offset 0 in CLUT.
Definition: csl_fvid2_dataTypes.h:460
static void Fvid2Frame_init(Fvid2_Frame *frm)
Fvid2_Frame structure init function.
Definition: csl_fvid2_dataTypes.h:2220
#define FVID2_DF_BITMAP1_BGRA32_OFFSET6
BITMAP 1bpp BGRA32 offset 6 in CLUT.
Definition: csl_fvid2_dataTypes.h:480
#define FVID2_DF_RGBX24_8888
xBGR888 24-bit - 8-bits B, 8-bits G, 8-bits R, 8-bit unused
Definition: csl_fvid2_dataTypes.h:392
static void Fvid2Format_init(Fvid2_Format *fmt)
Fvid2_Format structure init function.
Definition: csl_fvid2_dataTypes.h:2183
#define FVID2_DF_BAYER_RGGB
Raw bayer data color pattern R G G R ... G B G B ...
Definition: csl_fvid2_dataTypes.h:494
uint32_t cropLeft
Definition: csl_fvid2_dataTypes.h:1356
#define FVID2_CCSF_BITS8_PACKED
8 Bits per Pixel packed.
Definition: csl_fvid2_dataTypes.h:853
#define FVID2_DF_XBGR_4444
xRGB12-16bit- 4-bits R, 4-bits G, 4-bits B, 4-bits unused.
Definition: csl_fvid2_dataTypes.h:360
#define FVID2_STD_WXGA_60
1280x800 60FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:714
#define FVID2_DF_BITMAP1_BGRA32_OFFSET3
BITMAP 1bpp BGRA32 offset 3 in CLUT.
Definition: csl_fvid2_dataTypes.h:474
#define FVID2_MAX_PLANES
This macro determines the maximum number of planes/address used to represent a video buffer....
Definition: csl_fvid2_dataTypes.h:160
uint32_t hSyncLen
Definition: csl_fvid2_dataTypes.h:1315
static void Fvid2PosConfig_init(Fvid2_PosConfig *posCfg)
Fvid2_PosConfig structure init function.
Definition: csl_fvid2_dataTypes.h:2307
uint32_t scanFormat
Definition: csl_fvid2_dataTypes.h:1124
#define FVID2_DF_BAYER_BGGR
Raw bayer data color pattern B G B G ... G B G B ...
Definition: csl_fvid2_dataTypes.h:499
uint32_t numFrames
Definition: csl_fvid2_dataTypes.h:1268
#define FVID2_DF_YUV420SP_UV
YUV 420 Semi-Planar - Y separate, UV interleaved.
Definition: csl_fvid2_dataTypes.h:330
#define FVID2_DF_RGB24_888_PLANAR
RGB888 planar format data format.
Definition: csl_fvid2_dataTypes.h:574
#define FVID2_DF_BGR24_888
BGR888 24-bit - 8-bits B, 8-bits G, 8-bits R.
Definition: csl_fvid2_dataTypes.h:388
#define FVID2_DF_YUV422I_YUYV
YUV 422 Interleaved format - YUYV.
Definition: csl_fvid2_dataTypes.h:318
#define FVID2_DF_ARGB32_8888
ARGB32 32-bit - 8-bits R, 8-bits G, 8-bits B, 8-bit Alpha .
Definition: csl_fvid2_dataTypes.h:362
#define FVID2_STD_1080P_60
1920x1080 60FPS progressive HD standard.
Definition: csl_fvid2_dataTypes.h:668
uint32_t Fvid2_VideoIfWidth
Definition: csl_fvid2_dataTypes.h:924
#define FVID2_DF_BITMAP8_BGRA32
BITMAP 8bpp BGRA32.
Definition: csl_fvid2_dataTypes.h:454
#define FVID2_DF_RGBA16_5551
RGBA5551 16-bit - 5-bits R, 5-bits G, 5-bits B, 1-bit Alpha .
Definition: csl_fvid2_dataTypes.h:344
uint32_t ccsFormat
Definition: csl_fvid2_dataTypes.h:1127
static int32_t Fvid2_isDataFmtRgb24bit(uint32_t dataFmt)
Function to check whether a data format is RGB 24-bit.
Definition: csl_fvid2_dataTypes.h:1968
#define FVID2_STD_XGA_70
1024x768 72FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:700
void * perFrameCfg
Definition: csl_fvid2_dataTypes.h:1222
#define FVID2_DF_XRGB32_8888
XRGB32 32-bit - 8-bits R, 8-bits G, 8-bits B, 8-bit unused .
Definition: csl_fvid2_dataTypes.h:364
uint32_t vBackPorch
Definition: csl_fvid2_dataTypes.h:1320
uint32_t height
Definition: csl_fvid2_dataTypes.h:1300
#define FVID2_DF_YUV422SP_UV
YUV 422 Semi-Planar - Y separate, UV interleaved.
Definition: csl_fvid2_dataTypes.h:324
#define FVID2_DF_ARGB16_4444
ARGB4444 16-bit - 4-bits R, 4-bits G, 4-bits B, 4-bit Alpha .
Definition: csl_fvid2_dataTypes.h:346
#define FVID2_DF_BGRA32_8888
BGRA8888 32-bit - 8-bits B, 8-bits G, 8-bits R, 8-bit Alpha .
Definition: csl_fvid2_dataTypes.h:400
#define FVID2_STD_XGA_75
1024x768 75FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:702
#define FVID2_DF_ARGB48_12121212
ARGB48 48-bit - 12-bits R, 12-bits G, 12-bits B, 12-bit Alpha .
Definition: csl_fvid2_dataTypes.h:576