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_INVALID ((uint32_t) 0x00FFU)
596 /* @} */
597 
604 typedef uint32_t Fvid2_ScanFormat;
606 #define FVID2_SF_INTERLACED ((uint32_t) 0x00U)
607 
608 #define FVID2_SF_PROGRESSIVE ((uint32_t) 0x01U)
609 
610 #define FVID2_SF_MAX ((uint32_t) 0x02U)
611 /* @} */
612 
619 typedef uint32_t Fvid2_Standard;
621 #define FVID2_STD_NTSC ((uint32_t) 0x00U)
622 
623 #define FVID2_STD_PAL ((uint32_t) 0x01U)
624 
625 #define FVID2_STD_480I ((uint32_t) 0x02U)
626 
627 #define FVID2_STD_576I ((uint32_t) 0x03U)
628 
629 #define FVID2_STD_CIF ((uint32_t) 0x04U)
630 
631 #define FVID2_STD_HALF_D1 ((uint32_t) 0x05U)
632 
633 #define FVID2_STD_D1 ((uint32_t) 0x06U)
634 
635 #define FVID2_STD_480P ((uint32_t) 0x07U)
636 
637 #define FVID2_STD_576P ((uint32_t) 0x08U)
638 
639 #define FVID2_STD_720P_60 ((uint32_t) 0x09U)
640 
641 #define FVID2_STD_720P_50 ((uint32_t) 0x0AU)
642 
643 #define FVID2_STD_1080I_60 ((uint32_t) 0x0BU)
644 
645 #define FVID2_STD_1080I_50 ((uint32_t) 0x0CU)
646 
647 #define FVID2_STD_1080P_60 ((uint32_t) 0x0DU)
648 
649 #define FVID2_STD_1080P_50 ((uint32_t) 0x0EU)
650 
651 #define FVID2_STD_1080P_24 ((uint32_t) 0x0FU)
652 
653 #define FVID2_STD_1080P_30 ((uint32_t) 0x10U)
654 
655 #define FVID2_STD_VGA_60 ((uint32_t) 0x11U)
656 
657 #define FVID2_STD_VGA_72 ((uint32_t) 0x12U)
658 
659 #define FVID2_STD_VGA_75 ((uint32_t) 0x13U)
660 
661 #define FVID2_STD_VGA_85 ((uint32_t) 0x14U)
662 
663 #define FVID2_STD_WVGA_60 ((uint32_t) 0x15U)
664 
665 #define FVID2_STD_SVGA_60 ((uint32_t) 0x16U)
666 
667 #define FVID2_STD_SVGA_72 ((uint32_t) 0x17U)
668 
669 #define FVID2_STD_SVGA_75 ((uint32_t) 0x18U)
670 
671 #define FVID2_STD_SVGA_85 ((uint32_t) 0x19U)
672 
673 #define FVID2_STD_WSVGA_70 ((uint32_t) 0x1AU)
674 
675 #define FVID2_STD_XGA_60 ((uint32_t) 0x1BU)
676 
677 #define FVID2_STD_XGA_DSS_TDM_60 ((uint32_t) 0x1CU)
678 
679 #define FVID2_STD_XGA_70 ((uint32_t) 0x1DU)
680 
681 #define FVID2_STD_XGA_75 ((uint32_t) 0x1EU)
682 
683 #define FVID2_STD_XGA_85 ((uint32_t) 0x1FU)
684 
685 #define FVID2_STD_1368_768_60 ((uint32_t) 0x20U)
686 
687 #define FVID2_STD_1366_768_60 ((uint32_t) 0x21U)
688 
689 #define FVID2_STD_1360_768_60 ((uint32_t) 0x22U)
690 
691 #define FVID2_STD_WXGA_30 ((uint32_t) 0x23U)
692 
693 #define FVID2_STD_WXGA_60 ((uint32_t) 0x24U)
694 
695 #define FVID2_STD_WXGA_75 ((uint32_t) 0x25U)
696 
697 #define FVID2_STD_WXGA_85 ((uint32_t) 0x26U)
698 
699 #define FVID2_STD_1440_900_60 ((uint32_t) 0x27U)
700 
701 #define FVID2_STD_SXGA_60 ((uint32_t) 0x28U)
702 
703 #define FVID2_STD_SXGA_75 ((uint32_t) 0x29U)
704 
705 #define FVID2_STD_SXGA_85 ((uint32_t) 0x2AU)
706 
707 #define FVID2_STD_WSXGAP_60 ((uint32_t) 0x2BU)
708 
709 #define FVID2_STD_SXGAP_60 ((uint32_t) 0x2CU)
710 
711 #define FVID2_STD_SXGAP_75 ((uint32_t) 0x2DU)
712 
713 #define FVID2_STD_UXGA_60 ((uint32_t) 0x2EU)
714 
715 #define FVID2_STD_MUX_2CH_D1 ((uint32_t) 0x2FU)
716 
717 #define FVID2_STD_MUX_2CH_HALF_D1 ((uint32_t) 0x30U)
718 
719 #define FVID2_STD_MUX_2CH_CIF ((uint32_t) 0x31U)
720 
721 #define FVID2_STD_MUX_4CH_D1 ((uint32_t) 0x32U)
722 
723 #define FVID2_STD_MUX_4CH_CIF ((uint32_t) 0x33U)
724 
725 #define FVID2_STD_MUX_4CH_HALF_D1 ((uint32_t) 0x34U)
726 
727 #define FVID2_STD_MUX_8CH_CIF ((uint32_t) 0x35U)
728 
729 #define FVID2_STD_MUX_8CH_HALF_D1 ((uint32_t) 0x36U)
730 
731 #define FVID2_STD_WXGA_5x3_30 ((uint32_t) 0x37U)
732 
733 #define FVID2_STD_WXGA_5x3_60 ((uint32_t) 0x38U)
734 
735 #define FVID2_STD_WXGA_5x3_75 ((uint32_t) 0x39U)
736 
737 #define FVID2_STD_AUTO_DETECT ((uint32_t) 0x3AU)
738 
742 #define FVID2_STD_CUSTOM ((uint32_t) 0x3BU)
743 /* @} */
744 
751 typedef uint32_t Fvid2_Fid;
753 #define FVID2_FID_TOP ((uint32_t) 0U)
754 
755 #define FVID2_FID_BOTTOM ((uint32_t) 1U)
756 
757 #define FVID2_FID_FRAME ((uint32_t) 2U)
758 
759 #define FVID2_FID_MAX ((uint32_t) 3U)
760 /* @} */
761 
768 typedef uint32_t Fvid2_Polarity;
770 #define FVID2_POL_LOW ((uint32_t) 0U)
771 
772 #define FVID2_POL_HIGH ((uint32_t) 1U)
773 
774 #define FVID2_POL_MAX ((uint32_t) 2U)
775 /* @} */
776 
783 typedef uint32_t Fvid2_EdgePolarity;
785 #define FVID2_EDGE_POL_RISING ((uint32_t) 0U)
786 
787 #define FVID2_EDGE_POL_FALLING ((uint32_t) 1U)
788 
789 #define FVID2_EDGE_POL_MAX ((uint32_t) 2U)
790 /* @} */
791 
798 typedef uint32_t Fvid2_FidPol;
800 #define FVID2_FIDPOL_NORMAL ((uint32_t) 0U)
801 
802 #define FVID2_FIDPOL_INVERT ((uint32_t) 1U)
803 /* @} */
804 
811 typedef uint32_t Fvid2_BufferFormat;
813 #define FVID2_BUF_FMT_FIELD ((uint32_t) 0U)
814 
815 #define FVID2_BUF_FMT_FRAME ((uint32_t) 1U)
816 /* @} */
817 
824 typedef uint32_t Fvid2_ColorCompStorageFmt;
826 #define FVID2_CCSF_BITS1_PACKED ((uint32_t) 0x00U)
827 
828 #define FVID2_CCSF_BITS2_PACKED ((uint32_t) 0x01U)
829 
830 #define FVID2_CCSF_BITS4_PACKED ((uint32_t) 0x02U)
831 
832 #define FVID2_CCSF_BITS8_PACKED ((uint32_t) 0x03U)
833 
834 #define FVID2_CCSF_BITS10_PACKED ((uint32_t) 0x04U)
835 
836 #define FVID2_CCSF_BITS12_PACKED ((uint32_t) 0x05U)
837 
838 #define FVID2_CCSF_BITS14_PACKED ((uint32_t) 0x06U)
839 
840 #define FVID2_CCSF_BITS16_PACKED ((uint32_t) 0x07U)
841 
842 #define FVID2_CCSF_BITS24_PACKED ((uint32_t) 0x08U)
843 
844 #define FVID2_CCSF_BITS32_PACKED ((uint32_t) 0x09U)
845 
846 #define FVID2_CCSF_BITS6_UNPACKED8 ((uint32_t) 0x0AU)
847 
848 #define FVID2_CCSF_BITS7_UNPACKED8 ((uint32_t) 0x0BU)
849 
850 #define FVID2_CCSF_BITS8_UNPACKED12 ((uint32_t) 0x0CU)
851 
852 #define FVID2_CCSF_BITS8_UNPACKED16 ((uint32_t) 0x0DU)
853 
854 #define FVID2_CCSF_BITS9_UNPACKED16 ((uint32_t) 0x0EU)
855 
856 #define FVID2_CCSF_BITS10_UNPACKED16 ((uint32_t) 0x0FU)
857 
858 #define FVID2_CCSF_BITS11_UNPACKED16 ((uint32_t) 0x10U)
859 
860 #define FVID2_CCSF_BITS12_UNPACKED16 ((uint32_t) 0x11U)
861 
862 #define FVID2_CCSF_BITS13_UNPACKED16 ((uint32_t) 0x12U)
863 
864 #define FVID2_CCSF_BITS14_UNPACKED16 ((uint32_t) 0x13U)
865 
866 #define FVID2_CCSF_BITS15_UNPACKED16 ((uint32_t) 0x14U)
867 
868 #define FVID2_CCSF_BITS20_UNPACKED24 ((uint32_t) 0x15U)
869 
870 #define FVID2_CCSF_BITS6_UNPACKED8_MSB_ALIGNED ((uint32_t) 0x16U)
871 
872 #define FVID2_CCSF_BITS7_UNPACKED8_MSB_ALIGNED ((uint32_t) 0x17U)
873 
874 #define FVID2_CCSF_BITS8_UNPACKED12_MSB_ALIGNED ((uint32_t) 0x18U)
875 
876 #define FVID2_CCSF_BITS8_UNPACKED16_MSB_ALIGNED ((uint32_t) 0x19U)
877 
878 #define FVID2_CCSF_BITS9_UNPACKED16_MSB_ALIGNED ((uint32_t) 0x1AU)
879 
880 #define FVID2_CCSF_BITS10_UNPACKED16_MSB_ALIGNED ((uint32_t) 0x1BU)
881 
882 #define FVID2_CCSF_BITS11_UNPACKED16_MSB_ALIGNED ((uint32_t) 0x1CU)
883 
884 #define FVID2_CCSF_BITS12_UNPACKED16_MSB_ALIGNED ((uint32_t) 0x1DU)
885 
886 #define FVID2_CCSF_BITS13_UNPACKED16_MSB_ALIGNED ((uint32_t) 0x1EU)
887 
888 #define FVID2_CCSF_BITS14_UNPACKED16_MSB_ALIGNED ((uint32_t) 0x1FU)
889 
890 #define FVID2_CCSF_BITS15_UNPACKED16_MSB_ALIGNED ((uint32_t) 0x20U)
891 
892 #define FVID2_CCSF_BITS20_UNPACKED24_MSB_ALIGNED ((uint32_t) 0x21U)
893 
894 #define FVID2_CCSF_MAX ((uint32_t) 0x22U)
895 /* @} */
896 
903 typedef uint32_t Fvid2_VideoIfWidth;
905 #define FVID2_VIFW_8BIT ((uint32_t) 0x00U)
906 
907 #define FVID2_VIFW_10BIT ((uint32_t) 0x01U)
908 
909 #define FVID2_VIFW_12BIT ((uint32_t) 0x02U)
910 
911 #define FVID2_VIFW_14BIT ((uint32_t) 0x03U)
912 
913 #define FVID2_VIFW_16BIT ((uint32_t) 0x04U)
914 
915 #define FVID2_VIFW_18BIT ((uint32_t) 0x05U)
916 
917 #define FVID2_VIFW_20BIT ((uint32_t) 0x06U)
918 
919 #define FVID2_VIFW_24BIT ((uint32_t) 0x07U)
920 
921 #define FVID2_VIFW_30BIT ((uint32_t) 0x08U)
922 
923 #define FVID2_VIFW_36BIT ((uint32_t) 0x09U)
924 
925 #define FVID2_VIFW_1LANES ((uint32_t) 0x0AU)
926 
927 #define FVID2_VIFW_2LANES ((uint32_t) 0x0BU)
928 
929 #define FVID2_VIFW_3LANES ((uint32_t) 0x0CU)
930 
931 #define FVID2_VIFW_4LANES ((uint32_t) 0x0DU)
932 
933 #define FVID2_VIFW_MAX ((uint32_t) 0x0EU)
934 /* @} */
935 
944 typedef uint32_t Fvid2_VideoIfMode;
945 #define FVID2_VIFM_SCH_ES (0U)
946 
947 #define FVID2_VIFM_MCH_LINE_MUX_ES (1U)
948 
949 #define FVID2_VIFM_MCH_PIXEL_MUX_ES (2U)
950 
951 #define FVID2_VIFM_SCH_DS_HSYNC_VBLK (3U)
952 
954 #define FVID2_VIFM_SCH_DS_HSYNC_VSYNC (4U)
955 
957 #define FVID2_VIFM_SCH_DS_AVID_VBLK (5U)
958 
960 #define FVID2_VIFM_SCH_DS_AVID_VSYNC (6U)
961 
963 #define FVID2_VIFM_MCH_LINE_MUX_SPLIT_LINE_ES (7U)
964 
965 #define FVID2_VIFM_SCH_CSI2 (8U)
966 
967 #define FVID2_VIFM_SCH_LVDS (9U)
968 
969 #define FVID2_VIFM_SCH_CPI (10U)
970 
971 #define FVID2_VIFM_MAX (11U)
972 
974 /* @} */
975 
984 typedef uint32_t Fvid2_ChromaPos;
985 #define FVID2_CHROMA_POS_COSITED (0U)
986 
987 #define FVID2_CHROMA_POS_CENTERED (1U)
988 
989 /* @} */
990 
1001 typedef uint32_t Fvid2_BayerColorComp;
1002 #define FVID2_BAYER_COLOR_COMP_R (0U)
1003 
1004 #define FVID2_BAYER_COLOR_COMP_GR (1U)
1005 
1006 #define FVID2_BAYER_COLOR_COMP_GB (2U)
1007 
1008 #define FVID2_BAYER_COLOR_COMP_B (3U)
1009 
1010 #define FVID2_BAYER_COLOR_COMP_MAX (4U)
1011 
1013 /* @} */
1014 
1025 typedef uint32_t Fvid2_FrameStatus;
1026 #define FVID2_FRAME_STATUS_INIT (0U)
1027 
1028 #define FVID2_FRAME_STATUS_COMPLETED (1U)
1029 
1030 #define FVID2_FRAME_STATUS_PENDING (2U)
1031 
1033 #define FVID2_FRAME_STATUS_SUBMITTED (3U)
1034 
1035 #define FVID2_FRAME_STATUS_ERROR (4U)
1036 
1037 #define FVID2_FRAME_STATUS_ABORTED (5U)
1038 
1040 #define FVID2_FRAME_STATUS_OVERFLOW (6U)
1041 
1043 #define FVID2_FRAME_STATUS_ECC_CORRECTED (7U)
1044 
1047 #define FVID2_FRAME_STATUS_CRC_ERROR (8U)
1048 
1051 #define FVID2_FRAME_STATUS_ECC_ERROR (9U)
1052 
1055 #define FVID2_FRAME_STATUS_MAX (10U)
1056 
1057 /* @} */
1058 
1059 /* ========================================================================== */
1060 /* Structure Declarations */
1061 /* ========================================================================== */
1062 
1069 typedef struct
1070 {
1071  uint32_t chNum;
1074  uint32_t width;
1077  uint32_t height;
1080  uint32_t pitch[FVID2_MAX_PLANES];
1087  uint32_t fieldMerged[FVID2_MAX_PLANES_PER_FIELD];
1094  uint32_t dataFormat;
1097  uint32_t scanFormat;
1100  uint32_t ccsFormat;
1103 } Fvid2_Format;
1104 
1111 typedef struct
1112 {
1113  uint32_t subFrameNum;
1119  uint32_t numInLines;
1124  uint32_t numOutLines;
1128 
1138 typedef struct
1139 {
1177  uint32_t fid;
1180  uint32_t chNum;
1183  uint64_t timeStamp64;
1191  void *appData;
1211  void *drvData;
1220  uint32_t status;
1223 } Fvid2_Frame;
1224 
1235 typedef struct
1236 {
1241  uint32_t numFrames;
1246  void *drvData;
1249  void *appData;
1253  void *perListCfg;
1261 } Fvid2_FrameList;
1262 
1266 typedef struct
1267 {
1268  uint32_t standard;
1271  uint32_t width;
1273  uint32_t height;
1275  uint32_t scanFormat;
1277  uint32_t pixelClock;
1281  uint32_t fps;
1283  uint32_t hFrontPorch;
1286  uint32_t hBackPorch;
1288  uint32_t hSyncLen;
1291  uint32_t vFrontPorch;
1293  uint32_t vBackPorch;
1295  uint32_t vSyncLen;
1297 } Fvid2_ModeInfo;
1298 
1303 typedef struct
1304 {
1305  uint32_t cropStartX;
1307  uint32_t cropStartY;
1309  uint32_t cropWidth;
1311  uint32_t cropHeight;
1314 
1323 typedef struct
1324 {
1325  uint32_t cropTop;
1327  uint32_t cropBottom;
1329  uint32_t cropLeft;
1331  uint32_t cropRight;
1334 
1339 typedef struct
1340 {
1341  uint32_t startX;
1343  uint32_t startY;
1345 } Fvid2_PosConfig;
1346 
1351 typedef struct
1352 {
1353  UInt32 width;
1355  UInt32 height;
1358 
1359 /* ========================================================================== */
1360 /* Function Declarations */
1361 /* ========================================================================== */
1362 
1371 int32_t Fvid2_getModeInfo(Fvid2_ModeInfo *modeInfo);
1372 
1382 const Char *Fvid2_getDataFmtString(uint32_t dataFmt);
1383 
1393 const Char *Fvid2_getStandardString(uint32_t standard);
1394 
1403 static inline int32_t Fvid2_isDataFmtYuv422(uint32_t dataFmt);
1404 
1413 static inline int32_t Fvid2_isDataFmtYuv420(uint32_t dataFmt);
1414 
1423 static inline int32_t Fvid2_isDataFmtYuv420Sp(uint32_t dataFmt);
1424 
1433 static inline int32_t Fvid2_isDataFmtYuv422Sp(uint32_t dataFmt);
1434 
1443 static inline int32_t Fvid2_isDataFmtSemiPlanar(uint32_t dataFmt);
1444 
1453 static inline int32_t Fvid2_isDataFmtYuv422I(uint32_t dataFmt);
1454 
1463 static inline int32_t Fvid2_isDataFmtYuv444(uint32_t dataFmt);
1464 
1473 static inline int32_t Fvid2_isDataFmtYuv(uint32_t dataFmt);
1474 
1483 static inline int32_t Fvid2_isDataFmtBayer(uint32_t dataFmt);
1484 
1493 static inline int32_t Fvid2_isDataFmtRgb16bit(uint32_t dataFmt);
1494 
1503 static inline int32_t Fvid2_isDataFmtRgb(uint32_t dataFmt);
1504 
1513 static inline int32_t Fvid2_isDataFmtRgb24bit(uint32_t dataFmt);
1514 
1523 static inline int32_t Fvid2_isDataFmtRgb32bit(uint32_t dataFmt);
1524 
1533 static inline int32_t Fvid2_isDataFmtRgb64bit(uint32_t dataFmt);
1534 
1546 static inline uint32_t Fvid2_BayerColorIndex(uint32_t dataFmt, uint32_t color);
1547 
1556 static inline int32_t Fvid2_isStandardVesa(uint32_t standard);
1557 
1564 static inline void Fvid2Format_init(Fvid2_Format *fmt);
1565 
1572 static inline void Fvid2SubFrameInfo_init(Fvid2_SubFrameInfo *sfInfo);
1573 
1580 static inline void Fvid2Frame_init(Fvid2_Frame *frm);
1581 
1588 static inline void Fvid2FrameList_init(Fvid2_FrameList *fList);
1589 
1596 static inline void Fvid2ModeInfo_init(Fvid2_ModeInfo *modeInfo);
1597 
1604 static inline void Fvid2CropConfig_init(Fvid2_CropConfig *cropCfg);
1605 
1612 static inline void Fvid2EdgeCropConfig_init(Fvid2_EdgeCropConfig *edgeCropCfg);
1613 
1620 static inline void Fvid2PosConfig_init(Fvid2_PosConfig *posCfg);
1621 
1622 /* ========================================================================== */
1623 /* Static Function Definitions */
1624 /* ========================================================================== */
1625 
1626 static inline int32_t Fvid2_isDataFmtYuv422(uint32_t dataFmt)
1627 {
1628  int32_t retVal = (int32_t) FALSE;
1629 
1630  switch(dataFmt)
1631  {
1632  case FVID2_DF_YUV422I_UYVY:
1633  case FVID2_DF_YUV422I_YUYV:
1634  case FVID2_DF_YUV422I_YVYU:
1635  case FVID2_DF_YUV422I_VYUY:
1636  case FVID2_DF_YUV422SP_UV:
1637  case FVID2_DF_YUV422SP_VU:
1638  case FVID2_DF_YUV422P:
1639  retVal = (int32_t) TRUE;
1640  break;
1641 
1642  default:
1643  retVal = (int32_t) FALSE;
1644  break;
1645  }
1646 
1647  return (retVal);
1648 }
1649 
1650 static inline int32_t Fvid2_isDataFmtYuv420(uint32_t dataFmt)
1651 {
1652  int32_t retVal = (int32_t) FALSE;
1653 
1654  switch(dataFmt)
1655  {
1656  case FVID2_DF_YUV420SP_UV:
1657  case FVID2_DF_YUV420SP_VU:
1658  case FVID2_DF_YUV420P:
1659  retVal = (int32_t) TRUE;
1660  break;
1661 
1662  default:
1663  retVal = (int32_t) FALSE;
1664  break;
1665  }
1666 
1667  return (retVal);
1668 }
1669 
1670 static inline int32_t Fvid2_isDataFmtYuv420Sp(uint32_t dataFmt)
1671 {
1672  int32_t retVal = (int32_t) FALSE;
1673 
1674  switch(dataFmt)
1675  {
1676  case FVID2_DF_YUV420SP_UV:
1677  case FVID2_DF_YUV420SP_VU:
1678  retVal = (int32_t) TRUE;
1679  break;
1680 
1681  default:
1682  retVal = (int32_t) FALSE;
1683  break;
1684  }
1685 
1686  return (retVal);
1687 }
1688 
1689 static inline int32_t Fvid2_isDataFmtYuv422Sp(uint32_t dataFmt)
1690 {
1691  int32_t retVal = (int32_t) FALSE;
1692 
1693  switch(dataFmt)
1694  {
1695  case FVID2_DF_YUV422SP_UV:
1696  case FVID2_DF_YUV422SP_VU:
1697  retVal = (int32_t) TRUE;
1698  break;
1699 
1700  default:
1701  retVal = (int32_t) FALSE;
1702  break;
1703  }
1704 
1705  return (retVal);
1706 }
1707 
1708 static inline int32_t Fvid2_isDataFmtSemiPlanar(uint32_t dataFmt)
1709 {
1710  int32_t retVal = (int32_t) FALSE;
1711 
1712  switch(dataFmt)
1713  {
1714  case FVID2_DF_YUV422SP_UV:
1715  case FVID2_DF_YUV422SP_VU:
1716  case FVID2_DF_YUV420SP_UV:
1717  case FVID2_DF_YUV420SP_VU:
1718  retVal = (int32_t) TRUE;
1719  break;
1720 
1721  default:
1722  retVal = (int32_t) FALSE;
1723  break;
1724  }
1725 
1726  return (retVal);
1727 }
1728 
1729 static inline int32_t Fvid2_isDataFmtYuv422I(uint32_t dataFmt)
1730 {
1731  int32_t retVal = (int32_t) FALSE;
1732 
1733  switch(dataFmt)
1734  {
1735  case FVID2_DF_YUV422I_UYVY:
1736  case FVID2_DF_YUV422I_YUYV:
1737  case FVID2_DF_YUV422I_YVYU:
1738  case FVID2_DF_YUV422I_VYUY:
1739  retVal = (int32_t) TRUE;
1740  break;
1741 
1742  default:
1743  retVal = (int32_t) FALSE;
1744  break;
1745  }
1746 
1747  return (retVal);
1748 }
1749 
1750 static inline int32_t Fvid2_isDataFmtYuv444(uint32_t dataFmt)
1751 {
1752  int32_t retVal = (int32_t) FALSE;
1753 
1754  switch(dataFmt)
1755  {
1756  case FVID2_DF_YUV444P:
1757  case FVID2_DF_YUV444I:
1758  retVal = (int32_t) TRUE;
1759  break;
1760 
1761  default:
1762  retVal = (int32_t) FALSE;
1763  break;
1764  }
1765 
1766  return (retVal);
1767 }
1768 
1769 static inline int32_t Fvid2_isDataFmtBayer(uint32_t dataFmt)
1770 {
1771  int32_t retVal = (int32_t) FALSE;
1772 
1773  switch(dataFmt)
1774  {
1775  case FVID2_DF_BAYER_GBRG:
1776  case FVID2_DF_BAYER_BGGR:
1777  case FVID2_DF_BAYER_RGGB:
1778  case FVID2_DF_BAYER_GRBG:
1779  case FVID2_DF_BAYER_RAW:
1780  retVal = (int32_t) TRUE;
1781  break;
1782 
1783  default:
1784  retVal = (int32_t) FALSE;
1785  break;
1786  }
1787 
1788  return (retVal);
1789 }
1790 
1791 static inline int32_t Fvid2_isDataFmtYuv(uint32_t dataFmt)
1792 {
1793  int32_t retVal = (int32_t) FALSE;
1794 
1795  switch(dataFmt)
1796  {
1797  case FVID2_DF_YUV422I_UYVY:
1798  case FVID2_DF_YUV422I_YUYV:
1799  case FVID2_DF_YUV422I_YVYU:
1800  case FVID2_DF_YUV422I_VYUY:
1801  case FVID2_DF_YUV422SP_UV:
1802  case FVID2_DF_YUV422SP_VU:
1803  case FVID2_DF_YUV422P:
1804  case FVID2_DF_YUV420SP_UV:
1805  case FVID2_DF_YUV420SP_VU:
1806  case FVID2_DF_YUV420P:
1807  case FVID2_DF_YUV444P:
1808  case FVID2_DF_YUV444I:
1809  retVal = (int32_t) TRUE;
1810  break;
1811 
1812  default:
1813  retVal = (int32_t) FALSE;
1814  break;
1815  }
1816 
1817  return (retVal);
1818 }
1819 
1820 static inline int32_t Fvid2_isDataFmtRgb(uint32_t dataFmt)
1821 {
1822  int32_t retVal = (int32_t) FALSE;
1823 
1824  switch(dataFmt)
1825  {
1826  case FVID2_DF_RGB16_565:
1827  case FVID2_DF_RGBA16_5551:
1828  case FVID2_DF_RGBA16_4444:
1829  case FVID2_DF_RGBX16_4444:
1830  case FVID2_DF_RGBA24_6666:
1831  case FVID2_DF_RGB24_888:
1832  case FVID2_DF_RGBA32_8888:
1833  case FVID2_DF_RGBX24_8888:
1836  case FVID2_DF_BGRX_4444:
1837  case FVID2_DF_BGR16_565:
1838  case FVID2_DF_BGRA16_5551:
1839  case FVID2_DF_BGRA16_4444:
1840  case FVID2_DF_BGRX16_5551:
1841  case FVID2_DF_BGR24_888:
1842  case FVID2_DF_BGRX24_8888:
1843  case FVID2_DF_BGRA24_6666:
1844  case FVID2_DF_BGRA32_8888:
1845  case FVID2_DF_BGRX32_8888:
1846  case FVID2_DF_BGRA16_1555:
1847  case FVID2_DF_BGRX16_1555:
1852  case FVID2_DF_XBGR_4444:
1853  case FVID2_DF_XBGR24_8888:
1855  case FVID2_DF_ABGR16_1555:
1856  case FVID2_DF_ABGR16_4444:
1857  case FVID2_DF_ABGR24_6666:
1858  case FVID2_DF_ABGR32_8888:
1860  case FVID2_DF_ARGB16_1555:
1861  case FVID2_DF_ARGB16_4444:
1862  case FVID2_DF_ARGB24_6666:
1863  case FVID2_DF_ARGB32_8888:
1864  case FVID2_DF_XRGB32_8888:
1880  case FVID2_DF_BAYER_RAW:
1881  case FVID2_DF_BAYER_GRBG:
1882  case FVID2_DF_BAYER_RGGB:
1883  case FVID2_DF_BAYER_BGGR:
1884  case FVID2_DF_BAYER_GBRG:
1885  case FVID2_DF_BGR16_565_A8:
1886  case FVID2_DF_RGB16_565_A8:
1889  retVal = (int32_t) TRUE;
1890  break;
1891 
1892  default:
1893  retVal = (int32_t) FALSE;
1894  break;
1895  }
1896 
1897  return (retVal);
1898 }
1899 
1900 static inline int32_t Fvid2_isDataFmtRgb16bit(uint32_t dataFmt)
1901 {
1902  int32_t retVal = (int32_t) FALSE;
1903 
1904  switch(dataFmt)
1905  {
1906  case FVID2_DF_BGRX_4444:
1907  case FVID2_DF_XBGR_4444:
1908  case FVID2_DF_AGBR16_4444:
1909  case FVID2_DF_RGBA16_4444:
1910  case FVID2_DF_RGBX16_4444:
1911  case FVID2_DF_XGBR16_1555:
1912  case FVID2_DF_AGBR16_1555:
1913  case FVID2_DF_BGR16_565:
1914  case FVID2_DF_RGB16_565:
1915  case FVID2_DF_ARGB16_1555:
1916  case FVID2_DF_RGBA16_5551:
1917  case FVID2_DF_ARGB16_4444:
1918  case FVID2_DF_ABGR16_1555:
1919  case FVID2_DF_ABGR16_4444:
1920  case FVID2_DF_BGRA16_5551:
1921  case FVID2_DF_BGRA16_4444:
1922  case FVID2_DF_BGRX16_5551:
1923  case FVID2_DF_BGRA16_1555:
1924  case FVID2_DF_BGRX16_1555:
1925  case FVID2_DF_BGR16_565_A8:
1926  case FVID2_DF_RGB16_565_A8:
1927  /* BGR16_565_A8 and RGB16_565_A8 data formats have 24 bits per pixel
1928  * With 8 bits Alpha in different plane.
1929  * Since this function is used to check pitch, added in RGB16bit */
1930  retVal = (int32_t) TRUE;
1931  break;
1932 
1933  default:
1934  retVal = (int32_t) FALSE;
1935  break;
1936  }
1937 
1938  return (retVal);
1939 }
1940 
1941 static inline int32_t Fvid2_isDataFmtRgb24bit(uint32_t dataFmt)
1942 {
1943  int32_t retVal = (int32_t) FALSE;
1944 
1945  switch(dataFmt)
1946  {
1947  case FVID2_DF_BGR24_888:
1948  case FVID2_DF_RGB24_888:
1949  case FVID2_DF_ABGR24_6666:
1950  case FVID2_DF_BGRA24_6666:
1951  case FVID2_DF_ARGB24_6666:
1952  case FVID2_DF_RGBA24_6666:
1953  retVal = (int32_t) TRUE;
1954  break;
1955 
1956  default:
1957  retVal = (int32_t) FALSE;
1958  break;
1959  }
1960 
1961  return (retVal);
1962 }
1963 
1964 static inline int32_t Fvid2_isDataFmtRgb32bit(uint32_t dataFmt)
1965 {
1966  int32_t retVal = (int32_t) FALSE;
1967 
1968  switch(dataFmt)
1969  {
1970  case FVID2_DF_XBGR24_8888:
1971  case FVID2_DF_RGBX24_8888:
1972  case FVID2_DF_ABGR32_8888:
1973  case FVID2_DF_RGBA32_8888:
1974  case FVID2_DF_BGRX24_8888:
1975  case FVID2_DF_BGRA32_8888:
1976  case FVID2_DF_ARGB32_8888:
1977  case FVID2_DF_BGRX32_8888:
1978  case FVID2_DF_XRGB32_8888:
1983  retVal = (int32_t) TRUE;
1984  break;
1985 
1986  default:
1987  retVal = (int32_t) FALSE;
1988  break;
1989  }
1990 
1991  return (retVal);
1992 }
1993 
1994 static inline int32_t Fvid2_isDataFmtRgb64bit(uint32_t dataFmt)
1995 {
1996  int32_t retVal = (int32_t) FALSE;
1997 
1998  switch(dataFmt)
1999  {
2004  retVal = (int32_t) TRUE;
2005  break;
2006 
2007  default:
2008  retVal = (int32_t) FALSE;
2009  break;
2010  }
2011 
2012  return (retVal);
2013 }
2014 
2015 static inline uint32_t Fvid2_BayerColorIndex(uint32_t dataFmt, uint32_t color)
2016 {
2017  uint32_t dataFmtIndex;
2018 
2019  switch(dataFmt)
2020  {
2021  case FVID2_DF_BAYER_RGGB:
2022  if(FVID2_BAYER_COLOR_COMP_R == color)
2023  {
2024  dataFmtIndex = 0U;
2025  }
2026  else if(FVID2_BAYER_COLOR_COMP_GR == color)
2027  {
2028  dataFmtIndex = 1U;
2029  }
2030  else if(FVID2_BAYER_COLOR_COMP_GB == color)
2031  {
2032  dataFmtIndex = 2U;
2033  }
2034  else
2035  {
2036  dataFmtIndex = 3U;
2037  }
2038  break;
2039  case FVID2_DF_BAYER_GRBG:
2040  if(FVID2_BAYER_COLOR_COMP_R == color)
2041  {
2042  dataFmtIndex = 1U;
2043  }
2044  else if(FVID2_BAYER_COLOR_COMP_GR == color)
2045  {
2046  dataFmtIndex = 0U;
2047  }
2048  else if(FVID2_BAYER_COLOR_COMP_GB == color)
2049  {
2050  dataFmtIndex = 3U;
2051  }
2052  else
2053  {
2054  dataFmtIndex = 2U;
2055  }
2056  break;
2057  case FVID2_DF_BAYER_BGGR:
2058  if(FVID2_BAYER_COLOR_COMP_R == color)
2059  {
2060  dataFmtIndex = 3U;
2061  }
2062  else if(FVID2_BAYER_COLOR_COMP_GR == color)
2063  {
2064  dataFmtIndex = 2U;
2065  }
2066  else if(FVID2_BAYER_COLOR_COMP_GB == color)
2067  {
2068  dataFmtIndex = 1U;
2069  }
2070  else
2071  {
2072  dataFmtIndex = 0U;
2073  }
2074  break;
2075  case FVID2_DF_BAYER_GBRG:
2076  if(FVID2_BAYER_COLOR_COMP_R == color)
2077  {
2078  dataFmtIndex = 2U;
2079  }
2080  else if(FVID2_BAYER_COLOR_COMP_GR == color)
2081  {
2082  dataFmtIndex = 3U;
2083  }
2084  else if(FVID2_BAYER_COLOR_COMP_GB == color)
2085  {
2086  dataFmtIndex = 0U;
2087  }
2088  else
2089  {
2090  dataFmtIndex = 1U;
2091  }
2092  break;
2093  default:
2094  if(FVID2_BAYER_COLOR_COMP_R == color)
2095  {
2096  dataFmtIndex = 0U;
2097  }
2098  else if(FVID2_BAYER_COLOR_COMP_GR == color)
2099  {
2100  dataFmtIndex = 1U;
2101  }
2102  else if(FVID2_BAYER_COLOR_COMP_GB == color)
2103  {
2104  dataFmtIndex = 2U;
2105  }
2106  else
2107  {
2108  dataFmtIndex = 3U;
2109  }
2110  break;
2111  }
2112 
2113  return (dataFmtIndex);
2114 }
2115 
2116 static inline int32_t Fvid2_isStandardVesa(uint32_t standard)
2117 {
2118  int32_t retVal = (int32_t) FALSE;
2119 
2120  switch(standard)
2121  {
2122  case FVID2_STD_VGA_60:
2123  case FVID2_STD_VGA_72:
2124  case FVID2_STD_VGA_75:
2125  case FVID2_STD_VGA_85:
2126  case FVID2_STD_SVGA_60:
2127  case FVID2_STD_SVGA_72:
2128  case FVID2_STD_SVGA_75:
2129  case FVID2_STD_SVGA_85:
2130  case FVID2_STD_WSVGA_70:
2131  case FVID2_STD_XGA_60:
2133  case FVID2_STD_XGA_70:
2134  case FVID2_STD_XGA_75:
2135  case FVID2_STD_XGA_85:
2136  case FVID2_STD_WXGA_60:
2137  case FVID2_STD_WXGA_75:
2138  case FVID2_STD_WXGA_85:
2139  case FVID2_STD_SXGA_60:
2140  case FVID2_STD_SXGA_75:
2141  case FVID2_STD_SXGA_85:
2142  case FVID2_STD_SXGAP_60:
2143  case FVID2_STD_SXGAP_75:
2144  case FVID2_STD_UXGA_60:
2145  retVal = (int32_t) TRUE;
2146  break;
2147 
2148  default:
2149  retVal = (int32_t) FALSE;
2150  break;
2151  }
2152 
2153  return (retVal);
2154 }
2155 
2156 static inline void Fvid2Format_init(Fvid2_Format *fmt)
2157 {
2158  uint32_t i;
2159 
2160  if(NULL != fmt)
2161  {
2162  fmt->chNum = 0U;
2163  fmt->width = 0U;
2164  fmt->height = 0U;
2165  for(i = 0U; i < FVID2_MAX_PLANES; i++)
2166  {
2167  fmt->pitch[i] = 0U;
2168  }
2169  for(i = 0U; i < FVID2_MAX_PLANES_PER_FIELD; i++)
2170  {
2171  fmt->fieldMerged[i] = (uint32_t) FALSE;
2172  }
2176  }
2177 
2178  return;
2179 }
2180 
2181 static inline void Fvid2SubFrameInfo_init(Fvid2_SubFrameInfo *sfInfo)
2182 {
2183  if(NULL != sfInfo)
2184  {
2185  sfInfo->subFrameNum = 0U;
2186  sfInfo->numInLines = 0U;
2187  sfInfo->numOutLines = 0U;
2188  }
2189 
2190  return;
2191 }
2192 
2193 static inline void Fvid2Frame_init(Fvid2_Frame *frm)
2194 {
2195  uint32_t j;
2196 
2197  if(NULL != frm)
2198  {
2199  for(j = 0U; j < FVID2_MAX_PLANES; j++)
2200  {
2201  frm->addr[j] = 0U;
2202  }
2203  frm->chNum = 0U;
2204  frm->timeStamp64 = 0U;
2205  frm->appData = NULL;
2206  frm->perFrameCfg = NULL;
2207  frm->drvData = NULL;
2208  frm->subFrameInfo = NULL;
2210  }
2211 
2212  return;
2213 }
2214 
2215 static inline void Fvid2FrameList_init(Fvid2_FrameList *fList)
2216 {
2217  uint32_t i;
2218 
2219  if(NULL != fList)
2220  {
2221  for(i = 0U; i < FVID2_MAX_FRAME_PTR; i++)
2222  {
2223  fList->frames[i] = NULL;
2224  }
2225  fList->numFrames = 0U;
2226  fList->drvData = NULL;
2227  fList->appData = NULL;
2228  }
2229 
2230  return;
2231 }
2232 
2233 static inline void Fvid2ModeInfo_init(Fvid2_ModeInfo *modeInfo)
2234 {
2235  if(NULL != modeInfo)
2236  {
2237  modeInfo->standard = FVID2_STD_1080P_60;
2238  modeInfo->width = 1920U;
2239  modeInfo->height = 1080U;
2240  modeInfo->scanFormat = FVID2_SF_PROGRESSIVE;
2241  modeInfo->pixelClock = 148500U;
2242  modeInfo->fps = 60U;
2243  modeInfo->hFrontPorch = 88U;
2244  modeInfo->hBackPorch = 148U;
2245  modeInfo->hSyncLen = 44U;
2246  modeInfo->vFrontPorch = 4U;
2247  modeInfo->vBackPorch = 36U;
2248  modeInfo->vSyncLen = 5U;
2249  }
2250 
2251  return;
2252 }
2253 
2254 static inline void Fvid2CropConfig_init(Fvid2_CropConfig *cropCfg)
2255 {
2256  if(NULL != cropCfg)
2257  {
2258  cropCfg->cropStartX = 0U;
2259  cropCfg->cropStartY = 0U;
2260  cropCfg->cropWidth = 0U;
2261  cropCfg->cropHeight = 0U;
2262  }
2263 
2264  return;
2265 }
2266 
2267 static inline void Fvid2EdgeCropConfig_init(Fvid2_EdgeCropConfig *edgeCropCfg)
2268 {
2269  if(NULL != edgeCropCfg)
2270  {
2271  edgeCropCfg->cropTop = 0U;
2272  edgeCropCfg->cropBottom = 0U;
2273  edgeCropCfg->cropLeft = 0U;
2274  edgeCropCfg->cropRight = 0U;
2275  }
2276 
2277  return;
2278 }
2279 
2280 static inline void Fvid2PosConfig_init(Fvid2_PosConfig *posCfg)
2281 {
2282  if(NULL != posCfg)
2283  {
2284  posCfg->startX = 0U;
2285  posCfg->startY = 0U;
2286  }
2287 
2288  return;
2289 }
2290 
2291 #ifdef __cplusplus
2292 }
2293 #endif
2294 
2295 #endif /* #ifndef CSL_FVID2_DATATYPES_H_ */
2296 
2297 /* @} */
#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:2215
#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:1087
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:604
uint32_t cropStartX
Definition: csl_fvid2_dataTypes.h:1305
uint32_t scanFormat
Definition: csl_fvid2_dataTypes.h:1275
#define TRUE
Definition: csl_types.h:54
void * drvData
Definition: csl_fvid2_dataTypes.h:1211
#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:1351
uint32_t fid
Definition: csl_fvid2_dataTypes.h:1177
#define FVID2_BAYER_COLOR_COMP_GR
Definition: csl_fvid2_dataTypes.h:1004
Fvid2_SubFrameInfo * subFrameInfo
Definition: csl_fvid2_dataTypes.h:1214
#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:1339
FVID2 Mode information structure.
Definition: csl_fvid2_dataTypes.h:1266
static int32_t Fvid2_isDataFmtRgb32bit(uint32_t dataFmt)
Function to check whether a data format is RGB 32-bit.
Definition: csl_fvid2_dataTypes.h:1964
static int32_t Fvid2_isDataFmtRgb64bit(uint32_t dataFmt)
Function to check whether a data format is RGB 64 bit.
Definition: csl_fvid2_dataTypes.h:1994
UInt32 height
Definition: csl_fvid2_dataTypes.h:1355
uint32_t Fvid2_Polarity
Definition: csl_fvid2_dataTypes.h:768
#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:2254
uint32_t chNum
Definition: csl_fvid2_dataTypes.h:1180
#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:1791
static int32_t Fvid2_isDataFmtSemiPlanar(uint32_t dataFmt)
Function to check whether a data format is semi-planar.
Definition: csl_fvid2_dataTypes.h:1708
#define FVID2_STD_WXGA_85
1280x800 85FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:697
void * appData
Definition: csl_fvid2_dataTypes.h:1191
uint32_t width
Definition: csl_fvid2_dataTypes.h:1271
#define FVID2_STD_SVGA_75
800x600 75FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:669
#define FVID2_STD_SXGA_75
1280x1024 75FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:703
uint64_t timeStamp64
Definition: csl_fvid2_dataTypes.h:1183
#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:1006
uint32_t cropStartY
Definition: csl_fvid2_dataTypes.h:1307
#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:1820
static void Fvid2EdgeCropConfig_init(Fvid2_EdgeCropConfig *edgeCropCfg)
Fvid2_EdgeCropConfig structure init function.
Definition: csl_fvid2_dataTypes.h:2267
#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:2233
uint32_t subFrameNum
Definition: csl_fvid2_dataTypes.h:1113
#define FVID2_STD_XGA_85
1024x768 85FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:683
#define FVID2_STD_SXGAP_60
1400x1050 60FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:709
uint32_t Fvid2_ColorCompStorageFmt
Definition: csl_fvid2_dataTypes.h:824
#define FVID2_STD_SXGAP_75
1400x1050 75FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:711
uint32_t Fvid2_BufferFormat
Definition: csl_fvid2_dataTypes.h:811
#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:1025
Structure containing crop configuration - used in Scaler and VCOMP.
Definition: csl_fvid2_dataTypes.h:1303
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:1670
uint32_t dataFormat
Definition: csl_fvid2_dataTypes.h:1094
uint32_t cropRight
Definition: csl_fvid2_dataTypes.h:1331
uint32_t fps
Definition: csl_fvid2_dataTypes.h:1281
uint32_t startY
Definition: csl_fvid2_dataTypes.h:1343
#define FVID2_STD_SVGA_72
800x600 72FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:667
uint32_t Fvid2_VideoIfMode
Video interface mode.
Definition: csl_fvid2_dataTypes.h:944
uint32_t cropHeight
Definition: csl_fvid2_dataTypes.h:1311
FVID2 frame buffer list used to exchange multiple FVID2 frames in a single driver call.
Definition: csl_fvid2_dataTypes.h:1235
static int32_t Fvid2_isDataFmtBayer(uint32_t dataFmt)
Function to check whether a data format is Bayer with MosaicPattern.
Definition: csl_fvid2_dataTypes.h:1769
uint32_t numInLines
Definition: csl_fvid2_dataTypes.h:1119
#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:783
#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:1138
#define FVID2_SF_PROGRESSIVE
Progressive mode.
Definition: csl_fvid2_dataTypes.h:608
static int32_t Fvid2_isDataFmtYuv444(uint32_t dataFmt)
Function to check whether a data format is YUV444 .
Definition: csl_fvid2_dataTypes.h:1750
void * drvData
Definition: csl_fvid2_dataTypes.h:1246
uint32_t cropWidth
Definition: csl_fvid2_dataTypes.h:1309
#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:1111
#define FVID2_STD_XGA_DSS_TDM_60
1024x768 60FPS VESA standard. Applicable for DSS in 8-bit TDM mode.
Definition: csl_fvid2_dataTypes.h:677
Structure containing edge crop configuration - used in DSS.
Definition: csl_fvid2_dataTypes.h:1323
uint32_t Fvid2_BayerColorComp
Enum for selecting bayer color components for odd/even pixel position on odd/even lines,...
Definition: csl_fvid2_dataTypes.h:1001
uint32_t height
Definition: csl_fvid2_dataTypes.h:1077
#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:1253
uint32_t pixelClock
Definition: csl_fvid2_dataTypes.h:1277
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:1327
uint32_t chNum
Definition: csl_fvid2_dataTypes.h:1071
#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:661
static int32_t Fvid2_isDataFmtYuv422Sp(uint32_t dataFmt)
Function to check whether a data format is YUV422SP.
Definition: csl_fvid2_dataTypes.h:1689
uint32_t status
Definition: csl_fvid2_dataTypes.h:1220
uint32_t standard
Definition: csl_fvid2_dataTypes.h:1268
#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:1341
#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:2015
uint32_t Fvid2_ChromaPos
Enum for selecting chroma position in chroma up or down sampler.
Definition: csl_fvid2_dataTypes.h:984
Fvid2_Frame * frames[FVID2_MAX_FRAME_PTR]
Definition: csl_fvid2_dataTypes.h:1237
#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:1900
#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:1283
static void Fvid2SubFrameInfo_init(Fvid2_SubFrameInfo *sfInfo)
Fvid2_SubFrameInfo structure init function.
Definition: csl_fvid2_dataTypes.h:2181
#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:673
#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:1080
uint64_t addr
Definition: csl_udmap_tr.h:214
uint32_t vSyncLen
Definition: csl_fvid2_dataTypes.h:1295
#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:1026
#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:1325
#define FVID2_STD_UXGA_60
1600x1200 60FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:713
void * appData
Definition: csl_fvid2_dataTypes.h:1249
uint64_t addr[FVID2_MAX_PLANES]
Definition: csl_fvid2_dataTypes.h:1140
#define FVID2_STD_SVGA_60
800x600 60FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:665
uint32_t Fvid2_DataFormat
Definition: csl_fvid2_dataTypes.h:314
#define FVID2_STD_VGA_72
640x480 72FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:657
#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:798
UInt32 width
Definition: csl_fvid2_dataTypes.h:1353
#define FVID2_STD_SVGA_85
800x600 85FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:671
#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:701
static int32_t Fvid2_isDataFmtYuv422I(uint32_t dataFmt)
Function to check whether a data format is YUV422 interleaved.
Definition: csl_fvid2_dataTypes.h:1729
FVID2 video buffer format specification.
Definition: csl_fvid2_dataTypes.h:1069
#define FVID2_STD_SXGA_85
1280x1024 85FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:705
#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:675
uint32_t hBackPorch
Definition: csl_fvid2_dataTypes.h:1286
uint32_t Fvid2_Fid
Definition: csl_fvid2_dataTypes.h:751
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:1074
uint32_t vFrontPorch
Definition: csl_fvid2_dataTypes.h:1291
#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:659
uint32_t numOutLines
Definition: csl_fvid2_dataTypes.h:1124
#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:1650
uint32_t Fvid2_Standard
Definition: csl_fvid2_dataTypes.h:619
static int32_t Fvid2_isStandardVesa(uint32_t standard)
Function to check whether a standard is VESA mode or not.
Definition: csl_fvid2_dataTypes.h:2116
#define FVID2_STD_WXGA_75
1280x800 75FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:695
#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:1626
#define FVID2_STD_VGA_60
640x480 60FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:655
#define FVID2_BAYER_COLOR_COMP_R
Definition: csl_fvid2_dataTypes.h:1002
#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:2193
#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:2156
#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:1329
#define FVID2_CCSF_BITS8_PACKED
8 Bits per Pixel packed.
Definition: csl_fvid2_dataTypes.h:832
#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:693
#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:1288
static void Fvid2PosConfig_init(Fvid2_PosConfig *posCfg)
Fvid2_PosConfig structure init function.
Definition: csl_fvid2_dataTypes.h:2280
uint32_t scanFormat
Definition: csl_fvid2_dataTypes.h:1097
#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:1241
#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:647
uint32_t Fvid2_VideoIfWidth
Definition: csl_fvid2_dataTypes.h:903
#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:1100
static int32_t Fvid2_isDataFmtRgb24bit(uint32_t dataFmt)
Function to check whether a data format is RGB 24-bit.
Definition: csl_fvid2_dataTypes.h:1941
#define FVID2_STD_XGA_70
1024x768 72FPS VESA standard.
Definition: csl_fvid2_dataTypes.h:679
void * perFrameCfg
Definition: csl_fvid2_dataTypes.h:1195
#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:1293
uint32_t height
Definition: csl_fvid2_dataTypes.h:1273
#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:681
#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