Mercurial > mplayer.hg
changeset 9461:17cf28e5846a
Update sub-picture layer to work with recent DirectFB cvs and add support for selecting field parity. Patch by Ville Syrjl <syrjala@sci.fi>
author | alex |
---|---|
date | Wed, 19 Feb 2003 16:01:46 +0000 |
parents | 93c91fea7a18 |
children | 8b02e80e9c65 |
files | libvo/vo_dfbmga.c |
diffstat | 1 files changed, 27 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/libvo/vo_dfbmga.c Wed Feb 19 09:40:03 2003 +0000 +++ b/libvo/vo_dfbmga.c Wed Feb 19 16:01:46 2003 +0000 @@ -91,6 +91,7 @@ static int use_crtc2; static int use_spic; static int use_input; +static int field_parity; static int osd_changed; static int osd_dirty; @@ -223,6 +224,7 @@ use_crtc2 = 1; use_spic = 1; use_input = 1; + field_parity = -1; if (vo_subdevice) { int opt_no = 0; @@ -243,6 +245,14 @@ use_spic = !opt_no; vo_subdevice += 5; opt_no = 0; + } else if (!strncmp(vo_subdevice, "fieldparity=", 12)) { + vo_subdevice += 12; + if (*vo_subdevice == '0' || + *vo_subdevice == '1') { + field_parity = *vo_subdevice - '0'; + vo_subdevice++; + } + opt_no = 0; } else if (!strncmp(vo_subdevice, "no", 2)) { vo_subdevice += 2; opt_no = 1; @@ -410,6 +420,13 @@ dlc.flags = DLCONF_PIXELFORMAT | DLCONF_BUFFERMODE; dlc.buffermode = DLBM_BACKVIDEO; +#if DIRECTFBVERSION > 916 + if (field_parity != -1) { + dlc.flags |= DLCONF_OPTIONS; + dlc.options = DLOP_FIELD_PARITY; + } +#endif + switch (dlc.pixelformat) { case DSPF_I420: case DSPF_YV12: @@ -433,6 +450,12 @@ return -1; } crtc2->SetConfiguration( crtc2, &dlc ); + +#if DIRECTFBVERSION > 916 + if (field_parity != -1) + crtc2->SetFieldParity( crtc2, field_parity ); +#endif + crtc2->GetSurface( crtc2, &c2frame ); c2frame->GetSize( c2frame, &screen_width, &screen_height ); @@ -502,6 +525,10 @@ dlc.flags = DLCONF_PIXELFORMAT | DLCONF_BUFFERMODE; dlc.pixelformat = DSPF_LUT8; dlc.buffermode = DLBM_BACKVIDEO; +#if DIRECTFBVERSION > 916 + dlc.flags |= DLCONF_OPTIONS; + dlc.options = DLOP_ALPHACHANNEL; +#endif if (spic->TestConfiguration( spic, &dlc, &failed ) != DFB_OK) { mp_msg( MSGT_VO, MSGL_ERR, "vo_dfbmga: Invalid sub-picture configuration!\n" );