Browse Source

dds: Drop gray-alpha swapping

The original sample was generated with invalid software.
tags/n3.1
Vittorio Giovara 9 years ago
parent
commit
6eb2505855
2 changed files with 1 additions and 13 deletions
  1. +0
    -12
      libavcodec/dds.c
  2. +1
    -1
      tests/ref/fate/dds-ya

+ 0
- 12
libavcodec/dds.c View File

@@ -45,7 +45,6 @@ enum DDSPostProc {
DDS_ALPHA_EXP,
DDS_NORMAL_MAP,
DDS_RAW_YCOCG,
DDS_SWAP_ALPHA,
DDS_SWIZZLE_A2XY,
DDS_SWIZZLE_RBXG,
DDS_SWIZZLE_RGXB,
@@ -392,8 +391,6 @@ static int parse_pixel_format(AVCodecContext *avctx)
ctx->postproc = DDS_NORMAL_MAP;
else if (ycocg_classic && !ctx->compressed)
ctx->postproc = DDS_RAW_YCOCG;
else if (avctx->pix_fmt == AV_PIX_FMT_YA8)
ctx->postproc = DDS_SWAP_ALPHA;

/* ATI/NVidia variants sometimes add swizzling in bpp. */
switch (bpp) {
@@ -540,15 +537,6 @@ static void run_postproc(AVCodecContext *avctx, AVFrame *frame)
src[3] = a;
}
break;
case DDS_SWAP_ALPHA:
/* Alpha and Luma are stored swapped. */
av_log(avctx, AV_LOG_DEBUG, "Post-processing swapped Luma/Alpha.\n");

for (i = 0; i < frame->linesize[0] * frame->height; i += 2) {
uint8_t *src = frame->data[0] + i;
FFSWAP(uint8_t, src[0], src[1]);
}
break;
case DDS_SWIZZLE_A2XY:
/* Swap R and G, often used to restore a standard RGTC2. */
av_log(avctx, AV_LOG_DEBUG, "Post-processing A2XY swizzle.\n");


+ 1
- 1
tests/ref/fate/dds-ya View File

@@ -1,2 +1,2 @@
#tb 0: 1/25
0, 0, 0, 1, 28160, 0xd3981fcb
0, 0, 0, 1, 28160, 0x5aa41fcb

Loading…
Cancel
Save