mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
V4L/DVB (4193): Update cx2341x fw encoding API doc.
Based on recent tests it turned out that some features are not implemented. This has now been documented. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
18318e0004
commit
54f577b7f4
1 changed files with 18 additions and 2 deletions
|
@ -100,13 +100,20 @@ Param[1]
|
||||||
Name CX2341X_ENC_SET_BIT_RATE
|
Name CX2341X_ENC_SET_BIT_RATE
|
||||||
Enum 149/0x95
|
Enum 149/0x95
|
||||||
Description
|
Description
|
||||||
Assign average video stream bitrate.
|
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]
|
Param[0]
|
||||||
0=variable bitrate, 1=constant bitrate
|
0=variable bitrate, 1=constant bitrate
|
||||||
Param[1]
|
Param[1]
|
||||||
bitrate in bits per second
|
bitrate in bits per second
|
||||||
Param[2]
|
Param[2]
|
||||||
peak bitrate in bits per second, divided by 400
|
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
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -115,10 +122,11 @@ Enum 151/0x97
|
||||||
Description
|
Description
|
||||||
Setup the GOP structure
|
Setup the GOP structure
|
||||||
Param[0]
|
Param[0]
|
||||||
GOP size
|
GOP size (maximum is 34)
|
||||||
Param[1]
|
Param[1]
|
||||||
Number of B frames between the I and P frame, plus 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
|
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).
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -241,6 +249,9 @@ Name CX2341X_ENC_SET_STREAM_TYPE
|
||||||
Enum 185/0xB9
|
Enum 185/0xB9
|
||||||
Description
|
Description
|
||||||
Assign stream type
|
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]
|
Param[0]
|
||||||
0=Program stream
|
0=Program stream
|
||||||
1=Transport stream
|
1=Transport stream
|
||||||
|
@ -278,6 +289,8 @@ Description
|
||||||
'01' Layer III
|
'01' Layer III
|
||||||
'00' Undefined
|
'00' Undefined
|
||||||
This discrepancy may indicate a possible error in the documentation.
|
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]
|
Param[0]
|
||||||
Bitmask:
|
Bitmask:
|
||||||
0:1 '00' 44.1Khz
|
0:1 '00' 44.1Khz
|
||||||
|
@ -313,6 +326,9 @@ Param[0]
|
||||||
'01'=JointStereo
|
'01'=JointStereo
|
||||||
'10'=Dual
|
'10'=Dual
|
||||||
'11'=Mono
|
'11'=Mono
|
||||||
|
Note: testing seems to indicate that Mono and possibly
|
||||||
|
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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue