diff options
author | Christophe Thommeret <hftom@free.fr> | 2009-01-31 17:07:59 +0000 |
---|---|---|
committer | Christophe Thommeret <hftom@free.fr> | 2009-01-31 17:07:59 +0000 |
commit | 96ad7c0f1317b2efb949f23a86645f839eab31dd (patch) | |
tree | 3990eea125ddd05fd4438d9591b8ba6d7851b9e2 /src/video_out | |
parent | 71b549cef6216b400045de3d331e22adbe87e7cd (diff) | |
download | xine-lib-96ad7c0f1317b2efb949f23a86645f839eab31dd.tar.gz xine-lib-96ad7c0f1317b2efb949f23a86645f839eab31dd.tar.bz2 |
VC1 update.
Diffstat (limited to 'src/video_out')
-rw-r--r-- | src/video_out/video_out_raw.c | 15 | ||||
-rw-r--r-- | src/video_out/video_out_vdpau.c | 4 |
2 files changed, 11 insertions, 8 deletions
diff --git a/src/video_out/video_out_raw.c b/src/video_out/video_out_raw.c index f3afb4aaa..52b959985 100644 --- a/src/video_out/video_out_raw.c +++ b/src/video_out/video_out_raw.c @@ -163,11 +163,16 @@ static int raw_process_ovl( raw_driver_t *this_gen, vo_overlay_t *overlay ) clr = rle->color; alpha = trans[clr]; for ( i=0; i<rlelen; ++i ) { - rgba[0] = colors[clr].y; - rgba[1] = colors[clr].cr; - rgba[2] = colors[clr].cb; - rgba[3] = alpha*255/15; - rgba+= 4; + if ( alpha == 0 ) { + rgba[0] = rgba[1] = rgba[2] = rgba[3] = 0; + } + else { + rgba[0] = colors[clr].y; + rgba[1] = colors[clr].cr; + rgba[2] = colors[clr].cb; + rgba[3] = alpha*255/15; + } + rgba+= 4; ++pos; } ++rle; diff --git a/src/video_out/video_out_vdpau.c b/src/video_out/video_out_vdpau.c index 58a775b5a..13ce1b41b 100644 --- a/src/video_out/video_out_vdpau.c +++ b/src/video_out/video_out_vdpau.c @@ -2002,7 +2002,7 @@ static vo_driver_t *vdpau_open_plugin (video_driver_class_t *class_gen, const vo else this->capabilities |= VO_CAP_VDPAU_H264; - /*st = vdp_decoder_query_capabilities( vdp_device, VDP_DECODER_PROFILE_VC1_MAIN, &ok, &ml, &mr, &mw, &mh ); + st = vdp_decoder_query_capabilities( vdp_device, VDP_DECODER_PROFILE_VC1_MAIN, &ok, &ml, &mr, &mw, &mh ); if ( st != VDP_STATUS_OK ) printf( "vo_vdpau: getting vc1_supported failed! : %s\n", vdp_get_error_string( st ) ); else if ( !ok ) @@ -2010,8 +2010,6 @@ static vo_driver_t *vdpau_open_plugin (video_driver_class_t *class_gen, const vo else this->capabilities |= VO_CAP_VDPAU_VC1; - this->capabilities |= VO_CAP_VDPAU_VC1;*/ - st = vdp_decoder_query_capabilities( vdp_device, VDP_DECODER_PROFILE_MPEG2_MAIN, &ok, &ml, &mr, &mw, &mh ); if ( st != VDP_STATUS_OK ) printf( "vo_vdpau: getting mpeg12_supported failed! : %s\n", vdp_get_error_string( st ) ); |