fw-encoder-api.txt 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709
  1. Encoder firmware API description
  2. ================================
  3. -------------------------------------------------------------------------------
  4. Name CX2341X_ENC_PING_FW
  5. Enum 128/0x80
  6. Description
  7. Does nothing. Can be used to check if the firmware is responding.
  8. -------------------------------------------------------------------------------
  9. Name CX2341X_ENC_START_CAPTURE
  10. Enum 129/0x81
  11. Description
  12. Commences the capture of video, audio and/or VBI data. All encoding
  13. parameters must be initialized prior to this API call. Captures frames
  14. continuously or until a predefined number of frames have been captured.
  15. Param[0]
  16. Capture stream type:
  17. 0=MPEG
  18. 1=Raw
  19. 2=Raw passthrough
  20. 3=VBI
  21. Param[1]
  22. Bitmask:
  23. Bit 0 when set, captures YUV
  24. Bit 1 when set, captures PCM audio
  25. Bit 2 when set, captures VBI (same as param[0]=3)
  26. Bit 3 when set, the capture destination is the decoder
  27. (same as param[0]=2)
  28. Bit 4 when set, the capture destination is the host
  29. Note: this parameter is only meaningful for RAW capture type.
  30. -------------------------------------------------------------------------------
  31. Name CX2341X_ENC_STOP_CAPTURE
  32. Enum 130/0x82
  33. Description
  34. Ends a capture in progress
  35. Param[0]
  36. 0=stop at end of GOP (generates IRQ)
  37. 1=stop immediate (no IRQ)
  38. Param[1]
  39. Stream type to stop, see param[0] of API 0x81
  40. Param[2]
  41. Subtype, see param[1] of API 0x81
  42. -------------------------------------------------------------------------------
  43. Name CX2341X_ENC_SET_AUDIO_ID
  44. Enum 137/0x89
  45. Description
  46. Assigns the transport stream ID of the encoded audio stream
  47. Param[0]
  48. Audio Stream ID
  49. -------------------------------------------------------------------------------
  50. Name CX2341X_ENC_SET_VIDEO_ID
  51. Enum 139/0x8B
  52. Description
  53. Set video transport stream ID
  54. Param[0]
  55. Video stream ID
  56. -------------------------------------------------------------------------------
  57. Name CX2341X_ENC_SET_PCR_ID
  58. Enum 141/0x8D
  59. Description
  60. Assigns the transport stream ID for PCR packets
  61. Param[0]
  62. PCR Stream ID
  63. -------------------------------------------------------------------------------
  64. Name CX2341X_ENC_SET_FRAME_RATE
  65. Enum 143/0x8F
  66. Description
  67. Set video frames per second. Change occurs at start of new GOP.
  68. Param[0]
  69. 0=30fps
  70. 1=25fps
  71. -------------------------------------------------------------------------------
  72. Name CX2341X_ENC_SET_FRAME_SIZE
  73. Enum 145/0x91
  74. Description
  75. Select video stream encoding resolution.
  76. Param[0]
  77. Height in lines. Default 480
  78. Param[1]
  79. Width in pixels. Default 720
  80. -------------------------------------------------------------------------------
  81. Name CX2341X_ENC_SET_BIT_RATE
  82. Enum 149/0x95
  83. Description
  84. Assign average video stream bitrate. Note on the last three params:
  85. Param[3] and [4] seem to be always 0, param [5] doesn't seem to be used.
  86. Param[0]
  87. 0=variable bitrate, 1=constant bitrate
  88. Param[1]
  89. bitrate in bits per second
  90. Param[2]
  91. peak bitrate in bits per second, divided by 400
  92. Param[3]
  93. Mux bitrate in bits per second, divided by 400. May be 0 (default).
  94. Param[4]
  95. Rate Control VBR Padding
  96. Param[5]
  97. VBV Buffer used by encoder
  98. -------------------------------------------------------------------------------
  99. Name CX2341X_ENC_SET_GOP_PROPERTIES
  100. Enum 151/0x97
  101. Description
  102. Setup the GOP structure
  103. Param[0]
  104. GOP size (maximum is 34)
  105. Param[1]
  106. Number of B frames between the I and P frame, plus 1.
  107. For example: IBBPBBPBBPBB --> GOP size: 12, number of B frames: 2+1 = 3
  108. Note that GOP size must be a multiple of (B-frames + 1).
  109. -------------------------------------------------------------------------------
  110. Name CX2341X_ENC_SET_ASPECT_RATIO
  111. Enum 153/0x99
  112. Description
  113. Sets the encoding aspect ratio. Changes in the aspect ratio take effect
  114. at the start of the next GOP.
  115. Param[0]
  116. '0000' forbidden
  117. '0001' 1:1 square
  118. '0010' 4:3
  119. '0011' 16:9
  120. '0100' 2.21:1
  121. '0101' reserved
  122. ....
  123. '1111' reserved
  124. -------------------------------------------------------------------------------
  125. Name CX2341X_ENC_SET_DNR_FILTER_MODE
  126. Enum 155/0x9B
  127. Description
  128. Assign Dynamic Noise Reduction operating mode
  129. Param[0]
  130. Bit0: Spatial filter, set=auto, clear=manual
  131. Bit1: Temporal filter, set=auto, clear=manual
  132. Param[1]
  133. Median filter:
  134. 0=Disabled
  135. 1=Horizontal
  136. 2=Vertical
  137. 3=Horiz/Vert
  138. 4=Diagonal
  139. -------------------------------------------------------------------------------
  140. Name CX2341X_ENC_SET_DNR_FILTER_PROPS
  141. Enum 157/0x9D
  142. Description
  143. These Dynamic Noise Reduction filter values are only meaningful when
  144. the respective filter is set to "manual" (See API 0x9B)
  145. Param[0]
  146. Spatial filter: default 0, range 0:15
  147. Param[1]
  148. Temporal filter: default 0, range 0:31
  149. -------------------------------------------------------------------------------
  150. Name CX2341X_ENC_SET_CORING_LEVELS
  151. Enum 159/0x9F
  152. Description
  153. Assign Dynamic Noise Reduction median filter properties.
  154. Param[0]
  155. Threshold above which the luminance median filter is enabled.
  156. Default: 0, range 0:255
  157. Param[1]
  158. Threshold below which the luminance median filter is enabled.
  159. Default: 255, range 0:255
  160. Param[2]
  161. Threshold above which the chrominance median filter is enabled.
  162. Default: 0, range 0:255
  163. Param[3]
  164. Threshold below which the chrominance median filter is enabled.
  165. Default: 255, range 0:255
  166. -------------------------------------------------------------------------------
  167. Name CX2341X_ENC_SET_SPATIAL_FILTER_TYPE
  168. Enum 161/0xA1
  169. Description
  170. Assign spatial prefilter parameters
  171. Param[0]
  172. Luminance filter
  173. 0=Off
  174. 1=1D Horizontal
  175. 2=1D Vertical
  176. 3=2D H/V Separable (default)
  177. 4=2D Symmetric non-separable
  178. Param[1]
  179. Chrominance filter
  180. 0=Off
  181. 1=1D Horizontal (default)
  182. -------------------------------------------------------------------------------
  183. Name CX2341X_ENC_SET_VBI_LINE
  184. Enum 183/0xB7
  185. Description
  186. Selects VBI line number.
  187. Param[0]
  188. Bits 0:4 line number
  189. Bit 31 0=top_field, 1=bottom_field
  190. Bits 0:31 all set specifies "all lines"
  191. Param[1]
  192. VBI line information features: 0=disabled, 1=enabled
  193. Param[2]
  194. Slicing: 0=None, 1=Closed Caption
  195. Almost certainly not implemented. Set to 0.
  196. Param[3]
  197. Luminance samples in this line.
  198. Almost certainly not implemented. Set to 0.
  199. Param[4]
  200. Chrominance samples in this line
  201. Almost certainly not implemented. Set to 0.
  202. -------------------------------------------------------------------------------
  203. Name CX2341X_ENC_SET_STREAM_TYPE
  204. Enum 185/0xB9
  205. Description
  206. Assign stream type
  207. Note: Transport stream is not working in recent firmwares.
  208. And in older firmwares the timestamps in the TS seem to be
  209. unreliable.
  210. Param[0]
  211. 0=Program stream
  212. 1=Transport stream
  213. 2=MPEG1 stream
  214. 3=PES A/V stream
  215. 5=PES Video stream
  216. 7=PES Audio stream
  217. 10=DVD stream
  218. 11=VCD stream
  219. 12=SVCD stream
  220. 13=DVD_S1 stream
  221. 14=DVD_S2 stream
  222. -------------------------------------------------------------------------------
  223. Name CX2341X_ENC_SET_OUTPUT_PORT
  224. Enum 187/0xBB
  225. Description
  226. Assign stream output port. Normally 0 when the data is copied through
  227. the PCI bus (DMA), and 1 when the data is streamed to another chip
  228. (pvrusb and cx88-blackbird).
  229. Param[0]
  230. 0=Memory (default)
  231. 1=Streaming
  232. 2=Serial
  233. Param[1]
  234. Unknown, but leaving this to 0 seems to work best. Indications are that
  235. this might have to do with USB support, although passing anything but 0
  236. only breaks things.
  237. -------------------------------------------------------------------------------
  238. Name CX2341X_ENC_SET_AUDIO_PROPERTIES
  239. Enum 189/0xBD
  240. Description
  241. Set audio stream properties, may be called while encoding is in progress.
  242. Note: all bitfields are consistent with ISO11172 documentation except
  243. bits 2:3 which ISO docs define as:
  244. '11' Layer I
  245. '10' Layer II
  246. '01' Layer III
  247. '00' Undefined
  248. This discrepancy may indicate a possible error in the documentation.
  249. Testing indicated that only Layer II is actually working, and that
  250. the minimum bitrate should be 192 kbps.
  251. Param[0]
  252. Bitmask:
  253. 0:1 '00' 44.1Khz
  254. '01' 48Khz
  255. '10' 32Khz
  256. '11' reserved
  257. 2:3 '01'=Layer I
  258. '10'=Layer II
  259. 4:7 Bitrate:
  260. Index | Layer I | Layer II
  261. ------+-------------+------------
  262. '0000' | free format | free format
  263. '0001' | 32 kbit/s | 32 kbit/s
  264. '0010' | 64 kbit/s | 48 kbit/s
  265. '0011' | 96 kbit/s | 56 kbit/s
  266. '0100' | 128 kbit/s | 64 kbit/s
  267. '0101' | 160 kbit/s | 80 kbit/s
  268. '0110' | 192 kbit/s | 96 kbit/s
  269. '0111' | 224 kbit/s | 112 kbit/s
  270. '1000' | 256 kbit/s | 128 kbit/s
  271. '1001' | 288 kbit/s | 160 kbit/s
  272. '1010' | 320 kbit/s | 192 kbit/s
  273. '1011' | 352 kbit/s | 224 kbit/s
  274. '1100' | 384 kbit/s | 256 kbit/s
  275. '1101' | 416 kbit/s | 320 kbit/s
  276. '1110' | 448 kbit/s | 384 kbit/s
  277. Note: For Layer II, not all combinations of total bitrate
  278. and mode are allowed. See ISO11172-3 3-Annex B, Table 3-B.2
  279. 8:9 '00'=Stereo
  280. '01'=JointStereo
  281. '10'=Dual
  282. '11'=Mono
  283. Note: the cx23415 cannot decode Joint Stereo properly.
  284. 10:11 Mode Extension used in joint_stereo mode.
  285. In Layer I and II they indicate which subbands are in
  286. intensity_stereo. All other subbands are coded in stereo.
  287. '00' subbands 4-31 in intensity_stereo, bound==4
  288. '01' subbands 8-31 in intensity_stereo, bound==8
  289. '10' subbands 12-31 in intensity_stereo, bound==12
  290. '11' subbands 16-31 in intensity_stereo, bound==16
  291. 12:13 Emphasis:
  292. '00' None
  293. '01' 50/15uS
  294. '10' reserved
  295. '11' CCITT J.17
  296. 14 CRC:
  297. '0' off
  298. '1' on
  299. 15 Copyright:
  300. '0' off
  301. '1' on
  302. 16 Generation:
  303. '0' copy
  304. '1' original
  305. -------------------------------------------------------------------------------
  306. Name CX2341X_ENC_HALT_FW
  307. Enum 195/0xC3
  308. Description
  309. The firmware is halted and no further API calls are serviced until the
  310. firmware is uploaded again.
  311. -------------------------------------------------------------------------------
  312. Name CX2341X_ENC_GET_VERSION
  313. Enum 196/0xC4
  314. Description
  315. Returns the version of the encoder firmware.
  316. Result[0]
  317. Version bitmask:
  318. Bits 0:15 build
  319. Bits 16:23 minor
  320. Bits 24:31 major
  321. -------------------------------------------------------------------------------
  322. Name CX2341X_ENC_SET_GOP_CLOSURE
  323. Enum 197/0xC5
  324. Description
  325. Assigns the GOP open/close property.
  326. Param[0]
  327. 0=Open
  328. 1=Closed
  329. -------------------------------------------------------------------------------
  330. Name CX2341X_ENC_GET_SEQ_END
  331. Enum 198/0xC6
  332. Description
  333. Obtains the sequence end code of the encoder's buffer. When a capture
  334. is started a number of interrupts are still generated, the last of
  335. which will have Result[0] set to 1 and Result[1] will contain the size
  336. of the buffer.
  337. Result[0]
  338. State of the transfer (1 if last buffer)
  339. Result[1]
  340. If Result[0] is 1, this contains the size of the last buffer, undefined
  341. otherwise.
  342. -------------------------------------------------------------------------------
  343. Name CX2341X_ENC_SET_PGM_INDEX_INFO
  344. Enum 199/0xC7
  345. Description
  346. Sets the Program Index Information.
  347. The information is stored as follows:
  348. struct info {
  349. u32 length; // Length of this frame
  350. u32 offset_low; // Offset in the file of the
  351. u32 offset_high; // start of this frame
  352. u32 mask1; // Bits 0-2 are the type mask:
  353. // 1=I, 2=P, 4=B
  354. // 0=End of Program Index, other fields
  355. // are invalid.
  356. u32 pts; // The PTS of the frame
  357. u32 mask2; // Bit 0 is bit 32 of the pts.
  358. };
  359. u32 table_ptr;
  360. struct info index[400];
  361. The table_ptr is the encoder memory address in the table were
  362. *new* entries will be written. Note that this is a ringbuffer,
  363. so the table_ptr will wraparound.
  364. Param[0]
  365. Picture Mask:
  366. 0=No index capture
  367. 1=I frames
  368. 3=I,P frames
  369. 7=I,P,B frames
  370. (Seems to be ignored, it always indexes I, P and B frames)
  371. Param[1]
  372. Elements requested (up to 400)
  373. Result[0]
  374. Offset in the encoder memory of the start of the table.
  375. Result[1]
  376. Number of allocated elements up to a maximum of Param[1]
  377. -------------------------------------------------------------------------------
  378. Name CX2341X_ENC_SET_VBI_CONFIG
  379. Enum 200/0xC8
  380. Description
  381. Configure VBI settings
  382. Param[0]
  383. Bitmap:
  384. 0 Mode '0' Sliced, '1' Raw
  385. 1:3 Insertion:
  386. '000' insert in extension & user data
  387. '001' insert in private packets
  388. '010' separate stream and user data
  389. '111' separate stream and private data
  390. 8:15 Stream ID (normally 0xBD)
  391. Param[1]
  392. Frames per interrupt (max 8). Only valid in raw mode.
  393. Param[2]
  394. Total raw VBI frames. Only valid in raw mode.
  395. Param[3]
  396. Start codes
  397. Param[4]
  398. Stop codes
  399. Param[5]
  400. Lines per frame
  401. Param[6]
  402. Byte per line
  403. Result[0]
  404. Observed frames per interrupt in raw mode only. Rage 1 to Param[1]
  405. Result[1]
  406. Observed number of frames in raw mode. Range 1 to Param[2]
  407. Result[2]
  408. Memory offset to start or raw VBI data
  409. -------------------------------------------------------------------------------
  410. Name CX2341X_ENC_SET_DMA_BLOCK_SIZE
  411. Enum 201/0xC9
  412. Description
  413. Set DMA transfer block size
  414. Param[0]
  415. DMA transfer block size in bytes or frames. When unit is bytes,
  416. supported block sizes are 2^7, 2^8 and 2^9 bytes.
  417. Param[1]
  418. Unit: 0=bytes, 1=frames
  419. -------------------------------------------------------------------------------
  420. Name CX2341X_ENC_GET_PREV_DMA_INFO_MB_10
  421. Enum 202/0xCA
  422. Description
  423. Returns information on the previous DMA transfer in conjunction with
  424. bit 27 of the interrupt mask. Uses mailbox 10.
  425. Result[0]
  426. Type of stream
  427. Result[1]
  428. Address Offset
  429. Result[2]
  430. Maximum size of transfer
  431. -------------------------------------------------------------------------------
  432. Name CX2341X_ENC_GET_PREV_DMA_INFO_MB_9
  433. Enum 203/0xCB
  434. Description
  435. Returns information on the previous DMA transfer in conjunction with
  436. bit 27 or 18 of the interrupt mask. Uses mailbox 9.
  437. Result[0]
  438. Status bits:
  439. 0 read completed
  440. 1 write completed
  441. 2 DMA read error
  442. 3 DMA write error
  443. 4 Scatter-Gather array error
  444. Result[1]
  445. DMA type
  446. Result[2]
  447. Presentation Time Stamp bits 0..31
  448. Result[3]
  449. Presentation Time Stamp bit 32
  450. -------------------------------------------------------------------------------
  451. Name CX2341X_ENC_SCHED_DMA_TO_HOST
  452. Enum 204/0xCC
  453. Description
  454. Setup DMA to host operation
  455. Param[0]
  456. Memory address of link list
  457. Param[1]
  458. Length of link list (wtf: what units ???)
  459. Param[2]
  460. DMA type (0=MPEG)
  461. -------------------------------------------------------------------------------
  462. Name CX2341X_ENC_INITIALIZE_INPUT
  463. Enum 205/0xCD
  464. Description
  465. Initializes the video input
  466. -------------------------------------------------------------------------------
  467. Name CX2341X_ENC_SET_FRAME_DROP_RATE
  468. Enum 208/0xD0
  469. Description
  470. For each frame captured, skip specified number of frames.
  471. Param[0]
  472. Number of frames to skip
  473. -------------------------------------------------------------------------------
  474. Name CX2341X_ENC_PAUSE_ENCODER
  475. Enum 210/0xD2
  476. Description
  477. During a pause condition, all frames are dropped instead of being encoded.
  478. Param[0]
  479. 0=Pause encoding
  480. 1=Continue encoding
  481. -------------------------------------------------------------------------------
  482. Name CX2341X_ENC_REFRESH_INPUT
  483. Enum 211/0xD3
  484. Description
  485. Refreshes the video input
  486. -------------------------------------------------------------------------------
  487. Name CX2341X_ENC_SET_COPYRIGHT
  488. Enum 212/0xD4
  489. Description
  490. Sets stream copyright property
  491. Param[0]
  492. 0=Stream is not copyrighted
  493. 1=Stream is copyrighted
  494. -------------------------------------------------------------------------------
  495. Name CX2341X_ENC_SET_EVENT_NOTIFICATION
  496. Enum 213/0xD5
  497. Description
  498. Setup firmware to notify the host about a particular event. Host must
  499. unmask the interrupt bit.
  500. Param[0]
  501. Event (0=refresh encoder input)
  502. Param[1]
  503. Notification 0=disabled 1=enabled
  504. Param[2]
  505. Interrupt bit
  506. Param[3]
  507. Mailbox slot, -1 if no mailbox required.
  508. -------------------------------------------------------------------------------
  509. Name CX2341X_ENC_SET_NUM_VSYNC_LINES
  510. Enum 214/0xD6
  511. Description
  512. Depending on the analog video decoder used, this assigns the number
  513. of lines for field 1 and 2.
  514. Param[0]
  515. Field 1 number of lines:
  516. 0x00EF for SAA7114
  517. 0x00F0 for SAA7115
  518. 0x0105 for Micronas
  519. Param[1]
  520. Field 2 number of lines:
  521. 0x00EF for SAA7114
  522. 0x00F0 for SAA7115
  523. 0x0106 for Micronas
  524. -------------------------------------------------------------------------------
  525. Name CX2341X_ENC_SET_PLACEHOLDER
  526. Enum 215/0xD7
  527. Description
  528. Provides a mechanism of inserting custom user data in the MPEG stream.
  529. Param[0]
  530. 0=extension & user data
  531. 1=private packet with stream ID 0xBD
  532. Param[1]
  533. Rate at which to insert data, in units of frames (for private packet)
  534. or GOPs (for ext. & user data)
  535. Param[2]
  536. Number of data DWORDs (below) to insert
  537. Param[3]
  538. Custom data 0
  539. Param[4]
  540. Custom data 1
  541. Param[5]
  542. Custom data 2
  543. Param[6]
  544. Custom data 3
  545. Param[7]
  546. Custom data 4
  547. Param[8]
  548. Custom data 5
  549. Param[9]
  550. Custom data 6
  551. Param[10]
  552. Custom data 7
  553. Param[11]
  554. Custom data 8
  555. -------------------------------------------------------------------------------
  556. Name CX2341X_ENC_MUTE_VIDEO
  557. Enum 217/0xD9
  558. Description
  559. Video muting
  560. Param[0]
  561. Bit usage:
  562. 0 '0'=video not muted
  563. '1'=video muted, creates frames with the YUV color defined below
  564. 1:7 Unused
  565. 8:15 V chrominance information
  566. 16:23 U chrominance information
  567. 24:31 Y luminance information
  568. -------------------------------------------------------------------------------
  569. Name CX2341X_ENC_MUTE_AUDIO
  570. Enum 218/0xDA
  571. Description
  572. Audio muting
  573. Param[0]
  574. 0=audio not muted
  575. 1=audio muted (produces silent mpeg audio stream)
  576. -------------------------------------------------------------------------------
  577. Name CX2341X_ENC_SET_VERT_CROP_LINE
  578. Enum 219/0xDB
  579. Description
  580. Something to do with 'Vertical Crop Line'
  581. Param[0]
  582. If saa7114 and raw VBI capture and 60 Hz, then set to 10001.
  583. Else 0.
  584. -------------------------------------------------------------------------------
  585. Name CX2341X_ENC_MISC
  586. Enum 220/0xDC
  587. Description
  588. Miscellaneous actions. Not known for 100% what it does. It's really a
  589. sort of ioctl call. The first parameter is a command number, the second
  590. the value.
  591. Param[0]
  592. Command number:
  593. 1=set initial SCR value when starting encoding (works).
  594. 2=set quality mode (apparently some test setting).
  595. 3=setup advanced VIM protection handling.
  596. Always 1 for the cx23416 and 0 for cx23415.
  597. 4=generate DVD compatible PTS timestamps
  598. 5=USB flush mode
  599. 6=something to do with the quantization matrix
  600. 7=set navigation pack insertion for DVD: adds 0xbf (private stream 2)
  601. packets to the MPEG. The size of these packets is 2048 bytes (including
  602. the header of 6 bytes: 0x000001bf + length). The payload is zeroed and
  603. it is up to the application to fill them in. These packets are apparently
  604. inserted every four frames.
  605. 8=enable scene change detection (seems to be a failure)
  606. 9=set history parameters of the video input module
  607. 10=set input field order of VIM
  608. 11=set quantization matrix
  609. 12=reset audio interface after channel change or input switch (has no argument).
  610. Needed for the cx2584x, not needed for the mspx4xx, but it doesn't seem to
  611. do any harm calling it regardless.
  612. 13=set audio volume delay
  613. 14=set audio delay
  614. Param[1]
  615. Command value.