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.
|
Setup firmware to notify the host about a particular event.
|
||||||
Counterpart to API 0xD5
|
Counterpart to API 0xD5
|
||||||
Param[0]
|
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: 3=Decoder started
|
||||||
Event: 4=Unknown: goes off 10-15 times per second while decoding.
|
Event: 4=Unknown: goes off 10-15 times per second while decoding.
|
||||||
Event: 5=Some sync event: goes off once per frame.
|
Event: 5=Some sync event: goes off once per frame.
|
||||||
|
|
|
@ -322,9 +322,7 @@ Param[0]
|
||||||
'01'=JointStereo
|
'01'=JointStereo
|
||||||
'10'=Dual
|
'10'=Dual
|
||||||
'11'=Mono
|
'11'=Mono
|
||||||
Note: testing seems to indicate that Mono and possibly
|
Note: the cx23415 cannot decode Joint Stereo properly.
|
||||||
JointStereo are not working (default to stereo).
|
|
||||||
Dual does work, though.
|
|
||||||
|
|
||||||
10:11 Mode Extension used in joint_stereo mode.
|
10:11 Mode Extension used in joint_stereo mode.
|
||||||
In Layer I and II they indicate which subbands are in
|
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
|
Enum 199/0xC7
|
||||||
Description
|
Description
|
||||||
Sets the Program Index Information.
|
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]
|
Param[0]
|
||||||
Picture Mask:
|
Picture Mask:
|
||||||
0=No index capture
|
0=No index capture
|
||||||
1=I frames
|
1=I frames
|
||||||
3=I,P frames
|
3=I,P frames
|
||||||
7=I,P,B frames
|
7=I,P,B frames
|
||||||
|
(Seems to be ignored, it always indexes I, P and B frames)
|
||||||
Param[1]
|
Param[1]
|
||||||
Elements requested (up to 400)
|
Elements requested (up to 400)
|
||||||
Result[0]
|
Result[0]
|
||||||
Offset in SDF memory of the table.
|
Offset in the encoder memory of the start of the table.
|
||||||
Result[1]
|
Result[1]
|
||||||
Number of allocated elements up to a maximum of Param[1]
|
Number of allocated elements up to a maximum of Param[1]
|
||||||
|
|
||||||
|
|
|
@ -123,12 +123,8 @@ Bit
|
||||||
29 Encoder VBI capture
|
29 Encoder VBI capture
|
||||||
28 Encoder Video Input Module reset event
|
28 Encoder Video Input Module reset event
|
||||||
27 Encoder DMA complete
|
27 Encoder DMA complete
|
||||||
26
|
|
||||||
25 Decoder copy protect detection event
|
|
||||||
24 Decoder audio mode change detection event (through event notification)
|
24 Decoder audio mode change detection event (through event notification)
|
||||||
23
|
|
||||||
22 Decoder data request
|
22 Decoder data request
|
||||||
21 Decoder I-Frame? done
|
|
||||||
20 Decoder DMA complete
|
20 Decoder DMA complete
|
||||||
19 Decoder VBI re-insertion
|
19 Decoder VBI re-insertion
|
||||||
18 Decoder DMA err (linked-list bad)
|
18 Decoder DMA err (linked-list bad)
|
||||||
|
|
Loading…
Reference in a new issue