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>
This commit is contained in:
parent
75558ab92d
commit
d84e2bdca6
3 changed files with 21 additions and 9 deletions
|
@ -236,7 +236,7 @@ Description
|
|||
Setup firmware to notify the host about a particular event.
|
||||
Counterpart to API 0xD5
|
||||
Param[0]
|
||||
Event: 0=Audio mode change between stereo and dual channel
|
||||
Event: 0=Audio mode change between mono, (joint) stereo and dual channel.
|
||||
Event: 3=Decoder started
|
||||
Event: 4=Unknown: goes off 10-15 times per second while decoding.
|
||||
Event: 5=Some sync event: goes off once per frame.
|
||||
|
|
|
@ -322,9 +322,7 @@ Param[0]
|
|||
'01'=JointStereo
|
||||
'10'=Dual
|
||||
'11'=Mono
|
||||
Note: testing seems to indicate that Mono and possibly
|
||||
JointStereo are not working (default to stereo).
|
||||
Dual does work, though.
|
||||
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
|
||||
|
@ -403,16 +401,34 @@ 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-1 are the type mask:
|
||||
// 1=I, 2=P, 4=B
|
||||
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 SDF memory of the table.
|
||||
Offset in the encoder memory of the start of the table.
|
||||
Result[1]
|
||||
Number of allocated elements up to a maximum of Param[1]
|
||||
|
||||
|
|
|
@ -123,12 +123,8 @@ Bit
|
|||
29 Encoder VBI capture
|
||||
28 Encoder Video Input Module reset event
|
||||
27 Encoder DMA complete
|
||||
26
|
||||
25 Decoder copy protect detection event
|
||||
24 Decoder audio mode change detection event (through event notification)
|
||||
23
|
||||
22 Decoder data request
|
||||
21 Decoder I-Frame? done
|
||||
20 Decoder DMA complete
|
||||
19 Decoder VBI re-insertion
|
||||
18 Decoder DMA err (linked-list bad)
|
||||
|
|
Loading…
Reference in a new issue