diff options
-rw-r--r-- | sys/dev/firewire/firewire.c | 10 | ||||
-rw-r--r-- | sys/dev/firewire/fwdev.c | 9 | ||||
-rw-r--r-- | sys/dev/firewire/iec68113.h | 2 |
3 files changed, 14 insertions, 7 deletions
diff --git a/sys/dev/firewire/firewire.c b/sys/dev/firewire/firewire.c index 4b674c43f2e0..89f45980cec4 100644 --- a/sys/dev/firewire/firewire.c +++ b/sys/dev/firewire/firewire.c @@ -184,14 +184,14 @@ dvloop: }else{ goto out; } -#if 1 -#define DVSEC 100 -#define DVFRAC 2997 /* NTSC: 29.97 Hz (2997 = 29.97 * 100) */ -#define DVDIFF 203 /* 203 = (8000/250 - 29.97) * 100 */ -#else +#if DV_PAL #define DVSEC 3 #define DVFRAC 75 /* PAL: 25 Hz (1875 = 25 * 3) */ #define DVDIFF 5 /* 125 = (8000/300 - 25) * 3 */ +#else +#define DVSEC 100 +#define DVFRAC 2997 /* NTSC: 29.97 Hz (2997 = 29.97 * 100) */ +#define DVDIFF 203 /* 203 = (8000/250 - 29.97) * 100 */ #endif #define CYCLEFRAC 0xc00 cycle = (u_int64_t) 8000 * DVSEC * it->dvsync; diff --git a/sys/dev/firewire/fwdev.c b/sys/dev/firewire/fwdev.c index d0f6371ccd25..672a452b1f28 100644 --- a/sys/dev/firewire/fwdev.c +++ b/sys/dev/firewire/fwdev.c @@ -52,6 +52,7 @@ #include <dev/firewire/firewire.h> #include <dev/firewire/firewirereg.h> #include <dev/firewire/fwmem.h> +#include <dev/firewire/iec68113.h> #define CDEV_MAJOR 127 #define FWNODE_INVAL 0xffff @@ -568,14 +569,18 @@ fw_ioctl (dev_t dev, u_long cmd, caddr_t data, int flag, fw_proc *td) err = ENOMEM; break; } -#define FWDVPACKET 250 /* NTSC (300 for PAL) */ +#if DV_PAL +#define FWDVPACKET 300 +#else +#define FWDVPACKET 250 +#endif #define FWDVPMAX 512 ibufreq->rx.nchunk = 8; ibufreq->rx.npacket = 50; ibufreq->rx.psize = FWDVPMAX; ibufreq->tx.nchunk = 5; - ibufreq->tx.npacket = 300; + ibufreq->tx.npacket = FWDVPACKET + 30; /* > 320 or 267 */ ibufreq->tx.psize = FWDVPMAX; err = fw_ioctl(dev, FW_SSTBUF, (caddr_t)ibufreq, flag, td); diff --git a/sys/dev/firewire/iec68113.h b/sys/dev/firewire/iec68113.h index ac202fab092e..2ee5d77b76cd 100644 --- a/sys/dev/firewire/iec68113.h +++ b/sys/dev/firewire/iec68113.h @@ -79,3 +79,5 @@ struct dvdbc{ u_int8_t payload[77]; #define DV_DSF_12 0x80 /* PAL: payload[0] in Header DIF */ }; + +#define DV_PAL 0 |