diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2006-12-20 04:50:18 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-02-21 10:34:14 -0500 |
commit | d84e2bdca6e168557639b29c9244cbcf2500fe21 (patch) | |
tree | 99114140c76dc665b8abd9791308062efe03fadc /Documentation/video4linux/cx2341x/fw-encoder-api.txt | |
parent | 75558ab92dc95c3b5a99df7c77e95a6e8484e05c (diff) |
V4L/DVB (4987): Improve cx2341x documentation
Document the program index table format, removed unused interrupt documentation
and improve the documentation regarding the audio mode (stereo/joint/dual/mono).
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'Documentation/video4linux/cx2341x/fw-encoder-api.txt')
-rw-r--r-- | Documentation/video4linux/cx2341x/fw-encoder-api.txt | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/Documentation/video4linux/cx2341x/fw-encoder-api.txt b/Documentation/video4linux/cx2341x/fw-encoder-api.txt index 2412718c3d0b..fe02bdb84598 100644 --- a/Documentation/video4linux/cx2341x/fw-encoder-api.txt +++ b/Documentation/video4linux/cx2341x/fw-encoder-api.txt | |||
@@ -322,9 +322,7 @@ Param[0] | |||
322 | '01'=JointStereo | 322 | '01'=JointStereo |
323 | '10'=Dual | 323 | '10'=Dual |
324 | '11'=Mono | 324 | '11'=Mono |
325 | Note: testing seems to indicate that Mono and possibly | 325 | Note: the cx23415 cannot decode Joint Stereo properly. |
326 | JointStereo are not working (default to stereo). | ||
327 | Dual does work, though. | ||
328 | 326 | ||
329 | 10:11 Mode Extension used in joint_stereo mode. | 327 | 10:11 Mode Extension used in joint_stereo mode. |
330 | In Layer I and II they indicate which subbands are in | 328 | In Layer I and II they indicate which subbands are in |
@@ -403,16 +401,34 @@ Name CX2341X_ENC_SET_PGM_INDEX_INFO | |||
403 | Enum 199/0xC7 | 401 | Enum 199/0xC7 |
404 | Description | 402 | Description |
405 | Sets the Program Index Information. | 403 | Sets the Program Index Information. |
404 | The information is stored as follows: | ||
405 | |||
406 | struct info { | ||
407 | u32 length; // Length of this frame | ||
408 | u32 offset_low; // Offset in the file of the | ||
409 | u32 offset_high; // start of this frame | ||
410 | u32 mask1; // Bits 0-1 are the type mask: | ||
411 | // 1=I, 2=P, 4=B | ||
412 | u32 pts; // The PTS of the frame | ||
413 | u32 mask2; // Bit 0 is bit 32 of the pts. | ||
414 | }; | ||
415 | u32 table_ptr; | ||
416 | struct info index[400]; | ||
417 | |||
418 | The table_ptr is the encoder memory address in the table were | ||
419 | *new* entries will be written. Note that this is a ringbuffer, | ||
420 | so the table_ptr will wraparound. | ||
406 | Param[0] | 421 | Param[0] |
407 | Picture Mask: | 422 | Picture Mask: |
408 | 0=No index capture | 423 | 0=No index capture |
409 | 1=I frames | 424 | 1=I frames |
410 | 3=I,P frames | 425 | 3=I,P frames |
411 | 7=I,P,B frames | 426 | 7=I,P,B frames |
427 | (Seems to be ignored, it always indexes I, P and B frames) | ||
412 | Param[1] | 428 | Param[1] |
413 | Elements requested (up to 400) | 429 | Elements requested (up to 400) |
414 | Result[0] | 430 | Result[0] |
415 | Offset in SDF memory of the table. | 431 | Offset in the encoder memory of the start of the table. |
416 | Result[1] | 432 | Result[1] |
417 | Number of allocated elements up to a maximum of Param[1] | 433 | Number of allocated elements up to a maximum of Param[1] |
418 | 434 | ||