35 int x,
int y,
int c,
int w,
36 int read_pal_component)
39 int plane = comp.
plane;
41 int mask = (1 << depth) - 1;
42 int shift = comp.
shift;
48 const uint8_t *p = data[plane] + y * linesize[plane] + (skip >> 3);
49 int shift = 8 - depth - (skip & 7);
52 int val = (*p >> shift) & mask;
53 if (read_pal_component)
54 val = data[1][4*val + c];
61 const uint8_t *p = data[plane] + y * linesize[plane] +
63 int is_8bit = shift + depth <= 8;
69 int val = is_8bit ? *p :
71 val = (val >> shift) & mask;
72 if (read_pal_component)
73 val = data[1][4 * val + c];
83 int x,
int y,
int c,
int w)
86 int plane = comp.
plane;
93 uint8_t *p = data[plane] + y * linesize[plane] + (skip >> 3);
94 int shift = 8 - depth - (skip & 7);
97 *p |= *src++ << shift;
103 int shift = comp.
shift;
104 uint8_t *p = data[plane] + y * linesize[plane] +
107 if (shift + depth <= 8) {
110 *p |= (*src++ << shift);
116 uint16_t val =
AV_RB16(p) | (*src++ << shift);
119 uint16_t val =
AV_RL16(p) | (*src++ << shift);
128 #if !FF_API_PIX_FMT_DESC
566 .name =
"yuva420p9be",
579 .name =
"yuva420p9le",
592 .name =
"yuva422p9be",
605 .name =
"yuva422p9le",
618 .name =
"yuva444p9be",
631 .name =
"yuva444p9le",
644 .name =
"yuva420p10be",
657 .name =
"yuva420p10le",
670 .name =
"yuva422p10be",
683 .name =
"yuva422p10le",
696 .name =
"yuva444p10be",
709 .name =
"yuva444p10le",
722 .name =
"yuva420p16be",
735 .name =
"yuva420p16le",
748 .name =
"yuva422p16be",
761 .name =
"yuva422p16le",
774 .name =
"yuva444p16be",
787 .name =
"yuva444p16le",
801 .name =
"vdpau_h264",
807 .name =
"vdpau_mpeg1",
813 .name =
"vdpau_mpeg2",
819 .name =
"vdpau_wmv3",
831 .name =
"vdpau_mpeg4",
1030 .name =
"vaapi_moco",
1036 .name =
"vaapi_idct",
1042 .name =
"vaapi_vld",
1054 .name =
"yuv420p9le",
1066 .name =
"yuv420p9be",
1078 .name =
"yuv420p10le",
1090 .name =
"yuv420p10be",
1102 .name =
"yuv420p16le",
1114 .name =
"yuv420p16be",
1126 .name =
"yuv422p9le",
1138 .name =
"yuv422p9be",
1150 .name =
"yuv422p10le",
1162 .name =
"yuv422p10be",
1174 .name =
"yuv422p16le",
1186 .name =
"yuv422p16be",
1198 .name =
"yuv444p16le",
1210 .name =
"yuv444p16be",
1222 .name =
"yuv444p10le",
1234 .name =
"yuv444p10be",
1246 .name =
"yuv444p9le",
1258 .name =
"yuv444p9be",
1270 .name =
"dxva2_vld",
1442 if (av_pix_fmt_descriptors[pix_fmt].name &&
1443 !strcmp(av_pix_fmt_descriptors[pix_fmt].name, name))
1456 # define X_NE(be, le) be
1458 # define X_NE(be, le) le
1465 if (!strcmp(name,
"rgb32"))
1466 name =
X_NE(
"argb",
"bgra");
1467 else if (!strcmp(name,
"bgr32"))
1468 name =
X_NE(
"abgr",
"rgba");
1474 snprintf(name2,
sizeof(name2),
"%s%s", name,
X_NE(
"be",
"le"));
1486 int s = c == 1 || c == 2 ? 0 : log2_pixels;
1490 return bits >> log2_pixels;
1497 snprintf (buf, buf_size,
"name" " nb_components" " nb_bits");
1500 snprintf(buf, buf_size,
"%-11s %7d %10d", pixdesc->
name,
1511 return &av_pix_fmt_descriptors[
pix_fmt];
1517 return &av_pix_fmt_descriptors[0];
1518 if (prev - av_pix_fmt_descriptors <
FF_ARRAY_ELEMS(av_pix_fmt_descriptors) - 1)
1525 if (desc < av_pix_fmt_descriptors ||
1526 desc >= av_pix_fmt_descriptors +
FF_ARRAY_ELEMS(av_pix_fmt_descriptors))
1534 int *h_shift,
int *v_shift)
1548 int i, planes[4] = { 0 }, ret = 0;
1563 #define PIX_FMT_SWAP_ENDIANNESS(fmt) \
1564 case AV_PIX_FMT_ ## fmt ## BE: return AV_PIX_FMT_ ## fmt ## LE; \
1565 case AV_PIX_FMT_ ## fmt ## LE: return AV_PIX_FMT_ ## fmt ## BE
1605 #undef PIX_FMT_SWAP_ENDIANNESS