]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/ffv1dec_template.c
lavc: implement an ATRAC9 decoder
[ffmpeg] / libavcodec / ffv1dec_template.c
index a25b3384f13734b5251ee6e2d40648eb16047cb7..f8a42a6d44cac90be20ac8713f56d4345545b863 100644 (file)
@@ -155,7 +155,7 @@ static void RENAME(decode_rgb_frame)(FFV1Context *s, uint8_t *src[4], int w, int
 
             if (lbd)
                 *((uint32_t*)(src[0] + x*4 + stride[0]*y)) = b + ((unsigned)g<<8) + ((unsigned)r<<16) + ((unsigned)a<<24);
-            else if (sizeof(TYPE) == 4) {
+            else if (sizeof(TYPE) == 4 || transparency) {
                 *((uint16_t*)(src[0] + x*2 + stride[0]*y)) = g;
                 *((uint16_t*)(src[1] + x*2 + stride[1]*y)) = b;
                 *((uint16_t*)(src[2] + x*2 + stride[2]*y)) = r;
@@ -165,8 +165,6 @@ static void RENAME(decode_rgb_frame)(FFV1Context *s, uint8_t *src[4], int w, int
                 *((uint16_t*)(src[0] + x*2 + stride[0]*y)) = b;
                 *((uint16_t*)(src[1] + x*2 + stride[1]*y)) = g;
                 *((uint16_t*)(src[2] + x*2 + stride[2]*y)) = r;
-                if (transparency)
-                    *((uint16_t*)(src[3] + x*2 + stride[3]*y)) = a;
             }
         }
     }