diff options
author | Michael Roitzsch <mroi@users.sourceforge.net> | 2002-07-10 14:09:55 +0000 |
---|---|---|
committer | Michael Roitzsch <mroi@users.sourceforge.net> | 2002-07-10 14:09:55 +0000 |
commit | b2158a53abddf5165f8bbacaea8f58c1b0b17f9a (patch) | |
tree | d0a505b42655fc87756320c51067c729a5bb5d6a /src/dxr3/video_out_dxr3.c | |
parent | 24c9de726cc5040869cdcd58fdf2e66949a682d3 (diff) | |
download | xine-lib-b2158a53abddf5165f8bbacaea8f58c1b0b17f9a.tar.gz xine-lib-b2158a53abddf5165f8bbacaea8f58c1b0b17f9a.tar.bz2 |
* handle aspect special buffer to force aspect ratio
* detect pan&scan material and tell spu decoder about it
* handle pan&scan in the dxr3 video out
CVS patchset: 2249
CVS date: 2002/07/10 14:09:55
Diffstat (limited to 'src/dxr3/video_out_dxr3.c')
-rw-r--r-- | src/dxr3/video_out_dxr3.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/dxr3/video_out_dxr3.c b/src/dxr3/video_out_dxr3.c index 4f24bbd60..c459ace4b 100644 --- a/src/dxr3/video_out_dxr3.c +++ b/src/dxr3/video_out_dxr3.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: video_out_dxr3.c,v 1.38 2002/07/08 19:52:02 mroi Exp $ + * $Id: video_out_dxr3.c,v 1.39 2002/07/10 14:09:56 mroi Exp $ */ /* mpeg1 encoding video out plugin for the dxr3. @@ -455,8 +455,15 @@ static void dxr3_update_frame_format(vo_driver_t *this_gen, vo_frame_t *frame_ge aspect = ASPECT_FULL; if (ratio_code == XINE_ASPECT_RATIO_ANAMORPHIC || ratio_code == XINE_ASPECT_RATIO_211_1) aspect = ASPECT_ANAMORPHIC; - - if(this->aspect != aspect) + if (ratio_code == XINE_ASPECT_RATIO_PAN_SCAN && !this->pan_scan) { + dxr3_set_property(this_gen, VO_PROP_ZOOM_FACTOR, 1); + this->pan_scan = 1; + } + if (ratio_code != XINE_ASPECT_RATIO_PAN_SCAN && this->pan_scan) { + this->pan_scan = 0; + dxr3_set_property(this_gen, VO_PROP_ZOOM_FACTOR, -1); + } + if (this->aspect != aspect) dxr3_set_property(this_gen, VO_PROP_ASPECT_RATIO, aspect); return; @@ -486,6 +493,7 @@ static void dxr3_update_frame_format(vo_driver_t *this_gen, vo_frame_t *frame_ge oheight = height; break; case XINE_ASPECT_RATIO_ANAMORPHIC: + case XINE_ASPECT_RATIO_PAN_SCAN: aspect = ASPECT_ANAMORPHIC; oheight = height; break; @@ -745,12 +753,10 @@ static int dxr3_set_property(vo_driver_t *this_gen, int property, int value) /* FIXME: We should send an anamorphic hint to widescreen tvs, so they * can switch to 16:9 mode. I don't know if the dxr3 can do this. */ } - this->pan_scan = 1; } else if (value == -1) { #if LOG_VID printf("video_out_dxr3: disabling 16:9 zoom\n"); #endif - this->pan_scan = 0; dxr3_set_property(this_gen, VO_PROP_ASPECT_RATIO, this->aspect); } } |