36 int x,
int y,
int c,
int w,
37 int read_pal_component)
40 int plane = comp.
plane;
41 int depth = comp.
depth;
42 int mask = (1 << depth) - 1;
43 int shift = comp.
shift;
48 int skip = x * step + comp.
offset;
49 const uint8_t *p = data[plane] + y * linesize[plane] + (skip >> 3);
50 int shift = 8 - depth - (skip & 7);
53 int val = (*p >> shift) & mask;
54 if (read_pal_component)
55 val = data[1][4*val + c];
62 const uint8_t *p = data[plane] + y * linesize[plane] +
64 int is_8bit = shift + depth <= 8;
70 int val = is_8bit ? *p :
72 val = (val >> shift) & mask;
73 if (read_pal_component)
74 val = data[1][4 * val + c];
84 int x,
int y,
int c,
int w)
87 int plane = comp.
plane;
88 int depth = comp.
depth;
93 int skip = x * step + comp.
offset;
94 uint8_t *p = data[plane] + y * linesize[plane] + (skip >> 3);
95 int shift = 8 - depth - (skip & 7);
98 *p |= *src++ << shift;
104 int shift = comp.
shift;
105 uint8_t *p = data[plane] + y * linesize[plane] +
108 if (shift + depth <= 8) {
111 *p |= (*src++ << shift);
117 uint16_t val =
AV_RB16(p) | (*src++ << shift);
120 uint16_t val =
AV_RL16(p) | (*src++ << shift);
129 #if FF_API_PLUS1_MINUS1 139 { 0, 1, 0, 0, 8, 0, 7, 1 },
140 { 1, 1, 0, 0, 8, 0, 7, 1 },
141 { 2, 1, 0, 0, 8, 0, 7, 1 },
151 { 0, 2, 0, 0, 8, 1, 7, 1 },
152 { 0, 4, 1, 0, 8, 3, 7, 2 },
153 { 0, 4, 3, 0, 8, 3, 7, 4 },
162 { 0, 2, 0, 0, 8, 1, 7, 1 },
163 { 0, 4, 3, 0, 8, 3, 7, 4 },
164 { 0, 4, 1, 0, 8, 3, 7, 2 },
173 { 0, 3, 0, 0, 8, 2, 7, 1 },
174 { 0, 3, 1, 0, 8, 2, 7, 2 },
175 { 0, 3, 2, 0, 8, 2, 7, 3 },
185 { 0, 3, 2, 0, 8, 2, 7, 3 },
186 { 0, 3, 1, 0, 8, 2, 7, 2 },
187 { 0, 3, 0, 0, 8, 2, 7, 1 },
197 { 0, 1, 0, 0, 8, 0, 7, 1 },
198 { 1, 1, 0, 0, 8, 0, 7, 1 },
199 { 2, 1, 0, 0, 8, 0, 7, 1 },
209 { 0, 1, 0, 0, 8, 0, 7, 1 },
210 { 1, 1, 0, 0, 8, 0, 7, 1 },
211 { 2, 1, 0, 0, 8, 0, 7, 1 },
221 { 0, 1, 0, 0, 8, 0, 7, 1 },
222 { 1, 1, 0, 0, 8, 0, 7, 1 },
223 { 2, 1, 0, 0, 8, 0, 7, 1 },
233 { 0, 1, 0, 0, 8, 0, 7, 1 },
234 { 1, 1, 0, 0, 8, 0, 7, 1 },
235 { 2, 1, 0, 0, 8, 0, 7, 1 },
245 { 0, 1, 0, 0, 8, 0, 7, 1 },
256 { 0, 1, 0, 0, 1, 0, 0, 1 },
266 { 0, 1, 0, 7, 1, 0, 0, 1 },
276 { 0, 1, 0, 0, 8, 0, 7, 1 },
286 { 0, 1, 0, 0, 8, 0, 7, 1 },
287 { 1, 1, 0, 0, 8, 0, 7, 1 },
288 { 2, 1, 0, 0, 8, 0, 7, 1 },
298 { 0, 1, 0, 0, 8, 0, 7, 1 },
299 { 1, 1, 0, 0, 8, 0, 7, 1 },
300 { 2, 1, 0, 0, 8, 0, 7, 1 },
310 { 0, 1, 0, 0, 8, 0, 7, 1 },
311 { 1, 1, 0, 0, 8, 0, 7, 1 },
312 { 2, 1, 0, 0, 8, 0, 7, 1 },
332 { 0, 2, 1, 0, 8, 1, 7, 2 },
333 { 0, 4, 0, 0, 8, 3, 7, 1 },
334 { 0, 4, 2, 0, 8, 3, 7, 3 },
343 { 0, 4, 1, 0, 8, 3, 7, 2 },
344 { 0, 6, 0, 0, 8, 5, 7, 1 },
345 { 0, 6, 3, 0, 8, 5, 7, 4 },
354 { 0, 1, 0, 0, 3, 0, 2, 1 },
355 { 0, 1, 0, 3, 3, 0, 2, 1 },
356 { 0, 1, 0, 6, 2, 0, 1, 1 },
366 { 0, 4, 3, 0, 1, 3, 0, 4 },
367 { 0, 4, 1, 0, 2, 3, 1, 2 },
368 { 0, 4, 0, 0, 1, 3, 0, 1 },
378 { 0, 1, 0, 0, 1, 0, 0, 1 },
379 { 0, 1, 0, 1, 2, 0, 1, 1 },
380 { 0, 1, 0, 3, 1, 0, 0, 1 },
390 { 0, 1, 0, 6, 2, 0, 1, 1 },
391 { 0, 1, 0, 3, 3, 0, 2, 1 },
392 { 0, 1, 0, 0, 3, 0, 2, 1 },
402 { 0, 4, 0, 0, 1, 3, 0, 1 },
403 { 0, 4, 1, 0, 2, 3, 1, 2 },
404 { 0, 4, 3, 0, 1, 3, 0, 4 },
414 { 0, 1, 0, 3, 1, 0, 0, 1 },
415 { 0, 1, 0, 1, 2, 0, 1, 1 },
416 { 0, 1, 0, 0, 1, 0, 0, 1 },
426 { 0, 1, 0, 0, 8, 0, 7, 1 },
427 { 1, 2, 0, 0, 8, 1, 7, 1 },
428 { 1, 2, 1, 0, 8, 1, 7, 2 },
438 { 0, 1, 0, 0, 8, 0, 7, 1 },
439 { 1, 2, 1, 0, 8, 1, 7, 2 },
440 { 1, 2, 0, 0, 8, 1, 7, 1 },
450 { 0, 4, 1, 0, 8, 3, 7, 2 },
451 { 0, 4, 2, 0, 8, 3, 7, 3 },
452 { 0, 4, 3, 0, 8, 3, 7, 4 },
453 { 0, 4, 0, 0, 8, 3, 7, 1 },
463 { 0, 4, 0, 0, 8, 3, 7, 1 },
464 { 0, 4, 1, 0, 8, 3, 7, 2 },
465 { 0, 4, 2, 0, 8, 3, 7, 3 },
466 { 0, 4, 3, 0, 8, 3, 7, 4 },
476 { 0, 4, 3, 0, 8, 3, 7, 4 },
477 { 0, 4, 2, 0, 8, 3, 7, 3 },
478 { 0, 4, 1, 0, 8, 3, 7, 2 },
479 { 0, 4, 0, 0, 8, 3, 7, 1 },
489 { 0, 4, 2, 0, 8, 3, 7, 3 },
490 { 0, 4, 1, 0, 8, 3, 7, 2 },
491 { 0, 4, 0, 0, 8, 3, 7, 1 },
492 { 0, 4, 3, 0, 8, 3, 7, 4 },
502 { 0, 2, 0, 0, 16, 1, 15, 1 },
513 { 0, 2, 0, 0, 16, 1, 15, 1 },
523 { 0, 1, 0, 0, 8, 0, 7, 1 },
524 { 1, 1, 0, 0, 8, 0, 7, 1 },
525 { 2, 1, 0, 0, 8, 0, 7, 1 },
535 { 0, 1, 0, 0, 8, 0, 7, 1 },
536 { 1, 1, 0, 0, 8, 0, 7, 1 },
537 { 2, 1, 0, 0, 8, 0, 7, 1 },
547 { 0, 1, 0, 0, 8, 0, 7, 1 },
548 { 1, 1, 0, 0, 8, 0, 7, 1 },
549 { 2, 1, 0, 0, 8, 0, 7, 1 },
550 { 3, 1, 0, 0, 8, 0, 7, 1 },
560 { 0, 1, 0, 0, 8, 0, 7, 1 },
561 { 1, 1, 0, 0, 8, 0, 7, 1 },
562 { 2, 1, 0, 0, 8, 0, 7, 1 },
563 { 3, 1, 0, 0, 8, 0, 7, 1 },
573 { 0, 1, 0, 0, 8, 0, 7, 1 },
574 { 1, 1, 0, 0, 8, 0, 7, 1 },
575 { 2, 1, 0, 0, 8, 0, 7, 1 },
576 { 3, 1, 0, 0, 8, 0, 7, 1 },
581 .name =
"yuva420p9be",
586 { 0, 2, 0, 0, 9, 1, 8, 1 },
587 { 1, 2, 0, 0, 9, 1, 8, 1 },
588 { 2, 2, 0, 0, 9, 1, 8, 1 },
589 { 3, 2, 0, 0, 9, 1, 8, 1 },
594 .name =
"yuva420p9le",
599 { 0, 2, 0, 0, 9, 1, 8, 1 },
600 { 1, 2, 0, 0, 9, 1, 8, 1 },
601 { 2, 2, 0, 0, 9, 1, 8, 1 },
602 { 3, 2, 0, 0, 9, 1, 8, 1 },
607 .name =
"yuva422p9be",
612 { 0, 2, 0, 0, 9, 1, 8, 1 },
613 { 1, 2, 0, 0, 9, 1, 8, 1 },
614 { 2, 2, 0, 0, 9, 1, 8, 1 },
615 { 3, 2, 0, 0, 9, 1, 8, 1 },
620 .name =
"yuva422p9le",
625 { 0, 2, 0, 0, 9, 1, 8, 1 },
626 { 1, 2, 0, 0, 9, 1, 8, 1 },
627 { 2, 2, 0, 0, 9, 1, 8, 1 },
628 { 3, 2, 0, 0, 9, 1, 8, 1 },
633 .name =
"yuva444p9be",
638 { 0, 2, 0, 0, 9, 1, 8, 1 },
639 { 1, 2, 0, 0, 9, 1, 8, 1 },
640 { 2, 2, 0, 0, 9, 1, 8, 1 },
641 { 3, 2, 0, 0, 9, 1, 8, 1 },
646 .name =
"yuva444p9le",
651 { 0, 2, 0, 0, 9, 1, 8, 1 },
652 { 1, 2, 0, 0, 9, 1, 8, 1 },
653 { 2, 2, 0, 0, 9, 1, 8, 1 },
654 { 3, 2, 0, 0, 9, 1, 8, 1 },
659 .name =
"yuva420p10be",
664 { 0, 2, 0, 0, 10, 1, 9, 1 },
665 { 1, 2, 0, 0, 10, 1, 9, 1 },
666 { 2, 2, 0, 0, 10, 1, 9, 1 },
667 { 3, 2, 0, 0, 10, 1, 9, 1 },
672 .name =
"yuva420p10le",
677 { 0, 2, 0, 0, 10, 1, 9, 1 },
678 { 1, 2, 0, 0, 10, 1, 9, 1 },
679 { 2, 2, 0, 0, 10, 1, 9, 1 },
680 { 3, 2, 0, 0, 10, 1, 9, 1 },
685 .name =
"yuva422p10be",
690 { 0, 2, 0, 0, 10, 1, 9, 1 },
691 { 1, 2, 0, 0, 10, 1, 9, 1 },
692 { 2, 2, 0, 0, 10, 1, 9, 1 },
693 { 3, 2, 0, 0, 10, 1, 9, 1 },
698 .name =
"yuva422p10le",
703 { 0, 2, 0, 0, 10, 1, 9, 1 },
704 { 1, 2, 0, 0, 10, 1, 9, 1 },
705 { 2, 2, 0, 0, 10, 1, 9, 1 },
706 { 3, 2, 0, 0, 10, 1, 9, 1 },
711 .name =
"yuva444p10be",
716 { 0, 2, 0, 0, 10, 1, 9, 1 },
717 { 1, 2, 0, 0, 10, 1, 9, 1 },
718 { 2, 2, 0, 0, 10, 1, 9, 1 },
719 { 3, 2, 0, 0, 10, 1, 9, 1 },
724 .name =
"yuva444p10le",
729 { 0, 2, 0, 0, 10, 1, 9, 1 },
730 { 1, 2, 0, 0, 10, 1, 9, 1 },
731 { 2, 2, 0, 0, 10, 1, 9, 1 },
732 { 3, 2, 0, 0, 10, 1, 9, 1 },
737 .name =
"yuva420p16be",
742 { 0, 2, 0, 0, 16, 1, 15, 1 },
743 { 1, 2, 0, 0, 16, 1, 15, 1 },
744 { 2, 2, 0, 0, 16, 1, 15, 1 },
745 { 3, 2, 0, 0, 16, 1, 15, 1 },
750 .name =
"yuva420p16le",
755 { 0, 2, 0, 0, 16, 1, 15, 1 },
756 { 1, 2, 0, 0, 16, 1, 15, 1 },
757 { 2, 2, 0, 0, 16, 1, 15, 1 },
758 { 3, 2, 0, 0, 16, 1, 15, 1 },
763 .name =
"yuva422p16be",
768 { 0, 2, 0, 0, 16, 1, 15, 1 },
769 { 1, 2, 0, 0, 16, 1, 15, 1 },
770 { 2, 2, 0, 0, 16, 1, 15, 1 },
771 { 3, 2, 0, 0, 16, 1, 15, 1 },
776 .name =
"yuva422p16le",
781 { 0, 2, 0, 0, 16, 1, 15, 1 },
782 { 1, 2, 0, 0, 16, 1, 15, 1 },
783 { 2, 2, 0, 0, 16, 1, 15, 1 },
784 { 3, 2, 0, 0, 16, 1, 15, 1 },
789 .name =
"yuva444p16be",
794 { 0, 2, 0, 0, 16, 1, 15, 1 },
795 { 1, 2, 0, 0, 16, 1, 15, 1 },
796 { 2, 2, 0, 0, 16, 1, 15, 1 },
797 { 3, 2, 0, 0, 16, 1, 15, 1 },
802 .name =
"yuva444p16le",
807 { 0, 2, 0, 0, 16, 1, 15, 1 },
808 { 1, 2, 0, 0, 16, 1, 15, 1 },
809 { 2, 2, 0, 0, 16, 1, 15, 1 },
810 { 3, 2, 0, 0, 16, 1, 15, 1 },
816 .name =
"vdpau_h264",
822 .name =
"vdpau_mpeg1",
828 .name =
"vdpau_mpeg2",
834 .name =
"vdpau_wmv3",
846 .name =
"vdpau_mpeg4",
858 { 0, 6, 0, 0, 16, 5, 15, 1 },
859 { 0, 6, 2, 0, 16, 5, 15, 3 },
860 { 0, 6, 4, 0, 16, 5, 15, 5 },
870 { 0, 6, 0, 0, 16, 5, 15, 1 },
871 { 0, 6, 2, 0, 16, 5, 15, 3 },
872 { 0, 6, 4, 0, 16, 5, 15, 5 },
882 { 0, 8, 0, 0, 16, 7, 15, 1 },
883 { 0, 8, 2, 0, 16, 7, 15, 3 },
884 { 0, 8, 4, 0, 16, 7, 15, 5 },
885 { 0, 8, 6, 0, 16, 7, 15, 7 },
895 { 0, 8, 0, 0, 16, 7, 15, 1 },
896 { 0, 8, 2, 0, 16, 7, 15, 3 },
897 { 0, 8, 4, 0, 16, 7, 15, 5 },
898 { 0, 8, 6, 0, 16, 7, 15, 7 },
908 { 0, 2, -1, 3, 5, 1, 4, 0 },
909 { 0, 2, 0, 5, 6, 1, 5, 1 },
910 { 0, 2, 0, 0, 5, 1, 4, 1 },
920 { 0, 2, 1, 3, 5, 1, 4, 2 },
921 { 0, 2, 0, 5, 6, 1, 5, 1 },
922 { 0, 2, 0, 0, 5, 1, 4, 1 },
932 { 0, 2, -1, 2, 5, 1, 4, 0 },
933 { 0, 2, 0, 5, 5, 1, 4, 1 },
934 { 0, 2, 0, 0, 5, 1, 4, 1 },
944 { 0, 2, 1, 2, 5, 1, 4, 2 },
945 { 0, 2, 0, 5, 5, 1, 4, 1 },
946 { 0, 2, 0, 0, 5, 1, 4, 1 },
956 { 0, 2, -1, 0, 4, 1, 3, 0 },
957 { 0, 2, 0, 4, 4, 1, 3, 1 },
958 { 0, 2, 0, 0, 4, 1, 3, 1 },
968 { 0, 2, 1, 0, 4, 1, 3, 2 },
969 { 0, 2, 0, 4, 4, 1, 3, 1 },
970 { 0, 2, 0, 0, 4, 1, 3, 1 },
980 { 0, 6, 4, 0, 16, 5, 15, 5 },
981 { 0, 6, 2, 0, 16, 5, 15, 3 },
982 { 0, 6, 0, 0, 16, 5, 15, 1 },
992 { 0, 6, 4, 0, 16, 5, 15, 5 },
993 { 0, 6, 2, 0, 16, 5, 15, 3 },
994 { 0, 6, 0, 0, 16, 5, 15, 1 },
1004 { 0, 8, 4, 0, 16, 7, 15, 5 },
1005 { 0, 8, 2, 0, 16, 7, 15, 3 },
1006 { 0, 8, 0, 0, 16, 7, 15, 1 },
1007 { 0, 8, 6, 0, 16, 7, 15, 7 },
1017 { 0, 8, 4, 0, 16, 7, 15, 5 },
1018 { 0, 8, 2, 0, 16, 7, 15, 3 },
1019 { 0, 8, 0, 0, 16, 7, 15, 1 },
1020 { 0, 8, 6, 0, 16, 7, 15, 7 },
1030 { 0, 2, 0, 0, 5, 1, 4, 1 },
1031 { 0, 2, 0, 5, 6, 1, 5, 1 },
1032 { 0, 2, -1, 3, 5, 1, 4, 0 },
1042 { 0, 2, 0, 0, 5, 1, 4, 1 },
1043 { 0, 2, 0, 5, 6, 1, 5, 1 },
1044 { 0, 2, 1, 3, 5, 1, 4, 2 },
1054 { 0, 2, 0, 0, 5, 1, 4, 1 },
1055 { 0, 2, 0, 5, 5, 1, 4, 1 },
1056 { 0, 2, -1, 2, 5, 1, 4, 0 },
1066 { 0, 2, 0, 0, 5, 1, 4, 1 },
1067 { 0, 2, 0, 5, 5, 1, 4, 1 },
1068 { 0, 2, 1, 2, 5, 1, 4, 2 },
1078 { 0, 2, 0, 0, 4, 1, 3, 1 },
1079 { 0, 2, 0, 4, 4, 1, 3, 1 },
1080 { 0, 2, -1, 0, 4, 1, 3, 0 },
1090 { 0, 2, 0, 0, 4, 1, 3, 1 },
1091 { 0, 2, 0, 4, 4, 1, 3, 1 },
1092 { 0, 2, 1, 0, 4, 1, 3, 2 },
1098 .name =
"vaapi_moco",
1104 .name =
"vaapi_idct",
1110 .name =
"vaapi_vld",
1130 .name =
"yuv420p9le",
1135 { 0, 2, 0, 0, 9, 1, 8, 1 },
1136 { 1, 2, 0, 0, 9, 1, 8, 1 },
1137 { 2, 2, 0, 0, 9, 1, 8, 1 },
1142 .name =
"yuv420p9be",
1147 { 0, 2, 0, 0, 9, 1, 8, 1 },
1148 { 1, 2, 0, 0, 9, 1, 8, 1 },
1149 { 2, 2, 0, 0, 9, 1, 8, 1 },
1154 .name =
"yuv420p10le",
1159 { 0, 2, 0, 0, 10, 1, 9, 1 },
1160 { 1, 2, 0, 0, 10, 1, 9, 1 },
1161 { 2, 2, 0, 0, 10, 1, 9, 1 },
1166 .name =
"yuv420p10be",
1171 { 0, 2, 0, 0, 10, 1, 9, 1 },
1172 { 1, 2, 0, 0, 10, 1, 9, 1 },
1173 { 2, 2, 0, 0, 10, 1, 9, 1 },
1178 .name =
"yuv420p16le",
1183 { 0, 2, 0, 0, 16, 1, 15, 1 },
1184 { 1, 2, 0, 0, 16, 1, 15, 1 },
1185 { 2, 2, 0, 0, 16, 1, 15, 1 },
1190 .name =
"yuv420p16be",
1195 { 0, 2, 0, 0, 16, 1, 15, 1 },
1196 { 1, 2, 0, 0, 16, 1, 15, 1 },
1197 { 2, 2, 0, 0, 16, 1, 15, 1 },
1202 .name =
"yuv422p9le",
1207 { 0, 2, 0, 0, 9, 1, 8, 1 },
1208 { 1, 2, 0, 0, 9, 1, 8, 1 },
1209 { 2, 2, 0, 0, 9, 1, 8, 1 },
1214 .name =
"yuv422p9be",
1219 { 0, 2, 0, 0, 9, 1, 8, 1 },
1220 { 1, 2, 0, 0, 9, 1, 8, 1 },
1221 { 2, 2, 0, 0, 9, 1, 8, 1 },
1226 .name =
"yuv422p10le",
1231 { 0, 2, 0, 0, 10, 1, 9, 1 },
1232 { 1, 2, 0, 0, 10, 1, 9, 1 },
1233 { 2, 2, 0, 0, 10, 1, 9, 1 },
1238 .name =
"yuv422p10be",
1243 { 0, 2, 0, 0, 10, 1, 9, 1 },
1244 { 1, 2, 0, 0, 10, 1, 9, 1 },
1245 { 2, 2, 0, 0, 10, 1, 9, 1 },
1250 .name =
"yuv422p16le",
1255 { 0, 2, 0, 0, 16, 1, 15, 1 },
1256 { 1, 2, 0, 0, 16, 1, 15, 1 },
1257 { 2, 2, 0, 0, 16, 1, 15, 1 },
1262 .name =
"yuv422p16be",
1267 { 0, 2, 0, 0, 16, 1, 15, 1 },
1268 { 1, 2, 0, 0, 16, 1, 15, 1 },
1269 { 2, 2, 0, 0, 16, 1, 15, 1 },
1274 .name =
"yuv444p16le",
1279 { 0, 2, 0, 0, 16, 1, 15, 1 },
1280 { 1, 2, 0, 0, 16, 1, 15, 1 },
1281 { 2, 2, 0, 0, 16, 1, 15, 1 },
1286 .name =
"yuv444p16be",
1291 { 0, 2, 0, 0, 16, 1, 15, 1 },
1292 { 1, 2, 0, 0, 16, 1, 15, 1 },
1293 { 2, 2, 0, 0, 16, 1, 15, 1 },
1298 .name =
"yuv444p10le",
1303 { 0, 2, 0, 0, 10, 1, 9, 1 },
1304 { 1, 2, 0, 0, 10, 1, 9, 1 },
1305 { 2, 2, 0, 0, 10, 1, 9, 1 },
1310 .name =
"yuv444p10be",
1315 { 0, 2, 0, 0, 10, 1, 9, 1 },
1316 { 1, 2, 0, 0, 10, 1, 9, 1 },
1317 { 2, 2, 0, 0, 10, 1, 9, 1 },
1322 .name =
"yuv444p9le",
1327 { 0, 2, 0, 0, 9, 1, 8, 1 },
1328 { 1, 2, 0, 0, 9, 1, 8, 1 },
1329 { 2, 2, 0, 0, 9, 1, 8, 1 },
1334 .name =
"yuv444p9be",
1339 { 0, 2, 0, 0, 9, 1, 8, 1 },
1340 { 1, 2, 0, 0, 9, 1, 8, 1 },
1341 { 2, 2, 0, 0, 9, 1, 8, 1 },
1346 .name =
"d3d11va_vld",
1352 .name =
"dxva2_vld",
1361 { 0, 2, 0, 0, 8, 1, 7, 1 },
1362 { 0, 2, 1, 0, 8, 1, 7, 2 },
1371 { 0, 4, 0, 0, 16, 3, 15, 1 },
1372 { 0, 4, 2, 0, 16, 3, 15, 3 },
1380 { 0, 4, 0, 0, 16, 3, 15, 1 },
1381 { 0, 4, 2, 0, 16, 3, 15, 3 },
1391 { 2, 1, 0, 0, 8, 0, 7, 1 },
1392 { 0, 1, 0, 0, 8, 0, 7, 1 },
1393 { 1, 1, 0, 0, 8, 0, 7, 1 },
1403 { 2, 2, 0, 0, 9, 1, 8, 1 },
1404 { 0, 2, 0, 0, 9, 1, 8, 1 },
1405 { 1, 2, 0, 0, 9, 1, 8, 1 },
1415 { 2, 2, 0, 0, 9, 1, 8, 1 },
1416 { 0, 2, 0, 0, 9, 1, 8, 1 },
1417 { 1, 2, 0, 0, 9, 1, 8, 1 },
1427 { 2, 2, 0, 0, 10, 1, 9, 1 },
1428 { 0, 2, 0, 0, 10, 1, 9, 1 },
1429 { 1, 2, 0, 0, 10, 1, 9, 1 },
1439 { 2, 2, 0, 0, 10, 1, 9, 1 },
1440 { 0, 2, 0, 0, 10, 1, 9, 1 },
1441 { 1, 2, 0, 0, 10, 1, 9, 1 },
1451 { 2, 2, 0, 0, 16, 1, 15, 1 },
1452 { 0, 2, 0, 0, 16, 1, 15, 1 },
1453 { 1, 2, 0, 0, 16, 1, 15, 1 },
1463 { 2, 2, 0, 0, 16, 1, 15, 1 },
1464 { 0, 2, 0, 0, 16, 1, 15, 1 },
1465 { 1, 2, 0, 0, 16, 1, 15, 1 },
1475 { 2, 1, 0, 0, 8, 0, 7, 1 },
1476 { 0, 1, 0, 0, 8, 0, 7, 1 },
1477 { 1, 1, 0, 0, 8, 0, 7, 1 },
1478 { 3, 1, 0, 0, 8, 0, 7, 1 },
1484 .name =
"gbrap16le",
1489 { 2, 2, 0, 0, 16, 1, 15, 1 },
1490 { 0, 2, 0, 0, 16, 1, 15, 1 },
1491 { 1, 2, 0, 0, 16, 1, 15, 1 },
1492 { 3, 2, 0, 0, 16, 1, 15, 1 },
1498 .name =
"gbrap16be",
1503 { 2, 2, 0, 0, 16, 1, 15, 1 },
1504 { 0, 2, 0, 0, 16, 1, 15, 1 },
1505 { 1, 2, 0, 0, 16, 1, 15, 1 },
1506 { 3, 2, 0, 0, 16, 1, 15, 1 },
1523 { 0, 6, 0, 4, 12, 5, 11, 1 },
1524 { 0, 6, 2, 4, 12, 5, 11, 3 },
1525 { 0, 6, 4, 4, 12, 5, 11, 5 },
1535 { 0, 6, 0, 4, 12, 5, 11, 1 },
1536 { 0, 6, 2, 4, 12, 5, 11, 3 },
1537 { 0, 6, 4, 4, 12, 5, 11, 5 },
1547 { 0, 1, 0, 0, 8, 0, 7, 1 },
1548 { 1, 2, 0, 0, 8, 1, 7, 1 },
1549 { 1, 2, 1, 0, 8, 1, 7, 2 },
1559 { 0, 2, 0, 0, 10, 1, 9, 1 },
1560 { 1, 4, 0, 0, 10, 3, 9, 1 },
1561 { 1, 4, 2, 0, 10, 3, 9, 3 },
1571 { 0, 2, 0, 0, 10, 1, 9, 1 },
1572 { 1, 4, 0, 0, 10, 3, 9, 1 },
1573 { 1, 4, 2, 0, 10, 3, 9, 3 },
1599 { 0, 2, 0, 6, 10, 1, 9, 1 },
1600 { 1, 4, 0, 6, 10, 3, 9, 1 },
1601 { 1, 4, 2, 6, 10, 3, 9, 3 },
1611 { 0, 2, 0, 6, 10, 1, 9, 1 },
1612 { 1, 4, 0, 6, 10, 3, 9, 1 },
1613 { 1, 4, 2, 6, 10, 3, 9, 3 },
1618 #if FF_API_PLUS1_MINUS1 1696 if (av_pix_fmt_descriptors[pix_fmt].name &&
1697 (!strcmp(av_pix_fmt_descriptors[pix_fmt].name, name) ||
1698 av_match_name(name, av_pix_fmt_descriptors[pix_fmt].alias)))
1711 # define X_NE(be, le) be 1713 # define X_NE(be, le) le 1720 if (!strcmp(name,
"rgb32"))
1721 name =
X_NE(
"argb",
"bgra");
1722 else if (!strcmp(name,
"bgr32"))
1723 name =
X_NE(
"abgr",
"rgba");
1729 snprintf(name2,
sizeof(name2),
"%s%s", name,
X_NE(
"be",
"le"));
1746 int s = c == 1 || c == 2 ? 0 : log2_pixels;
1750 return bits >> log2_pixels;
1758 snprintf (buf, buf_size,
"name" " nb_components" " nb_bits");
1761 snprintf(buf, buf_size,
"%-11s %7d %10d", pixdesc->
name,
1772 return &av_pix_fmt_descriptors[
pix_fmt];
1778 return &av_pix_fmt_descriptors[0];
1779 if (prev - av_pix_fmt_descriptors <
FF_ARRAY_ELEMS(av_pix_fmt_descriptors) - 1)
1786 if (desc < av_pix_fmt_descriptors ||
1787 desc >= av_pix_fmt_descriptors +
FF_ARRAY_ELEMS(av_pix_fmt_descriptors))
1794 int *h_shift,
int *v_shift)
1808 int i, planes[4] = { 0 }, ret = 0;
1823 #define PIX_FMT_SWAP_ENDIANNESS(fmt) \ 1824 case AV_PIX_FMT_ ## fmt ## BE: return AV_PIX_FMT_ ## fmt ## LE; \ 1825 case AV_PIX_FMT_ ## fmt ## LE: return AV_PIX_FMT_ ## fmt ## BE 1869 #undef PIX_FMT_SWAP_ENDIANNESS #define AV_PIX_FMT_FLAG_PAL
Pixel format has a palette in data[1], values are indexes in this palette.
ITU-R BT2020 for 12-bit system.
also ITU-R BT1361 / IEC 61966-2-4 xvYCC709 / SMPTE RP177 Annex B
packed YUV 4:2:2, 16bpp, Cb Y0 Cr Y1
int plane
Which of the 4 planes contains the component.
HW acceleration through VA API at motion compensation entry-point, Picture.data[3] contains a vaapi_r...
planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
const AVPixFmtDescriptor * av_pix_fmt_desc_get(enum AVPixelFormat pix_fmt)
"Linear transfer characteristics"
planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
8 bits gray, 8 bits alpha
packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is st...
planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
MPEG-2 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstr...
int av_pix_fmt_count_planes(enum AVPixelFormat pix_fmt)
packed RGB 8:8:8, 24bpp, RGBRGB...
packed RGB 1:2:1 bitstream, 4bpp, (msb)1B 2G 1R(lsb), a byte contains two pixels, the first pixel in ...
planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
int av_get_bits_per_pixel(const AVPixFmtDescriptor *pixdesc)
Return the number of bits per pixel used by the pixel format described by pixdesc.
also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM / IEC 61966-2-4 xvYCC601 ...
char * av_get_pix_fmt_string(char *buf, int buf_size, enum AVPixelFormat pix_fmt)
Print in buf the string corresponding to the pixel format with number pix_fmt, or an header if pix_fm...
SMPTE ST 432-1 D65 (2010)
packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is st...
packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), little-endian, most significant bit to 0 ...
HW decoding through VA API, Picture.data[3] contains a VASurfaceID.
planar YUV 4:4:4 40bpp, (1 Cr & Cb sample per 1x1 Y & A samples, little-endian)
also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC
packed BGR 5:6:5, 16bpp, (msb) 5B 6G 5R(lsb), little-endian
planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), big-endian, most significant bits to 0 ...
#define FF_ARRAY_ELEMS(a)
enum AVPixelFormat av_pix_fmt_swap_endianness(enum AVPixelFormat pix_fmt)
Utility function to swap the endianness of a pixel format.
planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
Used by Dirac / VC-2 and H.264 FRext, see ITU-T SG16.
order of coefficients is actually GBR, also IEC 61966-2-1 (sRGB)
uint8_t log2_chroma_w
Amount to shift the luma width right to find the chroma width.
AVColorTransferCharacteristic
Color Transfer Characteristic.
packed RGB 1:2:1 bitstream, 4bpp, (msb)1R 2G 1B(lsb), a byte contains two pixels, the first pixel in ...
functionally identical to above
const char * av_color_space_name(enum AVColorSpace space)
packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), little-endian
packed RGB 1:2:1, 8bpp, (msb)1B 2G 1R(lsb)
planar YUV 4:2:0 22.5bpp, (1 Cr & Cb sample per 2x2 Y & A samples), little-endian ...
planar GBRA 4:4:4:4 64bpp, big-endian
planar YUV 4:2:0 40bpp, (1 Cr & Cb sample per 2x2 Y & A samples, big-endian)
planar YUV 4:2:0, 20bpp, (1 Cr & Cb sample per 2x2 Y & A samples)
AVComponentDescriptor comp[4]
Parameters that describe how pixels are packed.
#define AV_PIX_FMT_FLAG_ALPHA
The pixel format has an alpha channel.
8 bits with AV_PIX_FMT_RGB32 palette
packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as lit...
AVColorSpace
YUV colorspace type.
const char * av_color_range_name(enum AVColorRange range)
packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is st...
also ITU-R BT470M / ITU-R BT1700 625 PAL & SECAM
packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), little-endian, most significant bits to 0 ...
void av_write_image_line(const uint16_t *src, uint8_t *data[4], const int linesize[4], const AVPixFmtDescriptor *desc, int x, int y, int c, int w)
Write the values from src to the pixel format component c of an image line.
static FF_ENABLE_DEPRECATION_WARNINGS const char * color_range_names[]
packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), big-endian
packed ABGR 8:8:8:8, 32bpp, ABGRABGR...
planar YUV 4:2:0 40bpp, (1 Cr & Cb sample per 2x2 Y & A samples, little-endian)
planar GBR 4:4:4 48bpp, big-endian
planar YUV 4:4:0 full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV440P and setting color_range...
planar YUV 4:2:2, 16bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV422P and setting col...
planar YUV 4:4:4 64bpp, (1 Cr & Cb sample per 1x1 Y & A samples, big-endian)
MPEG-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstr...
WMV3 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstrea...
AVColorRange
MPEG vs JPEG YUV range.
AVColorPrimaries
Chromaticity coordinates of the source primaries.
static const char * color_primaries_names[]
planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
planar GBR 4:4:4 27bpp, big-endian
planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
const char * av_chroma_location_name(enum AVChromaLocation location)
also FCC Title 47 Code of Federal Regulations 73.682 (a)(20)
planar YUV 4:2:2 24bpp, (1 Cr & Cb sample per 2x1 Y & A samples)
16 bits gray, 16 bits alpha (big-endian)
ITU-R BT1361 Extended Colour Gamut.
uint8_t log2_chroma_h
Amount to shift the luma height right to find the chroma height.
static const uint16_t mask[17]
planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
#define AV_PIX_FMT_FLAG_RGB
The pixel format contains RGB-like data (as opposed to YUV/grayscale).
int av_pix_fmt_get_chroma_sub_sample(enum AVPixelFormat pix_fmt, int *h_shift, int *v_shift)
Utility function to access log2_chroma_w log2_chroma_h from the pixel format AVPixFmtDescriptor.
packed BGRA 8:8:8:8, 32bpp, BGRABGRA...
planar YUV 4:4:4 36bpp, (1 Cr & Cb sample per 1x1 Y & A samples), big-endian
planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
planar YUV 4:2:0, 12bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (firs...
also ITU-R BT1361 / IEC 61966-2-4 / SMPTE RP177 Annex B
#define AV_PIX_FMT_FLAG_HWACCEL
Pixel format is an HW accelerated format.
XVideo Motion Acceleration via common packet passing.
SMPTE ST 428-1 (CIE 1931 XYZ)
int av_match_name(const char *name, const char *names)
Match instances of a name in a comma-separated list of names.
planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
like NV12, with 10bpp per component, data in the high bits, zeros in the low bits, big-endian
Libavutil version macros.
HW acceleration through VDA, data[3] contains a CVPixelBufferRef.
planar YUV 4:4:4 36bpp, (1 Cr & Cb sample per 1x1 Y & A samples), little-endian
packed ARGB 8:8:8:8, 32bpp, ARGBARGB...
packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as lit...
packed RGBA 8:8:8:8, 32bpp, RGBARGBA...
const char * av_color_primaries_name(enum AVColorPrimaries primaries)
planar YUV 4:2:0 25bpp, (1 Cr & Cb sample per 2x2 Y & A samples, big-endian)
planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
static const char * color_transfer_names[]
common internal API header
uint64_t flags
Combination of AV_PIX_FMT_FLAG_...
as above, but U and V bytes are swapped
enum AVPixelFormat av_pix_fmt_desc_get_id(const AVPixFmtDescriptor *desc)
uint8_t nb_components
The number of components each pixel has, (1-4)
SMPTE ST 2084 for 10-, 12-, 14- and 16-bit systems.
packed RGB 1:2:1, 8bpp, (msb)1R 2G 1B(lsb)
planar YUV 4:2:0, 12bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV420P and setting col...
colour filters using Illuminant C
ITU-R BT2020 non-constant luminance system.
#define AV_PIX_FMT_FLAG_PSEUDOPAL
The pixel format is "pseudo-paletted".
also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM
planar YUV 4:4:4 40bpp, (1 Cr & Cb sample per 1x1 Y & A samples, big-endian)
packed YUV 4:2:2, 16bpp, Y0 Cr Y1 Cb
planar YUV 4:2:2 27bpp, (1 Cr & Cb sample per 2x1 Y & A samples), big-endian
packed RGB 8:8:8, 24bpp, BGRBGR...
packed XYZ 4:4:4, 36 bpp, (msb) 12X, 12Y, 12Z (lsb), the 2-byte value for each X/Y/Z is stored as big...
planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
interleaved chroma YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian ...
enum AVPixelFormat pix_fmt
like NV12, with 10bpp per component, data in the high bits, zeros in the low bits, little-endian
planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as big...
HW acceleration through CUDA.
packed BGR 5:6:5, 16bpp, (msb) 5B 6G 5R(lsb), big-endian
FCC Title 47 Code of Federal Regulations 73.682 (a)(20)
the normal 2^n-1 "JPEG" YUV ranges
HW acceleration through VA API at IDCT entry-point, Picture.data[3] contains a vaapi_render_state str...
packed RGB 3:3:2, 8bpp, (msb)2B 3G 3R(lsb)
planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
also ITU-R BT601-6 525 or 625 / ITU-R BT1358 525 or 625 / ITU-R BT1700 NTSC
functionally identical to above
planar YUV 4:4:4 32bpp, (1 Cr & Cb sample per 1x1 Y & A samples)
Descriptor that unambiguously describes how the bits of a pixel are stored in the up to 4 data planes...
planar GBR 4:4:4 30bpp, big-endian
planar YUV 4:2:2 48bpp, (1 Cr & Cb sample per 2x1 Y & A samples, big-endian)
packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr
MPEG-4 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstr...
static const char * color_space_names[]
H.264 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstre...
static FF_DISABLE_DEPRECATION_WARNINGS const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB]
planar YUV 4:1:0, 9bpp, (1 Cr & Cb sample per 4x4 Y samples)
planar YUV 4:2:2 48bpp, (1 Cr & Cb sample per 2x1 Y & A samples, little-endian)
planar YUV 4:4:4 64bpp, (1 Cr & Cb sample per 1x1 Y & A samples, little-endian)
HW acceleration through VDPAU, Picture.data[3] contains a VdpVideoSurface.
static enum AVPixelFormat get_pix_fmt_internal(const char *name)
"Logarithmic transfer characteristic (100 * Sqrt(10) : 1 range)"
HW acceleration through QSV, data[3] contains a pointer to the mfxFrameSurface1 structure.
planar YUV 4:2:0 22.5bpp, (1 Cr & Cb sample per 2x2 Y & A samples), big-endian
packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), little-endian, most significant bit to 1 ...
#define AV_PIX_FMT_FLAG_BITSTREAM
All values of a component are bit-wise packed end to end.
HW decoding through DXVA2, Picture.data[3] contains a LPDIRECT3DSURFACE9 pointer. ...
int shift
Number of least significant bits that must be shifted away to get the value.
void av_read_image_line(uint16_t *dst, const uint8_t *data[4], const int linesize[4], const AVPixFmtDescriptor *desc, int x, int y, int c, int w, int read_pal_component)
Read a line from an image, and write the values of the pixel format component c to dst...
int offset
Number of elements before the component of the first pixel.
planar YUV 4:2:2 30bpp, (1 Cr & Cb sample per 2x1 Y & A samples, little-endian)
packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), big-endian, most significant bit to 0 ...
packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), big-endian, most significant bits to 1 ...
planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
the normal 219*2^(n-8) "MPEG" YUV ranges
ITU-R BT2020 constant luminance system.
VC-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstrea...
hardware decoding through VDA
static const char * chroma_location_names[]
Y , 1bpp, 0 is black, 1 is white, in each byte pixels are ordered from the msb to the lsb...
planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
IEC 61966-2-1 (sRGB or sYCC)
#define FF_DISABLE_DEPRECATION_WARNINGS
common internal and external API header
Y , 1bpp, 0 is white, 1 is black, in each byte pixels are ordered from the msb to the lsb...
planar GBRA 4:4:4:4 32bpp
planar GBR 4:4:4 27bpp, little-endian
const char * av_color_transfer_name(enum AVColorTransferCharacteristic transfer)
packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as big...
SMPTE 2085, Y'D'zD'x.
planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
planar YUV 4:4:4, 24bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV444P and setting col...
packed RGB 3:3:2, 8bpp, (msb)2R 3G 3B(lsb)
planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples)
interleaved chroma YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
planar YUV 4:2:0 25bpp, (1 Cr & Cb sample per 2x2 Y & A samples, little-endian)
#define AV_PIX_FMT_FLAG_BE
Pixel format is big-endian.
ARIB STD-B67, known as "Hybrid log-gamma".
packed XYZ 4:4:4, 36 bpp, (msb) 12X, 12Y, 12Z (lsb), the 2-byte value for each X/Y/Z is stored as lit...
#define FF_ENABLE_DEPRECATION_WARNINGS
Y , 16bpp, little-endian.
16 bits gray, 16 bits alpha (little-endian)
planar YUV 4:2:2 30bpp, (1 Cr & Cb sample per 2x1 Y & A samples, big-endian)
ITU-R BT2020 for 10-bit system.
also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC
packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), big-endian, most significant bit to 1 ...
number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of...
static void comp(unsigned char *dst, int dst_stride, unsigned char *src, int src_stride, int add)
planar YUV 4:4:0 (1 Cr & Cb sample per 1x2 Y samples)
AVChromaLocation
Location of chroma samples.
HW decoding through Direct3D11, Picture.data[3] contains a ID3D11VideoDecoderOutputView pointer...
planar GBR 4:4:4 48bpp, little-endian
packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), little-endian, most significant bits to 1 ...
enum AVPixelFormat av_get_pix_fmt(const char *name)
Return the pixel format corresponding to name.
const char * av_get_pix_fmt_name(enum AVPixelFormat pix_fmt)
Return the short name for a pixel format, NULL in case pix_fmt is unknown.
planar YUV 4:2:2 27bpp, (1 Cr & Cb sample per 2x1 Y & A samples), little-endian
int depth
Number of bits in the component.
interleaved chroma YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian ...
HW acceleration though MMAL, data[3] contains a pointer to the MMAL_BUFFER_HEADER_T structure...
planar GBRA 4:4:4:4 64bpp, little-endian
packed YUV 4:1:1, 12bpp, Cb Y0 Y1 Cr Y2 Y3
AVPixelFormat
Pixel format.
#define AV_PIX_FMT_FLAG_PLANAR
At least one pixel component is not in the first data plane.
planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
planar GBR 4:4:4 30bpp, little-endian
packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is st...
int step
Number of elements between 2 horizontally consecutive pixels.
const AVPixFmtDescriptor * av_pix_fmt_desc_next(const AVPixFmtDescriptor *prev)
Iterate over all pixel format descriptors known to libavutil.
#define PIX_FMT_SWAP_ENDIANNESS(fmt)
"Logarithmic transfer characteristic (100:1 range)"
planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian