diff libmpcodecs/img_format.c @ 30115:ad61464d02a7

Add support for YUV format with alpha and fix the codecs.conf entry for vp6a to use it. Fixes playback of samples in http://samples.mplayerhq.hu/FLV/flash_with_alpha/
author reimar
date Thu, 31 Dec 2009 23:45:07 +0000
parents 19414a605695
children bbb6ebec87a0
line wrap: on
line diff
--- a/libmpcodecs/img_format.c	Thu Dec 31 23:39:21 2009 +0000
+++ b/libmpcodecs/img_format.c	Thu Dec 31 23:45:07 2009 +0000
@@ -43,6 +43,7 @@
 	case IMGFMT_422P16_BE: return "Planar 422P 16-bit big-endian";
 	case IMGFMT_444P16_LE: return "Planar 444P 16-bit little-endian";
 	case IMGFMT_444P16_BE: return "Planar 444P 16-bit big-endian";
+	case IMGFMT_420A: return "Planar 420P with alpha";
 	case IMGFMT_444P: return "Planar 444P";
 	case IMGFMT_422P: return "Planar 422P";
 	case IMGFMT_411P: return "Planar 411P";
@@ -96,6 +97,7 @@
     case IMGFMT_420P16_LE:
     case IMGFMT_420P16_BE:
         bpp_factor = 2;
+    case IMGFMT_420A:
     case IMGFMT_I420:
     case IMGFMT_IYUV:
     case IMGFMT_YV12:
@@ -136,6 +138,8 @@
     if (x_shift) *x_shift = xs;
     if (y_shift) *y_shift = ys;
     bpp = 8 + (16 >> (xs + ys));
+    if (format == IMGFMT_420A)
+        bpp += 8;
     bpp *= bpp_factor;
     return err ? 0 : bpp;
 }