Re: pvrinput - NTSC doesn't work? Anyone?

Message ID 44978BFE.9080709@users.sourceforge.net
State New
Headers

Commit Message

Lucian Muresan June 20, 2006, 5:47 a.m. UTC
  Simon Baxter wrote:
>> Hi Simon,
[...]
>> I also guess you patched your VDR for NTSC, so maybe it just can't
>> playback your pvrinput stream if it's looking like you described, be it
>> live or recorded, as it seems to be PAL...
> 
> Patched VDR for NTSC?  Nope - I must have missed something??

Well, I remember there was a thread even this year in which Klaus was
admitting he should make this configurable after version 1.4 is polished
http://www.linuxtv.org/pipermail/vdr/2006-April/008726.html
The attached patch was sent by C.Y.M. by that time, and looking to it,
it seems it could make a difference, as it hard-codes the frame rate in
recording.h among other things. I just tried if it cleanly applies to
vdr-1.4.1 and it does, so give it a try.

> I had been using VDR in the UK for several years before moving to NTSC land. 
> The PAL recordings I made there do play back ok - just the new stuff 
> recorded with pvrinput fails...

Your old PAL recordings may no longer play OK after this patch, but I
think it's worth a try, just to narrow down the problem.

>> Try these, maybe it helps, but I can't guarantee, as I'm not the author
>> of pvrinput, and I also can't test with NTSC.
>>
>> Lucian
> 
> Thanks, I'll have a play with the provided patch.

Yes, and don't forget that "Frames per GOP" setting, maybe that one is
important, too. In the end maybe it starts working with both of these
patches.

Cheers,
Lucian
  

Patch

diff -ruN vdr-1.3.45.orig/recording.h vdr-1.3.45/recording.h
--- vdr-1.3.45.orig/recording.h	2006-03-26 08:34:35.000000000 -0800
+++ vdr-1.3.45/recording.h	2006-03-26 08:36:45.000000000 -0800
@@ -179,7 +179,7 @@ 
   };
 
 //XXX+
-#define FRAMESPERSEC 25
+#define FRAMESPERSEC 30
 
 // The maximum size of a single frame (up to HDTV 1920x1080):
 #define MAXFRAMESIZE  KILOBYTE(512)
--- vdr-1.3.45/dvbosd.c.orig	2006-04-04 02:46:01.000000000 -0700
+++ vdr-1.3.45/dvbosd.c	2006-04-04 02:47:00.000000000 -0700
@@ -85,7 +85,7 @@ 
             return oeBppNotSupported;
          if ((Areas[i].Width() & (8 / Areas[i].bpp - 1)) != 0)
             return oeWrongAlignment;
-         if (Areas[i].Width() < 1 || Areas[i].Height() < 1 || Areas[i].Width() > 720 || Areas[i].Height() > 576)
+         if (Areas[i].Width() < 1 || Areas[i].Height() < 1 || Areas[i].Width() > 720 || Areas[i].Height() > 480)
             return oeWrongAreaSize;
          TotalMemory += Areas[i].Width() * Areas[i].Height() / (8 / Areas[i].bpp);
          }
--- vdr-1.3.45/dvbspu.c.orig	2006-04-04 02:46:15.000000000 -0700
+++ vdr-1.3.45/dvbspu.c	2006-04-04 02:47:21.000000000 -0700
@@ -56,7 +56,7 @@ 
 #define setMax(a, b) if (a < b) a = b
 
 #define spuXres   720
-#define spuYres   576
+#define spuYres   480 
 
 #define revRect(r1, r2) { r1.x1 = r2.x2; r1.y1 = r2.y2; r1.x2 = r2.x1; r1.y2 = r2.y1; }