Documentation ¶
Overview ¶
Package v4l2 provides a pure Go interface for V4L2.
Index ¶
- Constants
- func BytesToString(b []byte) string
- type AudCap
- type AudMode
- type Audio
- type BufFlag
- type BufType
- type Buffer
- type Cap
- type Capability
- type CtrlFwhtparams
- type CtrlH264DecodeParams
- type CtrlHevcPps
- type CtrlHevcSps
- type CtrlMpeg2Quantization
- type CtrlMpeg2SliceParams
- type CtrlVP8FrameHeader
- type Field
- type FmtDesc
- type FmtFlag
- type Format
- type FrameSizeDiscrete
- type FrameSizeEnum
- type FrameSizeStepwise
- type Frequency
- type H264DPDEntry
- type H264PredWeightTable
- type H264WeightFactors
- type Input
- type Memory
- type Modulator
- type Mpeg2Picture
- type Mpeg2Sequence
- type Output
- type PixFmt
- type PixFormat
- type PixFormatMPlane
- type Plane
- type PlanePixFormat
- type QueryCtrl
- type QueryExtCtrl
- type QueryMenu
- type RequestBuffers
- type StdID
- type TcFlag
- type TcType
- type Timecode
- type Tuner
- type VP8EntropyCoderState
- type VP8EntropyHeader
- type VP8LoopfilterHeader
- type VP8QuantizationHeader
- type VP8SegmentHeader
Constants ¶
const ( BufCapSupportsMMap uint32 = 1 << iota BufCapSupportsUserPtr BufCapSupportsDMABuf BufCapSupportsRequests BufCapSupportsOrphanedBufs BufCapSupportsM2MHoldCaptureBuf )
const ( CapVideoCapture uint32 = 1 << iota CapVideoOutput CapVideoOverlay CapVBICapture CapVBIOutput CapSlicedVBICapture CapSlicedVBIOutput CapRDSCapture CapVideoOutputOverlay CapHwFreqSeek CapRDSOutput CapVideoCaptureMPlane CapVideoOutputMPlane CapVideoM2M CapVideoM2MMPlane CapTuner CapAudio CapRadio CapModulator CapSDRCapture CapExtPixFormat CapSDROutput CapMetaCapture CapAsyncIO CapStreaming CapMetaOutput CapTouch CapDeviceCaps )
Device capability flags (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-querycap.html#device-capabilities).
const ( FrmSizeTypeDiscrete uint32 = iota + 1 FrmSizeTypeContinuous FrmSizeTypeStepwise )
const ( // InputTypeTuner designates the input as a tuner. InputTypeTuner uint32 = iota + 1 // InputTypeCamera designates the input as a camera. InputTypeCamera // InputTypeTouch designates the input as a touch device. InputTypeTouch )
const ( // VidIocQueryCap is VIDIOC_QUERYCAP (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-querycap.html). VidIocQueryCap uint32 = 0x80685600 // VidIocReserved is VIDIOC_RESERVED. VidIocReserved = 0x00005601 // VidIocEnumFmt is (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-enum-fmt.html). VidIocEnumFmt = 0xc0405602 // VidIocGFmt is VIDIOC_G_FMT (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-fmt.html). VidIocGFmt = 0xc0d05604 // VidIocSFmt is VIDIOC_S_FMT (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-fmt.html). VidIocSFmt = 0xc0cc5605 // VidIocReqBufs is VIDIOC_REQBUFS (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-reqbufs.html). VidIocReqBufs = 0xc0145608 // VidIocQueryBuf is VIDIOC_QUERYBUF (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-querybuf.html). VidIocQueryBuf = 0xc0445609 // VidIocGFBuf is VIDIOC_G_FBUF (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-fbuf.html). VidIocGFBuf = 0x8030560a // VidIocSFBuf is VIDIOC_S_FBUF (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-fbuf.html). VidIocSFBuf = 0x4030560b // VidIocOverlay is VIDIOC_OVERLAY (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-overlay.html). VidIocOverlay = 0x4004560e // VidIocQBuf is VIDIOC_QBUF (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-qbuf.html). VidIocQBuf = 0xc044560f // VidIocExpBuf is VIDIOC_EXPBUF (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-expbuf.html). VidIocExpBuf = 0xc0405610 // VidIocDQBuf is VIDIOC_DQBUF (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-qbuf.html). VidIocDQBuf = 0xc0445611 // VidIocStreamOn is VIDIOC_STREAMON (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-streamon.html). VidIocStreamOn = 0x40045612 // VidIocStreamOff is VIDIOC_STREAMOFF (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-streamon.html). VidIocStreamOff = 0x40045613 // VidIocGParm is VIDIOC_G_PARM (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-parm.html). VidIocGParm = 0xc0cc5615 // VidIocSParm is VIDIOC_S_PARM (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-parm.html). VidIocSParm = 0xc0cc5616 // VidIocGStd is VIDIOC_G_STD (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-std.html). VidIocGStd = 0x80085617 // VidIocSStd is VIDIOC_S_STD (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-std.html). VidIocSStd = 0x40085618 // VidIocEnumStd is VIDIOC_ENUMSTD (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-enumstd.html). VidIocEnumStd = 0xc0485619 // VidIocEnumInput is VIDIOC_ENUMINPUT (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-enuminput.html). VidIocEnumInput = 0xc050561a // VidIocGCtrl is VIDIOC_G_CTRL (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-ctrl.html). VidIocGCtrl = 0xc008561b // VidIocSCtrl is VIDIOC_S_CTRL (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-ctrl.html). VidIocSCtrl = 0xc008561c // VidIocGTuner is VIDIOC_G_TUNER (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-tuner.html). VidIocGTuner = 0xc054561d // VidIocSTuner is VIDIOC_S_TUNER (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-tuner.html). VidIocSTuner = 0x4054561e // VidIocGAudio is VIDIOC_G_AUDIO (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-audio.html). VidIocGAudio = 0x80345621 // VidIocSAudio is VIDIOC_S_AUDIO (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-audio.html). VidIocSAudio = 0x40345622 // VidIocQueryCtrl is VIDIOC_QUERYCTRL (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-queryctrl.html). VidIocQueryCtrl = 0xc0445624 // VidIocQueryMenu is VIDIOC_QUERYMENU (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-queryctrl.html) VidIocQueryMenu = 0xc02c5625 // VidIocGInput is VIDIOC_G_INPUT (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-input.html). VidIocGInput = 0x80045626 // VidIocSInput is VIDIOC_S_INPUT (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-input.html). VidIocSInput = 0xc0045627 // VidIocGEDID is VIDIOC_G_EDID (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-edid.html). VidIocGEDID = 0xc0285628 // VidIocSEDID is VIDIOC_S_EDID (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-edid.html). VidIocSEDID = 0xc0285629 // VidIocGOutput is VIDIOC_G_OUTPUT (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-output.html). VidIocGOutput = 0x8004562e // VidIocSOutput is VIDIOC_S_OUTPUT (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-output.html). VidIocSOutput = 0xc004562f // VidIocEnumOutput is VIDIOC_ENUMOUTPUT (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-enumoutput.html). VidIocEnumOutput = 0xc0485630 // VidIocGAudOut is VIDIOC_G_AUDOUT (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-audioout.html). VidIocGAudOut = 0x80345631 // VidIocSAudOut is VIDIOC_S_AUDOUT (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-audioout.html). VidIocSAudOut = 0x40345632 // VidIocGModulator is VIDIOC_G_MODULATOR (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-modulator.html). VidIocGModulator = 0xc0445636 // VidIocSModulator is VIDIOC_S_MODULATOR (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-modulator.html). VidIocSModulator = 0x40445637 // VidIocGFrequency is VIDIOC_G_FREQUENCY (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-frequency.html). VidIocGFrequency = 0xc02c5638 // VidIocSFrequency is VIDIOC_S_FREQUENCY (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-frequency.html). VidIocSFrequency = 0x402c5639 // VidIocCropCap is VIDIOC_CROPCAP (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-cropcap.html). VidIocCropCap = 0xc02c563a // VidIocGCrop is VIDIOC_G_CROP (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-crop.html). VidIocGCrop = 0xc014563b // VidIocSCrop is VIDIOC_S_CROP (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-crop.html). VidIocSCrop = 0x4014563c // VidIocGJpegComp is VIDIOC_G_JPEGCOMP (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-jpegcomp.html). VidIocGJpegComp = 0x808c563d // VidIocSJpegComp is VIDIOC_S_JPEGCOMP (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-jpegcomp.html). VidIocSJpegComp = 0x408c563e // VidIocQueryStd is VIDIOC_QUERYSTD (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-querystd.html). VidIocQueryStd = 0x8008563f // VidIocTryFmt is VIDIOC_TRY_FMT (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-fmt.html). VidIocTryFmt = 0xc0d05640 // VidIocEnumAudio is VIDIOC_ENUMAUDIO (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-enumaudio.html). VidIocEnumAudio = 0xc0345641 // VidIocEnumAudOut is VIDIOC_ENUMAUDOUT (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-enumaudioout.html). VidIocEnumAudOut = 0xc0345642 // VidIocGPriority is VIDIOC_G_PRIORITY (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-priority.html). VidIocGPriority = 0x80045643 // VidIocSPriority is VIDIOC_S_PRIORITY (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-priority.html). VidIocSPriority = 0x40045644 // VidIocGSlicedVBICap is VIDIOC_G_SLICED_VBI_CAP (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-sliced-vbi-cap.html). VidIocGSlicedVBICap = 0xc0745645 // VidIocLogStatus is VIDIOC_LOG_STATUS (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-log-status.html). VidIocLogStatus = 0x00005646 // VidIocGExtCtrls is VIDIOC_G_EXT_CTRLS (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-ext-ctrls.html). VidIocGExtCtrls = 0xc0205647 // VidIocSExtCtrls is VIDIOC_S_EXT_CTRLS (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-ext-ctrls.html). VidIocSExtCtrls = 0xc0205648 // VidIocTryExtCtrls is VIDIOC_TRY_EXT_CTRLS (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-ext-ctrls.html). VidIocTryExtCtrls = 0xc0205649 // VidIocEnumFrameSizes is VIDIOC_ENUM_FRAMESIZES (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-enum-framesizes.html). VidIocEnumFrameSizes = 0xc02c564a // VidIocEnumFrameIntervals is VIDIOC_ENUM_FRAMEINTERVALS (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-enum-frameintervals.html). VidIocEnumFrameIntervals = 0xc034564b // VidIocGEncIndex is VIDIOC_G_ENC_INDEX (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-enc-index.html). VidIocGEncIndex = 0x8818564c // VidIocEncoderCmd is VIDIOC_ENCODER_CMD (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-encoder-cmd.html). VidIocEncoderCmd = 0xc028564d // VidIocTryEncoderCmd is VIDIOC_TRY_ENCODER_CMD (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-encoder-cmd.html). VidIocTryEncoderCmd = 0xc028564e )
const (
AudModeAVL = 1 << iota
)
Audio mode flags (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-audio.html#audio-mode).
Variables ¶
This section is empty.
Functions ¶
func BytesToString ¶
BytesToString converts a low-level, null-terminated C-string to a string.
Types ¶
type AudCap ¶ added in v0.0.5
type AudCap uint32
AudCap is the audio capability type.
Audio capability flags (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-audio.html#audio-capability).
type Audio ¶
Audio is v4l2_audio (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-g-audio.html#c.v4l2_audio).
type BufFlag ¶ added in v0.0.5
type BufFlag uint32
BufFlag is the buffer flag type.
const ( BufFlagMapped BufFlag = 1 << iota BufFlagQueued BufFlagDone BufFlagKeyFrame BufFlagPFrame BufFlagBFrame BufFlagError BufFlagInRequest BufFlagTimecode BufFlagM2MHoldCaptureBuf BufFlagPrepared BufFlagNoCacheInvalidate BufFlagNoCacheClean BufFlagTimestampMonotonic BufFlagTimestampCopy BufFlagTstampSOE BufFlagTstampSrcEOF BufFlag = 0x00000000 BufFlagTimestampMask BufFlag = 0x0000e000 BufFlagTstampSrcMask BufFlag = 0x00070000 BufFlagLast BufFlag = 0x00100000 BufFlagRequestFD BufFlag = 0x00800000 )
Buffer flags (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/buffer.html#buffer-flags).
type BufType ¶ added in v0.0.5
type BufType uint32
BufType is the buffer type type.
const ( BufTypeVideoCapture BufType = iota + 1 BufTypeVideoOutput BufTypeVideoOverlay BufTypeVBICapture BufTypeVBIOutput BufTypeSlicedVBICapture BufTypeSlicedVBIOutput BufTypeVideoOutputOverlay BufTypeVideCaptureMPlane BufTypeVideOutputMPlane BufTypeSDRCapture BufTypeSDROutput BufTypeMetaCapture BufTypeMetaOutput )
Buffer types (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/buffer.html#c.v4l2_buf_type).
type Buffer ¶
type Buffer struct { Index uint32 Type BufType BytesUsed uint32 Flags BufFlag Field Field Timestamp syscall.Timeval Timecode Timecode Sequence uint32 Memory Memory M uint32 // Union - Note: might differ between 32-bit and 64-bit systems. Investigate. Length uint32 Reserved2 uint32 RequestFD uint32 }
Buffer is v4l2_buffer (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/buffer.html#c.v4l2_buffer).
type Capability ¶ added in v0.0.5
type Capability struct { Driver [16]byte Card [32]byte BusInfo [32]byte Version uint32 Capabilities Cap DeviceCaps Cap Reserved [3]uint32 }
Capability is v4l2_capability (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-querycap.html#c.v4l2_capability).
type CtrlFwhtparams ¶
type CtrlH264DecodeParams ¶
type CtrlHevcPps ¶
type CtrlHevcPps struct { NumExtraSliceHeaderBits uint8 InitQpMinus26 int8 DiffCuQpDeltaDepth uint8 PpsCbQpOffset int8 PpsCrQpOffset int8 NumTileColumnsMinus1 uint8 NumTileRowsMinus1 uint8 ColumnWidthMinus1 [20]uint8 RowHeightMinus1 [22]uint8 PpsBetaOffsetDiv2 int8 PpsTcOffsetDiv2 int8 Log2ParallelMergeLevelMinus2 uint8 Padding [4]uint8 Flags uint64 }
type CtrlHevcSps ¶
type CtrlHevcSps struct { PicWidthInLumaSamples uint16 PicHeightInLumaSamples uint16 BitDepthLumaMinus8 uint8 BitDepthChromaMinus8 uint8 Log2MaxPicOrderCntLSBMinus4 uint8 SpsMaxDecPicBufferingMinus1 uint8 SpsMaxNumReorderPics uint8 SpsMaxLatencyIncreasePlus1 uint8 Log2MinLumaCodingBlockSizeMinus3 uint8 Log2DiffMaxMinLumaCodingBlockSize uint8 Log2MinLumaTransformBlockSizeMinus2 uint8 Log2DiffMaxMinLumaTransformBlockSize uint8 MaxTransformHierarchyDepthInter uint8 MaxTransformHierarchyDepthIntra uint8 PCMSampleBitDepthLumaMinus1 uint8 PCMSampleBitDepthChromaMinus1 uint8 Log2MinPCMLumaCodingBlockSizeMinus3 uint8 Log2DiffMaxMinPCMLumaCodingBlockSize uint8 NumShortTermRefPicSets uint8 NumLongTermRefPicsSps uint8 ChromaFormatIDC uint8 Flags uint64 }
type CtrlMpeg2Quantization ¶
type CtrlMpeg2Quantization struct { LoadIntraQuantiserMatrix uint8 LoadNonIntraQuantiserMatrix uint8 LoadChromaIntraQuantiserMatrix uint8 LoadChromaNonIntraQuantiserMatrix uint8 IntraQuantiserMatrix [64]uint8 NonIntraQuantiserMatrix [64]uint8 ChromaIntraQuantiserMatrix [64]uint8 ChromaNonIntraQuantiserMatrix [64]uint8 }
type CtrlMpeg2SliceParams ¶
type CtrlMpeg2SliceParams struct { BitSize uint32 DataBitOffset uint32 Sequence Mpeg2Sequence Picture Mpeg2Picture ForwardRefTS uint64 QuantiserScaleCode uint32 }
type CtrlVP8FrameHeader ¶
type CtrlVP8FrameHeader struct { SegmentHeader VP8SegmentHeader LoopfilterHeader VP8LoopfilterHeader QuantHeader VP8QuantizationHeader EntropyHeader VP8EntropyHeader CoderState VP8EntropyCoderState Width uint16 Height uint16 HorizontalScale uint8 VerticalScalingFactor uint8 Version uint8 PropSkipFalse uint8 PropIntra uint8 PropLast uint8 PropGF uint8 NumDCTParts uint8 FirstPartSize uint32 FirstPartHeaderBits uint32 DCTPartSize [8]uint32 LastFrameTS uint64 GoldenFrameTS uint64 AltFrameTS uint64 Flags uint64 }
type Field ¶ added in v0.0.5
type Field uint32
Field is the field type.
const ( FieldAny Field = iota FieldNone FieldTop FieldBottom FieldInterlaced FieldSeqTB FieldSeqBT FieldAlternate FieldInterlacedTB FieldInterlacedBT )
Field types (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/field-order.html#c.v4l2_field).
type FmtDesc ¶
type FmtDesc struct { Index uint32 Type BufType Flags FmtFlag Description [32]byte PixFormat PixFmt Reserved [4]uint32 }
FmtDesc is v4l2_fmtdesc (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-enum-fmt.html#c.v4l2_fmtdesc).
type FmtFlag ¶ added in v0.0.5
type FmtFlag uint32
FmtFlag is the format flag type.
const ( FmtFlagCompressed FmtFlag = 1 << iota FmtFlagEmulated FmtFlagContinuousByteStream FmtFlagDynResolution )
Format flags (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/vidioc-enum-fmt.html#fmtdesc-flags).
type FrameSizeDiscrete ¶
FrameSizeDiscrete is an encapsulation of a discrete frame size.
type FrameSizeEnum ¶
type FrameSizeEnum struct { Index uint32 PixFormat PixFmt Type uint32 Stepwise FrameSizeStepwise // Union with FrameSizeDiscrete Reserved [2]uint32 }
FrameSizeEnum is an encapsulation of frame size information.
type FrameSizeStepwise ¶
type FrameSizeStepwise struct { MinWidth uint32 MaxWidth uint32 StepWidth uint32 MinHeight uint32 MaxHeight uint32 StepHeight uint32 }
FrameSizeStepwise is an encapsulation of valid frame sizes in steps from min to max.
type H264DPDEntry ¶
type H264PredWeightTable ¶
type H264PredWeightTable struct { LumaLog2WeightDenom uint16 ChromaLog2WeightDenom uint16 Weightfactors [2]H264WeightFactors }
type H264WeightFactors ¶
type Input ¶
type Input struct { Index uint32 Name [32]byte Type uint32 AudioSet uint32 Tuner uint32 Standard StdID Status uint32 Capabilities uint32 Reserved [3]uint32 }
Input is an encapsulation of a set of input attributes.
type Memory ¶ added in v0.0.5
type Memory uint32
Memory is the memory type.
type Modulator ¶
type Modulator struct { Index uint32 Name [32]byte Capability uint32 RangeLow uint32 RangeHigh uint32 TXSubChans uint32 Type uint32 Reserved [3]uint32 }
Modulator is an encapsulation of a set of modulator attributes.
type Mpeg2Picture ¶
type Mpeg2Sequence ¶
type Output ¶
type Output struct { Index uint32 Name [32]byte Type uint32 AudioSet uint32 Modulator uint32 Standard StdID Capabilities uint32 Reserved [3]uint32 }
Output is an encapsulation of a set of output attributes.
type PixFmt ¶ added in v0.0.5
type PixFmt uint32
PixFmt is the pixel format type.
const ( PixFmtRGB332 PixFmt = 'R'<<24 | 'G'<<16 | 'B'<<8 | '1' PixFmtGrey PixFmt = 'G'<<24 | 'R'<<16 | 'E'<<8 | 'Y' PxFmtDV PixFmt = 'd'<<24 | 'v'<<16 | 's'<<8 | 'd' )
Pixel formats (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/pixfmt-rgb.html#pixfmt-rgb https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/yuv-formats.html#yuv-formats https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/pixfmt-reserved.html#reserved-formats).
type PixFormat ¶
type PixFormat struct { Width uint32 Height uint32 PixFormat PixFmt Field uint32 BytesPerLine uint32 SizeImage uint32 ColorSpace uint32 Priv uint32 Flags uint32 Enc uint32 // Anonymous union of YCbCr and HSV Quantization uint32 XferFunc uint32 }
PixFormat is an encapsulation of a single-planar format.
type PixFormatMPlane ¶
type PixFormatMPlane struct { Width uint32 Height uint32 PixFormat PixFmt Field uint32 ColorSpace uint32 PlaneFmt [8]PlanePixFormat NumPlanes uint8 Flags uint8 Enc uint8 // Anonymous union of YCbCr and HSV Quantization uint8 XferFunc uint8 Reserved [7]uint8 }
PixFormatMPlane is an encapsulation of a multi-planar format.
type Plane ¶
type Plane struct { BytesUsed uint32 Length uint32 M uint32 // Union DataOffset uint32 Reserved [11]uint32 }
Plane is an encapsulation of a single plane.
type PlanePixFormat ¶
PlanePixFormat is an encapsulation of a plane format.
type QueryCtrl ¶
type QueryCtrl struct { ID uint32 Type uint32 Name [32]byte Minimum int32 Maximum int32 Step int32 DefaultValue int32 Flags uint32 Rserved [2]uint32 }
QueryCtrl is an encapsulation of a control.
type QueryExtCtrl ¶
type QueryExtCtrl struct { ID uint32 Type uint32 Name [32]byte Minimum int32 Maximum int32 Step int32 DefaultValue int32 Flags uint32 ElemSize uint32 Elems uint32 NrOfDims uint32 Dims [4]uint32 Rserved [32]uint32 }
QueryExtCtrl is an encapsulation of an extended control.
type QueryMenu ¶
type QueryMenu struct { ID uint32 Index uint32 Name [32]byte // Value int64 unioned with Name Reserved uint32 }
QueryMenu is an encapsulation of a menu.
type RequestBuffers ¶
type RequestBuffers struct { Count uint32 Type uint32 Memory uint32 Capabilities uint32 Reserved [1]uint32 }
RequestBuffers is an encapsulates a buffer request.
type TcFlag ¶ added in v0.0.5
type TcFlag uint32
TcFlag is the timecode flag type.
const ( TcFlagUserDefined TcFlag = 1 << iota TcFlagDropFrame TcUserBits8BitChars TcUserBitsField TcFlag = 0x0000000C TcUserBitsUserDefined TcFlag = 0x00000000 )
Timecode flags (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/buffer.html#timecode-flags).
type TcType ¶ added in v0.0.5
type TcType uint32
TcType is the timecode type type.
type Timecode ¶
type Timecode struct { Type TcType Flags TcFlag Frames uint8 Seconds uint8 Minutes uint8 Hours uint8 UserBits [4]uint8 }
Timecode is v4l2_timecode (https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/buffer.html#c.v4l2_timecode).
type Tuner ¶
type Tuner struct { Index uint32 Name [32]byte Type uint32 Capability uint32 RangeLow uint32 RangeHigh uint32 RXSubChans uint32 AudMode uint32 Signal uint32 AFC int32 Reserved [4]uint32 }
Tuner is an encapsulation of a set of tuner attributes.