36 int x,
int y,
int c,
int w,
37 int read_pal_component)
40 int plane = comp.
plane;
49 const uint8_t *p = data[plane] + y * linesize[plane] + (skip >> 3);
50 int shift = 8 - depth - (skip & 7);
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;
94 uint8_t *p = data[plane] + y * linesize[plane] + (skip >> 3);
95 int shift = 8 - depth - (skip & 7);
98 *p |= *src++ <<
shift;
105 uint8_t *p = data[plane] + y * linesize[plane] +
108 if (shift + depth <= 8) {
111 *p |= (*src++ <<
shift);
129 #if !FF_API_PIX_FMT_DESC
625 .name =
"yuva420p9be",
638 .name =
"yuva420p9le",
651 .name =
"yuva422p9be",
664 .name =
"yuva422p9le",
677 .name =
"yuva444p9be",
690 .name =
"yuva444p9le",
703 .name =
"yuva420p10be",
716 .name =
"yuva420p10le",
729 .name =
"yuva422p10be",
742 .name =
"yuva422p10le",
755 .name =
"yuva444p10be",
768 .name =
"yuva444p10le",
781 .name =
"yuva420p16be",
794 .name =
"yuva420p16le",
807 .name =
"yuva422p16be",
820 .name =
"yuva422p16le",
833 .name =
"yuva444p16be",
846 .name =
"yuva444p16le",
859 .name =
"vdpau_h264",
865 .name =
"vdpau_mpeg1",
871 .name =
"vdpau_mpeg2",
877 .name =
"vdpau_wmv3",
889 .name =
"vdpau_mpeg4",
1139 .name =
"vaapi_moco",
1145 .name =
"vaapi_idct",
1151 .name =
"vaapi_vld",
1157 .name =
"yuv420p9le",
1169 .name =
"yuv420p9be",
1181 .name =
"yuv420p10le",
1193 .name =
"yuv420p10be",
1205 .name =
"yuv420p12le",
1217 .name =
"yuv420p12be",
1229 .name =
"yuv420p14le",
1241 .name =
"yuv420p14be",
1253 .name =
"yuv420p16le",
1265 .name =
"yuv420p16be",
1277 .name =
"yuv422p9le",
1289 .name =
"yuv422p9be",
1301 .name =
"yuv422p10le",
1313 .name =
"yuv422p10be",
1325 .name =
"yuv422p12le",
1337 .name =
"yuv422p12be",
1349 .name =
"yuv422p14le",
1361 .name =
"yuv422p14be",
1373 .name =
"yuv422p16le",
1385 .name =
"yuv422p16be",
1397 .name =
"yuv444p16le",
1409 .name =
"yuv444p16be",
1421 .name =
"yuv444p10le",
1433 .name =
"yuv444p10be",
1445 .name =
"yuv444p9le",
1457 .name =
"yuv444p9be",
1469 .name =
"yuv444p12le",
1481 .name =
"yuv444p12be",
1493 .name =
"yuv444p14le",
1505 .name =
"yuv444p14be",
1517 .name =
"dxva2_vld",
1683 .name =
"gbrap16le",
1696 .name =
"gbrap16be",
1745 if (av_pix_fmt_descriptors[pix_fmt].name &&
1746 !strcmp(av_pix_fmt_descriptors[pix_fmt].name, name))
1759 # define X_NE(be, le) be
1761 # define X_NE(be, le) le
1768 if (!strcmp(name,
"rgb32"))
1769 name =
X_NE(
"argb",
"bgra");
1770 else if (!strcmp(name,
"bgr32"))
1771 name =
X_NE(
"abgr",
"rgba");
1777 snprintf(name2,
sizeof(name2),
"%s%s", name,
X_NE(
"be",
"le"));
1789 int s = c == 1 || c == 2 ? 0 : log2_pixels;
1793 return bits >> log2_pixels;
1804 int s = c == 1 || c == 2 ? 0 : log2_pixels;
1807 for (c = 0; c < 4; c++)
1813 return bits >> log2_pixels;
1820 snprintf (buf, buf_size,
"name" " nb_components" " nb_bits");
1823 snprintf(buf, buf_size,
"%-11s %7d %10d", pixdesc->
name,
1834 return &av_pix_fmt_descriptors[
pix_fmt];
1840 return &av_pix_fmt_descriptors[0];
1841 while (prev - av_pix_fmt_descriptors <
FF_ARRAY_ELEMS(av_pix_fmt_descriptors) - 1) {
1851 if (desc < av_pix_fmt_descriptors ||
1852 desc >= av_pix_fmt_descriptors +
FF_ARRAY_ELEMS(av_pix_fmt_descriptors))
1859 int *h_shift,
int *v_shift)
1873 int i, planes[4] = { 0 },
ret = 0;
1890 uint8_t fill[4][8+6+3] = {{0}};
1891 uint8_t *
data[4] = {fill[0], fill[1], fill[2], fill[3]};
1892 int linesize[4] = {0,0,0,0};
1931 if (!desc || strlen(desc->
name) < 2)
1934 i = strlen(name) - 2;
1935 if (strcmp(name + i,
"be") && strcmp(name + i,
"le"))
1938 name[i] ^=
'b' ^
'l';