|
|
| (4 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) |
| Zeile 2: |
Zeile 2: |
| | '''Autor:''' Andreas Kool | | '''Autor:''' Andreas Kool |
| | | | |
| − | Mit diesem Plugin ist es möglich, analoges TV mit dem VDR zu empfangen. Die Ausgabe erfolgt über das DVB-Ausgabegerät, d. h. das Plugin verhält sich dem VDR gegenüber wie eine Budget-DVB-Karte.
| + | Dieses Plugin war das erste Plugin, welches analoges TV in VDR ermöglichte. |
| | | | |
| − | Unterstützt werden analoge TV-Karten sowohl mit als auch ohne Hardware-MPEG-Encoder sowie Video-Grabber-Karten.
| + | {{Box Hinweis|'''BITTE NICHT MEHR AUF DIESES PLUGIN IN VDR-WIKIs VERWEISEN.'''<br>Dieses Plugin ist seit Jahren verweist, hat keine offizielle Homepage mehr, nicht mehr mit aktuellen VDR Versionen funktionierend und ohne Änderungen nicht mehr verwendbar. Bitte benutzt und empfehlt das [[pvrinput-plugin]] anstelle dieses Plugins.}} |
| − | Damit kann man Analog-TV schauen und aufzeichnen oder aber auch mit einem an den Videoeingang der Karte angeschlossenen Rekorder Filme digitalisieren.
| + | |
| − | | + | |
| − | <!-- ===Status=== -->
| + | |
| − | | + | |
| − | ==Bilder==
| + | |
| − | [[Bild:analogtv-plugin.jpg|thumb|none|''Einstellungen'']]
| + | |
| − | | + | |
| − | <!-- ==Bedienung== -->
| + | |
| − | <!-- ===[[SVDRP]] Befehle=== -->
| + | |
| − | | + | |
| − | ==Hardwareanforderungen==
| + | |
| − | * Man benötigt eine [[Analog-TV]]-Karte. Diese Karte muss entweder vom bttv Treiber, dem ivtv Treiber oder dem pvrusb2 Treiber unterstützt werden.
| + | |
| − | * Weiterhin ist ein Realtime [[MPEG]]-Encoder nötig, entweder in Hardware, s.h. Hauppauge PVR250/350/PVR USB2, oder als Software (s.u.).
| + | |
| − | | + | |
| − | ==Softwareanforderungen==
| + | |
| − | * Wenn kein Hardware-[[MPEG]]-Encoder mit Linux-Treiberunterstützung auf der TV-Karte ist, dann ist ein Software-Encoder nötig. Idealerweise mp1e oder {{wikipedia|FFmpeg}}.
| + | |
| − | * Bei PVR 250/350 den neuesten Treiber benutzen: [http://www.ivtvdriver.org/index.php/Main_Page ivtvdriver.org]. Beim Laden sicherstellen, dass ivtv vor den DVB-Treibern geladen wird oder aber, dass die channels.conf entsprechend angepasst wird.
| + | |
| − | * libdvb
| + | |
| − | * Video4Linux2 (v4l2) (entfällt für PVR-Karten)
| + | |
| − | * ALSA (entfällt für PVR-Karten)
| + | |
| − | | + | |
| − | ==Installation==
| + | |
| − | cd $SOURCEDIR
| + | |
| − | tar xvzf libdvb-<VERSION>.tar.gz
| + | |
| − | cd libdvb-<VERSION>
| + | |
| − | make
| + | |
| − | make install
| + | |
| − | ldconfig
| + | |
| − | | + | |
| − | <!-- ===Optionen=== -->
| + | |
| − | ===Patches===
| + | |
| − | Plugin ist zu patchen (damit erspart man sich das Patchen der libdvb wie im Plugin-README eigentlich beschrieben).
| + | |
| − | | + | |
| − | <pre>
| + | |
| − | --- VDR.org/PLUGINS/src/analogtv-0.9.37/player-analogtv.c 2005-07-07 16:32:50.000000000 +0200
| + | |
| − | +++ VDR/PLUGINS/src/analogtv-0.9.37/player-analogtv.c 2005-07-07 16:36:30.000000000 +0200
| + | |
| − | @@ -28,7 +28,6 @@
| + | |
| − | #include <sys/soundcard.h>
| + | |
| − | | + | |
| − | #include <transform.h>
| + | |
| − | -extern void pes_in_ts(p2p *p);
| + | |
| − | #undef MIN
| + | |
| − | #undef MAX
| + | |
| − | | + | |
| − | @@ -828,7 +827,7 @@
| + | |
| − | pes++;
| + | |
| − | spes += r;
| + | |
| − |
| + | |
| − | - get_pes(buffer, r, &p2t, pes_in_ts); // PES -> TS
| + | |
| − | + kpes_to_ts(&p2t, buffer, r);
| + | |
| − | }
| + | |
| − | }
| + | |
| − | }
| + | |
| − | @@ -937,7 +936,7 @@
| + | |
| − | spes += r;
| + | |
| − | | + | |
| − | if (r > 0)
| + | |
| − | - get_pes(buffer, r, &p2t, pes_in_ts); // PES -> TS
| + | |
| − | + kpes_to_ts(&p2t, buffer, r); // PES -> TS
| + | |
| − | }
| + | |
| − | }
| + | |
| − | </pre>
| + | |
| − | | + | |
| − | Der Rest der Installation folgt der README und README.de des Plugins.
| + | |
| − | Hinweis: Für ivtv > 0.1.9 muss VPID=301, APID=300 in der channels.conf verwendet werden. | + | |
| − | | + | |
| − | Ein Grundgerüst für eine analoge ''channels.conf'' findet sich [[channels.conf_analog|hier]].
| + | |
| − | | + | |
| − | <!-- ==Konfiguration== -->
| + | |
| − | <!-- ===Einstellungen=== -->
| + | |
| − | <!-- ===Parameter=== -->
| + | |
| − | | + | |
| − | ==Sonstiges==
| + | |
| − | ===Probleme===
| + | |
| − | * nur eine TV-Karte möglich
| + | |
| − | | + | |
| − | * Stottern nach Kanalwechsel, Abhilfe mit [http://cvs.sourceforge.net/viewcvs.py/vdr-analogtv/analogtv/patches/?sortby=date#dirlist vdr-1.3.23-stuttering.patch (VDR >= 1.3.23!)]
| + | |
| − | | + | |
| − | * Compilerfehler '''invalid lvalue in assignment''' mit gcc4: Abhilfe bringt folgender Patch.
| + | |
| − | <pre>
| + | |
| − | diff -ur analogtv-0.9.37/memcpy.c analogtv-0.9.37-new/memcpy.c
| + | |
| − | --- analogtv-0.9.37/memcpy.c 2005-01-09 19:16:09.000000000 +0100
| + | |
| − | +++ analogtv-0.9.37-new/memcpy.c 2005-11-14 22:17:22.000000000 +0100
| + | |
| − | @@ -211,8 +211,8 @@
| + | |
| − | "movntps %%xmm2, 32(%1)\n"
| + | |
| − | "movntps %%xmm3, 48(%1)\n"
| + | |
| − | :: "r" (from), "r" (to) : "memory");
| + | |
| − | - ((const unsigned char *)from)+=64;
| + | |
| − | - ((unsigned char *)to)+=64;
| + | |
| − | + from=((const unsigned char*)from)+64;
| + | |
| − | + to=((unsigned char *)to)+64;
| + | |
| − | }
| + | |
| − | else
| + | |
| − | /*
| + | |
| − | @@ -233,8 +233,8 @@
| + | |
| − | "movntps %%xmm2, 32(%1)\n"
| + | |
| − | "movntps %%xmm3, 48(%1)\n"
| + | |
| − | :: "r" (from), "r" (to) : "memory");
| + | |
| − | - ((const unsigned char *)from)+=64;
| + | |
| − | - ((unsigned char *)to)+=64;
| + | |
| − | + from=((const unsigned char *)from)+64;
| + | |
| − | + to=((unsigned char *)to)+64;
| + | |
| − | }
| + | |
| − | /* since movntq is weakly-ordered, a "sfence"
| + | |
| − | * is needed to become ordered again. */
| + | |
| − | @@ -288,8 +288,8 @@
| + | |
| − | "movq %%mm6, 48(%1)\n"
| + | |
| − | "movq %%mm7, 56(%1)\n"
| + | |
| − | :: "r" (from), "r" (to) : "memory");
| + | |
| − | - ((const unsigned char *)from)+=64;
| + | |
| − | - ((unsigned char *)to)+=64;
| + | |
| − | + from=((const unsigned char *)from)+64;
| + | |
| − | + to=((unsigned char *)to)+64;
| + | |
| − | }
| + | |
| − | __asm__ __volatile__ ("emms":::"memory");
| + | |
| − | }
| + | |
| − | @@ -349,8 +349,8 @@
| + | |
| − | "movntq %%mm6, 48(%1)\n"
| + | |
| − | "movntq %%mm7, 56(%1)\n"
| + | |
| − | :: "r" (from), "r" (to) : "memory");
| + | |
| − | - ((const unsigned char *)from)+=64;
| + | |
| − | - ((unsigned char *)to)+=64;
| + | |
| − | + from=((const unsigned char *)from)+64;
| + | |
| − | + to=((unsigned char *)to)+64;
| + | |
| − | }
| + | |
| − | /* since movntq is weakly-ordered, a "sfence"
| + | |
| − | * is needed to become ordered again. */
| + | |
| − | </pre>
| + | |
| − | | + | |
| − | * Klasse '''cDevice''' unbekannt bei Einsatz eines aktuellen VDR 1.3.x: Abhilfe bringt folgender Patch.
| + | |
| − | <pre>diff -ur analogtv-0.9.37/device.h analogtv-0.9.37-new/device.h
| + | |
| − | --- analogtv-0.9.37/device.h 2005-01-09 19:16:08.000000000 +0100
| + | |
| − | +++ analogtv-0.9.37-new/device.h 2005-11-14 21:26:59.000000000 +0100
| + | |
| − | @@ -14,7 +14,8 @@
| + | |
| − | #ifndef DEVICE_H
| + | |
| − | #define DEVICE_H
| + | |
| − | | + | |
| − | #include <vdr/plugin.h>
| + | |
| − | +#include <vdr/device.h>
| + | |
| − | | + | |
| − | #include "redremote.h"
| + | |
| − | </pre>
| + | |
| − | | + | |
| − | * Compilerfehler '''cpu_accel.c:63: error: can't find a register in class `BREG' while reloading `asm' ''': Abhilfe: Patch für die cpuid Funktion, damit diese sich mit -fPIC kompilieren läßt.
| + | |
| − | <pre> | + | |
| − | diff -ru analogtv-0.9.37.orig/cpu_accel.c analogtv-0.9.37/cpu_accel.c
| + | |
| − | --- analogtv-0.9.37.orig/cpu_accel.c 2005-05-13 23:49:38.000000000 +0200
| + | |
| − | +++ analogtv-0.9.37/cpu_accel.c 2005-05-13 23:57:49.000000000 +0200
| + | |
| − | @@ -50,30 +50,44 @@
| + | |
| − | int AMD;
| + | |
| − | uint32_t caps;
| + | |
| − |
| + | |
| − | +#if !defined(PIC) && !defined(__PIC__)
| + | |
| − | #define cpuid(op,eax,ebx,ecx,edx) \
| + | |
| − | - asm ("cpuid" \
| + | |
| − | + __asm__ ("cpuid" \
| + | |
| − | : "=a" (eax), \
| + | |
| − | "=b" (ebx), \
| + | |
| − | "=c" (ecx), \
| + | |
| − | "=d" (edx) \
| + | |
| − | : "a" (op) \
| + | |
| − | : "cc")
| + | |
| − | +#else /* PIC version : save ebx */
| + | |
| − | +#define cpuid(op,eax,ebx,ecx,edx) \
| + | |
| − | + __asm__ ("push %%ebx\n\t" \
| + | |
| − | + "cpuid\n\t" \
| + | |
| − | + "movl %%ebx,%1\n\t" \
| + | |
| − | + "pop %%ebx" \
| + | |
| − | + : "=a" (eax), \
| + | |
| − | + "=r" (ebx), \
| + | |
| − | + "=c" (ecx), \
| + | |
| − | + "=d" (edx) \
| + | |
| − | + : "a" (op) \
| + | |
| − | + : "cc")
| + | |
| − | +#endif
| + | |
| − |
| + | |
| − |
| + | |
| − | - asm ("pushfl\n\t"
| + | |
| − | - "pushfl\n\t"
| + | |
| − | - "popl %0\n\t"
| + | |
| − | - "movl %0,%1\n\t"
| + | |
| − | - "xorl $0x200000,%0\n\t"
| + | |
| − | - "pushl %0\n\t"
| + | |
| − | - "popfl\n\t"
| + | |
| − | - "pushfl\n\t"
| + | |
| − | - "popl %0\n\t"
| + | |
| − | - "popfl"
| + | |
| − | - : "=a" (eax),
| + | |
| − | - "=b" (ebx)
| + | |
| − | - :
| + | |
| − | - : "cc");
| + | |
| − | + __asm__ ("pushf\n\t"
| + | |
| − | + "pushf\n\t"
| + | |
| − | + "pop %0\n\t"
| + | |
| − | + "movl %0,%1\n\t"
| + | |
| − | + "xorl $0x200000,%0\n\t"
| + | |
| − | + "push %0\n\t"
| + | |
| − | + "popf\n\t"
| + | |
| − | + "pushf\n\t"
| + | |
| − | + "pop %0\n\t"
| + | |
| − | + "popf"
| + | |
| − | + : "=r" (eax),
| + | |
| − | + "=r" (ebx)
| + | |
| − | + :
| + | |
| − | + : "cc");
| + | |
| − |
| + | |
| − | if (eax == ebx) /* no cpuid */
| + | |
| − | return 0;
| + | |
| − | </pre>
| + | |
| − | | + | |
| − | * Compilerfehler: '''cpuinfo.c:72: error: PIC register %ebx clobbered in asm''', Abhilfe: Der folgende patch, oder Deaktivieren der kompletten Routinen durch Deaktiveren von <tt>HAVE_FAST_MEMCPY</tt> im <tt>Makefile</tt>
| + | |
| − | | + | |
| − | <pre>
| + | |
| − | diff -uprN new/cpuinfo.c orig/cpuinfo.c
| + | |
| − | --- new/cpuinfo.c 2005-12-11 14:22:27.000000000 +0100
| + | |
| − | +++ orig/cpuinfo.c 2005-12-11 14:10:21.000000000 +0100
| + | |
| − | @@ -62,18 +62,15 @@ typedef struct cpuid_regs {
| + | |
| − | unsigned int edx;
| + | |
| − | } cpuid_regs_t;
| + | |
| − |
| + | |
| − | -static cpuid_regs_t
| + | |
| − | -cpuid(int func) {
| + | |
| − | - cpuid_regs_t regs;
| + | |
| − | -#define CPUID ".byte 0x0f, 0xa2; "
| + | |
| − | - asm("push %%ebx; "
| + | |
| − | - "movl %4,%%eax; " CPUID
| + | |
| − | - "movl %%eax,%0; movl %%ebx,%1; movl %%ecx,%2; movl %%edx,%3; "
| + | |
| − | - "pop %%ebx"
| + | |
| − | - : "=m" (regs.eax), "=m" (regs.ebx), "=m" (regs.ecx), "=m" (regs.edx)
| + | |
| − | - : "g" (func)
| + | |
| − | - : "%eax", "%ecx", "%edx");
| + | |
| − | - return regs;
| + | |
| − | +static cpuid_regs_t cpuid( int func ) {
| + | |
| − | + cpuid_regs_t regs;
| + | |
| − | +#define CPUID ".byte 0x0f, 0xa2; "
| + | |
| − | + asm("movl %4,%%eax; " CPUID
| + | |
| − | + "movl %%eax,%0; movl %%ebx,%1; movl %%ecx,%2; movl %%edx,%3"
| + | |
| − | + : "=m" (regs.eax), "=m" (regs.ebx), "=m" (regs.ecx), "=m" (regs.edx)
| + | |
| − | + : "g" (func)
| + | |
| − | + : "%eax", "%ebx", "%ecx", "%edx");
| + | |
| − | + return regs;
| + | |
| − | }
| + | |
| − |
| + | |
| − | #define X86_VENDOR_INTEL 0
| + | |
| − | diff -uprN new/memcpy.c orig/memcpy.c
| + | |
| − | --- new/memcpy.c 2005-12-11 14:03:54.000000000 +0100
| + | |
| − | +++ orig/memcpy.c 2005-12-11 14:10:21.000000000 +0100
| + | |
| − | @@ -168,11 +168,9 @@ int d0, d1, d2;
| + | |
| − | /* SSE note: i tried to move 128 bytes a time instead of 64 but it
| + | |
| − | didn't make any measureable difference. i'm using 64 for the sake of
| + | |
| − | simplicity. [MF] */
| + | |
| − | -static void * sse_memcpy(void * into, const void * infrom, size_t len)
| + | |
| − | +static void * sse_memcpy(void * to, const void * from, size_t len)
| + | |
| − | {
| + | |
| − | void *retval;
| + | |
| − | - unsigned char* to=(unsigned char*)into;
| + | |
| − | - unsigned char* from=(unsigned char*)infrom;
| + | |
| − | size_t i;
| + | |
| − | retval = to;
| + | |
| − |
| + | |
| − | @@ -213,8 +211,8 @@ static void * sse_memcpy(void * into, co
| + | |
| − | "movntps %%xmm2, 32(%1)\n"
| + | |
| − | "movntps %%xmm3, 48(%1)\n"
| + | |
| − | :: "r" (from), "r" (to) : "memory");
| + | |
| − | - *from+=64;
| + | |
| − | - *to+=64;
| + | |
| − | + ((const unsigned char *)from)+=64;
| + | |
| − | + ((unsigned char *)to)+=64;
| + | |
| − | }
| + | |
| − | else
| + | |
| − | /*
| + | |
| − | @@ -235,8 +233,8 @@ static void * sse_memcpy(void * into, co
| + | |
| − | "movntps %%xmm2, 32(%1)\n"
| + | |
| − | "movntps %%xmm3, 48(%1)\n"
| + | |
| − | :: "r" (from), "r" (to) : "memory");
| + | |
| − | - *from+=64;
| + | |
| − | - *to+=64;
| + | |
| − | + ((const unsigned char *)from)+=64;
| + | |
| − | + ((unsigned char *)to)+=64;
| + | |
| − | }
| + | |
| − | /* since movntq is weakly-ordered, a "sfence"
| + | |
| − | * is needed to become ordered again. */
| + | |
| − | @@ -251,11 +249,9 @@ static void * sse_memcpy(void * into, co
| + | |
| − | return retval;
| + | |
| − | }
| + | |
| − |
| + | |
| − | -static void * mmx_memcpy(void * into, const void * infrom, size_t len)
| + | |
| − | +static void * mmx_memcpy(void * to, const void * from, size_t len)
| + | |
| − | {
| + | |
| − | void *retval;
| + | |
| − | - unsigned char* to=(unsigned char*)into;
| + | |
| − | - unsigned char* from=(unsigned char*)infrom;
| + | |
| − | size_t i;
| + | |
| − | retval = to;
| + | |
| − |
| + | |
| − | @@ -292,8 +288,8 @@ static void * mmx_memcpy(void * into, co
| + | |
| − | "movq %%mm6, 48(%1)\n"
| + | |
| − | "movq %%mm7, 56(%1)\n"
| + | |
| − | :: "r" (from), "r" (to) : "memory");
| + | |
| − | - *from+=64;
| + | |
| − | - *to+=64;
| + | |
| − | + ((const unsigned char *)from)+=64;
| + | |
| − | + ((unsigned char *)to)+=64;
| + | |
| − | }
| + | |
| − | __asm__ __volatile__ ("emms":::"memory");
| + | |
| − | }
| + | |
| − | @@ -304,11 +300,9 @@ static void * mmx_memcpy(void * into, co
| + | |
| − | return retval;
| + | |
| − | }
| + | |
| − |
| + | |
| − | -void * mmx2_memcpy(void * into, const void * infrom, size_t len)
| + | |
| − | +void * mmx2_memcpy(void * to, const void * from, size_t len)
| + | |
| − | {
| + | |
| − | void *retval;
| + | |
| − | - unsigned char* to=(unsigned char*)into;
| + | |
| − | - unsigned char* from=(unsigned char*)infrom;
| + | |
| − | size_t i;
| + | |
| − | retval = to;
| + | |
| − |
| + | |
| − | @@ -355,8 +349,8 @@ void * mmx2_memcpy(void * into, const vo
| + | |
| − | "movntq %%mm6, 48(%1)\n"
| + | |
| − | "movntq %%mm7, 56(%1)\n"
| + | |
| − | :: "r" (from), "r" (to) : "memory");
| + | |
| − | - *from+=64;
| + | |
| − | - *to+=64;
| + | |
| − | + ((const unsigned char *)from)+=64;
| + | |
| − | + ((unsigned char *)to)+=64;
| + | |
| − | }
| + | |
| − | /* since movntq is weakly-ordered, a "sfence"
| + | |
| − | * is needed to become ordered again. */
| + | |
| − | | + | |
| − | </pre>
| + | |
| − | | + | |
| − | <!-- ===Tipps=== -->
| + | |
| − | <!-- ===Wunschliste=== -->
| + | |
| − | | + | |
| − | ===Snapshot===
| + | |
| − | <pre>
| + | |
| − | cvs -d:pserver:anonymous@vdr-analogtv.cvs.sourceforge.net:/cvsroot/vdr-analogtv login
| + | |
| − | cvs -z3 -d:pserver:anonymous@vdr-analogtv.cvs.sourceforge.net:/cvsroot/vdr-analogtv co analogtv
| + | |
| − | </pre>
| + | |
| − | | + | |
| − | ==Versions-Historie==
| + | |
| − | {| width=100% class="wikitable"
| + | |
| − | |-
| + | |
| − | ! Version
| + | |
| − | ! Datum
| + | |
| − | ! Beschreibung
| + | |
| − | ! Link
| + | |
| − | |-
| + | |
| − | | 0.9.35
| + | |
| − | | 16.09.2004
| + | |
| − | |
| + | |
| − | | [http://www.vdr-portal.de/board/thread.php?threadid=22507]
| + | |
| − | |-
| + | |
| − | | 0.9.25
| + | |
| − | | 04.01.2004
| + | |
| − | |
| + | |
| − | | [http://www.vdr-portal.de/board/thread.php?threadid=10356]
| + | |
| − | |-
| + | |
| − | | 0.9.0
| + | |
| − | | 26.07.2003
| + | |
| − | |
| + | |
| − | | [http://www.vdr-portal.de/board/thread.php?threadid=4187]
| + | |
| − | |-
| + | |
| − | | 0.7.0
| + | |
| − | | 06.06.2003
| + | |
| − | |
| + | |
| − | | [http://www.vdr-portal.de/board/thread.php?threadid=3116]
| + | |
| − | |-
| + | |
| − | | 0.4.0
| + | |
| − | | 21.04.2003
| + | |
| − | |
| + | |
| − | * added "Dont stop Encoder" feature
| + | |
| − | * tuning now reliable??
| + | |
| − | * integrated dvb-mpegtools-0.2.5
| + | |
| − | * integrated Renes "remux.c" as of april 8. 2003
| + | |
| − | * Nun kann der MPEG-Encoder ausgewählt werden, z.Zt. sind "mp1e", "ffmpeg" sowie "fame" möglich.
| + | |
| − | * removed libavcodec ;-) Ab jetzt wird der Encoder jeweils als externes Programm immer wieder neu gestartet.
| + | |
| − | |
| + | |
| − | |-
| + | |
| − | | 0.3.0
| + | |
| − | | 01.04.2003
| + | |
| − | |
| + | |
| − | * removed "mp1e", now using libavcodec (from FFmpeg)
| + | |
| − | |
| + | |
| − | |-
| + | |
| − | | 0.2.2
| + | |
| − | | 31.01.2003
| + | |
| − | |
| + | |
| − | * HideMainMenu feature added
| + | |
| − | |
| + | |
| − | |-
| + | |
| − | | 0.2.1
| + | |
| − | | 29.03.2003
| + | |
| − | |
| + | |
| − | * mit ALSA-0.9.2 ist es absolut Lippensynchron!
| + | |
| − | * third version of Renes remuxer
| + | |
| − | * Absturzhäufigkeit beim Umschalten massiv verringert
| + | |
| − | * second version of Renes remuxer
| + | |
| − | * added a patch for vdradmin-0.23 to work
| + | |
| − | * added missing translations in i18n.c
| + | |
| − | * Better statistics in EPG take over
| + | |
| − | * dont enter "WEBcam" oder "s-video" entry into the EPG
| + | |
| − | | [http://www.vdr-portal.de/board/thread.php?threadid=1795]
| + | |
| − | |-
| + | |
| − | | 0.2.0
| + | |
| − | | 15.03.2003
| + | |
| − | |
| + | |
| − | * Cleanup, released to the public.
| + | |
| − | | [http://www.vdr-portal.de/board/thread.php?threadid=1629]
| + | |
| − | |-
| + | |
| − | | 0.2.0.pre5
| + | |
| − | | 15.03.2003
| + | |
| − | |
| + | |
| − | * Problem mit dem AC3overDVB-patch gelöst.
| + | |
| − | * alle exit() des mp1e entfernt.
| + | |
| − | |
| + | |
| − | |-
| + | |
| − | | 0.2.0.pre4
| + | |
| − | | 15.03.2003
| + | |
| − | |
| + | |
| − | * Plugin kann nun auch verwendet werden, wenn kein ALSA-0.9 vorhanden ist
| + | |
| − | * Zeilentrennung zwischen EPG-Descriptions unterschiedlicher Provider eingefügt (dazu muß nxtvepg neu gepatched/compiliert/installiert werden)
| + | |
| − | |
| + | |
| − | |-
| + | |
| − | | 0.2.0.pre3
| + | |
| − | | 14.03.2003
| + | |
| − | |
| + | |
| − | * Übernahme des analogen EPG funzt (Danke an Klaus Schmidinger für den entscheidenen Tip)
| + | |
| − | |
| + | |
| − | |-
| + | |
| − | | 0.2.0.pre2
| + | |
| − | | 12.03.2003
| + | |
| − | |
| + | |
| − | * "Ringbuffer FULL" Problem gelöst
| + | |
| − | |
| + | |
| − | |-
| + | |
| − | | 0.2.0.pre1
| + | |
| − | | 11.03.2003
| + | |
| − | |
| + | |
| − | * der DURCHBRUCH! Rene Bredlau <murray@blubber.de> hat erfolgreich den PES->TS Remuxer neu geschrieben. Sämtliche Bildstörungen sind weg, die A/V-Sync-Probleme ebenso! Dazu wird allerdings ein Patch gegen den vdr-1.1.25 benötigt.
| + | |
| − | |
| + | |
| − | |-
| + | |
| − | | 0.1.0
| + | |
| − | | 10.03.2003
| + | |
| − | |
| + | |
| − | * Patch from Rene Bredlau <murray@blubber.de> (setPictureProperties_v4l25()) added
| + | |
| − | * fixed a bug in cAnalogtvEPGhandler
| + | |
| − | * fixed a bug in setPictureProperties()(setting colour, contrast, hue and brightness now working again - maybe only with v4l ...)
| + | |
| − | * new mp1e available in CVS (Added UYVY support) - please do a checkout!!
| + | |
| − | * Tested "non-interlaced-patch" from http://zhubr.tamb.ru/gatos.html (see "TEST") but without success :-( The picture *is* non-interlaced, but "stottert"
| + | |
| − | |
| + | |
| − | |-
| + | |
| − | | 0.0.9
| + | |
| − | | 07.03.2003
| + | |
| − | |
| + | |
| − | * Patches from Rene Bredlau <murray@blubber.de> added
| + | |
| − | |
| + | |
| − | |-
| + | |
| − | | 0.0.8
| + | |
| − | | 06.03.2003
| + | |
| − | |
| + | |
| − | * ALSA, V4L2, V4L25 support added (V4L25 not finished yet)
| + | |
| − | * MPEG-2 enabled, but does not work
| + | |
| − | * EPG Übernahme funktioniert
| + | |
| − | * ACHTUNG: Wichtige Änderung: Die Spalte SID in der "channels.conf" muß nun mit "+10" angegeben werden, d.h. "/dev/video0" -> 10
| + | |
| − | |
| + | |
| − | |-
| + | |
| − | | 0.0.7
| + | |
| − | | 05.03.2003
| + | |
| − | |
| + | |
| − | * Added a first try of integrating the Nextview EPG - chrashes VDR :-(
| + | |
| − | |
| + | |
| − | |-
| + | |
| − | | 0.0.6
| + | |
| − | | 04.03.2003
| + | |
| − | |
| + | |
| − | * Code cleanup, more Encoder-Options in Setup (for example Encoder=[MPEG-1|MPEG-2] ;-) - chrashes VDR :-(
| + | |
| − | |
| + | |
| − | |-
| + | |
| − | | 0.0.5
| + | |
| − | | 03.03.2003
| + | |
| − | |
| + | |
| − | * einige Einstellungen aus dem Setup wieder entfernt, und als Einträge in die "channels.conf" gepackt. Daduch werden "Kanäle" wie: - WEBcam - S-Video-Eingang möglich.
| + | |
| − | |
| + | |
| − | |-
| + | |
| − | | 0.0.4
| + | |
| − | | 02.03.2003
| + | |
| − | |
| + | |
| − | * Setup erweitert (Kontrast, Helligkeit etc.)
| + | |
| − | | [http://www.vdr-portal.de/board/thread.php?threadid=1468]
| + | |
| − | |-
| + | |
| − | | 0.0.3
| + | |
| − | | 02.03.2003
| + | |
| − | |
| + | |
| − | * alle mp1e Threads werden sauber beendet, sowie alle Resourcen freigegeben. Damit ist umschalten zwischen verschiedenen analog-Kanälen möglich! Pheew, das war eine lange Nacht ...
| + | |
| − | |
| + | |
| − | |-
| + | |
| − | | 0.0.2
| + | |
| − | | 28.02.2003
| + | |
| − | |
| + | |
| − | * analogTV is no longer a cPlayer, its a cDevice as suggested by Klaus Schmidinger and Sascha Volkenandt.
| + | |
| − | |
| + | |
| − | |-
| + | |
| − | | 0.0.1
| + | |
| − | | 25.02.2003
| + | |
| − | |
| + | |
| − | * released to the public.
| + | |
| − | |
| + | |
| − | |-
| + | |
| − | | 0.0.0
| + | |
| − | | 20.02.2003
| + | |
| − | |
| + | |
| − | * Initial revision.
| + | |
| − | |
| + | |
| − | |}
| + | |
| | | | |
| | | | |
| | ==Links== | | ==Links== |
| − | # [http://www.akool.de/vdr.html Homepage des Plugins] | + | # [[pvrinput-plugin]] |
| − | # [http://www.ko0l.de/download/vdr/analogtv/index.html Dowload des Plugins]
| + | |
| − | # [http://sourceforge.net/projects/vdr-analogtv Projektseite auf Sourceforge]
| + | |
| − | # [http://www.ivtvdriver.org/index.php/Main_Page neue IVTV Treiber]
| + | |
| − | # [http://www.metzlerbros.org/dvb/index.html Libdvb]
| + | |
| − | # [http://ivtv.writeme.ch IVTV Wiki]
| + | |
| − | # [[Kanal PAL|Kanalliste Pal Zuordnung Kanal-Frequenz]]
| + | |
| − | # [[channels.conf analog|Grundgerüst analoge channels.conf]]
| + | |
| | | | |
| − | [[Kategorie:Plugins]] | + | [[Kategorie:Veraltete Plugins]] |
| − | [[Kategorie:AnalogTV]]
| + | |
| | {{i18n|analogtv-plugin}} | | {{i18n|analogtv-plugin}} |
Dieses Plugin war das erste Plugin, welches analoges TV in VDR ermöglichte.