710 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			710 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
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. Note on the last three params:
 | 
						|
	Param[3] and [4] seem to be always 0, param [5] doesn't seem to be used.
 | 
						|
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
 | 
						|
Param[3]
 | 
						|
	Mux bitrate in bits per second, divided by 400. May be 0 (default).
 | 
						|
Param[4]
 | 
						|
	Rate Control VBR Padding
 | 
						|
Param[5]
 | 
						|
	VBV Buffer used by encoder
 | 
						|
 | 
						|
-------------------------------------------------------------------------------
 | 
						|
 | 
						|
Name 	CX2341X_ENC_SET_GOP_PROPERTIES
 | 
						|
Enum 	151/0x97
 | 
						|
Description
 | 
						|
	Setup the GOP structure
 | 
						|
Param[0]
 | 
						|
	GOP size (maximum is 34)
 | 
						|
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
 | 
						|
	Note that GOP size must be a multiple of (B-frames + 1).
 | 
						|
 | 
						|
-------------------------------------------------------------------------------
 | 
						|
 | 
						|
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_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
 | 
						|
	Note: Transport stream is not working in recent firmwares.
 | 
						|
	And in older firmwares the timestamps in the TS seem to be
 | 
						|
	unreliable.
 | 
						|
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. Normally 0 when the data is copied through
 | 
						|
	the PCI bus (DMA), and 1 when the data is streamed to another chip
 | 
						|
	(pvrusb and cx88-blackbird).
 | 
						|
Param[0]
 | 
						|
	0=Memory (default)
 | 
						|
	1=Streaming
 | 
						|
	2=Serial
 | 
						|
Param[1]
 | 
						|
	Unknown, but leaving this to 0 seems to work best. Indications are that
 | 
						|
	this might have to do with USB support, although passing anything but 0
 | 
						|
	only breaks things.
 | 
						|
 | 
						|
-------------------------------------------------------------------------------
 | 
						|
 | 
						|
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.
 | 
						|
	Testing indicated that only Layer II is actually working, and that
 | 
						|
	the minimum bitrate should be 192 kbps.
 | 
						|
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
 | 
						|
		Note: the cx23415 cannot decode Joint Stereo properly.
 | 
						|
 | 
						|
	  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.
 | 
						|
	The information is stored as follows:
 | 
						|
 | 
						|
	struct info {
 | 
						|
		u32 length;		// Length of this frame
 | 
						|
		u32 offset_low;		// Offset in the file of the
 | 
						|
		u32 offset_high;	// start of this frame
 | 
						|
		u32 mask1;		// Bits 0-2 are the type mask:
 | 
						|
					// 1=I, 2=P, 4=B
 | 
						|
					// 0=End of Program Index, other fields
 | 
						|
					//   are invalid.
 | 
						|
		u32 pts;		// The PTS of the frame
 | 
						|
		u32 mask2;		// Bit 0 is bit 32 of the pts.
 | 
						|
	};
 | 
						|
	u32 table_ptr;
 | 
						|
	struct info index[400];
 | 
						|
 | 
						|
	The table_ptr is the encoder memory address in the table were
 | 
						|
	*new* entries will be written. Note that this is a ringbuffer,
 | 
						|
	so the table_ptr will wraparound.
 | 
						|
Param[0]
 | 
						|
	Picture Mask:
 | 
						|
	    0=No index capture
 | 
						|
	    1=I frames
 | 
						|
	    3=I,P frames
 | 
						|
	    7=I,P,B frames
 | 
						|
	(Seems to be ignored, it always indexes I, P and B frames)
 | 
						|
Param[1]
 | 
						|
	Elements requested (up to 400)
 | 
						|
Result[0]
 | 
						|
	Offset in the encoder memory of the start 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 or 18 of the interrupt mask. Uses mailbox 9.
 | 
						|
Result[0]
 | 
						|
	Status bits:
 | 
						|
		0   read completed
 | 
						|
		1   write completed
 | 
						|
		2   DMA read error
 | 
						|
		3   DMA write error
 | 
						|
		4   Scatter-Gather array 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_SET_VERT_CROP_LINE
 | 
						|
Enum 	219/0xDB
 | 
						|
Description
 | 
						|
	Something to do with 'Vertical Crop Line'
 | 
						|
Param[0]
 | 
						|
	If saa7114 and raw VBI capture and 60 Hz, then set to 10001.
 | 
						|
	Else 0.
 | 
						|
 | 
						|
-------------------------------------------------------------------------------
 | 
						|
 | 
						|
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 (works).
 | 
						|
	 2=set quality mode (apparently some test setting).
 | 
						|
	 3=setup advanced VIM protection handling.
 | 
						|
	   Always 1 for the cx23416 and 0 for cx23415.
 | 
						|
	 4=generate DVD compatible PTS timestamps
 | 
						|
	 5=USB flush mode
 | 
						|
	 6=something to do with the quantization matrix
 | 
						|
	 7=set navigation pack insertion for DVD: adds 0xbf (private stream 2)
 | 
						|
	   packets to the MPEG. The size of these packets is 2048 bytes (including
 | 
						|
	   the header of 6 bytes: 0x000001bf + length). The payload is zeroed and
 | 
						|
	   it is up to the application to fill them in. These packets are apparently
 | 
						|
	   inserted every four frames.
 | 
						|
	 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 after channel change or input switch (has no argument).
 | 
						|
	   Needed for the cx2584x, not needed for the mspx4xx, but it doesn't seem to
 | 
						|
	   do any harm calling it regardless.
 | 
						|
	13=set audio volume delay
 | 
						|
	14=set audio delay
 | 
						|
 | 
						|
Param[1]
 | 
						|
	Command value.
 |