Name | 128 |
Enum | 0x80 |
Description | Does nothing. May be used to check if the firmware is responding. |
#Params | 0 |
#Results | 0 |
Name | 129 |
Enum | 0x81 |
Description | Commences the capture of video, audio and/or VBI data. All encoding parameters must be initialized prior to this
API call. Captures frames continuously or until a predefined number of frames have been captured.
|
#Params | 2 |
Param[0] |
Capture stream type:
0=MPEG
1=Raw
2=Raw passthrough
3=VBI
|
Param[1] |
Bitmask
Bit 0 when set, captures YUV
Bit 1 when set, captures PCM audio
Bit 2 when set, captures VBI (same as param[0]=3)
Bit 3 when set, the capture destination is the decoder (same as param[0]=2)
Bit 4 when set, the capture destination is the host
Note: this parameter is only meaningful for RAW capture type.
|
#Results | 0 |
Name | 130 |
Enum | 0x82 |
Description | Ends a capture in progress
|
#Params | 3 |
Param[0] | 0=stop at end of GOP (generates IRQ), 1=stop immediate (no IRQ) |
Param[1] | Stream type to stop, see param[0] of API 0x81 |
Param[2] | Subtype, see param[1] of API 0x81 |
#Results | 0 |
Name | 137 |
Enum | 0x89 |
Description | Assigns the transport stream ID of the encoded audio stream |
#Params | 1 |
Param[0] | Audio Stream ID |
#Results | 0 |
Name | 139 |
Enum | 0x8B |
Description | Set video transport stream ID
|
#Params | 1 |
Param[0] | Video stream ID |
#Results | 0 |
Name | 141 |
Enum | 0x8D |
Description | Assigns the transport stream ID for PCR packets |
#Params | 1 |
Param[0] | PCR Stream ID |
#Results | 0 |
Name | 143 |
Enum | 0x8F |
Description | Set video frames per second. Change occurs at start or new GOP.
|
#Params | 1 |
Param[0] | 0=30fps, 1=25fps |
#Results | 0 |
Name | 145 |
Enum | 0x91 |
Description | Select video stream encoding resolution.
|
#Params | 2 |
Param[0] | Height in lines. Default 480 |
Param[1] | Width in pixels. Default 720 |
#Results | 0 |
Name | 149 |
Enum | 0x95 |
Description | Assign average video stream bitrate.
|
#Params | 3 |
Param[0] | 0=variable bitrate, 1=constant bitrate |
Param[1] | bitrate in bits per second |
Param[2] | peak bitrate in bits per second, divided by 400 |
#Results | 0 |
Name | 151 |
Enum | 0x97 |
Description | Setup the GOP structure |
#Params | 2 |
Param[0] | GOP size |
Param[1] | Number of B frames between the I and P frame, plus 1.
eg. IBBPBBPBBPBB --> GOP size: 12, number of B frames: 2+1 = 3 |
#Results | 0 |
Name | 153 |
Enum | 0x99 |
Description | Sets the encoding aspect ratio. Changes in the aspect ratio take
effect at the start of the next GOP. |
#Params | 1 |
Param[0] |
'0000' forbidden
'0001' 1:1 square
'0010' 4:3
'0011' 16:9
'0100' 2.21:1
'0101' reserved
....
'1111' reserved
|
#Results | 0 |
Name | 155 |
Enum | 0x9B |
Description | Assign Dynamic Noise Reduction operating mode |
#Params | 2 |
Param[0] | Bit0: Spatial filter, set=auto, clear=manual
Bit1: Temporal filter, set=auto, clear=manual |
Param[1] | Median filter:
0=Disabled
1=Horizontal
2=Vertical
3=Horiz/Vert
4=Diagonal |
#Results | 0 |
Name | 157 |
Enum | 0x9D |
Description | These Dynamic Noise Reduction filter values are only meaningful when the
respective filter is set to "manual" (See API 0x9B) |
#Params | 2 |
Param[0] | Spatial filter, Default 0, Range 0:15 |
Param[1] | Temporal filter, Default 0, Range 0:31 |
#Results | 0 |
Name | 159 |
Enum | 0x9F |
Description | Assign Dynamic Noise Reduction median filter properties. |
#Params | 4 |
Param[0] | Threshold above which the luminance median filter is enabled. Default: 0 Range 0:255 |
Param[1] | Threshold below which the luminance median filter is enabled. Default: 255 Range 0:255 |
Param[2] | Threshold above which the chrominance median filter is enabled. Default: 0 Range 0:255 |
Param[3] | Threshold below which the chrominance median filter is enabled. Default: 255 Range 0:255 |
#Results | 0 |
Name | 161 |
Enum | 0xA1 |
Description | Assign spatial prefilter parameters |
#Params | 2 |
Param[0] |
Luminance filter
0=Off
1=1D Horizontal
2=1D Vertical
3=2D H/V Separable (default)
4=2D Symmetric non-separable
|
Param[1] |
Chrominance filter
0=Off
1=1D Horizontal (default)
|
#Results | 0 |
Name | 177 |
Enum | 0xB1 |
Description | 3:2 pulldown properties |
#Params | 1 |
Param[0] | 0=enabled
1=disabled |
#Results | 0 |
Name | 183 |
Enum | 0xB7 |
Description | Selects VBI line number.
|
#Params | 5 |
Param[0] | Bit 31 0=top_field, 1=bottom_field
Bits 4:0 line number
Bits 31:0 all set specifies "all lines" |
Param[1] | VBI line information features: 0=disabled, 1=enabled |
Param[2] | Slicing: 0=None, 1=Closed Caption |
Param[3] | Luminance samples in this line |
Param[4] | Chrominance samples in this line |
#Results | 0 |
Name | 185 |
Enum | 0xB9 |
Description | Assign stream type |
#Params | 1 |
Param[0] |
0=Program Stream
1=Transport Stream
2=MPEG1 stream
3=PES A/V
5=PES Video
7=PES Audio
10=DVD Stream
11=VCD stream
|
#Results | 0 |
Name | 187 |
Enum | 0xBB |
Description | Assign stream output port (not recommended you change setting from default) |
#Params | 1 |
Param[0] |
0=Memory (default)
1=Streaming
2=Serial
|
#Results | 0 |
Name | 189 |
Enum | 0xBD |
Description | Set audio stream properties, may be called while encoding is in progress.
Note: all bitfields are consistent with ISO11172 documentation except bits 3:2
which ISO docs define as
'11' Layer I
'10' Layer II
'01' Layer III
'00' Undefined
This discrepancy may indicate a possible error in the documentation.
|
---|
#Params | 1 |
Param[0] |
Bitmask
1:0 '00' 44.1Khz
'01' 48Khz
'10' 32Khz
'11' reserved
3:2 '01'=Layer I, '10'=Layer II
7:4 Bitrate
Index | Layer I | Layer II
------+-------------+------------
'0000' | free format | free format
'0001' | 32 kbit/s | 32 kbit/s
'0010' | 64 kbit/s | 48 kbit/s
'0011' | 96 kbit/s | 56 kbit/s
'0100' | 128 kbit/s | 64 kbit/s
'0101' | 160 kbit/s | 80 kbit/s
'0110' | 192 kbit/s | 96 kbit/s
'0111' | 224 kbit/s | 112 kbit/s
'1000' | 256 kbit/s | 128 kbit/s
'1001' | 288 kbit/s | 160 kbit/s
'1010' | 320 kbit/s | 192 kbit/s
'1011' | 352 kbit/s | 224 kbit/s
'1100' | 384 kbit/s | 256 kbit/s
'1101' | 416 kbit/s | 320 kbit/s
'1110' | 448 kbit/s | 384 kbit/s
Note: For Layer II, not all combinations of total bitrate
and mode are allowed. See ISO11172-3 3-Annex B, Table 3-B.2
9:8 '00'=Stereo
'01'=JointStereo
'10'=Dual
'11'=Mono
11:10 Mode Extension used in joint_stereo mode.
In Layer I and II they indicate which
subbands are in intensity_stereo.
All other subbands are coded in stereo.
'00' subbands 4-31 in intensity_stereo, bound==4
'01' subbands 8-31 in intensity_stereo, bound==8
'10' subbands 12-31 in intensity_stereo, bound==12
'11' subbands 16-31 in intensity_stereo, bound==16
13:12 Emphasis
'00' None
'01' 50/15uS
'10' reserved
'11' CCITT J.17
14 CRC
'0' off
'1' on
15 Copyright
'0' off
'1' on
16 Generation
'0' copy
'1' original |
#Results | 0 |
Name | 195 |
Enum | 0xC3 |
Description | The firmware is halted and no further API calls are serviced until the firmware is uploaded again.
|
#Params | 0 |
#Results | 0 |
Name | 196 |
Enum | 0xC4 |
Description | Returns the version of the encoder firmware. |
#Params | 0 |
#Results | 1 |
Result[0] | Version bitmask:
Bits 31:24 major
Bits 23:16 minor
Bits 15:0 build |
Name | 197 |
Enum | 0xC5 |
Description | Assigns the GOP open/close property. |
#Params | 1 |
Param[0] | 0=Open
1=Closed |
#Results | 0 |
Name | 198 |
Enum | 0xC6 |
Description | Obtains the sequence end code of the encoder's buffer. When a capture is started a number of
interrupts are still generated, the last of which will have Result[0] set to 1 and Result[1]
will contain the size of the buffer.
|
#Params | 0 |
#Results | 2 |
Result[0] | State of the transfer (1 if last buffer) |
Result[1] | If Result[0] is 1, this contains the size of the last buffer, undefined otherwise. |
Name | 199 |
Enum | 0xC7 |
Description | Sets the Program Index Information. |
#Params | 2 |
Param[0] | Picture Mask:
0=No index capture
1=I frames
3=I,P frames
7=I,P,B frames |
Param[1] | Elements requested (up to 400) |
#Results | 2 |
Result[0] | Offset in SDF memory of the table. |
Result[1] | Number of allocated elements up to a maximum of Param[1] |
Name | 200 |
Enum | 0xC8 |
Description | Configure VBI settings
|
#Params | 7 |
Param[0] |
Bitmap:
0 Mode '0' Sliced, '1' Raw
3:1 insertion
'000' insert in extension & user data
'001' insert in private packets
'010' separate stream and user data
'111' separate stream and private data
15:8 Stream ID (normally 0xBD)
|
Param[1] | Frames per interrupt (max 8). Only valid in raw mode. |
Param[2] | Total raw VBI frames. Only valid in raw mode. |
Param[3] | Start codes |
Param[4] | Stop codes |
Param[5] | Lines per frame |
Param[6] | Byte per line |
#Results | 3 |
Result[0] | Observed frames per interrupt in raw mode only. Rage 1 to Param[1] |
Result[1] | Observed number of frames in raw mode. Range 1 to Param[2] |
Result[2] | Memory offset to start or raw VBI data |
Name | 201 |
Enum | 0xC9 |
Description | Set DMA transfer block size |
#Params | 2 |
Param[0] | DMA transfer block size in bytes or frames. When unit is bytes, supported block sizes are 2^7, 2^8 and 2^9 bytes.
|
Param[1] | unit: 0=bytes, 1=frames |
#Results | 0 |
Name | 202 |
Enum | 0xCA |
Description | Returns information on the previous DMA transfer in conjunction with bit27
of the interrupt mask. Uses mailbox 10.
|
#Params | 0 |
#Results | 3 |
Result[0] | Type of stream |
Result[1] | Address Offset |
Result[2] | Maximum size of transfer |
Name | 203 |
Enum | 0xCB |
Description | Returns information on the previous DMA transfer in conjunction with bit27
of the interrupt mask. Uses mailbox 9.
|
#Params | 0 |
#Results | 4 |
Result[0] | Status bits:
Bit0 set indicates transfer complete
Bit2 set indicates transfer error
Bit4 set indicates linked list error |
Result[1] | DMA type |
Result[2] | Presentation Time Stamp bits 31..0 |
Result[3] | Presentation Time Stamp bit 32 |
Name | 204 |
Enum | 0xCC |
Description | Setup DMA to host operation |
#Params | 3 |
Param[0] | Memory address of link list |
Param[1] | Length of link list (wtf: what units ???) |
Param[2] | DMA type (0=MPEG) |
#Results | 0 |
Name | 205 |
Enum | 0xCD |
Description | Initializes the video input |
#Params | 0 |
#Results | 0 |
Name | 208 |
Enum | 0xD0 |
Description | For each frame captured, skip specified number of frames. |
#Params | 1 |
Param[0] | number of frames to skip |
#Results | 0 |
Name | 210 |
Enum | 0xD2 |
Description | During a pause condition, all frames are dropped instead of being encoded. |
#Params | 1 |
Param[0] | 0=Pause encoding
1=Continue encoding |
#Results | 0 |
Name | 211 |
Enum | 0xD3 |
Description | Refreshes the video input |
#Params | 0 |
#Results | 0 |
Name | 212 |
Enum | 0xD4 |
Description | Sets stream copyright property |
#Params | 1 |
Param[0] | 0=Stream is not copyrighted
1=Stream is copyrighted |
#Results | 0 |
Name | 213 |
Enum | 0xD5 |
Description | Setup firmware to notify the host about a particular event. Host must unmask the interrupt bit. |
#Params | 4 |
Param[0] | Event (0=refresh encoder input) |
Param[1] | Notification 0=disabled 1=enabled |
Param[2] | Interrupt bit |
Param[3] | Mailbox slot, -1 if no mailbox required. |
#Results | 0 |
Name | 214 |
Enum | 0xD6 |
Description | Depending on the analog video decoder used, this assigns the number of lines for field 1 and 2. |
#Params | 2 |
Param[0] | Field 1 number of lines:
0x00EF for SAA7114
0x00F0 for SAA7115
0x0105 for Micronas |
Param[1] | Field 2 number of lines:
0x00EF for SAA7114
0x00F0 for SAA7115
0x0106 for Micronas |
#Results | 0 |
Name | 215 |
Enum | 0xD7 |
Description | Provides a mechanism of inserting custom user data in the MPEG stream. |
#Params | 12 |
Param[0] | 0=extension & user data
1=private packet with stream ID 0xBD |
Param[1] | Rate at which to insert data, in units of frames (for private packet)
or GOPs (for ext. & user data) |
Param[2] | Number of data DWORDs (below) to insert |
Param[3] | custom data 0 |
Param[4] | custom data 1 |
Param[5] | custom data 2 |
Param[6] | custom data 3 |
Param[7] | custom data 4 |
Param[8] | custom data 5 |
Param[9] | custom data 6 |
Param[10] | custom data 7 |
Param[11] | custom data 8 |
#Results | 0 |
Name | 217 |
Enum | 0xD9 |
Description | Video muting
|
#Params | 1 |
Param[0] |
Bit usage
0 '0'=video not muted, '1'=video muted, creates frames with the YUV color defined below
7:1 unused
15:8 V chrominance information
23:16 U chrominance information
31:24 Y luminance information
|
#Results | 0 |
Name | 218 |
Enum | 0xDA |
Description | Audio muting
|
#Params | 1 |
Param[0] | 0=audio not muted
1=audio muted (produces silent mpeg audio stream) |
#Results | 0 |
|