OSDN Git Service

Merge commit '9a9fb710bcf4657e030467cfe2556cb0e2c01afc'
authorDerek Buitenhuis <derek.buitenhuis@gmail.com>
Sun, 8 May 2016 22:48:55 +0000 (23:48 +0100)
committerDerek Buitenhuis <derek.buitenhuis@gmail.com>
Sun, 8 May 2016 22:49:04 +0000 (23:49 +0100)
* commit '9a9fb710bcf4657e030467cfe2556cb0e2c01afc':
  dds: Add support for rgb555 files

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
1  2 
libavcodec/dds.c

@@@ -356,12 -355,12 +356,16 @@@ static int parse_pixel_format(AVCodecCo
          /* 16 bpp */
          else if (bpp == 16 && r == 0xff && g == 0 && b == 0 && a == 0xff00)
              avctx->pix_fmt = AV_PIX_FMT_YA8;
 +        else if (bpp == 16 && r == 0xff00 && g == 0 && b == 0 && a == 0xff) {
 +            avctx->pix_fmt = AV_PIX_FMT_YA8;
 +            ctx->postproc = DDS_SWAP_ALPHA;
 +        }
          else if (bpp == 16 && r == 0xffff && g == 0 && b == 0 && a == 0)
              avctx->pix_fmt = AV_PIX_FMT_GRAY16LE;
+         else if (bpp == 16 && r == 0x7c00 && g == 0x3e0 && b == 0x1f && a == 0)
+             avctx->pix_fmt = AV_PIX_FMT_RGB555LE;
+         else if (bpp == 16 && r == 0x7c00 && g == 0x3e0 && b == 0x1f && a == 0x8000)
+             avctx->pix_fmt = AV_PIX_FMT_RGB555LE; // alpha ignored
          else if (bpp == 16 && r == 0xf800 && g == 0x7e0 && b == 0x1f && a == 0)
              avctx->pix_fmt = AV_PIX_FMT_RGB565LE;
          /* 24 bpp */