summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/video_out/video_out_directfb.c10
-rw-r--r--src/video_out/video_out_vdpau.c8
-rw-r--r--src/video_out/video_out_vidix.c10
-rw-r--r--src/video_out/video_out_xcbxv.c6
-rw-r--r--src/video_out/video_out_xv.c6
-rw-r--r--src/video_out/video_out_xvmc.c6
-rw-r--r--src/video_out/video_out_xxmc.c6
7 files changed, 41 insertions, 11 deletions
diff --git a/src/video_out/video_out_directfb.c b/src/video_out/video_out_directfb.c
index b9a21c179..d004939c2 100644
--- a/src/video_out/video_out_directfb.c
+++ b/src/video_out/video_out_directfb.c
@@ -701,9 +701,13 @@ static void directfb_display_frame (vo_driver_t *this_gen, vo_frame_t *frame_gen
lprintf ("failed=0x%08x.\n", failed);
}
- if (this->sc.delivered_width != frame->width ||
- this->sc.delivered_height != frame->height ||
- this->sc.delivered_ratio != frame->ratio)
+ if ( (frame->width != this->sc.delivered_width)
+ || (frame->height != this->sc.delivered_height)
+ || (frame->ratio != this->sc.delivered_ratio)
+ || (frame->vo_frame.crop_left != this->sc.crop_left)
+ || (frame->vo_frame.crop_right != this->sc.crop_right)
+ || (frame->vo_frame.crop_top != this->sc.crop_top)
+ || (frame->vo_frame.crop_bottom != this->sc.crop_bottom) ) {
{
lprintf ("forcing redraw.\n");
this->sc.force_redraw = 1;
diff --git a/src/video_out/video_out_vdpau.c b/src/video_out/video_out_vdpau.c
index 0c47417c7..66db3b587 100644
--- a/src/video_out/video_out_vdpau.c
+++ b/src/video_out/video_out_vdpau.c
@@ -1598,7 +1598,13 @@ static void vdpau_display_frame (vo_driver_t *this_gen, vo_frame_t *frame_gen)
uint32_t mix_h = this->video_mixer_height;
VdpTime stream_speed;
- if ( (frame->width != this->sc.delivered_width) || (frame->height != this->sc.delivered_height) || (frame->ratio != this->sc.delivered_ratio) ) {
+ if ( (frame->width != this->sc.delivered_width) ||
+ (frame->height != this->sc.delivered_height) ||
+ (frame->ratio != this->sc.delivered_ratio) ||
+ (frame->vo_frame.crop_left != this->sc.crop_left) ||
+ (frame->vo_frame.crop_right != this->sc.crop_right) ||
+ (frame->vo_frame.crop_top != this->sc.crop_top) ||
+ (frame->vo_frame.crop_bottom != this->sc.crop_bottom) ) {
this->sc.force_redraw = 1; /* trigger re-calc of output size */
}
diff --git a/src/video_out/video_out_vidix.c b/src/video_out/video_out_vidix.c
index 74529ebec..fa476c492 100644
--- a/src/video_out/video_out_vidix.c
+++ b/src/video_out/video_out_vidix.c
@@ -648,9 +648,13 @@ static void vidix_display_frame (vo_driver_t *this_gen, vo_frame_t *frame_gen) {
pthread_mutex_lock(&this->mutex);
if ( (frame->width != this->sc.delivered_width)
- || (frame->height != this->sc.delivered_height)
- || (frame->ratio != this->sc.delivered_ratio)
- || (frame->format != this->delivered_format ) ) {
+ || (frame->height != this->sc.delivered_height)
+ || (frame->ratio != this->sc.delivered_ratio)
+ || (frame->format != this->delivered_format )
+ || (frame->vo_frame.crop_left != this->sc.crop_left)
+ || (frame->vo_frame.crop_right != this->sc.crop_right)
+ || (frame->vo_frame.crop_top != this->sc.crop_top)
+ || (frame->vo_frame.crop_bottom != this->sc.crop_bottom) ) {
lprintf("video_out_vidix: change frame format\n");
this->sc.delivered_width = frame->width;
diff --git a/src/video_out/video_out_xcbxv.c b/src/video_out/video_out_xcbxv.c
index 81a799dca..b10aa8e78 100644
--- a/src/video_out/video_out_xcbxv.c
+++ b/src/video_out/video_out_xcbxv.c
@@ -591,7 +591,11 @@ static void xv_display_frame (vo_driver_t *this_gen, vo_frame_t *frame_gen) {
*/
if ( (frame->width != this->sc.delivered_width)
|| (frame->height != this->sc.delivered_height)
- || (frame->ratio != this->sc.delivered_ratio) ) {
+ || (frame->ratio != this->sc.delivered_ratio)
+ || (frame->vo_frame.crop_left != this->sc.crop_left)
+ || (frame->vo_frame.crop_right != this->sc.crop_right)
+ || (frame->vo_frame.crop_top != this->sc.crop_top)
+ || (frame->vo_frame.crop_bottom != this->sc.crop_bottom) ) {
lprintf("frame format changed\n");
this->sc.force_redraw = 1; /* trigger re-calc of output size */
}
diff --git a/src/video_out/video_out_xv.c b/src/video_out/video_out_xv.c
index 5c994c351..59ba3cbfe 100644
--- a/src/video_out/video_out_xv.c
+++ b/src/video_out/video_out_xv.c
@@ -679,7 +679,11 @@ static void xv_display_frame (vo_driver_t *this_gen, vo_frame_t *frame_gen) {
*/
if ( (frame->width != this->sc.delivered_width)
|| (frame->height != this->sc.delivered_height)
- || (frame->ratio != this->sc.delivered_ratio) ) {
+ || (frame->ratio != this->sc.delivered_ratio)
+ || (frame->vo_frame.crop_left != this->sc.crop_left)
+ || (frame->vo_frame.crop_right != this->sc.crop_right)
+ || (frame->vo_frame.crop_top != this->sc.crop_top)
+ || (frame->vo_frame.crop_bottom != this->sc.crop_bottom) ) {
lprintf("frame format changed\n");
this->sc.force_redraw = 1; /* trigger re-calc of output size */
}
diff --git a/src/video_out/video_out_xvmc.c b/src/video_out/video_out_xvmc.c
index 7a0535818..14961074c 100644
--- a/src/video_out/video_out_xvmc.c
+++ b/src/video_out/video_out_xvmc.c
@@ -938,7 +938,11 @@ static void xvmc_display_frame (vo_driver_t *this_gen, vo_frame_t *frame_gen) {
if ( (frame->width != this->sc.delivered_width)
|| (frame->height != this->sc.delivered_height)
- || (frame->ratio != this->sc.delivered_ratio) ) {
+ || (frame->ratio != this->sc.delivered_ratio)
+ || (frame->vo_frame.crop_left != this->sc.crop_left)
+ || (frame->vo_frame.crop_right != this->sc.crop_right)
+ || (frame->vo_frame.crop_top != this->sc.crop_top)
+ || (frame->vo_frame.crop_bottom != this->sc.crop_bottom) ) {
lprintf("frame format changed\n");
/*
diff --git a/src/video_out/video_out_xxmc.c b/src/video_out/video_out_xxmc.c
index aa47eb2ae..e35ce5f12 100644
--- a/src/video_out/video_out_xxmc.c
+++ b/src/video_out/video_out_xxmc.c
@@ -1698,7 +1698,11 @@ static void xxmc_display_frame (vo_driver_t *this_gen, vo_frame_t *frame_gen)
*/
if ( (frame->width != this->sc.delivered_width)
|| (frame->height != this->sc.delivered_height)
- || (frame->ratio != this->sc.delivered_ratio) ) {
+ || (frame->ratio != this->sc.delivered_ratio)
+ || (frame->vo_frame.crop_left != this->sc.crop_left)
+ || (frame->vo_frame.crop_right != this->sc.crop_right)
+ || (frame->vo_frame.crop_top != this->sc.crop_top)
+ || (frame->vo_frame.crop_bottom != this->sc.crop_bottom) ) {
lprintf("frame format changed\n");
this->sc.force_redraw = 1; /* trigger re-calc of output size */
}