Add DV_PAL for PAL users.
This commit is contained in:
parent
bf1446b754
commit
6d6f7f2891
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=109282
@ -184,14 +184,14 @@ fw_tbuf_update(struct firewire_comm *fc, int sub, int flag){
|
||||
}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;
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user