summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/video_out/video_out_xshm.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/video_out/video_out_xshm.c b/src/video_out/video_out_xshm.c
index 17adbfbb2..780a5e972 100644
--- a/src/video_out/video_out_xshm.c
+++ b/src/video_out/video_out_xshm.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_xshm.c,v 1.33 2001/09/10 13:36:56 jkeil Exp $
+ * $Id: video_out_xshm.c,v 1.34 2001/09/10 15:42:39 jkeil Exp $
*
* video_out_xshm.c, X11 shared memory extension interface for xine
*
@@ -585,8 +585,6 @@ static void xshm_update_frame_format (vo_driver_t *this_gen,
int image_size;
- this->stripe_height = 16 * this->output_height / this->delivered_height;
-
/*
printf ("video_out_xshm: updating frame to %d x %d\n",
this->output_width,this->output_height);
@@ -642,6 +640,8 @@ static void xshm_update_frame_format (vo_driver_t *this_gen,
}
if (frame->image) {
+ this->stripe_height = 16 * this->output_height / this->delivered_height;
+
frame->rgb_dst = frame->image->data;
switch (flags) {
case VO_TOP_FIELD:
@@ -658,11 +658,12 @@ static void xshm_update_frame_format (vo_driver_t *this_gen,
break;
}
- if ( (flags == VO_BOTH_FIELDS)
- && (this->yuv_stride != frame->image->bytes_per_line) ) {
- setup_yuv = 1;
- } else if (this->yuv_stride != (frame->image->bytes_per_line*2)) {
- setup_yuv = 1;
+ if (flags == VO_BOTH_FIELDS) {
+ if (this->yuv_stride != frame->image->bytes_per_line)
+ setup_yuv = 1;
+ } else { /* VO_TOP_FIELD, VO_BOTTOM_FIELD */
+ if (this->yuv_stride != (frame->image->bytes_per_line*2))
+ setup_yuv = 1;
}
if (setup_yuv