break;
case FOURCC_RV32:
+ case FOURCC_RGBA:
p_format->i_bits_per_pixel = 32;
break;
case FOURCC_RV24:
break;
case FOURCC_RV32:
+ case FOURCC_RGBA:
p_pic->p->i_lines = i_height_aligned;
p_pic->p->i_visible_lines = i_height;
p_pic->p->i_pitch = i_width_aligned * 4;
/* Packed RGB 32bpp, usually 0x00ff0000, 0x0000ff00, 0x000000ff */
#define FOURCC_RV32 VLC_FOURCC('R','V','3','2')
+/* Packed RGBA 32bpp, like RV32 with 0xff000000 used for alpha */
+#define FOURCC_RGBA VLC_FOURCC('R','G','B','A')
+
/* Planar YUV 4:2:0, Y:U:V */
#define FOURCC_I420 VLC_FOURCC('I','4','2','0')
#define FOURCC_IYUV VLC_FOURCC('I','Y','U','V')
p_spu->p_blend->fmt_out.video.i_aspect = p_fmt->i_aspect;
p_spu->p_blend->fmt_out.video.i_chroma = p_fmt->i_chroma;
p_spu->p_blend->fmt_in.video.i_chroma = VLC_FOURCC('Y','U','V','P');
+ /* XXX: We'll also be using it for YUVA and RGBA blending ... */
p_spu->p_blend->p_module =
module_Need( p_spu->p_blend, "video blending", 0, 0 );
p_spu->p_scale->fmt_out.video.i_chroma =
p_spu->p_scale->fmt_in.video.i_chroma =
VLC_FOURCC('Y','U','V','P');
+ /* XXX: We'll also be using it for YUVA and RGBA blending ... */
p_spu->p_scale->fmt_in.video.i_width =
p_spu->p_scale->fmt_in.video.i_height = 32;
p_spu->p_scale->fmt_out.video.i_width =
}
if( (i_scale_width != 1000 || i_scale_height != 1000) &&
- p_spu->p_scale && !p_region->p_cache )
+ p_spu->p_scale && !p_region->p_cache &&
+ VLC_FOURCC('R','G','B','A') != p_region->fmt.i_chroma /* FIXME */ )
{
picture_t *p_pic;