Commit 2268db2c authored by Vittorio Giovara's avatar Vittorio Giovara

lavu: Drop the {minus,plus}1 suffix from AVComponentDescriptor fields

The new fields can be accessed directly and are more intelligible.
Signed-off-by: 's avatarVittorio Giovara <vittorio.giovara@gmail.com>
parent 6b3ef7f0
......@@ -17,6 +17,8 @@ API changes, most recent first:
xxxxxxx - Change type of AVPixFmtDescriptor.flags from uint8_t to uint64_t.
xxxxxxx - Change type of AVComponentDescriptor fields from uint16_t to int
and drop bit packing.
xxxxxxx - Add step, offset, and depth to AVComponentDescriptor to replace
the deprecated step_minus1, offset_plus1, and depth_minus1.
2015-xx-xx - lavu 54.17.0
xxxxxxx - Add av_blowfish_alloc().
......
......@@ -2620,7 +2620,7 @@ static int verify_md5(HEVCContext *s, AVFrame *frame)
if (!desc)
return AVERROR(EINVAL);
pixel_shift = desc->comp[0].depth_minus1 > 7;
pixel_shift = desc->comp[0].depth > 8;
av_log(s->avctx, AV_LOG_DEBUG, "Verifying checksum for frame with POC %d: ",
s->poc);
......
......@@ -198,7 +198,7 @@ int ff_hevc_output_frame(HEVCContext *s, AVFrame *out, int flush)
if (!desc)
return AVERROR_BUG;
pixel_shift = desc->comp[0].depth_minus1 > 7;
pixel_shift = desc->comp[0].depth > 8;
ret = av_frame_ref(out, frame->frame);
ff_hevc_unref_frame(s, frame, HEVC_FRAME_FLAG_OUTPUT);
......
......@@ -67,7 +67,7 @@ int avcodec_get_pix_fmt_loss(enum AVPixelFormat dst_pix_fmt,
return 0;
for (i = 0; i < nb_components; i++)
if (src_desc->comp[i].depth_minus1 > dst_desc->comp[i].depth_minus1)
if (src_desc->comp[i].depth > dst_desc->comp[i].depth)
loss |= FF_LOSS_DEPTH;
if (dst_desc->log2_chroma_w > src_desc->log2_chroma_w ||
......
......@@ -94,22 +94,22 @@ static int libopenjpeg_matches_pix_fmt(const opj_image_t *img,
switch (desc->nb_components) {
case 4:
match = match &&
desc->comp[3].depth_minus1 + 1 >= img->comps[3].prec &&
desc->comp[3].depth >= img->comps[3].prec &&
1 == img->comps[3].dx &&
1 == img->comps[3].dy;
case 3:
match = match &&
desc->comp[2].depth_minus1 + 1 >= img->comps[2].prec &&
desc->comp[2].depth >= img->comps[2].prec &&
1 << desc->log2_chroma_w == img->comps[2].dx &&
1 << desc->log2_chroma_h == img->comps[2].dy;
case 2:
match = match &&
desc->comp[1].depth_minus1 + 1 >= img->comps[1].prec &&
desc->comp[1].depth >= img->comps[1].prec &&
1 << desc->log2_chroma_w == img->comps[1].dx &&
1 << desc->log2_chroma_h == img->comps[1].dy;
case 1:
match = match &&
desc->comp[0].depth_minus1 + 1 >= img->comps[0].prec &&
desc->comp[0].depth >= img->comps[0].prec &&
1 == img->comps[0].dx &&
1 == img->comps[0].dy;
default:
......@@ -365,7 +365,7 @@ static int libopenjpeg_decode_frame(AVCodecContext *avctx,
}
desc = av_pix_fmt_desc_get(avctx->pix_fmt);
pixel_size = desc->comp[0].step_minus1 + 1;
pixel_size = desc->comp[0].step;
ispacked = libopenjpeg_ispacked(avctx->pix_fmt);
switch (pixel_size) {
......
......@@ -131,8 +131,8 @@ static opj_image_t *libopenjpeg_create_image(AVCodecContext *avctx,
}
for (i = 0; i < numcomps; i++) {
cmptparm[i].prec = desc->comp[i].depth_minus1 + 1;
cmptparm[i].bpp = desc->comp[i].depth_minus1 + 1;
cmptparm[i].prec = desc->comp[i].depth;
cmptparm[i].bpp = desc->comp[i].depth;
cmptparm[i].sgnd = 0;
cmptparm[i].dx = sub_dx[i];
cmptparm[i].dy = sub_dy[i];
......
......@@ -78,7 +78,7 @@ static av_cold int libx265_encode_init(AVCodecContext *avctx)
{
libx265Context *ctx = avctx->priv_data;
ctx->api = x265_api_get(av_pix_fmt_desc_get(avctx->pix_fmt)->comp[0].depth_minus1 + 1);
ctx->api = x265_api_get(av_pix_fmt_desc_get(avctx->pix_fmt)->comp[0].depth);
if (!ctx->api)
ctx->api = x265_api_get(0);
......@@ -261,7 +261,7 @@ static int libx265_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
}
x265pic.pts = pic->pts;
x265pic.bitDepth = av_pix_fmt_desc_get(avctx->pix_fmt)->comp[0].depth_minus1 + 1;
x265pic.bitDepth = av_pix_fmt_desc_get(avctx->pix_fmt)->comp[0].depth;
x265pic.sliceType = pic->pict_type == AV_PICTURE_TYPE_I ? X265_TYPE_I :
pic->pict_type == AV_PICTURE_TYPE_P ? X265_TYPE_P :
......
......@@ -83,7 +83,7 @@ static int pnm_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
"P%c\n%d %d\n", c, avctx->width, h1);
bytestream += strlen(bytestream);
if (avctx->pix_fmt != AV_PIX_FMT_MONOWHITE) {
int maxdepth = (1 << (av_pix_fmt_desc_get(avctx->pix_fmt)->comp[0].depth_minus1 + 1)) - 1;
int maxdepth = (1 << av_pix_fmt_desc_get(avctx->pix_fmt)->comp[0].depth) - 1;
snprintf(bytestream, bytestream_end - bytestream,
"%d\n", maxdepth);
bytestream += strlen(bytestream);
......
......@@ -269,7 +269,7 @@ static int config_input(AVFilterLink *inlink)
s->hsub = desc->log2_chroma_w;
s->vsub = desc->log2_chroma_h;
s->depth = desc->comp[0].depth_minus1+1;
s->depth = desc->comp[0].depth;
s->line = av_malloc(inlink->w * sizeof(*s->line));
if (!s->line)
......
......@@ -186,7 +186,7 @@ static int filter_slice(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs)
YADIFContext *s = ctx->priv;
ThreadData *td = arg;
int refs = s->cur->linesize[td->plane];
int df = (s->csp->comp[td->plane].depth_minus1 + 8) / 8;
int df = (s->csp->comp[td->plane].depth + 7) / 8;
int pix_3 = 3 * df;
int slice_h = td->h / nb_jobs;
int slice_start = jobnr * slice_h;
......@@ -463,7 +463,7 @@ static int config_props(AVFilterLink *link)
link->h = link->src->inputs[0]->h;
s->csp = av_pix_fmt_desc_get(link->format);
if (s->csp->comp[0].depth_minus1 / 8 == 1) {
if (s->csp->comp[0].depth > 8) {
s->filter_line = filter_line_c_16bit;
s->filter_edges = filter_edges_16bit;
} else {
......
......@@ -40,8 +40,8 @@ void av_image_fill_max_pixsteps(int max_pixsteps[4], int max_pixstep_comps[4],
for (i = 0; i < 4; i++) {
const AVComponentDescriptor *comp = &(pixdesc->comp[i]);
if ((comp->step_minus1+1) > max_pixsteps[comp->plane]) {
max_pixsteps[comp->plane] = comp->step_minus1+1;
if (comp->step > max_pixsteps[comp->plane]) {
max_pixsteps[comp->plane] = comp->step;
if (max_pixstep_comps)
max_pixstep_comps[comp->plane] = i;
}
......@@ -59,7 +59,7 @@ int av_image_get_linesize(enum AVPixelFormat pix_fmt, int width, int plane)
return AVERROR(EINVAL);
if (desc->flags & AV_PIX_FMT_FLAG_BITSTREAM)
return (width * (desc->comp[0].step_minus1+1) + 7) >> 3;
return (width * desc->comp[0].step + 7) >> 3;
av_image_fill_max_pixsteps(max_step, max_step_comp, desc);
s = (max_step_comp[plane] == 1 || max_step_comp[plane] == 2) ? desc->log2_chroma_w : 0;
......@@ -79,9 +79,9 @@ int av_image_fill_linesizes(int linesizes[4], enum AVPixelFormat pix_fmt, int wi
return AVERROR(EINVAL);
if (desc->flags & AV_PIX_FMT_FLAG_BITSTREAM) {
if (width > (INT_MAX -7) / (desc->comp[0].step_minus1+1))
if (width > (INT_MAX - 7) / desc->comp[0].step)
return AVERROR(EINVAL);
linesizes[0] = (width * (desc->comp[0].step_minus1+1) + 7) >> 3;
linesizes[0] = (width * desc->comp[0].step + 7) >> 3;
return 0;
}
......
......@@ -38,14 +38,14 @@ void av_read_image_line(uint16_t *dst,
{
AVComponentDescriptor comp = desc->comp[c];
int plane = comp.plane;
int depth = comp.depth_minus1 + 1;
int depth = comp.depth;
int mask = (1 << depth) - 1;
int shift = comp.shift;
int step = comp.step_minus1 + 1;
int step = comp.step;
int flags = desc->flags;
if (flags & AV_PIX_FMT_FLAG_BITSTREAM) {
int skip = x * step + comp.offset_plus1 - 1;
int skip = x * step + comp.offset;
const uint8_t *p = data[plane] + y * linesize[plane] + (skip >> 3);
int shift = 8 - depth - (skip & 7);
......@@ -60,7 +60,7 @@ void av_read_image_line(uint16_t *dst,
}
} else {
const uint8_t *p = data[plane] + y * linesize[plane] +
x * step + comp.offset_plus1 - 1;
x * step + comp.offset;
int is_8bit = shift + depth <= 8;
if (is_8bit)
......@@ -85,12 +85,12 @@ void av_write_image_line(const uint16_t *src,
{
AVComponentDescriptor comp = desc->comp[c];
int plane = comp.plane;
int depth = comp.depth_minus1 + 1;
int step = comp.step_minus1 + 1;
int depth = comp.depth;
int step = comp.step;
int flags = desc->flags;
if (flags & AV_PIX_FMT_FLAG_BITSTREAM) {
int skip = x * step + comp.offset_plus1 - 1;
int skip = x * step + comp.offset;
uint8_t *p = data[plane] + y * linesize[plane] + (skip >> 3);
int shift = 8 - depth - (skip & 7);
......@@ -103,7 +103,7 @@ void av_write_image_line(const uint16_t *src,
} else {
int shift = comp.shift;
uint8_t *p = data[plane] + y * linesize[plane] +
x * step + comp.offset_plus1 - 1;
x * step + comp.offset;
if (shift + depth <= 8) {
p += !!(flags & AV_PIX_FMT_FLAG_BE);
......@@ -126,6 +126,9 @@ void av_write_image_line(const uint16_t *src,
}
}
#if FF_API_PLUS1_MINUS1
FF_DISABLE_DEPRECATION_WARNINGS
#endif
static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
[AV_PIX_FMT_YUV420P] = {
.name = "yuv420p",
......@@ -133,9 +136,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 1,
.comp = {
{ 0, 0, 1, 0, 7 }, /* Y */
{ 1, 0, 1, 0, 7 }, /* U */
{ 2, 0, 1, 0, 7 }, /* V */
{ 0, 1, 0, 0, 8, 0, 7, 1 }, /* Y */
{ 1, 1, 0, 0, 8, 0, 7, 1 }, /* U */
{ 2, 1, 0, 0, 8, 0, 7, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -145,9 +148,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 7 }, /* Y */
{ 0, 3, 2, 0, 7 }, /* U */
{ 0, 3, 4, 0, 7 }, /* V */
{ 0, 2, 0, 0, 8, 1, 7, 1 }, /* Y */
{ 0, 4, 1, 0, 8, 3, 7, 2 }, /* U */
{ 0, 4, 3, 0, 8, 3, 7, 4 }, /* V */
},
},
[AV_PIX_FMT_YVYU422] = {
......@@ -156,9 +159,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 7 }, /* Y */
{ 0, 3, 2, 0, 7 }, /* V */
{ 0, 3, 4, 0, 7 }, /* U */
{ 0, 2, 0, 0, 8, 1, 7, 1 }, /* Y */
{ 0, 4, 1, 0, 8, 3, 7, 2 }, /* V */
{ 0, 4, 3, 0, 8, 3, 7, 4 }, /* U */
},
},
[AV_PIX_FMT_RGB24] = {
......@@ -167,9 +170,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 2, 1, 0, 7 }, /* R */
{ 0, 2, 2, 0, 7 }, /* G */
{ 0, 2, 3, 0, 7 }, /* B */
{ 0, 3, 0, 0, 8, 2, 7, 1 }, /* R */
{ 0, 3, 1, 0, 8, 2, 7, 2 }, /* G */
{ 0, 3, 2, 0, 8, 2, 7, 3 }, /* B */
},
.flags = AV_PIX_FMT_FLAG_RGB,
},
......@@ -179,9 +182,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 2, 1, 0, 7 }, /* B */
{ 0, 2, 2, 0, 7 }, /* G */
{ 0, 2, 3, 0, 7 }, /* R */
{ 0, 3, 0, 0, 8, 2, 7, 1 }, /* B */
{ 0, 3, 1, 0, 8, 2, 7, 2 }, /* G */
{ 0, 3, 2, 0, 8, 2, 7, 3 }, /* R */
},
.flags = AV_PIX_FMT_FLAG_RGB,
},
......@@ -191,9 +194,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 0,
.comp = {
{ 0, 0, 1, 0, 7 }, /* Y */
{ 1, 0, 1, 0, 7 }, /* U */
{ 2, 0, 1, 0, 7 }, /* V */
{ 0, 1, 0, 0, 8, 0, 7, 1 }, /* Y */
{ 1, 1, 0, 0, 8, 0, 7, 1 }, /* U */
{ 2, 1, 0, 0, 8, 0, 7, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -203,9 +206,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 0, 1, 0, 7 }, /* Y */
{ 1, 0, 1, 0, 7 }, /* U */
{ 2, 0, 1, 0, 7 }, /* V */
{ 0, 1, 0, 0, 8, 0, 7, 1 }, /* Y */
{ 1, 1, 0, 0, 8, 0, 7, 1 }, /* U */
{ 2, 1, 0, 0, 8, 0, 7, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -215,9 +218,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 2,
.log2_chroma_h = 2,
.comp = {
{ 0, 0, 1, 0, 7 }, /* Y */
{ 1, 0, 1, 0, 7 }, /* U */
{ 2, 0, 1, 0, 7 }, /* V */
{ 0, 1, 0, 0, 8, 0, 7, 1 }, /* Y */
{ 1, 1, 0, 0, 8, 0, 7, 1 }, /* U */
{ 2, 1, 0, 0, 8, 0, 7, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -227,9 +230,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 2,
.log2_chroma_h = 0,
.comp = {
{ 0, 0, 1, 0, 7 }, /* Y */
{ 1, 0, 1, 0, 7 }, /* U */
{ 2, 0, 1, 0, 7 }, /* V */
{ 0, 1, 0, 0, 8, 0, 7, 1 }, /* Y */
{ 1, 1, 0, 0, 8, 0, 7, 1 }, /* U */
{ 2, 1, 0, 0, 8, 0, 7, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -239,7 +242,7 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 0, 1, 0, 7 }, /* Y */
{ 0, 1, 0, 0, 8, 0, 7, 1 }, /* Y */
},
.flags = AV_PIX_FMT_FLAG_PSEUDOPAL,
.alias = "gray8,y8",
......@@ -250,7 +253,7 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 0, 1, 0, 0 }, /* Y */
{ 0, 1, 0, 0, 1, 0, 0, 1 }, /* Y */
},
.flags = AV_PIX_FMT_FLAG_BITSTREAM,
},
......@@ -260,7 +263,7 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 0, 1, 7, 0 }, /* Y */
{ 0, 1, 0, 7, 1, 0, 0, 1 }, /* Y */
},
.flags = AV_PIX_FMT_FLAG_BITSTREAM,
},
......@@ -270,7 +273,7 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 0, 1, 0, 7 },
{ 0, 1, 0, 0, 8, 0, 7, 1 },
},
.flags = AV_PIX_FMT_FLAG_PAL,
},
......@@ -280,9 +283,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 1,
.comp = {
{ 0, 0, 1, 0, 7 }, /* Y */
{ 1, 0, 1, 0, 7 }, /* U */
{ 2, 0, 1, 0, 7 }, /* V */
{ 0, 1, 0, 0, 8, 0, 7, 1 }, /* Y */
{ 1, 1, 0, 0, 8, 0, 7, 1 }, /* U */
{ 2, 1, 0, 0, 8, 0, 7, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -292,9 +295,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 0,
.comp = {
{ 0, 0, 1, 0, 7 }, /* Y */
{ 1, 0, 1, 0, 7 }, /* U */
{ 2, 0, 1, 0, 7 }, /* V */
{ 0, 1, 0, 0, 8, 0, 7, 1 }, /* Y */
{ 1, 1, 0, 0, 8, 0, 7, 1 }, /* U */
{ 2, 1, 0, 0, 8, 0, 7, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -304,9 +307,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{0, 0, 1, 0, 7}, /* Y */
{1, 0, 1, 0, 7}, /* U */
{2, 0, 1, 0, 7}, /* V */
{ 0, 1, 0, 0, 8, 0, 7, 1 }, /* Y */
{ 1, 1, 0, 0, 8, 0, 7, 1 }, /* U */
{ 2, 1, 0, 0, 8, 0, 7, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -326,9 +329,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 2, 0, 7 }, /* Y */
{ 0, 3, 1, 0, 7 }, /* U */
{ 0, 3, 3, 0, 7 }, /* V */
{ 0, 2, 1, 0, 8, 1, 7, 2 }, /* Y */
{ 0, 4, 0, 0, 8, 3, 7, 1 }, /* U */
{ 0, 4, 2, 0, 8, 3, 7, 3 }, /* V */
},
},
[AV_PIX_FMT_UYYVYY411] = {
......@@ -337,9 +340,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 2,
.log2_chroma_h = 0,
.comp = {
{ 0, 3, 2, 0, 7 }, /* Y */
{ 0, 5, 1, 0, 7 }, /* U */
{ 0, 5, 4, 0, 7 }, /* V */
{ 0, 4, 1, 0, 8, 3, 7, 2 }, /* Y */
{ 0, 6, 0, 0, 8, 5, 7, 1 }, /* U */
{ 0, 6, 3, 0, 8, 5, 7, 4 }, /* V */
},
},
[AV_PIX_FMT_BGR8] = {
......@@ -348,9 +351,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 0, 1, 6, 1 }, /* B */
{ 0, 0, 1, 3, 2 }, /* G */
{ 0, 0, 1, 0, 2 }, /* R */
{ 0, 1, 0, 6, 2, 0, 1, 1 }, /* B */
{ 0, 1, 0, 3, 3, 0, 2, 1 }, /* G */
{ 0, 1, 0, 0, 3, 0, 2, 1 }, /* R */
},
.flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_PSEUDOPAL,
},
......@@ -360,9 +363,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 3, 1, 0, 0 }, /* B */
{ 0, 3, 2, 0, 1 }, /* G */
{ 0, 3, 4, 0, 0 }, /* R */
{ 0, 4, 0, 0, 1, 3, 0, 1 }, /* B */
{ 0, 4, 1, 0, 2, 3, 1, 2 }, /* G */
{ 0, 4, 3, 0, 1, 3, 0, 4 }, /* R */
},
.flags = AV_PIX_FMT_FLAG_BITSTREAM | AV_PIX_FMT_FLAG_RGB,
},
......@@ -372,9 +375,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 0, 1, 3, 0 }, /* B */
{ 0, 0, 1, 1, 1 }, /* G */
{ 0, 0, 1, 0, 0 }, /* R */
{ 0, 1, 0, 3, 1, 0, 0, 1 }, /* B */
{ 0, 1, 0, 1, 2, 0, 1, 1 }, /* G */
{ 0, 1, 0, 0, 1, 0, 0, 1 }, /* R */
},
.flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_PSEUDOPAL,
},
......@@ -384,9 +387,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 0, 1, 6, 1 }, /* R */
{ 0, 0, 1, 3, 2 }, /* G */
{ 0, 0, 1, 0, 2 }, /* B */
{ 0, 1, 0, 6, 2, 0, 1, 1 }, /* R */
{ 0, 1, 0, 3, 3, 0, 2, 1 }, /* G */
{ 0, 1, 0, 0, 3, 0, 2, 1 }, /* B */
},
.flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_PSEUDOPAL,
},
......@@ -396,9 +399,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 3, 1, 0, 0 }, /* R */
{ 0, 3, 2, 0, 1 }, /* G */
{ 0, 3, 4, 0, 0 }, /* B */
{ 0, 4, 0, 0, 1, 3, 0, 1 }, /* R */
{ 0, 4, 1, 0, 2, 3, 1, 2 }, /* G */
{ 0, 4, 3, 0, 1, 3, 0, 4 }, /* B */
},
.flags = AV_PIX_FMT_FLAG_BITSTREAM | AV_PIX_FMT_FLAG_RGB,
},
......@@ -408,9 +411,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 0, 1, 3, 0 }, /* R */
{ 0, 0, 1, 1, 1 }, /* G */
{ 0, 0, 1, 0, 0 }, /* B */
{ 0, 1, 0, 3, 1, 0, 0, 1 }, /* R */
{ 0, 1, 0, 1, 2, 0, 1, 1 }, /* G */
{ 0, 1, 0, 0, 1, 0, 0, 1 }, /* B */
},
.flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_PSEUDOPAL,
},
......@@ -420,9 +423,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 1,
.comp = {
{ 0, 0, 1, 0, 7 }, /* Y */
{ 1, 1, 1, 0, 7 }, /* U */
{ 1, 1, 2, 0, 7 }, /* V */
{ 0, 1, 0, 0, 8, 0, 7, 1 }, /* Y */
{ 1, 2, 0, 0, 8, 1, 7, 1 }, /* U */
{ 1, 2, 1, 0, 8, 1, 7, 2 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -432,9 +435,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 1,
.comp = {
{ 0, 0, 1, 0, 7 }, /* Y */
{ 1, 1, 1, 0, 7 }, /* V */
{ 1, 1, 2, 0, 7 }, /* U */
{ 0, 1, 0, 0, 8, 0, 7, 1 }, /* Y */
{ 1, 2, 0, 0, 8, 1, 7, 1 }, /* V */
{ 1, 2, 1, 0, 8, 1, 7, 2 }, /* U */
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -444,10 +447,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 3, 1, 0, 7 }, /* A */
{ 0, 3, 2, 0, 7 }, /* R */
{ 0, 3, 3, 0, 7 }, /* G */
{ 0, 3, 4, 0, 7 }, /* B */
{ 0, 4, 0, 0, 8, 3, 7, 1 }, /* A */
{ 0, 4, 1, 0, 8, 3, 7, 2 }, /* R */
{ 0, 4, 2, 0, 8, 3, 7, 3 }, /* G */
{ 0, 4, 3, 0, 8, 3, 7, 4 }, /* B */
},
.flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -457,10 +460,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 3, 1, 0, 7 }, /* R */
{ 0, 3, 2, 0, 7 }, /* G */
{ 0, 3, 3, 0, 7 }, /* B */
{ 0, 3, 4, 0, 7 }, /* A */
{ 0, 4, 0, 0, 8, 3, 7, 1 }, /* R */
{ 0, 4, 1, 0, 8, 3, 7, 2 }, /* G */
{ 0, 4, 2, 0, 8, 3, 7, 3 }, /* B */
{ 0, 4, 3, 0, 8, 3, 7, 4 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -470,10 +473,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 3, 1, 0, 7 }, /* A */
{ 0, 3, 2, 0, 7 }, /* B */
{ 0, 3, 3, 0, 7 }, /* G */
{ 0, 3, 4, 0, 7 }, /* R */
{ 0, 4, 0, 0, 8, 3, 7, 1 }, /* A */
{ 0, 4, 1, 0, 8, 3, 7, 2 }, /* B */
{ 0, 4, 2, 0, 8, 3, 7, 3 }, /* G */
{ 0, 4, 3, 0, 8, 3, 7, 4 }, /* R */
},
.flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -483,10 +486,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 3, 1, 0, 7 }, /* B */
{ 0, 3, 2, 0, 7 }, /* G */
{ 0, 3, 3, 0, 7 }, /* R */
{ 0, 3, 4, 0, 7 }, /* A */
{ 0, 4, 0, 0, 8, 3, 7, 1 }, /* B */
{ 0, 4, 1, 0, 8, 3, 7, 2 }, /* G */
{ 0, 4, 2, 0, 8, 3, 7, 3 }, /* R */
{ 0, 4, 3, 0, 8, 3, 7, 4 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -496,7 +499,7 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 15 }, /* Y */
{ 0, 2, 0, 0, 16, 1, 15, 1 }, /* Y */
},
.flags = AV_PIX_FMT_FLAG_BE,
.alias = "y16be",
......@@ -507,7 +510,7 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 15 }, /* Y */
{ 0, 2, 0, 0, 16, 1, 15, 1 }, /* Y */
},
.alias = "y16le",
},
......@@ -517,9 +520,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 1,
.comp = {
{ 0, 0, 1, 0, 7 }, /* Y */
{ 1, 0, 1, 0, 7 }, /* U */
{ 2, 0, 1, 0, 7 }, /* V */
{ 0, 1, 0, 0, 8, 0, 7, 1 }, /* Y */
{ 1, 1, 0, 0, 8, 0, 7, 1 }, /* U */
{ 2, 1, 0, 0, 8, 0, 7, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -529,9 +532,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 1,
.comp = {
{ 0, 0, 1, 0, 7 }, /* Y */
{ 1, 0, 1, 0, 7 }, /* U */
{ 2, 0, 1, 0, 7 }, /* V */
{ 0, 1, 0, 0, 8, 0, 7, 1 }, /* Y */
{ 1, 1, 0, 0, 8, 0, 7, 1 }, /* U */
{ 2, 1, 0, 0, 8, 0, 7, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -541,10 +544,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 1,
.comp = {
{ 0, 0, 1, 0, 7 }, /* Y */
{ 1, 0, 1, 0, 7 }, /* U */
{ 2, 0, 1, 0, 7 }, /* V */
{ 3, 0, 1, 0, 7 }, /* A */
{ 0, 1, 0, 0, 8, 0, 7, 1 }, /* Y */
{ 1, 1, 0, 0, 8, 0, 7, 1 }, /* U */
{ 2, 1, 0, 0, 8, 0, 7, 1 }, /* V */
{ 3, 1, 0, 0, 8, 0, 7, 1 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -554,10 +557,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 0,
.comp = {
{ 0, 0, 1, 0, 7 }, /* Y */
{ 1, 0, 1, 0, 7 }, /* U */
{ 2, 0, 1, 0, 7 }, /* V */
{ 3, 0, 1, 0, 7 }, /* A */
{ 0, 1, 0, 0, 8, 0, 7, 1 }, /* Y */
{ 1, 1, 0, 0, 8, 0, 7, 1 }, /* U */
{ 2, 1, 0, 0, 8, 0, 7, 1 }, /* V */
{ 3, 1, 0, 0, 8, 0, 7, 1 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -567,10 +570,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 0, 1, 0, 7 }, /* Y */
{ 1, 0, 1, 0, 7 }, /* U */
{ 2, 0, 1, 0, 7 }, /* V */
{ 3, 0, 1, 0, 7 }, /* A */
{ 0, 1, 0, 0, 8, 0, 7, 1 }, /* Y */
{ 1, 1, 0, 0, 8, 0, 7, 1 }, /* U */
{ 2, 1, 0, 0, 8, 0, 7, 1 }, /* V */
{ 3, 1, 0, 0, 8, 0, 7, 1 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -580,10 +583,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 1,
.comp = {
{ 0, 1, 1, 0, 8 }, /* Y */
{ 1, 1, 1, 0, 8 }, /* U */
{ 2, 1, 1, 0, 8 }, /* V */
{ 3, 1, 1, 0, 8 }, /* A */
{ 0, 2, 0, 0, 9, 1, 8, 1 }, /* Y */
{ 1, 2, 0, 0, 9, 1, 8, 1 }, /* U */
{ 2, 2, 0, 0, 9, 1, 8, 1 }, /* V */
{ 3, 2, 0, 0, 9, 1, 8, 1 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -593,10 +596,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 1,
.comp = {
{ 0, 1, 1, 0, 8 }, /* Y */
{ 1, 1, 1, 0, 8 }, /* U */
{ 2, 1, 1, 0, 8 }, /* V */
{ 3, 1, 1, 0, 8 }, /* A */
{ 0, 2, 0, 0, 9, 1, 8, 1 }, /* Y */
{ 1, 2, 0, 0, 9, 1, 8, 1 }, /* U */
{ 2, 2, 0, 0, 9, 1, 8, 1 }, /* V */
{ 3, 2, 0, 0, 9, 1, 8, 1 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -606,10 +609,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 8 }, /* Y */
{ 1, 1, 1, 0, 8 }, /* U */
{ 2, 1, 1, 0, 8 }, /* V */
{ 3, 1, 1, 0, 8 }, /* A */
{ 0, 2, 0, 0, 9, 1, 8, 1 }, /* Y */
{ 1, 2, 0, 0, 9, 1, 8, 1 }, /* U */
{ 2, 2, 0, 0, 9, 1, 8, 1 }, /* V */
{ 3, 2, 0, 0, 9, 1, 8, 1 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -619,10 +622,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 8 }, /* Y */
{ 1, 1, 1, 0, 8 }, /* U */
{ 2, 1, 1, 0, 8 }, /* V */
{ 3, 1, 1, 0, 8 }, /* A */
{ 0, 2, 0, 0, 9, 1, 8, 1 }, /* Y */
{ 1, 2, 0, 0, 9, 1, 8, 1 }, /* U */
{ 2, 2, 0, 0, 9, 1, 8, 1 }, /* V */
{ 3, 2, 0, 0, 9, 1, 8, 1 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -632,10 +635,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 8 }, /* Y */
{ 1, 1, 1, 0, 8 }, /* U */
{ 2, 1, 1, 0, 8 }, /* V */
{ 3, 1, 1, 0, 8 }, /* A */
{ 0, 2, 0, 0, 9, 1, 8, 1 }, /* Y */
{ 1, 2, 0, 0, 9, 1, 8, 1 }, /* U */
{ 2, 2, 0, 0, 9, 1, 8, 1 }, /* V */
{ 3, 2, 0, 0, 9, 1, 8, 1 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -645,10 +648,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 8 }, /* Y */
{ 1, 1, 1, 0, 8 }, /* U */
{ 2, 1, 1, 0, 8 }, /* V */
{ 3, 1, 1, 0, 8 }, /* A */
{ 0, 2, 0, 0, 9, 1, 8, 1 }, /* Y */
{ 1, 2, 0, 0, 9, 1, 8, 1 }, /* U */
{ 2, 2, 0, 0, 9, 1, 8, 1 }, /* V */
{ 3, 2, 0, 0, 9, 1, 8, 1 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -658,10 +661,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 1,
.comp = {
{ 0, 1, 1, 0, 9 }, /* Y */
{ 1, 1, 1, 0, 9 }, /* U */
{ 2, 1, 1, 0, 9 }, /* V */
{ 3, 1, 1, 0, 9 }, /* A */
{ 0, 2, 0, 0, 10, 1, 9, 1 }, /* Y */
{ 1, 2, 0, 0, 10, 1, 9, 1 }, /* U */
{ 2, 2, 0, 0, 10, 1, 9, 1 }, /* V */
{ 3, 2, 0, 0, 10, 1, 9, 1 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -671,10 +674,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 1,
.comp = {
{ 0, 1, 1, 0, 9 }, /* Y */
{ 1, 1, 1, 0, 9 }, /* U */
{ 2, 1, 1, 0, 9 }, /* V */
{ 3, 1, 1, 0, 9 }, /* A */
{ 0, 2, 0, 0, 10, 1, 9, 1 }, /* Y */
{ 1, 2, 0, 0, 10, 1, 9, 1 }, /* U */
{ 2, 2, 0, 0, 10, 1, 9, 1 }, /* V */
{ 3, 2, 0, 0, 10, 1, 9, 1 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -684,10 +687,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 9 }, /* Y */
{ 1, 1, 1, 0, 9 }, /* U */
{ 2, 1, 1, 0, 9 }, /* V */
{ 3, 1, 1, 0, 9 }, /* A */
{ 0, 2, 0, 0, 10, 1, 9, 1 }, /* Y */
{ 1, 2, 0, 0, 10, 1, 9, 1 }, /* U */
{ 2, 2, 0, 0, 10, 1, 9, 1 }, /* V */
{ 3, 2, 0, 0, 10, 1, 9, 1 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -697,10 +700,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 9 }, /* Y */
{ 1, 1, 1, 0, 9 }, /* U */
{ 2, 1, 1, 0, 9 }, /* V */
{ 3, 1, 1, 0, 9 }, /* A */
{ 0, 2, 0, 0, 10, 1, 9, 1 }, /* Y */
{ 1, 2, 0, 0, 10, 1, 9, 1 }, /* U */
{ 2, 2, 0, 0, 10, 1, 9, 1 }, /* V */
{ 3, 2, 0, 0, 10, 1, 9, 1 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -710,10 +713,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 9 }, /* Y */
{ 1, 1, 1, 0, 9 }, /* U */
{ 2, 1, 1, 0, 9 }, /* V */
{ 3, 1, 1, 0, 9 }, /* A */
{ 0, 2, 0, 0, 10, 1, 9, 1 }, /* Y */
{ 1, 2, 0, 0, 10, 1, 9, 1 }, /* U */
{ 2, 2, 0, 0, 10, 1, 9, 1 }, /* V */
{ 3, 2, 0, 0, 10, 1, 9, 1 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -723,10 +726,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 9 }, /* Y */
{ 1, 1, 1, 0, 9 }, /* U */
{ 2, 1, 1, 0, 9 }, /* V */
{ 3, 1, 1, 0, 9 }, /* A */
{ 0, 2, 0, 0, 10, 1, 9, 1 }, /* Y */
{ 1, 2, 0, 0, 10, 1, 9, 1 }, /* U */
{ 2, 2, 0, 0, 10, 1, 9, 1 }, /* V */
{ 3, 2, 0, 0, 10, 1, 9, 1 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -736,10 +739,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 1,
.comp = {
{ 0, 1, 1, 0, 15 }, /* Y */
{ 1, 1, 1, 0, 15 }, /* U */
{ 2, 1, 1, 0, 15 }, /* V */
{ 3, 1, 1, 0, 15 }, /* A */
{ 0, 2, 0, 0, 16, 1, 15, 1 }, /* Y */
{ 1, 2, 0, 0, 16, 1, 15, 1 }, /* U */
{ 2, 2, 0, 0, 16, 1, 15, 1 }, /* V */
{ 3, 2, 0, 0, 16, 1, 15, 1 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -749,10 +752,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 1,
.comp = {
{ 0, 1, 1, 0, 15 }, /* Y */
{ 1, 1, 1, 0, 15 }, /* U */
{ 2, 1, 1, 0, 15 }, /* V */
{ 3, 1, 1, 0, 15 }, /* A */
{ 0, 2, 0, 0, 16, 1, 15, 1 }, /* Y */
{ 1, 2, 0, 0, 16, 1, 15, 1 }, /* U */
{ 2, 2, 0, 0, 16, 1, 15, 1 }, /* V */
{ 3, 2, 0, 0, 16, 1, 15, 1 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -762,10 +765,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 15 }, /* Y */
{ 1, 1, 1, 0, 15 }, /* U */
{ 2, 1, 1, 0, 15 }, /* V */
{ 3, 1, 1, 0, 15 }, /* A */
{ 0, 2, 0, 0, 16, 1, 15, 1 }, /* Y */
{ 1, 2, 0, 0, 16, 1, 15, 1 }, /* U */
{ 2, 2, 0, 0, 16, 1, 15, 1 }, /* V */
{ 3, 2, 0, 0, 16, 1, 15, 1 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -775,10 +778,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 15 }, /* Y */
{ 1, 1, 1, 0, 15 }, /* U */
{ 2, 1, 1, 0, 15 }, /* V */
{ 3, 1, 1, 0, 15 }, /* A */
{ 0, 2, 0, 0, 16, 1, 15, 1 }, /* Y */
{ 1, 2, 0, 0, 16, 1, 15, 1 }, /* U */
{ 2, 2, 0, 0, 16, 1, 15, 1 }, /* V */
{ 3, 2, 0, 0, 16, 1, 15, 1 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -788,10 +791,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 15 }, /* Y */
{ 1, 1, 1, 0, 15 }, /* U */
{ 2, 1, 1, 0, 15 }, /* V */
{ 3, 1, 1, 0, 15 }, /* A */
{ 0, 2, 0, 0, 16, 1, 15, 1 }, /* Y */
{ 1, 2, 0, 0, 16, 1, 15, 1 }, /* U */
{ 2, 2, 0, 0, 16, 1, 15, 1 }, /* V */
{ 3, 2, 0, 0, 16, 1, 15, 1 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -801,10 +804,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 15 }, /* Y */
{ 1, 1, 1, 0, 15 }, /* U */
{ 2, 1, 1, 0, 15 }, /* V */
{ 3, 1, 1, 0, 15 }, /* A */
{ 0, 2, 0, 0, 16, 1, 15, 1 }, /* Y */
{ 1, 2, 0, 0, 16, 1, 15, 1 }, /* U */
{ 2, 2, 0, 0, 16, 1, 15, 1 }, /* V */
{ 3, 2, 0, 0, 16, 1, 15, 1 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -852,9 +855,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 5, 1, 0, 15 }, /* R */
{ 0, 5, 3, 0, 15 }, /* G */
{ 0, 5, 5, 0, 15 }, /* B */
{ 0, 6, 0, 0, 16, 5, 15, 1 }, /* R */
{ 0, 6, 2, 0, 16, 5, 15, 3 }, /* G */
{ 0, 6, 4, 0, 16, 5, 15, 5 }, /* B */
},
.flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_BE,
},
......@@ -864,9 +867,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 5, 1, 0, 15 }, /* R */
{ 0, 5, 3, 0, 15 }, /* G */
{ 0, 5, 5, 0, 15 }, /* B */
{ 0, 6, 0, 0, 16, 5, 15, 1 }, /* R */
{ 0, 6, 2, 0, 16, 5, 15, 3 }, /* G */
{ 0, 6, 4, 0, 16, 5, 15, 5 }, /* B */
},
.flags = AV_PIX_FMT_FLAG_RGB,
},
......@@ -876,10 +879,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 7, 1, 0, 15 }, /* R */
{ 0, 7, 3, 0, 15 }, /* G */
{ 0, 7, 5, 0, 15 }, /* B */
{ 0, 7, 7, 0, 15 }, /* A */
{ 0, 8, 0, 0, 16, 7, 15, 1 }, /* R */
{ 0, 8, 2, 0, 16, 7, 15, 3 }, /* G */
{ 0, 8, 4, 0, 16, 7, 15, 5 }, /* B */
{ 0, 8, 6, 0, 16, 7, 15, 7 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -889,10 +892,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 7, 1, 0, 15 }, /* R */
{ 0, 7, 3, 0, 15 }, /* G */
{ 0, 7, 5, 0, 15 }, /* B */
{ 0, 7, 7, 0, 15 }, /* A */
{ 0, 8, 0, 0, 16, 7, 15, 1 }, /* R */
{ 0, 8, 2, 0, 16, 7, 15, 3 }, /* G */
{ 0, 8, 4, 0, 16, 7, 15, 5 }, /* B */
{ 0, 8, 6, 0, 16, 7, 15, 7 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -902,9 +905,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 0, 3, 4 }, /* R */
{ 0, 1, 1, 5, 5 }, /* G */
{ 0, 1, 1, 0, 4 }, /* B */
{ 0, 2, -1, 3, 5, 1, 4, 0 }, /* R */
{ 0, 2, 0, 5, 6, 1, 5, 1 }, /* G */
{ 0, 2, 0, 0, 5, 1, 4, 1 }, /* B */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB,
},
......@@ -914,9 +917,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 2, 3, 4 }, /* R */
{ 0, 1, 1, 5, 5 }, /* G */
{ 0, 1, 1, 0, 4 }, /* B */
{ 0, 2, 1, 3, 5, 1, 4, 2 }, /* R */
{ 0, 2, 0, 5, 6, 1, 5, 1 }, /* G */
{ 0, 2, 0, 0, 5, 1, 4, 1 }, /* B */
},
.flags = AV_PIX_FMT_FLAG_RGB,
},
......@@ -926,9 +929,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 0, 2, 4 }, /* R */
{ 0, 1, 1, 5, 4 }, /* G */
{ 0, 1, 1, 0, 4 }, /* B */
{ 0, 2, -1, 2, 5, 1, 4, 0 }, /* R */
{ 0, 2, 0, 5, 5, 1, 4, 1 }, /* G */
{ 0, 2, 0, 0, 5, 1, 4, 1 }, /* B */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB,
},
......@@ -938,9 +941,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 2, 2, 4 }, /* R */
{ 0, 1, 1, 5, 4 }, /* G */
{ 0, 1, 1, 0, 4 }, /* B */
{ 0, 2, 1, 2, 5, 1, 4, 2 }, /* R */
{ 0, 2, 0, 5, 5, 1, 4, 1 }, /* G */
{ 0, 2, 0, 0, 5, 1, 4, 1 }, /* B */
},
.flags = AV_PIX_FMT_FLAG_RGB,
},
......@@ -950,9 +953,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 0, 0, 3 }, /* R */
{ 0, 1, 1, 4, 3 }, /* G */
{ 0, 1, 1, 0, 3 }, /* B */
{ 0, 2, -1, 0, 4, 1, 3, 0 }, /* R */
{ 0, 2, 0, 4, 4, 1, 3, 1 }, /* G */
{ 0, 2, 0, 0, 4, 1, 3, 1 }, /* B */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB,
},
......@@ -962,9 +965,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 2, 0, 3 }, /* R */
{ 0, 1, 1, 4, 3 }, /* G */
{ 0, 1, 1, 0, 3 }, /* B */
{ 0, 2, 1, 0, 4, 1, 3, 2 }, /* R */
{ 0, 2, 0, 4, 4, 1, 3, 1 }, /* G */
{ 0, 2, 0, 0, 4, 1, 3, 1 }, /* B */
},
.flags = AV_PIX_FMT_FLAG_RGB,
},
......@@ -974,9 +977,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 5, 1, 0, 15 }, /* B */
{ 0, 5, 3, 0, 15 }, /* G */
{ 0, 5, 5, 0, 15 }, /* R */
{ 0, 6, 0, 0, 16, 5, 15, 1 }, /* B */
{ 0, 6, 2, 0, 16, 5, 15, 3 }, /* G */
{ 0, 6, 4, 0, 16, 5, 15, 5 }, /* R */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB,
},
......@@ -986,9 +989,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 5, 1, 0, 15 }, /* B */
{ 0, 5, 3, 0, 15 }, /* G */
{ 0, 5, 5, 0, 15 }, /* R */
{ 0, 6, 0, 0, 16, 5, 15, 1 }, /* B */
{ 0, 6, 2, 0, 16, 5, 15, 3 }, /* G */
{ 0, 6, 4, 0, 16, 5, 15, 5 }, /* R */
},
.flags = AV_PIX_FMT_FLAG_RGB,
},
......@@ -998,10 +1001,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 5, 1, 0, 15 }, /* B */
{ 0, 5, 3, 0, 15 }, /* G */
{ 0, 5, 5, 0, 15 }, /* R */
{ 0, 5, 7, 0, 15 }, /* A */
{ 0, 6, 0, 0, 16, 5, 15, 1 }, /* B */
{ 0, 6, 2, 0, 16, 5, 15, 3 }, /* G */
{ 0, 6, 4, 0, 16, 5, 15, 5 }, /* R */
{ 0, 6, 6, 0, 16, 5, 15, 7 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -1011,10 +1014,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 5, 1, 0, 15 }, /* B */
{ 0, 5, 3, 0, 15 }, /* G */
{ 0, 5, 5, 0, 15 }, /* R */
{ 0, 5, 7, 0, 15 }, /* A */
{ 0, 6, 0, 0, 16, 5, 15, 1 }, /* B */
{ 0, 6, 2, 0, 16, 5, 15, 3 }, /* G */
{ 0, 6, 4, 0, 16, 5, 15, 5 }, /* R */
{ 0, 6, 6, 0, 16, 5, 15, 7 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -1024,9 +1027,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 0, 3, 4 }, /* B */
{ 0, 1, 1, 5, 5 }, /* G */
{ 0, 1, 1, 0, 4 }, /* R */
{ 0, 2, -1, 3, 5, 1, 4, 0 }, /* B */
{ 0, 2, 0, 5, 6, 1, 5, 1 }, /* G */
{ 0, 2, 0, 0, 5, 1, 4, 1 }, /* R */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB,
},
......@@ -1036,9 +1039,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 2, 3, 4 }, /* B */
{ 0, 1, 1, 5, 5 }, /* G */
{ 0, 1, 1, 0, 4 }, /* R */
{ 0, 2, 1, 3, 5, 1, 4, 2 }, /* B */
{ 0, 2, 0, 5, 6, 1, 5, 1 }, /* G */
{ 0, 2, 0, 0, 5, 1, 4, 1 }, /* R */
},
.flags = AV_PIX_FMT_FLAG_RGB,
},
......@@ -1048,9 +1051,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 0, 2, 4 }, /* B */
{ 0, 1, 1, 5, 4 }, /* G */
{ 0, 1, 1, 0, 4 }, /* R */
{ 0, 2, -1, 2, 5, 1, 4, 0 }, /* B */
{ 0, 2, 0, 5, 5, 1, 4, 1 }, /* G */
{ 0, 2, 0, 0, 5, 1, 4, 1 }, /* R */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB,
},
......@@ -1060,9 +1063,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 2, 2, 4 }, /* B */
{ 0, 1, 1, 5, 4 }, /* G */
{ 0, 1, 1, 0, 4 }, /* R */
{ 0, 2, 1, 2, 5, 1, 4, 2 }, /* B */
{ 0, 2, 0, 5, 5, 1, 4, 1 }, /* G */
{ 0, 2, 0, 0, 5, 1, 4, 1 }, /* R */
},
.flags = AV_PIX_FMT_FLAG_RGB,
},
......@@ -1072,9 +1075,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 0, 0, 3 }, /* B */
{ 0, 1, 1, 4, 3 }, /* G */
{ 0, 1, 1, 0, 3 }, /* R */
{ 0, 2, -1, 0, 4, 1, 3, 0 }, /* B */
{ 0, 2, 0, 4, 4, 1, 3, 1 }, /* G */
{ 0, 2, 0, 0, 4, 1, 3, 1 }, /* R */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB,
},
......@@ -1084,9 +1087,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 2, 0, 3 }, /* B */
{ 0, 1, 1, 4, 3 }, /* G */
{ 0, 1, 1, 0, 3 }, /* R */
{ 0, 2, 1, 0, 4, 1, 3, 2 }, /* B */
{ 0, 2, 0, 4, 4, 1, 3, 1 }, /* G */
{ 0, 2, 0, 0, 4, 1, 3, 1 }, /* R */
},
.flags = AV_PIX_FMT_FLAG_RGB,
},
......@@ -1120,9 +1123,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 1,
.comp = {
{ 0, 1, 1, 0, 8 }, /* Y */
{ 1, 1, 1, 0, 8 }, /* U */
{ 2, 1, 1, 0, 8 }, /* V */
{ 0, 2, 0, 0, 9, 1, 8, 1 }, /* Y */
{ 1, 2, 0, 0, 9, 1, 8, 1 }, /* U */
{ 2, 2, 0, 0, 9, 1, 8, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -1132,9 +1135,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 1,
.comp = {
{ 0, 1, 1, 0, 8 }, /* Y */
{ 1, 1, 1, 0, 8 }, /* U */
{ 2, 1, 1, 0, 8 }, /* V */
{ 0, 2, 0, 0, 9, 1, 8, 1 }, /* Y */
{ 1, 2, 0, 0, 9, 1, 8, 1 }, /* U */
{ 2, 2, 0, 0, 9, 1, 8, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -1144,9 +1147,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 1,
.comp = {
{ 0, 1, 1, 0, 9 }, /* Y */
{ 1, 1, 1, 0, 9 }, /* U */
{ 2, 1, 1, 0, 9 }, /* V */
{ 0, 2, 0, 0, 10, 1, 9, 1 }, /* Y */
{ 1, 2, 0, 0, 10, 1, 9, 1 }, /* U */
{ 2, 2, 0, 0, 10, 1, 9, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -1156,9 +1159,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 1,
.comp = {
{ 0, 1, 1, 0, 9 }, /* Y */
{ 1, 1, 1, 0, 9 }, /* U */
{ 2, 1, 1, 0, 9 }, /* V */
{ 0, 2, 0, 0, 10, 1, 9, 1 }, /* Y */
{ 1, 2, 0, 0, 10, 1, 9, 1 }, /* U */
{ 2, 2, 0, 0, 10, 1, 9, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -1168,9 +1171,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 1,
.comp = {
{ 0, 1, 1, 0, 15 }, /* Y */
{ 1, 1, 1, 0, 15 }, /* U */
{ 2, 1, 1, 0, 15 }, /* V */
{ 0, 2, 0, 0, 16, 1, 15, 1 }, /* Y */
{ 1, 2, 0, 0, 16, 1, 15, 1 }, /* U */
{ 2, 2, 0, 0, 16, 1, 15, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -1180,9 +1183,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 1,
.comp = {
{ 0, 1, 1, 0, 15 }, /* Y */
{ 1, 1, 1, 0, 15 }, /* U */
{ 2, 1, 1, 0, 15 }, /* V */
{ 0, 2, 0, 0, 16, 1, 15, 1 }, /* Y */
{ 1, 2, 0, 0, 16, 1, 15, 1 }, /* U */
{ 2, 2, 0, 0, 16, 1, 15, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -1192,9 +1195,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 8 }, /* Y */
{ 1, 1, 1, 0, 8 }, /* U */
{ 2, 1, 1, 0, 8 }, /* V */
{ 0, 2, 0, 0, 9, 1, 8, 1 }, /* Y */
{ 1, 2, 0, 0, 9, 1, 8, 1 }, /* U */
{ 2, 2, 0, 0, 9, 1, 8, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -1204,9 +1207,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 8 }, /* Y */
{ 1, 1, 1, 0, 8 }, /* U */
{ 2, 1, 1, 0, 8 }, /* V */
{ 0, 2, 0, 0, 9, 1, 8, 1 }, /* Y */
{ 1, 2, 0, 0, 9, 1, 8, 1 }, /* U */
{ 2, 2, 0, 0, 9, 1, 8, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -1216,9 +1219,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 9 }, /* Y */
{ 1, 1, 1, 0, 9 }, /* U */
{ 2, 1, 1, 0, 9 }, /* V */
{ 0, 2, 0, 0, 10, 1, 9, 1 }, /* Y */
{ 1, 2, 0, 0, 10, 1, 9, 1 }, /* U */
{ 2, 2, 0, 0, 10, 1, 9, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -1228,9 +1231,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 9 }, /* Y */
{ 1, 1, 1, 0, 9 }, /* U */
{ 2, 1, 1, 0, 9 }, /* V */
{ 0, 2, 0, 0, 10, 1, 9, 1 }, /* Y */
{ 1, 2, 0, 0, 10, 1, 9, 1 }, /* U */
{ 2, 2, 0, 0, 10, 1, 9, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -1240,9 +1243,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 15 }, /* Y */
{ 1, 1, 1, 0, 15 }, /* U */
{ 2, 1, 1, 0, 15 }, /* V */
{ 0, 2, 0, 0, 16, 1, 15, 1 }, /* Y */
{ 1, 2, 0, 0, 16, 1, 15, 1 }, /* U */
{ 2, 2, 0, 0, 16, 1, 15, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -1252,9 +1255,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 15 }, /* Y */
{ 1, 1, 1, 0, 15 }, /* U */
{ 2, 1, 1, 0, 15 }, /* V */
{ 0, 2, 0, 0, 16, 1, 15, 1 }, /* Y */
{ 1, 2, 0, 0, 16, 1, 15, 1 }, /* U */
{ 2, 2, 0, 0, 16, 1, 15, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -1264,9 +1267,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 15 }, /* Y */
{ 1, 1, 1, 0, 15 }, /* U */
{ 2, 1, 1, 0, 15 }, /* V */
{ 0, 2, 0, 0, 16, 1, 15, 1 }, /* Y */
{ 1, 2, 0, 0, 16, 1, 15, 1 }, /* U */
{ 2, 2, 0, 0, 16, 1, 15, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -1276,9 +1279,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 15 }, /* Y */
{ 1, 1, 1, 0, 15 }, /* U */
{ 2, 1, 1, 0, 15 }, /* V */
{ 0, 2, 0, 0, 16, 1, 15, 1 }, /* Y */
{ 1, 2, 0, 0, 16, 1, 15, 1 }, /* U */
{ 2, 2, 0, 0, 16, 1, 15, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -1288,9 +1291,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 9 }, /* Y */
{ 1, 1, 1, 0, 9 }, /* U */
{ 2, 1, 1, 0, 9 }, /* V */
{ 0, 2, 0, 0, 10, 1, 9, 1 }, /* Y */
{ 1, 2, 0, 0, 10, 1, 9, 1 }, /* U */
{ 2, 2, 0, 0, 10, 1, 9, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -1300,9 +1303,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 9 }, /* Y */
{ 1, 1, 1, 0, 9 }, /* U */
{ 2, 1, 1, 0, 9 }, /* V */
{ 0, 2, 0, 0, 10, 1, 9, 1 }, /* Y */
{ 1, 2, 0, 0, 10, 1, 9, 1 }, /* U */
{ 2, 2, 0, 0, 10, 1, 9, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -1312,9 +1315,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 8 }, /* Y */
{ 1, 1, 1, 0, 8 }, /* U */
{ 2, 1, 1, 0, 8 }, /* V */
{ 0, 2, 0, 0, 9, 1, 8, 1 }, /* Y */
{ 1, 2, 0, 0, 9, 1, 8, 1 }, /* U */
{ 2, 2, 0, 0, 9, 1, 8, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -1324,9 +1327,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 8 }, /* Y */
{ 1, 1, 1, 0, 8 }, /* U */
{ 2, 1, 1, 0, 8 }, /* V */
{ 0, 2, 0, 0, 9, 1, 8, 1 }, /* Y */
{ 1, 2, 0, 0, 9, 1, 8, 1 }, /* U */
{ 2, 2, 0, 0, 9, 1, 8, 1 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -1346,8 +1349,8 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.name = "ya8",
.nb_components = 2,
.comp = {
{ 0, 1, 1, 0, 7 }, /* Y */
{ 0, 1, 2, 0, 7 }, /* A */
{ 0, 2, 0, 0, 8, 1, 7, 1 }, /* Y */
{ 0, 2, 1, 0, 8, 1, 7, 2 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_ALPHA,
.alias = "gray8a",
......@@ -1356,8 +1359,8 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.name = "ya16le",
.nb_components = 2,
.comp = {
{ 0, 3, 1, 0, 15 }, /* Y */
{ 0, 3, 3, 0, 15 }, /* A */
{ 0, 4, 0, 0, 16, 3, 15, 1 }, /* Y */
{ 0, 4, 2, 0, 16, 3, 15, 3 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -1365,8 +1368,8 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.name = "ya16be",
.nb_components = 2,
.comp = {
{ 0, 3, 1, 0, 15 }, /* Y */
{ 0, 3, 3, 0, 15 }, /* A */
{ 0, 4, 0, 0, 16, 3, 15, 1 }, /* Y */
{ 0, 4, 2, 0, 16, 3, 15, 3 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_ALPHA,
},
......@@ -1376,9 +1379,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 0, 1, 0, 7 }, /* G */
{ 1, 0, 1, 0, 7 }, /* B */
{ 2, 0, 1, 0, 7 }, /* R */
{ 0, 1, 0, 0, 8, 0, 7, 1 }, /* G */
{ 1, 1, 0, 0, 8, 0, 7, 1 }, /* B */
{ 2, 1, 0, 0, 8, 0, 7, 1 }, /* R */
},
.flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB,
},
......@@ -1388,9 +1391,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 8 }, /* G */
{ 1, 1, 1, 0, 8 }, /* B */
{ 2, 1, 1, 0, 8 }, /* R */
{ 0, 2, 0, 0, 9, 1, 8, 1 }, /* G */
{ 1, 2, 0, 0, 9, 1, 8, 1 }, /* B */
{ 2, 2, 0, 0, 9, 1, 8, 1 }, /* R */
},
.flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB,
},
......@@ -1400,9 +1403,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 8 }, /* G */
{ 1, 1, 1, 0, 8 }, /* B */
{ 2, 1, 1, 0, 8 }, /* R */
{ 0, 2, 0, 0, 9, 1, 8, 1 }, /* G */
{ 1, 2, 0, 0, 9, 1, 8, 1 }, /* B */
{ 2, 2, 0, 0, 9, 1, 8, 1 }, /* R */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB,
},
......@@ -1412,9 +1415,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 9 }, /* G */
{ 1, 1, 1, 0, 9 }, /* B */
{ 2, 1, 1, 0, 9 }, /* R */
{ 0, 2, 0, 0, 10, 1, 9, 1 }, /* G */
{ 1, 2, 0, 0, 10, 1, 9, 1 }, /* B */
{ 2, 2, 0, 0, 10, 1, 9, 1 }, /* R */
},
.flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB,
},
......@@ -1424,9 +1427,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 9 }, /* G */
{ 1, 1, 1, 0, 9 }, /* B */
{ 2, 1, 1, 0, 9 }, /* R */
{ 0, 2, 0, 0, 10, 1, 9, 1 }, /* G */
{ 1, 2, 0, 0, 10, 1, 9, 1 }, /* B */
{ 2, 2, 0, 0, 10, 1, 9, 1 }, /* R */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB,
},
......@@ -1436,9 +1439,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 15 }, /* G */
{ 1, 1, 1, 0, 15 }, /* B */
{ 2, 1, 1, 0, 15 }, /* R */
{ 0, 2, 0, 0, 16, 1, 15, 1 }, /* G */
{ 1, 2, 0, 0, 16, 1, 15, 1 }, /* B */
{ 2, 2, 0, 0, 16, 1, 15, 1 }, /* R */
},
.flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB,
},
......@@ -1448,9 +1451,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 15 }, /* G */
{ 1, 1, 1, 0, 15 }, /* B */
{ 2, 1, 1, 0, 15 }, /* R */
{ 0, 2, 0, 0, 16, 1, 15, 1 }, /* G */
{ 1, 2, 0, 0, 16, 1, 15, 1 }, /* B */
{ 2, 2, 0, 0, 16, 1, 15, 1 }, /* R */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB,
},
......@@ -1460,10 +1463,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 0, 1, 0, 7 }, /* G */
{ 1, 0, 1, 0, 7 }, /* B */
{ 2, 0, 1, 0, 7 }, /* R */
{ 3, 0, 1, 0, 7 }, /* A */
{ 0, 1, 0, 0, 8, 0, 7, 1 }, /* G */
{ 1, 1, 0, 0, 8, 0, 7, 1 }, /* B */
{ 2, 1, 0, 0, 8, 0, 7, 1 }, /* R */
{ 3, 1, 0, 0, 8, 0, 7, 1 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB |
AV_PIX_FMT_FLAG_ALPHA,
......@@ -1474,10 +1477,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 15 }, /* G */
{ 1, 1, 1, 0, 15 }, /* B */
{ 2, 1, 1, 0, 15 }, /* R */
{ 3, 1, 1, 0, 15 }, /* A */
{ 0, 2, 0, 0, 16, 1, 15, 1 }, /* G */
{ 1, 2, 0, 0, 16, 1, 15, 1 }, /* B */
{ 2, 2, 0, 0, 16, 1, 15, 1 }, /* R */
{ 3, 2, 0, 0, 16, 1, 15, 1 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB |
AV_PIX_FMT_FLAG_ALPHA,
......@@ -1488,10 +1491,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 15 }, /* G */
{ 1, 1, 1, 0, 15 }, /* B */
{ 2, 1, 1, 0, 15 }, /* R */
{ 3, 1, 1, 0, 15 }, /* A */
{ 0, 2, 0, 0, 16, 1, 15, 1 }, /* G */
{ 1, 2, 0, 0, 16, 1, 15, 1 }, /* B */
{ 2, 2, 0, 0, 16, 1, 15, 1 }, /* R */
{ 3, 2, 0, 0, 16, 1, 15, 1 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR |
AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
......@@ -1508,9 +1511,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 5, 1, 4, 11 }, /* X */
{ 0, 5, 3, 4, 11 }, /* Y */
{ 0, 5, 5, 4, 11 }, /* Z */
{ 0, 6, 0, 4, 12, 5, 11, 1 }, /* X */
{ 0, 6, 2, 4, 12, 5, 11, 3 }, /* Y */
{ 0, 6, 4, 4, 12, 5, 11, 5 }, /* Z */
},
/*.flags = -- not used*/
},
......@@ -1520,9 +1523,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 0, 5, 1, 4, 11 }, /* X */
{ 0, 5, 3, 4, 11 }, /* Y */
{ 0, 5, 5, 4, 11 }, /* Z */
{ 0, 6, 0, 4, 12, 5, 11, 1 }, /* X */
{ 0, 6, 2, 4, 12, 5, 11, 3 }, /* Y */
{ 0, 6, 4, 4, 12, 5, 11, 5 }, /* Z */
},
.flags = AV_PIX_FMT_FLAG_BE,
},
......@@ -1532,9 +1535,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 0,
.comp = {
{ 0, 0, 1, 0, 7 }, /* Y */
{ 1, 1, 1, 0, 7 }, /* U */
{ 1, 1, 2, 0, 7 }, /* V */
{ 0, 1, 0, 0, 8, 0, 7, 1 }, /* Y */
{ 1, 2, 0, 0, 8, 1, 7, 1 }, /* U */
{ 1, 2, 1, 0, 8, 1, 7, 2 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -1544,9 +1547,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 9 }, /* Y */
{ 1, 3, 1, 0, 9 }, /* U */
{ 1, 3, 3, 0, 9 }, /* V */
{ 0, 2, 0, 0, 10, 1, 9, 1 }, /* Y */
{ 1, 4, 0, 0, 10, 3, 9, 1 }, /* U */
{ 1, 4, 2, 0, 10, 3, 9, 3 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_PLANAR,
},
......@@ -1556,9 +1559,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_w = 1,
.log2_chroma_h = 0,
.comp = {
{ 0, 1, 1, 0, 9 }, /* Y */
{ 1, 3, 1, 0, 9 }, /* U */
{ 1, 3, 3, 0, 9 }, /* V */
{ 0, 2, 0, 0, 10, 1, 9, 1 }, /* Y */
{ 1, 4, 0, 0, 10, 3, 9, 1 }, /* U */
{ 1, 4, 2, 0, 10, 3, 9, 3 }, /* V */
},
.flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_BE,
},
......@@ -1575,6 +1578,9 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.flags = AV_PIX_FMT_FLAG_HWACCEL,
},
};
#if FF_API_PLUS1_MINUS1
FF_ENABLE_DEPRECATION_WARNINGS
#endif
static const char *color_range_names[AVCOL_RANGE_NB] = {
"unknown", "tv", "pc",
......@@ -1655,7 +1661,7 @@ int av_get_bits_per_pixel(const AVPixFmtDescriptor *pixdesc)
for (c = 0; c < pixdesc->nb_components; c++) {
int s = c == 1 || c == 2 ? 0 : log2_pixels;
bits += (pixdesc->comp[c].depth_minus1 + 1) << s;
bits += pixdesc->comp[c].depth << s;
}
return bits >> log2_pixels;
......
......@@ -34,16 +34,16 @@ typedef struct AVComponentDescriptor {
int plane;
/**
* Number of elements between 2 horizontally consecutive pixels minus 1.
* Number of elements between 2 horizontally consecutive pixels.
* Elements are bits for bitstream formats, bytes otherwise.
*/
int step_minus1;
int step;
/**
* Number of elements before the component of the first pixel plus 1.
* Number of elements before the component of the first pixel.
* Elements are bits for bitstream formats, bytes otherwise.
*/
int offset_plus1;
int offset;
/**
* Number of least significant bits that must be shifted away
......@@ -52,9 +52,20 @@ typedef struct AVComponentDescriptor {
int shift;
/**
* Number of bits in the component minus 1.
* Number of bits in the component.
*/
int depth_minus1;
int depth;
#if FF_API_PLUS1_MINUS1
/** deprecated, use step instead */
attribute_deprecated int step_minus1;
/** deprecated, use depth instead */
attribute_deprecated int depth_minus1;
/** deprecated, use offset instead */
attribute_deprecated int offset_plus1;
#endif
} AVComponentDescriptor;
/**
......
......@@ -93,6 +93,9 @@
#ifndef FF_API_CRYPTO_CONTEXT
#define FF_API_CRYPTO_CONTEXT (LIBAVUTIL_VERSION_MAJOR < 56)
#endif
#ifndef FF_API_PLUS1_MINUS1
#define FF_API_PLUS1_MINUS1 (LIBAVUTIL_VERSION_MAJOR < 56)
#endif
/**
......
......@@ -1279,7 +1279,7 @@ yuv2gbrp_full_X_c(SwsContext *c, const int16_t *lumFilter,
int i;
int hasAlpha = (desc->flags & AV_PIX_FMT_FLAG_ALPHA) && alpSrc;
uint16_t **dest16 = (uint16_t**)dest;
int SH = 22 + 7 - desc->comp[0].depth_minus1;
int SH = 22 + 8 - desc->comp[0].depth;
for (i = 0; i < dstW; i++) {
int j;
......@@ -1366,7 +1366,7 @@ av_cold void ff_sws_init_output_funcs(SwsContext *c,
*yuv2planeX = isBE(dstFormat) ? yuv2planeX_16BE_c : yuv2planeX_16LE_c;
*yuv2plane1 = isBE(dstFormat) ? yuv2plane1_16BE_c : yuv2plane1_16LE_c;
} else if (is9_OR_10BPS(dstFormat)) {
if (desc->comp[0].depth_minus1 == 8) {
if (desc->comp[0].depth == 9) {
*yuv2planeX = isBE(dstFormat) ? yuv2planeX_9BE_c : yuv2planeX_9LE_c;
*yuv2plane1 = isBE(dstFormat) ? yuv2plane1_9BE_c : yuv2plane1_9LE_c;
} else {
......
......@@ -91,7 +91,7 @@ static void hScale16To19_c(SwsContext *c, int16_t *_dst, int dstW,
int i;
int32_t *dst = (int32_t *) _dst;
const uint16_t *src = (const uint16_t *) _src;
int bits = desc->comp[0].depth_minus1;
int bits = desc->comp[0].depth - 1;
int sh = bits - 4;
for (i = 0; i < dstW; i++) {
......@@ -114,7 +114,7 @@ static void hScale16To15_c(SwsContext *c, int16_t *dst, int dstW,
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(c->srcFormat);
int i;
const uint16_t *src = (const uint16_t *) _src;
int sh = desc->comp[0].depth_minus1;
int sh = desc->comp[0].depth - 1;
for (i = 0; i < dstW; i++) {
int j;
......@@ -699,8 +699,7 @@ static int swscale(SwsContext *c, const uint8_t *src[],
if (is9_OR_10BPS(dstFormat)) {
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(dstFormat);
fill_plane9or10(dst[3], dstStride[3], length, height, lastDstY,
255, desc->comp[3].depth_minus1 + 1,
isBE(dstFormat));
255, desc->comp[3].depth, isBE(dstFormat));
} else
fillPlane(dst[3], dstStride[3], length, height, lastDstY, 255);
}
......
......@@ -562,14 +562,14 @@ static av_always_inline int is16BPS(enum AVPixelFormat pix_fmt)
{
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(pix_fmt);
av_assert0(desc);
return desc->comp[0].depth_minus1 == 15;
return desc->comp[0].depth == 16;
}
static av_always_inline int is9_OR_10BPS(enum AVPixelFormat pix_fmt)
{
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(pix_fmt);
av_assert0(desc);
return desc->comp[0].depth_minus1 == 8 || desc->comp[0].depth_minus1 == 9;
return desc->comp[0].depth == 9 || desc->comp[0].depth == 10;
}
static av_always_inline int isBE(enum AVPixelFormat pix_fmt)
......
......@@ -816,15 +816,15 @@ static int planarCopyWrapper(SwsContext *c, const uint8_t *src[],
if (is9_OR_10BPS(c->dstFormat)) {
fill_plane9or10(dst[plane], dstStride[plane],
length, height, y, val,
desc_dst->comp[plane].depth_minus1 + 1,
desc_dst->comp[plane].depth,
isBE(c->dstFormat));
} else
fillPlane(dst[plane], dstStride[plane], length, height, y,
val);
} else {
if (is9_OR_10BPS(c->srcFormat)) {
const int src_depth = desc_src->comp[plane].depth_minus1 + 1;
const int dst_depth = desc_dst->comp[plane].depth_minus1 + 1;
const int src_depth = desc_src->comp[plane].depth;
const int dst_depth = desc_dst->comp[plane].depth;
const uint16_t *srcPtr2 = (const uint16_t *) srcPtr;
if (is16BPS(c->dstFormat)) {
......@@ -915,7 +915,7 @@ static int planarCopyWrapper(SwsContext *c, const uint8_t *src[],
}
}
} else if (is9_OR_10BPS(c->dstFormat)) {
const int dst_depth = desc_dst->comp[plane].depth_minus1 + 1;
const int dst_depth = desc_dst->comp[plane].depth;
uint16_t *dstPtr2 = (uint16_t *) dstPtr;
if (is16BPS(c->srcFormat)) {
......@@ -1006,7 +1006,7 @@ static int planarCopyWrapper(SwsContext *c, const uint8_t *src[],
} else {
if (is16BPS(c->srcFormat) && is16BPS(c->dstFormat))
length *= 2;
else if (!desc_src->comp[0].depth_minus1)
else if (desc_src->comp[0].depth == 1)
length >>= 3; // monowhite/black
for (i = 0; i < height; i++) {
memcpy(dstPtr, srcPtr, length);
......@@ -1087,7 +1087,7 @@ void ff_get_unscaled_swscale(SwsContext *c)
if (srcFormat == AV_PIX_FMT_GBRP && isPlanar(srcFormat) && isByteRGB(dstFormat))
c->swscale = planarRgbToRgbWrapper;
if (av_pix_fmt_desc_get(srcFormat)->comp[0].depth_minus1 == 7 &&
if (av_pix_fmt_desc_get(srcFormat)->comp[0].depth == 8 &&
isPackedRGB(srcFormat) && dstFormat == AV_PIX_FMT_GBRP)
c->swscale = rgbToPlanarRgbWrapper;
......
......@@ -1039,10 +1039,10 @@ av_cold int sws_init_context(SwsContext *c, SwsFilter *srcFilter,
}
}
c->srcBpc = 1 + desc_src->comp[0].depth_minus1;
c->srcBpc = desc_src->comp[0].depth;
if (c->srcBpc < 8)
c->srcBpc = 8;
c->dstBpc = 1 + desc_dst->comp[0].depth_minus1;
c->dstBpc = desc_dst->comp[0].depth;
if (c->dstBpc < 8)
c->dstBpc = 8;
if (c->dstBpc == 16)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment