Dear visitor, welcome to VDR Portal. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.
ohne einen einzigen Field-Verlust anschauen. Bei bester interlaced PAL Qualitaet an einem Roehren-TV.
This post has been edited 9 times, last edit by "sparkie" (Aug 10th 2008, 1:17pm)
Quoted
Nun Frage ich mich natürlich, ob das auch mit neueren IGPs funktioniert, da die 9100er ja doch schon etwas betagter ist.

Quoted
würde es aber sofort gegen eins tauschen mit AMD/ATI, wenn es z.B. auch mit radeonhd funktionieren würde.
This post has been edited 2 times, last edit by "sparkie" (Jul 10th 2008, 7:59pm)
Quoted
Originally posted by netvista-fan
Bin jedenfalls gespannt wie es weitergeht mit diesem Treiber!


|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Jul 12 14:08:03 vdrclient_mediapc 2008-07-12_5 Jul 12 14:08:03 vdrclient_mediapc vdr: [8014] vsync.vbl_since.tv_usec: 7279 Jul 12 14:08:03 vdrclient_mediapc vdr: [8014] vsync.vbl_now.tv_usec: 253663 Jul 12 14:08:03 vdrclient_mediapc vdr: [8014] vsync.vbl_trim: 200 Jul 12 14:08:03 vdrclient_mediapc 2008-07-12_5 Jul 12 14:08:03 vdrclient_mediapc vdr: [8014] vsync.vbl_since.tv_usec: 12493 Jul 12 14:08:03 vdrclient_mediapc vdr: [8014] vsync.vbl_now.tv_usec: 298869 Jul 12 14:08:03 vdrclient_mediapc vdr: [8014] vsync.vbl_trim: 200 Jul 12 14:08:03 vdrclient_mediapc 2008-07-12_5 Jul 12 14:08:03 vdrclient_mediapc vdr: [8014] vsync.vbl_since.tv_usec: 6744 Jul 12 14:08:03 vdrclient_mediapc vdr: [8014] vsync.vbl_now.tv_usec: 333109 Jul 12 14:08:03 vdrclient_mediapc vdr: [8014] vsync.vbl_trim: 0 Jul 12 14:08:03 vdrclient_mediapc 2008-07-12_5 Jul 12 14:08:03 vdrclient_mediapc vdr: [8014] vsync.vbl_since.tv_usec: 4750 Jul 12 14:08:03 vdrclient_mediapc vdr: [8014] vsync.vbl_now.tv_usec: 371113 Jul 12 14:08:03 vdrclient_mediapc vdr: [8014] vsync.vbl_trim: 200 |
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
nt cXvVideoOut::PutXvImage(XvImage *xv_image,
int edge_width, int edge_height) {
#ifdef SYNC_FIELDS
static int fd;
static drm_radeon_vsync_t vsync;
int errno;
if (!fd && (fd = drmOpen("radeon", 0)) < 0) {
esyslog("drmOpen: %sn", strerror(errno));
}
if (ioctl(fd, DRM_IOCTL_RADEON_VSYNC, &vsync)) {
esyslog("DRM_IOCTL_RADEON_VSYNC: %sn", strerror(errno));
}
/*
* here we continously monitor and correct placement of xine-lib's
* xv_display_frame() call in relation to vertical blanking intervals (VBI)
* of graphics card.
*
* to achieve a maximum amount of immunity against jitter
* we always center the call to xv_display_frame() in the middle
* of 2 consecutive VBIs.
*
* there are no special hysteresis requirements:
* we even can choose another vbl_trim value each adjacent call
*
* theory of operation:
*
* - a vbl_trim value of 0 yields in a slower graphics card frame rate
*
* - thus increasing the time between 2 VBIs
*
* - as a result from xv_display_frame()-call point of view the
* time distance to the last VBI decreases
*
* - dependend on value of vsync.vbl_since.tv_usec (the elapsed
* time since last VBI) we decide whether to increase
* or to decrease graphics cards framerate.
*
* - illustration of how VBI of graphics card wander into
* the center of xines xv_display_frame() calls, if graphics card framerate
* is a little slower than xine's call to xv_display_frame()
*
* xine reference clock (calls to xv_display_frame())
* ______ ________ ________ ________
* |________| |________| |________| |_______
* ^ ^
* | |
* graphics card clock (VBLANK edges): |
* _______| _________ _________| ________
* |_________| |_________| |_________| |__
* | |
* out of center centered
* | |
* | <--- edge drifts into the middle ---> |
* | of xine reference clock phase |
*
*
*/
esyslog("vsync.vbl_since.tv_usec: %d", vsync.vbl_since.tv_usec);
esyslog("vsync.vbl_now.tv_usec: %d", vsync.vbl_now.tv_usec);
esyslog("vsync.vbl_trim: %d", vsync.vbl_trim);
/*
* RGB PAL is 50Hz and cycle duration of 20000us
* i.e. 10000us tip the balance
*/
if (vsync.vbl_since.tv_usec < 10000) {
vsync.vbl_trim = MAX_DRIFT_TRIM;
} else {
vsync.vbl_trim = 0;
}
#endif
// if (useShm)
// return XvShmPutImage(dpy, port,
// win, gc,
// xv_image,
// sxoff+edge_width, syoff+edge_height, /* sx, sy */
// swidth, sheight, /* sw, sh */
// lxoff, lyoff, /* dx, dy */
// lwidth, lheight, /* dw, dh */
// False);
// else
return XvPutImage(dpy, port,
win, gc,
xv_image,
sxoff+edge_width, syoff+edge_height, /* sx, sy */
swidth, sheight, /* sw, sh */
lxoff, lyoff, /* dx, dy */
lwidth, lheight /* dw, dh */
);
};
|
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 |
diff -rupN orig/linux-2.6.25/drivers/char/drm/radeon_drm.h patch/linux-2.6.25/drivers/char/drm/radeon_drm.h
--- orig/linux-2.6.25/drivers/char/drm/radeon_drm.h 2008-04-17 04:49:44.000000000 +0200
+++ patch/linux-2.6.25/drivers/char/drm/radeon_drm.h 2008-07-10 10:43:15.000000000 +0200
@@ -485,6 +485,7 @@ typedef struct {
#define DRM_RADEON_SETPARAM 0x19
#define DRM_RADEON_SURF_ALLOC 0x1a
#define DRM_RADEON_SURF_FREE 0x1b
+#define DRM_RADEON_VSYNC 0x1c
#define DRM_IOCTL_RADEON_CP_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_CP_INIT, drm_radeon_init_t)
#define DRM_IOCTL_RADEON_CP_START DRM_IO( DRM_COMMAND_BASE + DRM_RADEON_CP_START)
@@ -513,6 +514,7 @@ typedef struct {
#define DRM_IOCTL_RADEON_SETPARAM DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_SETPARAM, drm_radeon_setparam_t)
#define DRM_IOCTL_RADEON_SURF_ALLOC DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_SURF_ALLOC, drm_radeon_surface_alloc_t)
#define DRM_IOCTL_RADEON_SURF_FREE DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_SURF_FREE, drm_radeon_surface_free_t)
+#define DRM_IOCTL_RADEON_VSYNC DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_VSYNC, drm_radeon_vsync_t)
typedef struct drm_radeon_init {
enum {
@@ -735,6 +737,14 @@ typedef struct drm_radeon_surface_free {
unsigned int address;
} drm_radeon_surface_free_t;
+typedef struct drm_radeon_vsync {
+ struct timeval vbl_now; /* time when this ioctl() has been called */
+ struct timeval vbl_since; /* time since last vertical blank */
+ unsigned vbl_received; /* continously counting blanking intervals */
+ unsigned vbl_trim; /* graphics card frame rate adjust */
+} drm_radeon_vsync_t;
+
+#define MAX_DRIFT_TRIM 200
#define DRM_RADEON_VBLANK_CRTC1 1
#define DRM_RADEON_VBLANK_CRTC2 2
diff -rupN orig/linux-2.6.25/drivers/char/drm/radeon_drv.h patch/linux-2.6.25/drivers/char/drm/radeon_drv.h
--- orig/linux-2.6.25/drivers/char/drm/radeon_drv.h 2008-04-17 04:49:44.000000000 +0200
+++ patch/linux-2.6.25/drivers/char/drm/radeon_drv.h 2008-07-10 10:44:10.000000000 +0200
@@ -307,6 +307,10 @@ typedef struct drm_radeon_private {
/* starting from here on, data is preserved accross an open */
uint32_t flags; /* see radeon_chip_flags */
unsigned long fb_aper_offset;
+
+ /* field sync circuitry */
+ struct timeval vbl_last;
+ u32 trim;
} drm_radeon_private_t;
typedef struct drm_radeon_buf_priv {
diff -rupN orig/linux-2.6.25/drivers/char/drm/radeon_irq.c patch/linux-2.6.25/drivers/char/drm/radeon_irq.c
--- orig/linux-2.6.25/drivers/char/drm/radeon_irq.c 2008-04-17 04:49:44.000000000 +0200
+++ patch/linux-2.6.25/drivers/char/drm/radeon_irq.c 2008-07-10 10:47:28.000000000 +0200
@@ -62,6 +62,8 @@ static __inline__ u32 radeon_acknowledge
* tied to dma at all, this is just a hangover from dri prehistory.
*/
+#define RADEON_CRTC_H_TOTAL_DISP 0x0200
+
irqreturn_t radeon_driver_irq_handler(DRM_IRQ_ARGS)
{
struct drm_device *dev = (struct drm_device *) arg;
@@ -102,8 +104,24 @@ irqreturn_t radeon_driver_irq_handler(DR
(vblank_crtc & DRM_RADEON_VBLANK_CRTC2)))
atomic_inc(&dev->vbl_received);
+ do_gettimeofday(&dev_priv->vbl_last);
+
DRM_WAKEUP(&dev->vbl_queue);
drm_vbl_send_signals(dev);
+
+ /*
+ * if issued we inject a few horizontal lines
+ * with modified length to trim frame rate as needed.
+ *
+ * don't try this at home:-)
+ */
+ if (dev_priv->trim) {
+ udelay(200);
+ RADEON_WRITE(RADEON_CRTC_H_TOTAL_DISP, 0x00590068);
+ udelay(dev_priv->trim);
+ RADEON_WRITE(RADEON_CRTC_H_TOTAL_DISP, 0x0059006e);
+ }
+
}
return IRQ_HANDLED;
diff -rupN orig/linux-2.6.25/drivers/char/drm/radeon_state.c patch/linux-2.6.25/drivers/char/drm/radeon_state.c
--- orig/linux-2.6.25/drivers/char/drm/radeon_state.c 2008-04-17 04:49:44.000000000 +0200
+++ patch/linux-2.6.25/drivers/char/drm/radeon_state.c 2008-07-10 11:45:11.000000000 +0200
@@ -2099,6 +2099,42 @@ static int radeon_surface_free(struct dr
return 0;
}
+static int radeon_vsync(struct drm_device *dev, void *data, struct drm_file *file_priv)
+{
+ drm_radeon_private_t *dev_priv = dev->dev_private;
+ struct drm_radeon_vsync *t = data;
+ drm_radeon_vsync_t vsync;
+
+ printk(KERN_INFO "2008-07-12_5n" );
+
+/**
+ if (DRM_COPY_FROM_USER(&vsync, (drm_radeon_vsync_t __user *)data, sizeof(vsync))) {
+ DRM_ERROR("copy_from_usern");
+ return -EFAULT;
+ }
+*/
+ memcpy(&vsync,t,sizeof(vsync));
+
+ if (vsync.vbl_trim != ~0) {
+ if (vsync.vbl_trim > MAX_DRIFT_TRIM) {
+ printk(KERN_DEBUG "[drm] clipped radeon drift trim to max of %dn", MAX_DRIFT_TRIM);
+ vsync.vbl_trim = MAX_DRIFT_TRIM;
+ }
+ if (dev_priv->trim != vsync.vbl_trim) {
+// printk(KERN_DEBUG "[drm] changed radeon drift trim from %d -> %dn", dev_priv->trim, vsync.vbl_trim);
+ dev_priv->trim = vsync.vbl_trim;
+ }
+ }
+ do_gettimeofday(&vsync.vbl_now);
+ if (vsync.vbl_now.tv_usec < dev_priv->vbl_last.tv_usec) {
+ vsync.vbl_since.tv_sec = vsync.vbl_now.tv_sec - dev_priv->vbl_last.tv_sec - 1;
+ vsync.vbl_since.tv_usec = vsync.vbl_now.tv_usec - dev_priv->vbl_last.tv_usec + 1000000;
+ } else {
+ vsync.vbl_since.tv_sec = vsync.vbl_now.tv_sec - dev_priv->vbl_last.tv_sec;
+ vsync.vbl_since.tv_usec = vsync.vbl_now.tv_usec - dev_priv->vbl_last.tv_usec;
+ }
+ vsync.vbl_received = atomic_read(&dev->vbl_received);
+
+/**
+ if (DRM_COPY_TO_USER((drm_radeon_vsync_t __user *)data, &vsync, sizeof(vsync))) {
+ DRM_ERROR("copy_to_usern");
+ return -EFAULT;
+ } else {
+ return 0;
+ }
+*/
+ memcpy(t,&vsync,sizeof(vsync));
+
+ return 0;
+}
+
static int radeon_cp_clear(struct drm_device *dev, void *data, struct drm_file *file_priv)
{
drm_radeon_private_t *dev_priv = dev->dev_private;
@@ -3186,7 +3222,8 @@ struct drm_ioctl_desc radeon_ioctls[] =
DRM_IOCTL_DEF(DRM_RADEON_IRQ_WAIT, radeon_irq_wait, DRM_AUTH),
DRM_IOCTL_DEF(DRM_RADEON_SETPARAM, radeon_cp_setparam, DRM_AUTH),
DRM_IOCTL_DEF(DRM_RADEON_SURF_ALLOC, radeon_surface_alloc, DRM_AUTH),
- DRM_IOCTL_DEF(DRM_RADEON_SURF_FREE, radeon_surface_free, DRM_AUTH)
+ DRM_IOCTL_DEF(DRM_RADEON_SURF_FREE, radeon_surface_free, DRM_AUTH),
+ DRM_IOCTL_DEF(DRM_RADEON_VSYNC, radeon_vsync, DRM_AUTH),
};
int radeon_max_ioctl = DRM_ARRAY_SIZE(radeon_ioctls);
|

This post has been edited 3 times, last edit by "sparkie" (Jul 13th 2008, 10:46am)
)
Quoted
Bringt deine Arbeit eigentlich potentiell auch Vorteile für den 576p-Betrieb mit AMD/ATI-Karten?
Quoted
Nun habe ich das Makro memcpy angewandt und was soll ich sagen, damit funktioniert es.
|
|
Source code |
1 2 3 4 5 6 7 |
Jul 12 14:08:03 vdrclient_mediapc vdr: [8014] vsync.vbl_since.tv_usec: 7279 Jul 12 14:08:03 vdrclient_mediapc vdr: [8014] vsync.vbl_now.tv_usec: 253663 -+ Jul 12 14:08:03 vdrclient_mediapc vdr: [8014] vsync.vbl_trim: 200 | Jul 12 14:08:03 vdrclient_mediapc 2008-07-12_5 45206usec Zeitdifferenz Jul 12 14:08:03 vdrclient_mediapc vdr: [8014] vsync.vbl_since.tv_usec: 12493 | Jul 12 14:08:03 vdrclient_mediapc vdr: [8014] vsync.vbl_now.tv_usec: 298869 -+ Jul 12 14:08:03 vdrclient_mediapc vdr: [8014] vsync.vbl_trim: 200 |
This post has been edited 3 times, last edit by "sparkie" (Jul 13th 2008, 6:23am)
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
Jul 13 12:36:40 vdrclient_mediapc [drm] changed radeon drift trim from 0 -> 200 Jul 13 12:36:40 vdrclient_mediapc [drm] changed radeon drift trim from 200 -> 0 Jul 13 12:36:41 vdrclient_mediapc [drm] changed radeon drift trim from 0 -> 200 Jul 13 12:36:41 vdrclient_mediapc [drm] changed radeon drift trim from 200 -> 0 Jul 13 12:36:42 vdrclient_mediapc [drm] changed radeon drift trim from 0 -> 200 Jul 13 12:36:42 vdrclient_mediapc [drm] changed radeon drift trim from 200 -> 0 Jul 13 12:36:47 vdrclient_mediapc [drm] changed radeon drift trim from 0 -> 200 Jul 13 12:36:47 vdrclient_mediapc [drm] changed radeon drift trim from 200 -> 0 Jul 13 12:36:50 vdrclient_mediapc [drm] changed radeon drift trim from 0 -> 200 Jul 13 12:36:50 vdrclient_mediapc [drm] changed radeon drift trim from 200 -> 0 Jul 13 12:36:51 vdrclient_mediapc [drm] changed radeon drift trim from 0 -> 200 Jul 13 12:36:51 vdrclient_mediapc [drm] changed radeon drift trim from 200 -> 0 Jul 13 12:36:53 vdrclient_mediapc [drm] changed radeon drift trim from 0 -> 200 Jul 13 12:36:53 vdrclient_mediapc [drm] changed radeon drift trim from 200 -> 0 Jul 13 12:36:55 vdrclient_mediapc [drm] changed radeon drift trim from 0 -> 200 Jul 13 12:36:55 vdrclient_mediapc [drm] changed radeon drift trim from 200 -> 0 Jul 13 12:36:56 vdrclient_mediapc [drm] changed radeon drift trim from 0 -> 200 Jul 13 12:36:56 vdrclient_mediapc [drm] changed radeon drift trim from 200 -> 0 Jul 13 12:36:57 vdrclient_mediapc [drm] changed radeon drift trim from 0 -> 200 Jul 13 12:36:57 vdrclient_mediapc [drm] changed radeon drift trim from 200 -> 0 Jul 13 12:36:58 vdrclient_mediapc [drm] changed radeon drift trim from 0 -> 200 Jul 13 12:36:58 vdrclient_mediapc [drm] changed radeon drift trim from 200 -> 0 |
|
|
Source code |
1 |
Modeline "720x576i" 13.875 720 744 808 888 576 580 585 625 interlace composite |
Quoted
Ich denke, ich muss mein System an Deines anpassen,
?
Quoted
Das wäre dann die nächste Hürde, weil ich vdr-softdevice doch sehr gerne nutze.
Dabei kann das Fernsehprogramm im Hintergrund und Musik im Vordergrund gleichzeitig
|
|
Source code |
1 |
wget -q -O - http://relay01.128kbps.uk.vocal.trancefm.co.uk/ | lame --mp3input --decode - - | sox -t .wav - -t alsa default |
Quoted
auf. Könnte da die Modeline vielleicht falsch sein, das VGA-SCART-Kabel oder ist es normal?
|
|
Source code |
1 |
Modeline "720x576i" 13.875 720 744 808 888 576 580 585 625 -HSync -Vsync interlace |
Quoted
Original von sparkie
Quoted
Bringt deine Arbeit eigentlich potentiell auch Vorteile für den 576p-Betrieb mit AMD/ATI-Karten?
nur fuer die 'alten' Radeons (also nicht RadeonHD)
Quoted
Originally posted by aragorn
warum? - liegt das daran, dass der Patch auf das Modul "radeon" gemünzt ist?
Also könnte man (theoretisch) auch andere Module ähnlich anpassen oder gibt es einen anderen Grund, warum ausgerechnet nur die 'alten' Radeons?

This post has been edited 1 times, last edit by "sparkie" (Jul 13th 2008, 4:05pm)
Quoted
Original von sparkie
da faellt mir gerade ein, ich koennte dir ein all-inclusive Tarfile bauen. Mein komplettes System
benoetigt (mit Sourcen) laut 'df -k' etwa 2GB. Dann hast du gleich alle Patches
dabei.
Quoted
Nachdem du die gleiche Hardware hast, sollte es eigentlich sofort bei dir laufen.
Dann koennten wir zusammen weiterentwickeln...
Warum sind wir da nicht eher drauf gekommen?
Quoted
Original von sparkie
Quoted
Original von Hitman47
Das wäre dann die nächste Hürde, weil ich vdr-softdevice doch sehr gerne nutze.
Dabei kann das Fernsehprogramm im Hintergrund und Musik im Vordergrund gleichzeitig
das geht unter xineliboutput aber auch. Habe es gerade getestet.
VDR Wiedergabe + Webradio z.B.
![]()
Source code
1 wget -q -O - http://relay01.128kbps.uk.vocal.trancefm.co.uk/ | lame --mp3input --decode - - | sox -t .wav - -t alsa default
laeuft parallel. Der geniale Alsatreiber mixt den Ton von VDR und sox einfach uebereinander.
Quoted
Das klingt gut. Ich habe zwar keinen dicken Internetanschluss, aber das passt schon und da ich sowieso über NFS boote, könnte ich es parallel installieren und bei Bedarf umschalten.
Quoted
Eine rage128 liegt bei mir auch noch im Schrank. Es wäre wirklich toll, ließe sich ein low-budget VDR damit aufbauen.
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 |
# vmstat 1 procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 3 0 0 374508 0 103812 0 0 0 0 301 753 47 4 49 0 2 0 0 372716 0 105612 0 0 0 0 1589 783 45 9 46 0 3 0 0 372708 0 105628 0 0 0 0 298 763 44 5 51 0 2 0 0 370908 0 107436 0 0 0 0 1627 868 47 12 40 0 3 0 0 369116 0 109236 0 0 0 0 988 1056 49 7 45 0 3 0 0 369108 0 109228 0 0 0 0 1063 824 46 10 44 0 4 0 0 367316 0 111028 0 0 0 0 1510 866 46 11 42 0 |
|
|
Source code |
1 2 3 4 5 6 7 8 9 |
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 3 0 0 365696 0 111064 0 0 0 0 1646 704 79 7 14 0 2 0 0 365696 0 111064 0 0 0 0 347 636 82 1 17 0 4 0 0 371832 0 104636 0 0 0 0 1626 674 78 8 14 0 3 0 0 371832 0 104636 0 0 0 0 343 702 80 0 20 0 2 0 0 370032 0 106484 0 0 0 0 1637 686 76 9 15 0 4 0 0 370032 0 106476 0 0 0 0 352 704 80 1 19 0 4 0 0 368232 0 108280 0 0 0 0 1641 695 79 6 15 0 |
|
|
Source code |
1 2 3 4 5 6 7 8 9 |
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 2 0 0 370408 0 106512 0 0 0 0 657 463 62 2 36 0 2 0 0 368616 0 108312 0 0 0 0 1684 591 92 8 0 0 2 0 0 368608 0 108324 0 0 0 0 384 475 97 3 0 0 2 0 0 366816 0 110124 0 0 0 0 1688 603 92 8 0 0 2 0 0 366808 0 110140 0 0 0 0 390 538 95 1 4 0 2 0 0 365016 0 111940 0 0 0 0 1669 584 92 7 1 0 2 0 0 365008 0 111936 0 0 0 0 388 473 98 2 0 0 |
Quoted
Deine Installation lief bei mir auf Anhieb. Mit den von dir genannten Kommandos war auch schnell ein Bild
auf dem Fernsehgerät
Quoted
Dabei sind die Abstände wirklich sehr konstant, abgesehen vom Start
xines. Denn da sieht es aus wie bei meinen Messungen zu vdr-softdevice.
Quoted
Ich habe auch eine Neuinstallation meines eigentlichen vdr-systems durchgeführt: archlinux-Basisinstallation; vdr-install-script; vdr-softdevice; Damit bin ich etwa da, wo ich vorher auch schon war. Mir fiel aber auf, dass vsync.vbl_received überhaupt nicht hochgezählt wird. Erst wenn ich glxgears starte, werden die vblanks gezählt.
Quoted
Wenigstens habe ich den Kammeffekt bei Bewegeungen mit softdevice ohne Deinterlacing wegbekommen (autom.
Umschaltung 4:3/16:9 - aus; Bildausschnitt 4:3). Ein paar Sender sind dann etwas zu groß für das Fernsehgerät,
es würde mich aber nicht einmal stören (alles noch im Geräterahmen :-) ).
Quoted
Sobald das OSD eingeschaltet wird, ist der Sendestrom nicht mehr gleichmäßig und es versetzt das Bild (es zuckt).
Quoted
Der Trim-Wert (aktuell 200) sollte vielleicht degressiv gestaltet werden, um zügiger den Mittelwert er-
reichen zu können.
Quoted
Wir sollten uns weiter damit beschäftigen. Eine rage128 liegt bei mir auch noch im Schrank.
This post has been edited 2 times, last edit by "sparkie" (Jul 15th 2008, 9:21pm)
Quoted
Wenn man die Mailing Listen so durchgeht, gab es zu Recht einige Beschwerden, dass frueher die VBI Interrupts unnoetigerweise auch im 2D Betrieb aktiv waren. Was einen suspend verhindert hat. Wahrscheinlich werden in deinem Fall die Interrupts erst durch 'glxgears' aktiviert.
This post has been edited 1 times, last edit by "Hitman47" (Jul 17th 2008, 9:47pm)