| BKTR(4) | Device Drivers Manual | BKTR(4) |
bktr —
bktr* at pci? dev ? function ?
radio* at bktr?
#include <dev/ic/bt8xx.h>
options BKTR_OVERRIDE_CARD=n
options BKTR_OVERRIDE_TUNER=n
options BKTR_OVERRIDE_DBX=n
options BKTR_OVERRIDE_MSP=n
options BKTR_SYSTEM_DEFAULT=n
options BKTR_USE_PLL
options BKTR_GPIO_ACCESS
options BKTR_NO_MSP_RESET
Note that bktr is not part of the
dtv(4) framework.
Supported cards include most cards by AVerMedia, Hauppauge, Leadtek, Miro, Pinnacle, Pixelview, Terratec, and some other companies, especially all cards based on the Brooktree Bt848, Bt848A, Bt849A, Bt878, or Bt879 chips. A notable exception are the ATI All-in-Wonder cards.
The following kernel configuration options are available:
options BKTR_OVERRIDE_CARD=noptions BKTR_OVERRIDE_TUNER=noptions BKTR_OVERRIDE_DBX=noptions BKTR_OVERRIDE_MSP=noptions BKTR_SYSTEM_DEFAULT=noptions BKTR_USE_PLLoptions BKTR_GPIO_ACCESSioctl()s for direct GPIO access.options BKTR_NO_MSP_RESETbktr is accessed through
the /dev/bktrN devices. The following
ioctl(2) commands are supported
on the Brooktree848 video capture interface:
METEORSFMT
unsigned long *METEOR_FMT_NTSCMETEOR_FMT_PALMETEOR_FMT_SECAMMETEOR_FMT_AUTOMODEMETEORGFMT
unsigned long *METEORSETGEO
struct meteor_geomet *
struct meteor_geomet {
u_short rows; /* height in pixels*/
u_short columns; /* width in pixels */
u_short frames;
u_long oformat;
}
The frames field is the number of frames to buffer. Currently only 1 frame is supported for most operations.
The oformat field is a bit-field
describing the output pixel format type and which video fields to
capture. The following are supported pixel format types:
.Pp
METEOR_GEO_RGB16METEOR_GEO_RGB24METEOR_GEO_YUV_PACKEDMETEOR_GEO_YUV_PLANARMETEOR_GEO_YUV_UNSIGNEDMETEOR_GEO_YUV_422METEOR_GEO_YUV_12METEOR_GEO_YUV_9The following are supported field capture modes:
METEOR_GEO_ODD_ONLYMETEOR_GEO_EVEN_ONLYBy default, frames will consist of both the odd and even fields.
METEORGSUPPIXFMT
struct meteor_pixfmt *
struct meteor_pixfmt {
u_int index;
METEOR_PIXTYPE type;
u_int Bpp; /* bytes per pixel */
u_long masks[3]; /* YUV bit masks */
unsigned swap_bytes :1;
unsigned swap_shorts:1;
};
To query all the supported formats, start with an index field of 0 and continue with successive encodings (1, 2, ...) until the command returns an error.
METEORSACTPIXFMT
int *METEORGSUPPIXFMT.METEORGACTPIXFMT
int *METEORSINPUT
unsigned long *METEOR_INPUT_DEV0METEOR_INPUT_DEV1METEOR_INPUT_DEV2METEOR_INPUT_DEV3METEOR_INPUT_DEV_RGBMETEOR_INPUT_DEV_SVIDEONot all devices built with Brooktree848 chips support the full list of input ports.
METEORGINPUT
unsigned long *METEORSFPS
unsigned short *METEORGFPS
unsigned short *METEORCAPTUR
int *METEOR_CAP_SINGLEMETEOR_CAP_CONTINOUSMETEOR_CAP_STOP_CONTMETEORSSIGNAL
unsigned int *bktr. If the unsigned int *
argument is a valid signal, then that signal will be emitted when either a
frame or field capture has completed. To select between frame or field
signalling, the following arguments are used:
METEOR_SIG_FRAMEMETEOR_SIG_FIELDBy default, signals will be generated for every frame.
Generation of signals is terminated with the
METEOR_SIG_MODE_MASK argument.
bktr is accessed
through the /dev/tunerN devices. The following
ioctl(2) commands are supported
on the tuner interface:
TVTUNER_SETTYPE
unsigned int *CHNLSET_NABCSTCHNLSET_CABLEIRCCHNLSET_CABLEHRCCHNLSET_WEUROPECHNLSET_JPNBCSTCHNLSET_JPNCABLECHNLSET_XUSSRCHNLSET_AUSTRALIACHNLSET_FRANCETVTUNER_GETTYPE
unsigned int *TVTUNER_SETCHNL
unsigned int *TVTUNER_GETCHNL
unsigned int *TVTUNER_SETCHNL
will not update this setting, and it defaults to 0 on driver
initialization.TVTUNER_SETFREQ
unsigned int *TVTUNER_GETFREQ
unsigned int *BT848_SAUDIO
int *AUDIO_TUNERAUDIO_EXTERNAUDIO_INTERNAUDIO_MUTEAUDIO_UNMUTEBT848_GAUDIO
int *bktr driver interface devicebktr tuner interface devicebktr driver appeared in FreeBSD
2.2 and NetBSD 1.5.
bktr driver was originally written by
Amancio Hasty for FreeBSD and
is now maintained by Roger Hardiman.
NetBSD porting was done by Bernd
Ernesti, Berndt Josef Wulf,
Matthias Scheler, and Thomas
Klausner.
| August 30, 2011 | NetBSD 9.1 |