On Wed,  2 Sep 2015 14:32:05 +0200
Vittorio Giovara <[email protected]> wrote:

> ---
> 
> This patch contains depth_minus1->depth.
> Vittorio
> 
>  libavcodec/hevc.c             |   2 +-
>  libavcodec/hevc_refs.c        |   2 +-
>  libavcodec/imgconvert.c       |   2 +-
>  libavcodec/libopenjpegdec.c   |   8 +-
>  libavcodec/libopenjpegenc.c   |   4 +-
>  libavcodec/libx265.c          |   4 +-
>  libavcodec/pnmenc.c           |   2 +-
>  libavfilter/vf_hqdn3d.c       |   2 +-
>  libavfilter/vf_yadif.c        |   4 +-
>  libavutil/pixdesc.c           | 706 
> +++++++++++++++++++++---------------------
>  libavutil/pixdesc.h           |  11 +-
>  libswscale/output.c           |   4 +-
>  libswscale/swscale.c          |   7 +-
>  libswscale/swscale_internal.h |   4 +-
>  libswscale/swscale_unscaled.c |  12 +-
>  libswscale/utils.c            |   4 +-
>  16 files changed, 389 insertions(+), 389 deletions(-)
> 
> diff --git a/libavcodec/hevc.c b/libavcodec/hevc.c
> index f17c313..a802e1e 100644
> --- a/libavcodec/hevc.c
> +++ b/libavcodec/hevc.c
> @@ -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);
> diff --git a/libavcodec/hevc_refs.c b/libavcodec/hevc_refs.c
> index 7901b9e..b51f259 100644
> --- a/libavcodec/hevc_refs.c
> +++ b/libavcodec/hevc_refs.c
> @@ -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);
> diff --git a/libavcodec/imgconvert.c b/libavcodec/imgconvert.c
> index c9bf6a9..53e7df8 100644
> --- a/libavcodec/imgconvert.c
> +++ b/libavcodec/imgconvert.c
> @@ -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 ||
> diff --git a/libavcodec/libopenjpegdec.c b/libavcodec/libopenjpegdec.c
> index f769916..401ea9b 100644
> --- a/libavcodec/libopenjpegdec.c
> +++ b/libavcodec/libopenjpegdec.c
> @@ -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:
> diff --git a/libavcodec/libopenjpegenc.c b/libavcodec/libopenjpegenc.c
> index 58aa3cf..d1af021 100644
> --- a/libavcodec/libopenjpegenc.c
> +++ b/libavcodec/libopenjpegenc.c
> @@ -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];
> diff --git a/libavcodec/libx265.c b/libavcodec/libx265.c
> index 11ffccf..f5d3d0f 100644
> --- a/libavcodec/libx265.c
> +++ b/libavcodec/libx265.c
> @@ -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 :
> diff --git a/libavcodec/pnmenc.c b/libavcodec/pnmenc.c
> index 055aff4..791176a 100644
> --- a/libavcodec/pnmenc.c
> +++ b/libavcodec/pnmenc.c
> @@ -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);
> diff --git a/libavfilter/vf_hqdn3d.c b/libavfilter/vf_hqdn3d.c
> index 7f47a56..d8b1f39 100644
> --- a/libavfilter/vf_hqdn3d.c
> +++ b/libavfilter/vf_hqdn3d.c
> @@ -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)
> diff --git a/libavfilter/vf_yadif.c b/libavfilter/vf_yadif.c
> index 53c567c..574eac4 100644
> --- a/libavfilter/vf_yadif.c
> +++ b/libavfilter/vf_yadif.c
> @@ -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 {
> diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c
> index 29df6be..585e408 100644
> --- a/libavutil/pixdesc.c
> +++ b/libavutil/pixdesc.c
> @@ -38,7 +38,7 @@ 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;
> @@ -85,7 +85,7 @@ 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 depth = comp.depth;
>      int step  = comp.step;
>      int flags = desc->flags;
>  
> @@ -136,9 +136,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, 7, 0 },        /* Y */
> -            { 1, 1, 1, 0, 7, 0 },        /* U */
> -            { 2, 1, 1, 0, 7, 0 },        /* V */
> +            { 0, 1, 1, 0, 8, 0, 7 },        /* Y */
> +            { 1, 1, 1, 0, 8, 0, 7 },        /* U */
> +            { 2, 1, 1, 0, 8, 0, 7 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -148,9 +148,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 1,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 1, 0, 7, 1 },        /* Y */
> -            { 0, 4, 2, 0, 7, 3 },        /* U */
> -            { 0, 4, 4, 0, 7, 3 },        /* V */
> +            { 0, 2, 1, 0, 8, 1, 7 },        /* Y */
> +            { 0, 4, 2, 0, 8, 3, 7 },        /* U */
> +            { 0, 4, 4, 0, 8, 3, 7 },        /* V */
>          },
>      },
>      [AV_PIX_FMT_YVYU422] = {
> @@ -159,9 +159,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 1,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 1, 0, 7, 1 },        /* Y */
> -            { 0, 4, 2, 0, 7, 3 },        /* V */
> -            { 0, 4, 4, 0, 7, 3 },        /* U */
> +            { 0, 2, 1, 0, 8, 1, 7 },        /* Y */
> +            { 0, 4, 2, 0, 8, 3, 7 },        /* V */
> +            { 0, 4, 4, 0, 8, 3, 7 },        /* U */
>          },
>      },
>      [AV_PIX_FMT_RGB24] = {
> @@ -170,9 +170,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, 7, 2 },        /* R */
> -            { 0, 3, 2, 0, 7, 2 },        /* G */
> -            { 0, 3, 3, 0, 7, 2 },        /* B */
> +            { 0, 3, 1, 0, 8, 2, 7 },        /* R */
> +            { 0, 3, 2, 0, 8, 2, 7 },        /* G */
> +            { 0, 3, 3, 0, 8, 2, 7 },        /* B */
>          },
>          .flags = AV_PIX_FMT_FLAG_RGB,
>      },
> @@ -182,9 +182,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, 7, 2 },        /* B */
> -            { 0, 3, 2, 0, 7, 2 },        /* G */
> -            { 0, 3, 3, 0, 7, 2 },        /* R */
> +            { 0, 3, 1, 0, 8, 2, 7 },        /* B */
> +            { 0, 3, 2, 0, 8, 2, 7 },        /* G */
> +            { 0, 3, 3, 0, 8, 2, 7 },        /* R */
>          },
>          .flags = AV_PIX_FMT_FLAG_RGB,
>      },
> @@ -194,9 +194,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, 0 },        /* Y */
> -            { 1, 1, 1, 0, 7, 0 },        /* U */
> -            { 2, 1, 1, 0, 7, 0 },        /* V */
> +            { 0, 1, 1, 0, 8, 0, 7 },        /* Y */
> +            { 1, 1, 1, 0, 8, 0, 7 },        /* U */
> +            { 2, 1, 1, 0, 8, 0, 7 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -206,9 +206,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, 7, 0 },        /* Y */
> -            { 1, 1, 1, 0, 7, 0 },        /* U */
> -            { 2, 1, 1, 0, 7, 0 },        /* V */
> +            { 0, 1, 1, 0, 8, 0, 7 },        /* Y */
> +            { 1, 1, 1, 0, 8, 0, 7 },        /* U */
> +            { 2, 1, 1, 0, 8, 0, 7 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -218,9 +218,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 2,
>          .log2_chroma_h = 2,
>          .comp = {
> -            { 0, 1, 1, 0, 7, 0 },        /* Y */
> -            { 1, 1, 1, 0, 7, 0 },        /* U */
> -            { 2, 1, 1, 0, 7, 0 },        /* V */
> +            { 0, 1, 1, 0, 8, 0, 7 },        /* Y */
> +            { 1, 1, 1, 0, 8, 0, 7 },        /* U */
> +            { 2, 1, 1, 0, 8, 0, 7 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -230,9 +230,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 2,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 1, 1, 0, 7, 0 },        /* Y */
> -            { 1, 1, 1, 0, 7, 0 },        /* U */
> -            { 2, 1, 1, 0, 7, 0 },        /* V */
> +            { 0, 1, 1, 0, 8, 0, 7 },        /* Y */
> +            { 1, 1, 1, 0, 8, 0, 7 },        /* U */
> +            { 2, 1, 1, 0, 8, 0, 7 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -242,7 +242,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, 7, 0 },        /* Y */
> +            { 0, 1, 1, 0, 8, 0, 7 },        /* Y */
>          },
>          .flags = AV_PIX_FMT_FLAG_PSEUDOPAL,
>          .alias = "gray8,y8",
> @@ -253,7 +253,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, 0, 0 },        /* Y */
> +            { 0, 1, 1, 0, 1, 0, 7 },        /* Y */
>          },

Is this one correct?

>          .flags = AV_PIX_FMT_FLAG_BITSTREAM,
>      },
> @@ -263,7 +263,7 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 1, 1, 7, 0, 0 },        /* Y */
> +            { 0, 1, 1, 7, 1, 0, 7 },        /* Y */
>          },

And this one?

>          .flags = AV_PIX_FMT_FLAG_BITSTREAM,
>      },
> @@ -273,7 +273,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, 7, 0 },
> +            { 0, 1, 1, 0, 8, 0, 7 },
>          },
>          .flags = AV_PIX_FMT_FLAG_PAL,
>      },
> @@ -283,9 +283,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, 7, 0 },        /* Y */
> -            { 1, 1, 1, 0, 7, 0 },        /* U */
> -            { 2, 1, 1, 0, 7, 0 },        /* V */
> +            { 0, 1, 1, 0, 8, 0, 7 },        /* Y */
> +            { 1, 1, 1, 0, 8, 0, 7 },        /* U */
> +            { 2, 1, 1, 0, 8, 0, 7 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -295,9 +295,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, 0 },        /* Y */
> -            { 1, 1, 1, 0, 7, 0 },        /* U */
> -            { 2, 1, 1, 0, 7, 0 },        /* V */
> +            { 0, 1, 1, 0, 8, 0, 7 },        /* Y */
> +            { 1, 1, 1, 0, 8, 0, 7 },        /* U */
> +            { 2, 1, 1, 0, 8, 0, 7 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -307,9 +307,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, 7, 0 },        /* Y */
> -            { 1, 1, 1, 0, 7, 0 },        /* U */
> -            { 2, 1, 1, 0, 7, 0 },        /* V */
> +            { 0, 1, 1, 0, 8, 0, 7 },        /* Y */
> +            { 1, 1, 1, 0, 8, 0, 7 },        /* U */
> +            { 2, 1, 1, 0, 8, 0, 7 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -329,9 +329,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 1,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 2, 0, 7, 1 },        /* Y */
> -            { 0, 4, 1, 0, 7, 3 },        /* U */
> -            { 0, 4, 3, 0, 7, 3 },        /* V */
> +            { 0, 2, 2, 0, 8, 1, 7 },        /* Y */
> +            { 0, 4, 1, 0, 8, 3, 7 },        /* U */
> +            { 0, 4, 3, 0, 8, 3, 7 },        /* V */
>          },
>      },
>      [AV_PIX_FMT_UYYVYY411] = {
> @@ -340,9 +340,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 2,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 4, 2, 0, 7, 3 },        /* Y */
> -            { 0, 6, 1, 0, 7, 5 },        /* U */
> -            { 0, 6, 4, 0, 7, 5 },        /* V */
> +            { 0, 4, 2, 0, 8, 3, 7 },        /* Y */
> +            { 0, 6, 1, 0, 8, 5, 7 },        /* U */
> +            { 0, 6, 4, 0, 8, 5, 7 },        /* V */
>          },
>      },
>      [AV_PIX_FMT_BGR8] = {
> @@ -351,9 +351,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 1, 1, 6, 1, 0 },        /* B */
> -            { 0, 1, 1, 3, 2, 0 },        /* G */
> -            { 0, 1, 1, 0, 2, 0 },        /* R */
> +            { 0, 1, 1, 6, 2, 0, 1 },        /* B */
> +            { 0, 1, 1, 3, 3, 0, 2 },        /* G */
> +            { 0, 1, 1, 0, 3, 0, 2 },        /* R */
>          },
>          .flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_PSEUDOPAL,
>      },
> @@ -363,9 +363,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 4, 1, 0, 0, 3 },        /* B */
> -            { 0, 4, 2, 0, 1, 3 },        /* G */
> -            { 0, 4, 4, 0, 0, 3 },        /* R */
> +            { 0, 4, 1, 0, 1, 3, 0 },        /* B */
> +            { 0, 4, 2, 0, 2, 3, 1 },        /* G */
> +            { 0, 4, 4, 0, 1, 3, 0 },        /* R */
>          },
>          .flags = AV_PIX_FMT_FLAG_BITSTREAM | AV_PIX_FMT_FLAG_RGB,
>      },
> @@ -375,9 +375,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 1, 1, 3, 0, 0 },        /* B */
> -            { 0, 1, 1, 1, 1, 0 },        /* G */
> -            { 0, 1, 1, 0, 0, 0 },        /* R */
> +            { 0, 1, 1, 3, 1, 0, 0 },        /* B */
> +            { 0, 1, 1, 1, 2, 0, 1 },        /* G */
> +            { 0, 1, 1, 0, 1, 0, 0 },        /* R */
>          },
>          .flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_PSEUDOPAL,
>      },
> @@ -387,9 +387,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 1, 1, 6, 1, 0 },        /* R */
> -            { 0, 1, 1, 3, 2, 0 },        /* G */
> -            { 0, 1, 1, 0, 2, 0 },        /* B */
> +            { 0, 1, 1, 6, 2, 0, 1 },        /* R */
> +            { 0, 1, 1, 3, 3, 0, 2 },        /* G */
> +            { 0, 1, 1, 0, 3, 0, 2 },        /* B */
>          },
>          .flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_PSEUDOPAL,
>      },
> @@ -399,9 +399,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 4, 1, 0, 0, 3 },        /* R */
> -            { 0, 4, 2, 0, 1, 3 },        /* G */
> -            { 0, 4, 4, 0, 0, 3 },        /* B */
> +            { 0, 4, 1, 0, 1, 3, 0 },        /* R */
> +            { 0, 4, 2, 0, 2, 3, 1 },        /* G */
> +            { 0, 4, 4, 0, 1, 3, 0 },        /* B */
>          },
>          .flags = AV_PIX_FMT_FLAG_BITSTREAM | AV_PIX_FMT_FLAG_RGB,
>      },
> @@ -411,9 +411,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 1, 1, 3, 0, 0 },        /* R */
> -            { 0, 1, 1, 1, 1, 0 },        /* G */
> -            { 0, 1, 1, 0, 0, 0 },        /* B */
> +            { 0, 1, 1, 3, 1, 0, 0 },        /* R */
> +            { 0, 1, 1, 1, 2, 0, 1 },        /* G */
> +            { 0, 1, 1, 0, 1, 0, 0 },        /* B */
>          },
>          .flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_PSEUDOPAL,
>      },
> @@ -423,9 +423,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, 7, 0 },        /* Y */
> -            { 1, 2, 1, 0, 7, 1 },        /* U */
> -            { 1, 2, 2, 0, 7, 1 },        /* V */
> +            { 0, 1, 1, 0, 8, 0, 7 },        /* Y */
> +            { 1, 2, 1, 0, 8, 1, 7 },        /* U */
> +            { 1, 2, 2, 0, 8, 1, 7 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -435,9 +435,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, 7, 0 },        /* Y */
> -            { 1, 2, 1, 0, 7, 1 },        /* V */
> -            { 1, 2, 2, 0, 7, 1 },        /* U */
> +            { 0, 1, 1, 0, 8, 0, 7 },        /* Y */
> +            { 1, 2, 1, 0, 8, 1, 7 },        /* V */
> +            { 1, 2, 2, 0, 8, 1, 7 },        /* U */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -447,10 +447,10 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 4, 1, 0, 7, 3 },        /* A */
> -            { 0, 4, 2, 0, 7, 3 },        /* R */
> -            { 0, 4, 3, 0, 7, 3 },        /* G */
> -            { 0, 4, 4, 0, 7, 3 },        /* B */
> +            { 0, 4, 1, 0, 8, 3, 7 },        /* A */
> +            { 0, 4, 2, 0, 8, 3, 7 },        /* R */
> +            { 0, 4, 3, 0, 8, 3, 7 },        /* G */
> +            { 0, 4, 4, 0, 8, 3, 7 },        /* B */
>          },
>          .flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -460,10 +460,10 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 4, 1, 0, 7, 3 },        /* R */
> -            { 0, 4, 2, 0, 7, 3 },        /* G */
> -            { 0, 4, 3, 0, 7, 3 },        /* B */
> -            { 0, 4, 4, 0, 7, 3 },        /* A */
> +            { 0, 4, 1, 0, 8, 3, 7 },        /* R */
> +            { 0, 4, 2, 0, 8, 3, 7 },        /* G */
> +            { 0, 4, 3, 0, 8, 3, 7 },        /* B */
> +            { 0, 4, 4, 0, 8, 3, 7 },        /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -473,10 +473,10 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 4, 1, 0, 7, 3 },        /* A */
> -            { 0, 4, 2, 0, 7, 3 },        /* B */
> -            { 0, 4, 3, 0, 7, 3 },        /* G */
> -            { 0, 4, 4, 0, 7, 3 },        /* R */
> +            { 0, 4, 1, 0, 8, 3, 7 },        /* A */
> +            { 0, 4, 2, 0, 8, 3, 7 },        /* B */
> +            { 0, 4, 3, 0, 8, 3, 7 },        /* G */
> +            { 0, 4, 4, 0, 8, 3, 7 },        /* R */
>          },
>          .flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -486,10 +486,10 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 4, 1, 0, 7, 3 },        /* B */
> -            { 0, 4, 2, 0, 7, 3 },        /* G */
> -            { 0, 4, 3, 0, 7, 3 },        /* R */
> -            { 0, 4, 4, 0, 7, 3 },        /* A */
> +            { 0, 4, 1, 0, 8, 3, 7 },        /* B */
> +            { 0, 4, 2, 0, 8, 3, 7 },        /* G */
> +            { 0, 4, 3, 0, 8, 3, 7 },        /* R */
> +            { 0, 4, 4, 0, 8, 3, 7 },        /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -499,7 +499,7 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 1, 0, 15, 1 },       /* Y */
> +            { 0, 2, 1, 0, 16, 1, 15 },       /* Y */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE,
>          .alias = "y16be",
> @@ -510,7 +510,7 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 1, 0, 15, 1 },       /* Y */
> +            { 0, 2, 1, 0, 16, 1, 15 },       /* Y */
>          },
>          .alias = "y16le",
>      },
> @@ -520,9 +520,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 1,
>          .comp = {
> -            { 0, 1, 1, 0, 7, 0 },        /* Y */
> -            { 1, 1, 1, 0, 7, 0 },        /* U */
> -            { 2, 1, 1, 0, 7, 0 },        /* V */
> +            { 0, 1, 1, 0, 8, 0, 7 },        /* Y */
> +            { 1, 1, 1, 0, 8, 0, 7 },        /* U */
> +            { 2, 1, 1, 0, 8, 0, 7 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -532,9 +532,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 1,
>          .comp = {
> -            { 0, 1, 1, 0, 7, 0 },        /* Y */
> -            { 1, 1, 1, 0, 7, 0 },        /* U */
> -            { 2, 1, 1, 0, 7, 0 },        /* V */
> +            { 0, 1, 1, 0, 8, 0, 7 },        /* Y */
> +            { 1, 1, 1, 0, 8, 0, 7 },        /* U */
> +            { 2, 1, 1, 0, 8, 0, 7 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -544,10 +544,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, 7, 0 },        /* Y */
> -            { 1, 1, 1, 0, 7, 0 },        /* U */
> -            { 2, 1, 1, 0, 7, 0 },        /* V */
> -            { 3, 1, 1, 0, 7, 0 },        /* A */
> +            { 0, 1, 1, 0, 8, 0, 7 },        /* Y */
> +            { 1, 1, 1, 0, 8, 0, 7 },        /* U */
> +            { 2, 1, 1, 0, 8, 0, 7 },        /* V */
> +            { 3, 1, 1, 0, 8, 0, 7 },        /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -557,10 +557,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, 7, 0 },        /* Y */
> -            { 1, 1, 1, 0, 7, 0 },        /* U */
> -            { 2, 1, 1, 0, 7, 0 },        /* V */
> -            { 3, 1, 1, 0, 7, 0 },        /* A */
> +            { 0, 1, 1, 0, 8, 0, 7 },        /* Y */
> +            { 1, 1, 1, 0, 8, 0, 7 },        /* U */
> +            { 2, 1, 1, 0, 8, 0, 7 },        /* V */
> +            { 3, 1, 1, 0, 8, 0, 7 },        /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -570,10 +570,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, 7, 0 },        /* Y */
> -            { 1, 1, 1, 0, 7, 0 },        /* U */
> -            { 2, 1, 1, 0, 7, 0 },        /* V */
> -            { 3, 1, 1, 0, 7, 0 },        /* A */
> +            { 0, 1, 1, 0, 8, 0, 7 },        /* Y */
> +            { 1, 1, 1, 0, 8, 0, 7 },        /* U */
> +            { 2, 1, 1, 0, 8, 0, 7 },        /* V */
> +            { 3, 1, 1, 0, 8, 0, 7 },        /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -583,10 +583,10 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 1,
>          .log2_chroma_h = 1,
>          .comp = {
> -            { 0, 2, 1, 0, 8, 1 },        /* Y */
> -            { 1, 2, 1, 0, 8, 1 },        /* U */
> -            { 2, 2, 1, 0, 8, 1 },        /* V */
> -            { 3, 2, 1, 0, 8, 1 },        /* A */
> +            { 0, 2, 1, 0, 9, 1, 8 },        /* Y */
> +            { 1, 2, 1, 0, 9, 1, 8 },        /* U */
> +            { 2, 2, 1, 0, 9, 1, 8 },        /* V */
> +            { 3, 2, 1, 0, 9, 1, 8 },        /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -596,10 +596,10 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 1,
>          .log2_chroma_h = 1,
>          .comp = {
> -            { 0, 2, 1, 0, 8, 1 },        /* Y */
> -            { 1, 2, 1, 0, 8, 1 },        /* U */
> -            { 2, 2, 1, 0, 8, 1 },        /* V */
> -            { 3, 2, 1, 0, 8, 1 },        /* A */
> +            { 0, 2, 1, 0, 9, 1, 8 },        /* Y */
> +            { 1, 2, 1, 0, 9, 1, 8 },        /* U */
> +            { 2, 2, 1, 0, 9, 1, 8 },        /* V */
> +            { 3, 2, 1, 0, 9, 1, 8 },        /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -609,10 +609,10 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 1,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 1, 0, 8, 1 },        /* Y */
> -            { 1, 2, 1, 0, 8, 1 },        /* U */
> -            { 2, 2, 1, 0, 8, 1 },        /* V */
> -            { 3, 2, 1, 0, 8, 1 },        /* A */
> +            { 0, 2, 1, 0, 9, 1, 8 },        /* Y */
> +            { 1, 2, 1, 0, 9, 1, 8 },        /* U */
> +            { 2, 2, 1, 0, 9, 1, 8 },        /* V */
> +            { 3, 2, 1, 0, 9, 1, 8 },        /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | 
> AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -622,10 +622,10 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 1,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 1, 0, 8, 1 },        /* Y */
> -            { 1, 2, 1, 0, 8, 1 },        /* U */
> -            { 2, 2, 1, 0, 8, 1 },        /* V */
> -            { 3, 2, 1, 0, 8, 1 },        /* A */
> +            { 0, 2, 1, 0, 9, 1, 8 },        /* Y */
> +            { 1, 2, 1, 0, 9, 1, 8 },        /* U */
> +            { 2, 2, 1, 0, 9, 1, 8 },        /* V */
> +            { 3, 2, 1, 0, 9, 1, 8 },        /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -635,10 +635,10 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 1, 0, 8, 1 },        /* Y */
> -            { 1, 2, 1, 0, 8, 1 },        /* U */
> -            { 2, 2, 1, 0, 8, 1 },        /* V */
> -            { 3, 2, 1, 0, 8, 1 },        /* A */
> +            { 0, 2, 1, 0, 9, 1, 8 },        /* Y */
> +            { 1, 2, 1, 0, 9, 1, 8 },        /* U */
> +            { 2, 2, 1, 0, 9, 1, 8 },        /* V */
> +            { 3, 2, 1, 0, 9, 1, 8 },        /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | 
> AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -648,10 +648,10 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 1, 0, 8, 1 },        /* Y */
> -            { 1, 2, 1, 0, 8, 1 },        /* U */
> -            { 2, 2, 1, 0, 8, 1 },        /* V */
> -            { 3, 2, 1, 0, 8, 1 },        /* A */
> +            { 0, 2, 1, 0, 9, 1, 8 },        /* Y */
> +            { 1, 2, 1, 0, 9, 1, 8 },        /* U */
> +            { 2, 2, 1, 0, 9, 1, 8 },        /* V */
> +            { 3, 2, 1, 0, 9, 1, 8 },        /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -661,10 +661,10 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 1,
>          .log2_chroma_h = 1,
>          .comp = {
> -            { 0, 2, 1, 0, 9, 1 },        /* Y */
> -            { 1, 2, 1, 0, 9, 1 },        /* U */
> -            { 2, 2, 1, 0, 9, 1 },        /* V */
> -            { 3, 2, 1, 0, 9, 1 },        /* A */
> +            { 0, 2, 1, 0, 10, 1, 9 },        /* Y */
> +            { 1, 2, 1, 0, 10, 1, 9 },        /* U */
> +            { 2, 2, 1, 0, 10, 1, 9 },        /* V */
> +            { 3, 2, 1, 0, 10, 1, 9 },        /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | 
> AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -674,10 +674,10 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 1,
>          .log2_chroma_h = 1,
>          .comp = {
> -            { 0, 2, 1, 0, 9, 1 },        /* Y */
> -            { 1, 2, 1, 0, 9, 1 },        /* U */
> -            { 2, 2, 1, 0, 9, 1 },        /* V */
> -            { 3, 2, 1, 0, 9, 1 },        /* A */
> +            { 0, 2, 1, 0, 10, 1, 9 },        /* Y */
> +            { 1, 2, 1, 0, 10, 1, 9 },        /* U */
> +            { 2, 2, 1, 0, 10, 1, 9 },        /* V */
> +            { 3, 2, 1, 0, 10, 1, 9 },        /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -687,10 +687,10 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 1,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 1, 0, 9, 1 },        /* Y */
> -            { 1, 2, 1, 0, 9, 1 },        /* U */
> -            { 2, 2, 1, 0, 9, 1 },        /* V */
> -            { 3, 2, 1, 0, 9, 1 },        /* A */
> +            { 0, 2, 1, 0, 10, 1, 9 },        /* Y */
> +            { 1, 2, 1, 0, 10, 1, 9 },        /* U */
> +            { 2, 2, 1, 0, 10, 1, 9 },        /* V */
> +            { 3, 2, 1, 0, 10, 1, 9 },        /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | 
> AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -700,10 +700,10 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 1,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 1, 0, 9, 1 },        /* Y */
> -            { 1, 2, 1, 0, 9, 1 },        /* U */
> -            { 2, 2, 1, 0, 9, 1 },        /* V */
> -            { 3, 2, 1, 0, 9, 1 },        /* A */
> +            { 0, 2, 1, 0, 10, 1, 9 },        /* Y */
> +            { 1, 2, 1, 0, 10, 1, 9 },        /* U */
> +            { 2, 2, 1, 0, 10, 1, 9 },        /* V */
> +            { 3, 2, 1, 0, 10, 1, 9 },        /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -713,10 +713,10 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 1, 0, 9, 1 },        /* Y */
> -            { 1, 2, 1, 0, 9, 1 },        /* U */
> -            { 2, 2, 1, 0, 9, 1 },        /* V */
> -            { 3, 2, 1, 0, 9, 1 },        /* A */
> +            { 0, 2, 1, 0, 10, 1, 9 },        /* Y */
> +            { 1, 2, 1, 0, 10, 1, 9 },        /* U */
> +            { 2, 2, 1, 0, 10, 1, 9 },        /* V */
> +            { 3, 2, 1, 0, 10, 1, 9 },        /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | 
> AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -726,10 +726,10 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 1, 0, 9, 1 },        /* Y */
> -            { 1, 2, 1, 0, 9, 1 },        /* U */
> -            { 2, 2, 1, 0, 9, 1 },        /* V */
> -            { 3, 2, 1, 0, 9, 1 },        /* A */
> +            { 0, 2, 1, 0, 10, 1, 9 },        /* Y */
> +            { 1, 2, 1, 0, 10, 1, 9 },        /* U */
> +            { 2, 2, 1, 0, 10, 1, 9 },        /* V */
> +            { 3, 2, 1, 0, 10, 1, 9 },        /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -739,10 +739,10 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 1,
>          .log2_chroma_h = 1,
>          .comp = {
> -            { 0, 2, 1, 0, 15, 1 },        /* Y */
> -            { 1, 2, 1, 0, 15, 1 },        /* U */
> -            { 2, 2, 1, 0, 15, 1 },        /* V */
> -            { 3, 2, 1, 0, 15, 1 },        /* A */
> +            { 0, 2, 1, 0, 16, 1, 15 },        /* Y */
> +            { 1, 2, 1, 0, 16, 1, 15 },        /* U */
> +            { 2, 2, 1, 0, 16, 1, 15 },        /* V */
> +            { 3, 2, 1, 0, 16, 1, 15 },        /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | 
> AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -752,10 +752,10 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 1,
>          .log2_chroma_h = 1,
>          .comp = {
> -            { 0, 2, 1, 0, 15, 1 },        /* Y */
> -            { 1, 2, 1, 0, 15, 1 },        /* U */
> -            { 2, 2, 1, 0, 15, 1 },        /* V */
> -            { 3, 2, 1, 0, 15, 1 },        /* A */
> +            { 0, 2, 1, 0, 16, 1, 15 },        /* Y */
> +            { 1, 2, 1, 0, 16, 1, 15 },        /* U */
> +            { 2, 2, 1, 0, 16, 1, 15 },        /* V */
> +            { 3, 2, 1, 0, 16, 1, 15 },        /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -765,10 +765,10 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 1,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 1, 0, 15, 1 },        /* Y */
> -            { 1, 2, 1, 0, 15, 1 },        /* U */
> -            { 2, 2, 1, 0, 15, 1 },        /* V */
> -            { 3, 2, 1, 0, 15, 1 },        /* A */
> +            { 0, 2, 1, 0, 16, 1, 15 },        /* Y */
> +            { 1, 2, 1, 0, 16, 1, 15 },        /* U */
> +            { 2, 2, 1, 0, 16, 1, 15 },        /* V */
> +            { 3, 2, 1, 0, 16, 1, 15 },        /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | 
> AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -778,10 +778,10 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 1,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 1, 0, 15, 1 },        /* Y */
> -            { 1, 2, 1, 0, 15, 1 },        /* U */
> -            { 2, 2, 1, 0, 15, 1 },        /* V */
> -            { 3, 2, 1, 0, 15, 1 },        /* A */
> +            { 0, 2, 1, 0, 16, 1, 15 },        /* Y */
> +            { 1, 2, 1, 0, 16, 1, 15 },        /* U */
> +            { 2, 2, 1, 0, 16, 1, 15 },        /* V */
> +            { 3, 2, 1, 0, 16, 1, 15 },        /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -791,10 +791,10 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 1, 0, 15, 1 },        /* Y */
> -            { 1, 2, 1, 0, 15, 1 },        /* U */
> -            { 2, 2, 1, 0, 15, 1 },        /* V */
> -            { 3, 2, 1, 0, 15, 1 },        /* A */
> +            { 0, 2, 1, 0, 16, 1, 15 },        /* Y */
> +            { 1, 2, 1, 0, 16, 1, 15 },        /* U */
> +            { 2, 2, 1, 0, 16, 1, 15 },        /* V */
> +            { 3, 2, 1, 0, 16, 1, 15 },        /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | 
> AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -804,10 +804,10 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 1, 0, 15, 1 },        /* Y */
> -            { 1, 2, 1, 0, 15, 1 },        /* U */
> -            { 2, 2, 1, 0, 15, 1 },        /* V */
> -            { 3, 2, 1, 0, 15, 1 },        /* A */
> +            { 0, 2, 1, 0, 16, 1, 15 },        /* Y */
> +            { 1, 2, 1, 0, 16, 1, 15 },        /* U */
> +            { 2, 2, 1, 0, 16, 1, 15 },        /* V */
> +            { 3, 2, 1, 0, 16, 1, 15 },        /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -855,9 +855,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 6, 1, 0, 15, 5 },       /* R */
> -            { 0, 6, 3, 0, 15, 5 },       /* G */
> -            { 0, 6, 5, 0, 15, 5 },       /* B */
> +            { 0, 6, 1, 0, 16, 5, 15 },       /* R */
> +            { 0, 6, 3, 0, 16, 5, 15 },       /* G */
> +            { 0, 6, 5, 0, 16, 5, 15 },       /* B */
>          },
>          .flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_BE,
>      },
> @@ -867,9 +867,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 6, 1, 0, 15, 5 },       /* R */
> -            { 0, 6, 3, 0, 15, 5 },       /* G */
> -            { 0, 6, 5, 0, 15, 5 },       /* B */
> +            { 0, 6, 1, 0, 16, 5, 15 },       /* R */
> +            { 0, 6, 3, 0, 16, 5, 15 },       /* G */
> +            { 0, 6, 5, 0, 16, 5, 15 },       /* B */
>          },
>          .flags = AV_PIX_FMT_FLAG_RGB,
>      },
> @@ -879,10 +879,10 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 8, 1, 0, 15, 7 },       /* R */
> -            { 0, 8, 3, 0, 15, 7 },       /* G */
> -            { 0, 8, 5, 0, 15, 7 },       /* B */
> -            { 0, 8, 7, 0, 15, 7 },       /* A */
> +            { 0, 8, 1, 0, 16, 7, 15 },       /* R */
> +            { 0, 8, 3, 0, 16, 7, 15 },       /* G */
> +            { 0, 8, 5, 0, 16, 7, 15 },       /* B */
> +            { 0, 8, 7, 0, 16, 7, 15 },       /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB | 
> AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -892,10 +892,10 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 8, 1, 0, 15, 7 },       /* R */
> -            { 0, 8, 3, 0, 15, 7 },       /* G */
> -            { 0, 8, 5, 0, 15, 7 },       /* B */
> -            { 0, 8, 7, 0, 15, 7 },       /* A */
> +            { 0, 8, 1, 0, 16, 7, 15 },       /* R */
> +            { 0, 8, 3, 0, 16, 7, 15 },       /* G */
> +            { 0, 8, 5, 0, 16, 7, 15 },       /* B */
> +            { 0, 8, 7, 0, 16, 7, 15 },       /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -905,9 +905,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 0, 3, 4, 1 },        /* R */
> -            { 0, 2, 1, 5, 5, 1 },        /* G */
> -            { 0, 2, 1, 0, 4, 1 },        /* B */
> +            { 0, 2, 0, 3, 5, 1, 4 },        /* R */
> +            { 0, 2, 1, 5, 6, 1, 5 },        /* G */
> +            { 0, 2, 1, 0, 5, 1, 4 },        /* B */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB,
>      },
> @@ -917,9 +917,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 2, 3, 4, 1 },        /* R */
> -            { 0, 2, 1, 5, 5, 1 },        /* G */
> -            { 0, 2, 1, 0, 4, 1 },        /* B */
> +            { 0, 2, 2, 3, 5, 1, 4 },        /* R */
> +            { 0, 2, 1, 5, 6, 1, 5 },        /* G */
> +            { 0, 2, 1, 0, 5, 1, 4 },        /* B */
>          },
>          .flags = AV_PIX_FMT_FLAG_RGB,
>      },
> @@ -929,9 +929,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 0, 2, 4, 1 },        /* R */
> -            { 0, 2, 1, 5, 4, 1 },        /* G */
> -            { 0, 2, 1, 0, 4, 1 },        /* B */
> +            { 0, 2, 0, 2, 5, 1, 4 },        /* R */
> +            { 0, 2, 1, 5, 5, 1, 4 },        /* G */
> +            { 0, 2, 1, 0, 5, 1, 4 },        /* B */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB,
>      },
> @@ -941,9 +941,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 2, 2, 4, 1 },        /* R */
> -            { 0, 2, 1, 5, 4, 1 },        /* G */
> -            { 0, 2, 1, 0, 4, 1 },        /* B */
> +            { 0, 2, 2, 2, 5, 1, 4 },        /* R */
> +            { 0, 2, 1, 5, 5, 1, 4 },        /* G */
> +            { 0, 2, 1, 0, 5, 1, 4 },        /* B */
>          },
>          .flags = AV_PIX_FMT_FLAG_RGB,
>      },
> @@ -953,9 +953,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 0, 0, 3, 1 },        /* R */
> -            { 0, 2, 1, 4, 3, 1 },        /* G */
> -            { 0, 2, 1, 0, 3, 1 },        /* B */
> +            { 0, 2, 0, 0, 4, 1, 3 },        /* R */
> +            { 0, 2, 1, 4, 4, 1, 3 },        /* G */
> +            { 0, 2, 1, 0, 4, 1, 3 },        /* B */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB,
>      },
> @@ -965,9 +965,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 2, 0, 3, 1 },        /* R */
> -            { 0, 2, 1, 4, 3, 1 },        /* G */
> -            { 0, 2, 1, 0, 3, 1 },        /* B */
> +            { 0, 2, 2, 0, 4, 1, 3 },        /* R */
> +            { 0, 2, 1, 4, 4, 1, 3 },        /* G */
> +            { 0, 2, 1, 0, 4, 1, 3 },        /* B */
>          },
>          .flags = AV_PIX_FMT_FLAG_RGB,
>      },
> @@ -977,9 +977,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 6, 1, 0, 15, 5 },       /* B */
> -            { 0, 6, 3, 0, 15, 5 },       /* G */
> -            { 0, 6, 5, 0, 15, 5 },       /* R */
> +            { 0, 6, 1, 0, 16, 5, 15 },       /* B */
> +            { 0, 6, 3, 0, 16, 5, 15 },       /* G */
> +            { 0, 6, 5, 0, 16, 5, 15 },       /* R */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB,
>      },
> @@ -989,9 +989,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 6, 1, 0, 15, 5 },       /* B */
> -            { 0, 6, 3, 0, 15, 5 },       /* G */
> -            { 0, 6, 5, 0, 15, 5 },       /* R */
> +            { 0, 6, 1, 0, 16, 5, 15 },       /* B */
> +            { 0, 6, 3, 0, 16, 5, 15 },       /* G */
> +            { 0, 6, 5, 0, 16, 5, 15 },       /* R */
>          },
>          .flags = AV_PIX_FMT_FLAG_RGB,
>      },
> @@ -1001,10 +1001,10 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 6, 1, 0, 15, 5 },       /* B */
> -            { 0, 6, 3, 0, 15, 5 },       /* G */
> -            { 0, 6, 5, 0, 15, 5 },       /* R */
> -            { 0, 6, 7, 0, 15, 5 },       /* A */
> +            { 0, 6, 1, 0, 16, 5, 15 },       /* B */
> +            { 0, 6, 3, 0, 16, 5, 15 },       /* G */
> +            { 0, 6, 5, 0, 16, 5, 15 },       /* R */
> +            { 0, 6, 7, 0, 16, 5, 15 },       /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB | 
> AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -1014,10 +1014,10 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 6, 1, 0, 15, 5 },       /* B */
> -            { 0, 6, 3, 0, 15, 5 },       /* G */
> -            { 0, 6, 5, 0, 15, 5 },       /* R */
> -            { 0, 6, 7, 0, 15, 5 },       /* A */
> +            { 0, 6, 1, 0, 16, 5, 15 },       /* B */
> +            { 0, 6, 3, 0, 16, 5, 15 },       /* G */
> +            { 0, 6, 5, 0, 16, 5, 15 },       /* R */
> +            { 0, 6, 7, 0, 16, 5, 15 },       /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -1027,9 +1027,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 0, 3, 4, 1 },        /* B */
> -            { 0, 2, 1, 5, 5, 1 },        /* G */
> -            { 0, 2, 1, 0, 4, 1 },        /* R */
> +            { 0, 2, 0, 3, 5, 1, 4 },        /* B */
> +            { 0, 2, 1, 5, 6, 1, 5 },        /* G */
> +            { 0, 2, 1, 0, 5, 1, 4 },        /* R */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB,
>      },
> @@ -1039,9 +1039,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 2, 3, 4, 1 },        /* B */
> -            { 0, 2, 1, 5, 5, 1 },        /* G */
> -            { 0, 2, 1, 0, 4, 1 },        /* R */
> +            { 0, 2, 2, 3, 5, 1, 4 },        /* B */
> +            { 0, 2, 1, 5, 6, 1, 5 },        /* G */
> +            { 0, 2, 1, 0, 5, 1, 4 },        /* R */
>          },
>          .flags = AV_PIX_FMT_FLAG_RGB,
>      },
> @@ -1051,9 +1051,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 0, 2, 4, 1 },       /* B */
> -            { 0, 2, 1, 5, 4, 1 },       /* G */
> -            { 0, 2, 1, 0, 4, 1 },       /* R */
> +            { 0, 2, 0, 2, 5, 1, 4 },       /* B */
> +            { 0, 2, 1, 5, 5, 1, 4 },       /* G */
> +            { 0, 2, 1, 0, 5, 1, 4 },       /* R */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB,
>       },
> @@ -1063,9 +1063,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 2, 2, 4, 1 },        /* B */
> -            { 0, 2, 1, 5, 4, 1 },        /* G */
> -            { 0, 2, 1, 0, 4, 1 },        /* R */
> +            { 0, 2, 2, 2, 5, 1, 4 },        /* B */
> +            { 0, 2, 1, 5, 5, 1, 4 },        /* G */
> +            { 0, 2, 1, 0, 5, 1, 4 },        /* R */
>          },
>          .flags = AV_PIX_FMT_FLAG_RGB,
>      },
> @@ -1075,9 +1075,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 0, 0, 3, 1 },       /* B */
> -            { 0, 2, 1, 4, 3, 1 },       /* G */
> -            { 0, 2, 1, 0, 3, 1 },       /* R */
> +            { 0, 2, 0, 0, 4, 1, 3 },       /* B */
> +            { 0, 2, 1, 4, 4, 1, 3 },       /* G */
> +            { 0, 2, 1, 0, 4, 1, 3 },       /* R */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB,
>       },
> @@ -1087,9 +1087,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 2, 0, 3, 1 },        /* B */
> -            { 0, 2, 1, 4, 3, 1 },        /* G */
> -            { 0, 2, 1, 0, 3, 1 },        /* R */
> +            { 0, 2, 2, 0, 4, 1, 3 },        /* B */
> +            { 0, 2, 1, 4, 4, 1, 3 },        /* G */
> +            { 0, 2, 1, 0, 4, 1, 3 },        /* R */
>          },
>          .flags = AV_PIX_FMT_FLAG_RGB,
>      },
> @@ -1123,9 +1123,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 1,
>          .log2_chroma_h = 1,
>          .comp = {
> -            { 0, 2, 1, 0, 8, 1 },        /* Y */
> -            { 1, 2, 1, 0, 8, 1 },        /* U */
> -            { 2, 2, 1, 0, 8, 1 },        /* V */
> +            { 0, 2, 1, 0, 9, 1, 8 },        /* Y */
> +            { 1, 2, 1, 0, 9, 1, 8 },        /* U */
> +            { 2, 2, 1, 0, 9, 1, 8 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -1135,9 +1135,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 1,
>          .log2_chroma_h = 1,
>          .comp = {
> -            { 0, 2, 1, 0, 8, 1 },        /* Y */
> -            { 1, 2, 1, 0, 8, 1 },        /* U */
> -            { 2, 2, 1, 0, 8, 1 },        /* V */
> +            { 0, 2, 1, 0, 9, 1, 8 },        /* Y */
> +            { 1, 2, 1, 0, 9, 1, 8 },        /* U */
> +            { 2, 2, 1, 0, 9, 1, 8 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -1147,9 +1147,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 1,
>          .log2_chroma_h = 1,
>          .comp = {
> -            { 0, 2, 1, 0, 9, 1 },        /* Y */
> -            { 1, 2, 1, 0, 9, 1 },        /* U */
> -            { 2, 2, 1, 0, 9, 1 },        /* V */
> +            { 0, 2, 1, 0, 10, 1, 9 },        /* Y */
> +            { 1, 2, 1, 0, 10, 1, 9 },        /* U */
> +            { 2, 2, 1, 0, 10, 1, 9 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -1159,9 +1159,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 1,
>          .log2_chroma_h = 1,
>          .comp = {
> -            { 0, 2, 1, 0, 9, 1 },        /* Y */
> -            { 1, 2, 1, 0, 9, 1 },        /* U */
> -            { 2, 2, 1, 0, 9, 1 },        /* V */
> +            { 0, 2, 1, 0, 10, 1, 9 },        /* Y */
> +            { 1, 2, 1, 0, 10, 1, 9 },        /* U */
> +            { 2, 2, 1, 0, 10, 1, 9 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -1171,9 +1171,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 1,
>          .log2_chroma_h = 1,
>          .comp = {
> -            { 0, 2, 1, 0, 15, 1 },        /* Y */
> -            { 1, 2, 1, 0, 15, 1 },        /* U */
> -            { 2, 2, 1, 0, 15, 1 },        /* V */
> +            { 0, 2, 1, 0, 16, 1, 15 },        /* Y */
> +            { 1, 2, 1, 0, 16, 1, 15 },        /* U */
> +            { 2, 2, 1, 0, 16, 1, 15 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -1183,9 +1183,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 1,
>          .log2_chroma_h = 1,
>          .comp = {
> -            { 0, 2, 1, 0, 15, 1 },        /* Y */
> -            { 1, 2, 1, 0, 15, 1 },        /* U */
> -            { 2, 2, 1, 0, 15, 1 },        /* V */
> +            { 0, 2, 1, 0, 16, 1, 15 },        /* Y */
> +            { 1, 2, 1, 0, 16, 1, 15 },        /* U */
> +            { 2, 2, 1, 0, 16, 1, 15 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -1195,9 +1195,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 1,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 1, 0, 8, 1 },        /* Y */
> -            { 1, 2, 1, 0, 8, 1 },        /* U */
> -            { 2, 2, 1, 0, 8, 1 },        /* V */
> +            { 0, 2, 1, 0, 9, 1, 8 },        /* Y */
> +            { 1, 2, 1, 0, 9, 1, 8 },        /* U */
> +            { 2, 2, 1, 0, 9, 1, 8 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -1207,9 +1207,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 1,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 1, 0, 8, 1 },        /* Y */
> -            { 1, 2, 1, 0, 8, 1 },        /* U */
> -            { 2, 2, 1, 0, 8, 1 },        /* V */
> +            { 0, 2, 1, 0, 9, 1, 8 },        /* Y */
> +            { 1, 2, 1, 0, 9, 1, 8 },        /* U */
> +            { 2, 2, 1, 0, 9, 1, 8 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -1219,9 +1219,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 1,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 1, 0, 9, 1 },        /* Y */
> -            { 1, 2, 1, 0, 9, 1 },        /* U */
> -            { 2, 2, 1, 0, 9, 1 },        /* V */
> +            { 0, 2, 1, 0, 10, 1, 9 },        /* Y */
> +            { 1, 2, 1, 0, 10, 1, 9 },        /* U */
> +            { 2, 2, 1, 0, 10, 1, 9 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -1231,9 +1231,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 1,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 1, 0, 9, 1 },        /* Y */
> -            { 1, 2, 1, 0, 9, 1 },        /* U */
> -            { 2, 2, 1, 0, 9, 1 },        /* V */
> +            { 0, 2, 1, 0, 10, 1, 9 },        /* Y */
> +            { 1, 2, 1, 0, 10, 1, 9 },        /* U */
> +            { 2, 2, 1, 0, 10, 1, 9 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -1243,9 +1243,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 1,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 1, 0, 15, 1 },        /* Y */
> -            { 1, 2, 1, 0, 15, 1 },        /* U */
> -            { 2, 2, 1, 0, 15, 1 },        /* V */
> +            { 0, 2, 1, 0, 16, 1, 15 },        /* Y */
> +            { 1, 2, 1, 0, 16, 1, 15 },        /* U */
> +            { 2, 2, 1, 0, 16, 1, 15 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -1255,9 +1255,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 1,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 1, 0, 15, 1 },        /* Y */
> -            { 1, 2, 1, 0, 15, 1 },        /* U */
> -            { 2, 2, 1, 0, 15, 1 },        /* V */
> +            { 0, 2, 1, 0, 16, 1, 15 },        /* Y */
> +            { 1, 2, 1, 0, 16, 1, 15 },        /* U */
> +            { 2, 2, 1, 0, 16, 1, 15 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -1267,9 +1267,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, 15, 1 },        /* Y */
> -            { 1, 2, 1, 0, 15, 1 },        /* U */
> -            { 2, 2, 1, 0, 15, 1 },        /* V */
> +            { 0, 2, 1, 0, 16, 1, 15 },        /* Y */
> +            { 1, 2, 1, 0, 16, 1, 15 },        /* U */
> +            { 2, 2, 1, 0, 16, 1, 15 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -1279,9 +1279,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, 15, 1 },        /* Y */
> -            { 1, 2, 1, 0, 15, 1 },        /* U */
> -            { 2, 2, 1, 0, 15, 1 },        /* V */
> +            { 0, 2, 1, 0, 16, 1, 15 },        /* Y */
> +            { 1, 2, 1, 0, 16, 1, 15 },        /* U */
> +            { 2, 2, 1, 0, 16, 1, 15 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -1291,9 +1291,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, 9, 1 },        /* Y */
> -            { 1, 2, 1, 0, 9, 1 },        /* U */
> -            { 2, 2, 1, 0, 9, 1 },        /* V */
> +            { 0, 2, 1, 0, 10, 1, 9 },        /* Y */
> +            { 1, 2, 1, 0, 10, 1, 9 },        /* U */
> +            { 2, 2, 1, 0, 10, 1, 9 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -1303,9 +1303,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, 9, 1 },        /* Y */
> -            { 1, 2, 1, 0, 9, 1 },        /* U */
> -            { 2, 2, 1, 0, 9, 1 },        /* V */
> +            { 0, 2, 1, 0, 10, 1, 9 },        /* Y */
> +            { 1, 2, 1, 0, 10, 1, 9 },        /* U */
> +            { 2, 2, 1, 0, 10, 1, 9 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -1315,9 +1315,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, 8, 1 },        /* Y */
> -            { 1, 2, 1, 0, 8, 1 },        /* U */
> -            { 2, 2, 1, 0, 8, 1 },        /* V */
> +            { 0, 2, 1, 0, 9, 1, 8 },        /* Y */
> +            { 1, 2, 1, 0, 9, 1, 8 },        /* U */
> +            { 2, 2, 1, 0, 9, 1, 8 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -1327,9 +1327,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, 8, 1 },        /* Y */
> -            { 1, 2, 1, 0, 8, 1 },        /* U */
> -            { 2, 2, 1, 0, 8, 1 },        /* V */
> +            { 0, 2, 1, 0, 9, 1, 8 },        /* Y */
> +            { 1, 2, 1, 0, 9, 1, 8 },        /* U */
> +            { 2, 2, 1, 0, 9, 1, 8 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -1349,8 +1349,8 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .name = "ya8",
>          .nb_components = 2,
>          .comp = {
> -            { 0, 2, 1, 0, 7, 1 },        /* Y */
> -            { 0, 2, 2, 0, 7, 1 },        /* A */
> +            { 0, 2, 1, 0, 8, 1, 7 },        /* Y */
> +            { 0, 2, 2, 0, 8, 1, 7 },        /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_ALPHA,
>          .alias = "gray8a",
> @@ -1359,8 +1359,8 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .name = "ya16le",
>          .nb_components = 2,
>          .comp = {
> -            { 0, 4, 1, 0, 15, 3 },        /* Y */
> -            { 0, 4, 3, 0, 15, 3 },        /* A */
> +            { 0, 4, 1, 0, 16, 3, 15 },        /* Y */
> +            { 0, 4, 3, 0, 16, 3, 15 },        /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -1368,8 +1368,8 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .name = "ya16be",
>          .nb_components = 2,
>          .comp = {
> -            { 0, 4, 1, 0, 15, 3 },        /* Y */
> -            { 0, 4, 3, 0, 15, 3 },        /* A */
> +            { 0, 4, 1, 0, 16, 3, 15 },        /* Y */
> +            { 0, 4, 3, 0, 16, 3, 15 },        /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_ALPHA,
>      },
> @@ -1379,9 +1379,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, 7, 0 },        /* G */
> -            { 1, 1, 1, 0, 7, 0 },        /* B */
> -            { 2, 1, 1, 0, 7, 0 },        /* R */
> +            { 0, 1, 1, 0, 8, 0, 7 },        /* G */
> +            { 1, 1, 1, 0, 8, 0, 7 },        /* B */
> +            { 2, 1, 1, 0, 8, 0, 7 },        /* R */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB,
>      },
> @@ -1391,9 +1391,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, 8, 1 },        /* G */
> -            { 1, 2, 1, 0, 8, 1 },        /* B */
> -            { 2, 2, 1, 0, 8, 1 },        /* R */
> +            { 0, 2, 1, 0, 9, 1, 8 },        /* G */
> +            { 1, 2, 1, 0, 9, 1, 8 },        /* B */
> +            { 2, 2, 1, 0, 9, 1, 8 },        /* R */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB,
>      },
> @@ -1403,9 +1403,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, 8, 1 },        /* G */
> -            { 1, 2, 1, 0, 8, 1 },        /* B */
> -            { 2, 2, 1, 0, 8, 1 },        /* R */
> +            { 0, 2, 1, 0, 9, 1, 8 },        /* G */
> +            { 1, 2, 1, 0, 9, 1, 8 },        /* B */
> +            { 2, 2, 1, 0, 9, 1, 8 },        /* R */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | 
> AV_PIX_FMT_FLAG_RGB,
>      },
> @@ -1415,9 +1415,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, 9, 1 },        /* G */
> -            { 1, 2, 1, 0, 9, 1 },        /* B */
> -            { 2, 2, 1, 0, 9, 1 },        /* R */
> +            { 0, 2, 1, 0, 10, 1, 9 },        /* G */
> +            { 1, 2, 1, 0, 10, 1, 9 },        /* B */
> +            { 2, 2, 1, 0, 10, 1, 9 },        /* R */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB,
>      },
> @@ -1427,9 +1427,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, 9, 1 },        /* G */
> -            { 1, 2, 1, 0, 9, 1 },        /* B */
> -            { 2, 2, 1, 0, 9, 1 },        /* R */
> +            { 0, 2, 1, 0, 10, 1, 9 },        /* G */
> +            { 1, 2, 1, 0, 10, 1, 9 },        /* B */
> +            { 2, 2, 1, 0, 10, 1, 9 },        /* R */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | 
> AV_PIX_FMT_FLAG_RGB,
>      },
> @@ -1439,9 +1439,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, 15, 1 },       /* G */
> -            { 1, 2, 1, 0, 15, 1 },       /* B */
> -            { 2, 2, 1, 0, 15, 1 },       /* R */
> +            { 0, 2, 1, 0, 16, 1, 15 },       /* G */
> +            { 1, 2, 1, 0, 16, 1, 15 },       /* B */
> +            { 2, 2, 1, 0, 16, 1, 15 },       /* R */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB,
>      },
> @@ -1451,9 +1451,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, 15, 1 },       /* G */
> -            { 1, 2, 1, 0, 15, 1 },       /* B */
> -            { 2, 2, 1, 0, 15, 1 },       /* R */
> +            { 0, 2, 1, 0, 16, 1, 15 },       /* G */
> +            { 1, 2, 1, 0, 16, 1, 15 },       /* B */
> +            { 2, 2, 1, 0, 16, 1, 15 },       /* R */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR | 
> AV_PIX_FMT_FLAG_RGB,
>      },
> @@ -1463,10 +1463,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, 7, 0 },        /* G */
> -            { 1, 1, 1, 0, 7, 0 },        /* B */
> -            { 2, 1, 1, 0, 7, 0 },        /* R */
> -            { 3, 1, 1, 0, 7, 0 },        /* A */
> +            { 0, 1, 1, 0, 8, 0, 7 },        /* G */
> +            { 1, 1, 1, 0, 8, 0, 7 },        /* B */
> +            { 2, 1, 1, 0, 8, 0, 7 },        /* R */
> +            { 3, 1, 1, 0, 8, 0, 7 },        /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB |
>                   AV_PIX_FMT_FLAG_ALPHA,
> @@ -1477,10 +1477,10 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 1, 0, 15, 1 },       /* G */
> -            { 1, 2, 1, 0, 15, 1 },       /* B */
> -            { 2, 2, 1, 0, 15, 1 },       /* R */
> -            { 3, 2, 1, 0, 15, 1 },       /* A */
> +            { 0, 2, 1, 0, 16, 1, 15 },       /* G */
> +            { 1, 2, 1, 0, 16, 1, 15 },       /* B */
> +            { 2, 2, 1, 0, 16, 1, 15 },       /* R */
> +            { 3, 2, 1, 0, 16, 1, 15 },       /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB |
>                   AV_PIX_FMT_FLAG_ALPHA,
> @@ -1491,10 +1491,10 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 1, 0, 15, 1 },       /* G */
> -            { 1, 2, 1, 0, 15, 1 },       /* B */
> -            { 2, 2, 1, 0, 15, 1 },       /* R */
> -            { 3, 2, 1, 0, 15, 1 },       /* A */
> +            { 0, 2, 1, 0, 16, 1, 15 },       /* G */
> +            { 1, 2, 1, 0, 16, 1, 15 },       /* B */
> +            { 2, 2, 1, 0, 16, 1, 15 },       /* R */
> +            { 3, 2, 1, 0, 16, 1, 15 },       /* A */
>          },
>          .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR |
>                   AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
> @@ -1511,9 +1511,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 6, 1, 4, 11, 5 },       /* X */
> -            { 0, 6, 3, 4, 11, 5 },       /* Y */
> -            { 0, 6, 5, 4, 11, 5 },       /* Z */
> +            { 0, 6, 1, 4, 12, 5, 11 },       /* X */
> +            { 0, 6, 3, 4, 12, 5, 11 },       /* Y */
> +            { 0, 6, 5, 4, 12, 5, 11 },       /* Z */
>        },
>        /*.flags = -- not used*/
>      },
> @@ -1523,9 +1523,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 0,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 6, 1, 4, 11, 5 },       /* X */
> -            { 0, 6, 3, 4, 11, 5 },       /* Y */
> -            { 0, 6, 5, 4, 11, 5 },       /* Z */
> +            { 0, 6, 1, 4, 12, 5, 11 },       /* X */
> +            { 0, 6, 3, 4, 12, 5, 11 },       /* Y */
> +            { 0, 6, 5, 4, 12, 5, 11 },       /* Z */
>         },
>          .flags = AV_PIX_FMT_FLAG_BE,
>      },
> @@ -1535,9 +1535,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, 0 },        /* Y */
> -            { 1, 2, 1, 0, 7, 1 },        /* U */
> -            { 1, 2, 2, 0, 7, 1 },        /* V */
> +            { 0, 1, 1, 0, 8, 0, 7 },        /* Y */
> +            { 1, 2, 1, 0, 8, 1, 7 },        /* U */
> +            { 1, 2, 2, 0, 8, 1, 7 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -1547,9 +1547,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 1,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 1, 0, 9, 1 },        /* Y */
> -            { 1, 4, 1, 0, 9, 3 },        /* U */
> -            { 1, 4, 3, 0, 9, 3 },        /* V */
> +            { 0, 2, 1, 0, 10, 1, 9 },        /* Y */
> +            { 1, 4, 1, 0, 10, 3, 9 },        /* U */
> +            { 1, 4, 3, 0, 10, 3, 9 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR,
>      },
> @@ -1559,9 +1559,9 @@ static const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          .log2_chroma_w = 1,
>          .log2_chroma_h = 0,
>          .comp = {
> -            { 0, 2, 1, 0, 9, 1 },        /* Y */
> -            { 1, 4, 1, 0, 9, 3 },        /* U */
> -            { 1, 4, 3, 0, 9, 3 },        /* V */
> +            { 0, 2, 1, 0, 10, 1, 9 },        /* Y */
> +            { 1, 4, 1, 0, 10, 3, 9 },        /* U */
> +            { 1, 4, 3, 0, 10, 3, 9 },        /* V */
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_BE,
>      },
> @@ -1661,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;
> diff --git a/libavutil/pixdesc.h b/libavutil/pixdesc.h
> index 4a0b3b7..1d1f71d 100644
> --- a/libavutil/pixdesc.h
> +++ b/libavutil/pixdesc.h
> @@ -52,15 +52,16 @@ 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
> -     */
> +    /** deprecated, use step instead */
>      attribute_deprecated int step_minus1;
> +
> +    /** deprecated, use depth instead */
> +    attribute_deprecated int depth_minus1;
>  #endif
>  } AVComponentDescriptor;
>  
> diff --git a/libswscale/output.c b/libswscale/output.c
> index 1670f4a..1466f0a 100644
> --- a/libswscale/output.c
> +++ b/libswscale/output.c
> @@ -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 {
> diff --git a/libswscale/swscale.c b/libswscale/swscale.c
> index f6427bf..2f9cb1b 100644
> --- a/libswscale/swscale.c
> +++ b/libswscale/swscale.c
> @@ -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);
>      }
> diff --git a/libswscale/swscale_internal.h b/libswscale/swscale_internal.h
> index fdaaeeb..4d921cd 100644
> --- a/libswscale/swscale_internal.h
> +++ b/libswscale/swscale_internal.h
> @@ -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)
> diff --git a/libswscale/swscale_unscaled.c b/libswscale/swscale_unscaled.c
> index 699aa60..39ae5cf 100644
> --- a/libswscale/swscale_unscaled.c
> +++ b/libswscale/swscale_unscaled.c
> @@ -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;
>  
> diff --git a/libswscale/utils.c b/libswscale/utils.c
> index f5b2511..5406e19 100644
> --- a/libswscale/utils.c
> +++ b/libswscale/utils.c
> @@ -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)

LGTM, other than the maybe 2 hunks I pointed out.
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to