Encoder firmware API description
================================

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_PING_FW
Enum 	128/0x80
Description
	Does nothing. Can be used to check if the firmware is responding.

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_START_CAPTURE
Enum 	129/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.
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.

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_STOP_CAPTURE
Enum 	130/0x82
Description
	Ends a capture in progress
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

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_SET_AUDIO_ID
Enum 	137/0x89
Description
	Assigns the transport stream ID of the encoded audio stream
Param[0]
	Audio Stream ID

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_SET_VIDEO_ID
Enum 	139/0x8B
Description
	Set video transport stream ID
Param[0]
	Video stream ID

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_SET_PCR_ID
Enum 	141/0x8D
Description
	Assigns the transport stream ID for PCR packets
Param[0]
	PCR Stream ID

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_SET_FRAME_RATE
Enum 	143/0x8F
Description
	Set video frames per second. Change occurs at start of new GOP.
Param[0]
	0=30fps
	1=25fps

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_SET_FRAME_SIZE
Enum 	145/0x91
Description
	Select video stream encoding resolution.
Param[0]
	Height in lines. Default 480
Param[1]
	Width in pixels. Default 720

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_SET_BIT_RATE
Enum 	149/0x95
Description
	Assign average video stream bitrate.
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

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_SET_GOP_PROPERTIES
Enum 	151/0x97
Description
	Setup the GOP structure
Param[0]
	GOP size
Param[1]
	Number of B frames between the I and P frame, plus 1.
	For example: IBBPBBPBBPBB --> GOP size: 12, number of B frames: 2+1 = 3

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_SET_ASPECT_RATIO
Enum 	153/0x99
Description
	Sets the encoding aspect ratio. Changes in the aspect ratio take effect
	at the start of the next GOP.
Param[0]
	'0000' forbidden
	'0001' 1:1 square
	'0010' 4:3
	'0011' 16:9
	'0100' 2.21:1
	'0101' reserved
	 ....
	'1111' reserved

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_SET_DNR_FILTER_MODE
Enum 	155/0x9B
Description
	Assign Dynamic Noise Reduction operating mode
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

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_SET_DNR_FILTER_PROPS
Enum 	157/0x9D
Description
	These Dynamic Noise Reduction filter values are only meaningful when
	the respective filter is set to "manual" (See API 0x9B)
Param[0]
	Spatial filter: default 0, range 0:15
Param[1]
	Temporal filter: default 0, range 0:31

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_SET_CORING_LEVELS
Enum 	159/0x9F
Description
	Assign Dynamic Noise Reduction median filter properties.
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

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_SET_SPATIAL_FILTER_TYPE
Enum 	161/0xA1
Description
	Assign spatial prefilter parameters
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)

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_SET_3_2_PULLDOWN
Enum 	177/0xB1
Description
	3:2 pulldown properties
Param[0]
	0=enabled
	1=disabled

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_SET_VBI_LINE
Enum 	183/0xB7
Description
	Selects VBI line number.
Param[0]
	Bits 0:4 	line number
	Bit  31		0=top_field, 1=bottom_field
	Bits 0:31 	all set specifies "all lines"
Param[1]
	VBI line information features: 0=disabled, 1=enabled
Param[2]
	Slicing: 0=None, 1=Closed Caption
	Almost certainly not implemented. Set to 0.
Param[3]
	Luminance samples in this line.
	Almost certainly not implemented. Set to 0.
Param[4]
	Chrominance samples in this line
	Almost certainly not implemented. Set to 0.

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_SET_STREAM_TYPE
Enum 	185/0xB9
Description
	Assign stream type
Param[0]
	 0=Program stream
	 1=Transport stream
	 2=MPEG1 stream
	 3=PES A/V stream
	 5=PES Video stream
	 7=PES Audio stream
	10=DVD stream
	11=VCD stream
	12=SVCD stream
	13=DVD_S1 stream
	14=DVD_S2 stream

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_SET_OUTPUT_PORT
Enum 	187/0xBB
Description
	Assign stream output port (not recommended you change setting from default)
Param[0]
	0=Memory (default)
	1=Streaming
	2=Serial

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_SET_AUDIO_PROPERTIES
Enum 	189/0xBD
Description
	Set audio stream properties, may be called while encoding is in progress.
	Note: all bitfields are consistent with ISO11172 documentation except
	bits 2:3 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.
Param[0]
	Bitmask:
	   0:1  '00' 44.1Khz
	    	'01' 48Khz
	    	'10' 32Khz
	    	'11' reserved

	   2:3  '01'=Layer I
		'10'=Layer II

	   4:7  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

	   8:9  '00'=Stereo
	    	'01'=JointStereo
	    	'10'=Dual
	    	'11'=Mono

	  10:11 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

	  12:13 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

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_HALT_FW
Enum 	195/0xC3
Description
	The firmware is halted and no further API calls are serviced until the
	firmware is uploaded again.

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_GET_VERSION
Enum 	196/0xC4
Description
	Returns the version of the encoder firmware.
Result[0]
	Version bitmask:
	    Bits  0:15 build
	    Bits 16:23 minor
	    Bits 24:31 major

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_SET_GOP_CLOSURE
Enum 	197/0xC5
Description
	Assigns the GOP open/close property.
Param[0]
	0=Open
	1=Closed

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_GET_SEQ_END
Enum 	198/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.
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 	CX2341X_ENC_SET_PGM_INDEX_INFO
Enum 	199/0xC7
Description
	Sets the Program Index Information.
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)
Result[0]
	Offset in SDF memory of the table.
Result[1]
	Number of allocated elements up to a maximum of Param[1]

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_SET_VBI_CONFIG
Enum 	200/0xC8
Description
	Configure VBI settings
Param[0]
	Bitmap:
	    0    Mode '0' Sliced, '1' Raw
	    1:3  Insertion:
		     '000' insert in extension & user data
		     '001' insert in private packets
		     '010' separate stream and user data
		     '111' separate stream and private data
	    8:15 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
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 	CX2341X_ENC_SET_DMA_BLOCK_SIZE
Enum 	201/0xC9
Description
	Set DMA transfer block size
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

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_GET_PREV_DMA_INFO_MB_10
Enum 	202/0xCA
Description
	Returns information on the previous DMA transfer in conjunction with
	bit 27 of the interrupt mask. Uses mailbox 10.
Result[0]
	Type of stream
Result[1]
	Address Offset
Result[2]
	Maximum size of transfer

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_GET_PREV_DMA_INFO_MB_9
Enum 	203/0xCB
Description
	Returns information on the previous DMA transfer in conjunction with
	bit 27 of the interrupt mask. Uses mailbox 9.
Result[0]
	Status bits:
	    Bit 0 set indicates transfer complete
	    Bit 2 set indicates transfer error
	    Bit 4 set indicates linked list error
Result[1]
	DMA type
Result[2]
	Presentation Time Stamp bits 0..31
Result[3]
	Presentation Time Stamp bit 32

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_SCHED_DMA_TO_HOST
Enum 	204/0xCC
Description
	Setup DMA to host operation
Param[0]
	Memory address of link list
Param[1]
	Length of link list (wtf: what units ???)
Param[2]
	DMA type (0=MPEG)

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_INITIALIZE_INPUT
Enum 	205/0xCD
Description
	Initializes the video input

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_SET_FRAME_DROP_RATE
Enum 	208/0xD0
Description
	For each frame captured, skip specified number of frames.
Param[0]
	Number of frames to skip

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_PAUSE_ENCODER
Enum 	210/0xD2
Description
	During a pause condition, all frames are dropped instead of being encoded.
Param[0]
	0=Pause encoding
	1=Continue encoding

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_REFRESH_INPUT
Enum 	211/0xD3
Description
	Refreshes the video input

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_SET_COPYRIGHT
Enum 	212/0xD4
Description
	Sets stream copyright property
Param[0]
	0=Stream is not copyrighted
	1=Stream is copyrighted

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_SET_EVENT_NOTIFICATION
Enum 	213/0xD5
Description
	Setup firmware to notify the host about a particular event. Host must
	unmask the interrupt bit.
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.

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_SET_NUM_VSYNC_LINES
Enum 	214/0xD6
Description
	Depending on the analog video decoder used, this assigns the number
	of lines for field 1 and 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

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_SET_PLACEHOLDER
Enum 	215/0xD7
Description
	Provides a mechanism of inserting custom user data in the MPEG stream.
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

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_MUTE_VIDEO
Enum 	217/0xD9
Description
	Video muting
Param[0]
	Bit usage:
	 0    	'0'=video not muted
		'1'=video muted, creates frames with the YUV color defined below
	 1:7  	Unused
	 8:15 	V chrominance information
	16:23 	U chrominance information
	24:31 	Y luminance information

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_MUTE_AUDIO
Enum 	218/0xDA
Description
	Audio muting
Param[0]
	0=audio not muted
	1=audio muted (produces silent mpeg audio stream)

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_UNKNOWN
Enum 	219/0xDB
Description
	Unknown API, it's used by Hauppauge though.
Param[0]
	0 This is the value Hauppauge uses, Unknown what it means.

-------------------------------------------------------------------------------

Name 	CX2341X_ENC_MISC
Enum 	220/0xDC
Description
	Miscellaneous actions. Not known for 100% what it does. It's really a
	sort of ioctl call. The first parameter is a command number, the second
	the value.
Param[0]
	Command number:
	 1=set initial SCR value when starting encoding.
	 2=set quality mode (apparently some test setting).
	 3=setup advanced VIM protection handling (supposedly only for the cx23416
	   for raw YUV).
	   Actually it looks like this should be 0 for saa7114/5 based card and 1
	   for cx25840 based cards.
	 4=generate artificial PTS timestamps
	 5=USB flush mode
	 6=something to do with the quantization matrix
	 7=set navigation pack insertion for DVD
	 8=enable scene change detection (seems to be a failure)
	 9=set history parameters of the video input module
	10=set input field order of VIM
	11=set quantization matrix
	12=reset audio interface
	13=set audio volume delay
	14=set audio delay

Param[1]
	Command value.
