summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Roitzsch <mroi@users.sourceforge.net>2004-06-13 16:00:16 +0000
committerMichael Roitzsch <mroi@users.sourceforge.net>2004-06-13 16:00:16 +0000
commit62f8ce9ec67fb85da1023b5db90a0a5f1609cff7 (patch)
tree29f34f2046868859c8c2ba995e676badc66db84e
parent6ed20eae1c478e08ff54f96fd7b8c801b37663d9 (diff)
downloadxine-lib-62f8ce9ec67fb85da1023b5db90a0a5f1609cff7.tar.gz
xine-lib-62f8ce9ec67fb85da1023b5db90a0a5f1609cff7.tar.bz2
* trying to fix a longstanding problem: 4:3 progressive content on DXR3's
TV out results in the lower third of the image being shaky; this fix might raise other problems, but since we only play with the progressive flag, the worst that could happen is that the card gets the interlaced vs. progressive state wrong and this is almost never noticable on TV out * report codec information for dxr3 video decoder * while I am at it: small beautification to video_out_dxr3.c CVS patchset: 6685 CVS date: 2004/06/13 16:00:16
-rw-r--r--ChangeLog2
-rw-r--r--src/dxr3/dxr3_decode_video.c8
-rw-r--r--src/dxr3/video_out_dxr3.c4
3 files changed, 8 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index a0b91485d..9ec183a6d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -25,6 +25,8 @@
* revised FLAC playback subsystem
* subtitles improvements - word wrap and new subtitle format variants
* native MacOSX video and audio output plugins
+ * DXR3: fix slight shaking in lower third of the image on TV out
+ with some MPEG material
xine-lib (1-rc4a)
* audio out now uses a more user friendly "Speaker arrangement" config item;
diff --git a/src/dxr3/dxr3_decode_video.c b/src/dxr3/dxr3_decode_video.c
index ccb15e0f0..d747ec377 100644
--- a/src/dxr3/dxr3_decode_video.c
+++ b/src/dxr3/dxr3_decode_video.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: dxr3_decode_video.c,v 1.54 2004/04/17 14:18:14 mroi Exp $
+ * $Id: dxr3_decode_video.c,v 1.55 2004/06/13 16:00:17 mroi Exp $
*/
/* dxr3 video decoder plugin.
@@ -361,8 +361,7 @@ static void dxr3_decode_data(video_decoder_t *this_gen, buf_element_t *buf)
break;
case 8:
this->repeat_first_field = (buffer[3] >> 1) & 1;
-#if 0 /* TODO: this needs more testing */
- /* clearing the progessive flag gets rid of the frame jitter with
+ /* clearing the progessive flag gets rid of the slight shaking with
* TV-out in the lower third of the image; but we have to set this
* flag, when a still frame is coming along, otherwise the card will
* drop one of the fields; therefore we check for the fifo size */
@@ -372,7 +371,6 @@ static void dxr3_decode_data(video_decoder_t *this_gen, buf_element_t *buf)
else
buffer[4] |= (1 << 7);
}
-#endif
break;
}
}
@@ -841,6 +839,8 @@ static void frame_format_change(dxr3_decoder_t *this)
_x_stream_info_set(this->stream, XINE_STREAM_INFO_VIDEO_WIDTH, this->width);
_x_stream_info_set(this->stream, XINE_STREAM_INFO_VIDEO_HEIGHT, this->height);
_x_stream_info_set(this->stream, XINE_STREAM_INFO_VIDEO_RATIO, 10000 * this->ratio);
+
+ _x_meta_info_set(this->stream, XINE_META_INFO_VIDEOCODEC, "MPEG (DXR3)");
}
static void dxr3_update_panscan(void *this_gen, xine_cfg_entry_t *entry)
diff --git a/src/dxr3/video_out_dxr3.c b/src/dxr3/video_out_dxr3.c
index 083f19d11..8fc8c4ec2 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.101 2004/04/15 14:42:35 mroi Exp $
+ * $Id: video_out_dxr3.c,v 1.102 2004/06/13 16:00:17 mroi Exp $
*/
/* mpeg1 encoding video out plugin for the dxr3.
@@ -729,7 +729,7 @@ static void dxr3_update_frame_format(vo_driver_t *this_gen, vo_frame_t *frame_ge
int i, image_size;
/* calculate pitch and size including black bars */
- frame->vo_frame.pitches[0] = 32*((width + 15) / 16);
+ frame->vo_frame.pitches[0] = 32 * ((width + 15) / 16);
image_size = frame->vo_frame.pitches[0] * oheight;
/* planar format, only base[0] */