From 3c52e7d852cc06e7ebfcb96ff703f116eefb26c9 Mon Sep 17 00:00:00 2001 From: Hans Verkuil Date: Sun, 18 Jun 2006 19:56:12 +0200 Subject: Update cx2341x fw encoding API doc. From: Hans Verkuil Based on recent tests it turned out that some features are not implemented. This has now been documented. Signed-off-by: Hans Verkuil --- .../video4linux/cx2341x/fw-encoder-api.txt | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'linux/Documentation/video4linux/cx2341x/fw-encoder-api.txt') diff --git a/linux/Documentation/video4linux/cx2341x/fw-encoder-api.txt b/linux/Documentation/video4linux/cx2341x/fw-encoder-api.txt index 64cd11134..58c7243d0 100644 --- a/linux/Documentation/video4linux/cx2341x/fw-encoder-api.txt +++ b/linux/Documentation/video4linux/cx2341x/fw-encoder-api.txt @@ -100,13 +100,20 @@ Param[1] Name CX2341X_ENC_SET_BIT_RATE Enum 149/0x95 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] 0=variable bitrate, 1=constant bitrate Param[1] bitrate in bits per second Param[2] 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 Setup the GOP structure Param[0] - GOP size + GOP size (maximum is 34) Param[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 + 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 Description 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] 0=Program stream 1=Transport stream @@ -278,6 +289,8 @@ Description '01' Layer III '00' Undefined 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] Bitmask: 0:1 '00' 44.1Khz @@ -313,6 +326,9 @@ 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. 10:11 Mode Extension used in joint_stereo mode. In Layer I and II they indicate which subbands are in -- cgit v1.2.3 From 6a148432b8af513981b96fef00deeda1f7c52171 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Tue, 20 Jun 2006 00:30:57 -0300 Subject: Whitespace cleanups From: Trent Piepho Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab --- .../video4linux/cx2341x/fw-encoder-api.txt | 80 +++++++++++----------- 1 file changed, 40 insertions(+), 40 deletions(-) (limited to 'linux/Documentation/video4linux/cx2341x/fw-encoder-api.txt') diff --git a/linux/Documentation/video4linux/cx2341x/fw-encoder-api.txt b/linux/Documentation/video4linux/cx2341x/fw-encoder-api.txt index 64cd11134..08ee9f530 100644 --- a/linux/Documentation/video4linux/cx2341x/fw-encoder-api.txt +++ b/linux/Documentation/video4linux/cx2341x/fw-encoder-api.txt @@ -281,64 +281,64 @@ Description Param[0] Bitmask: 0:1 '00' 44.1Khz - '01' 48Khz - '10' 32Khz - '11' reserved + '01' 48Khz + '10' 32Khz + '11' reserved 2:3 '01'=Layer I '10'=Layer II 4:7 Bitrate: - Index | Layer I | Layer II - ------+-------------+------------ - '0000' | free format | free format - '0001' | 32 kbit/s | 32 kbit/s - '0010' | 64 kbit/s | 48 kbit/s - '0011' | 96 kbit/s | 56 kbit/s - '0100' | 128 kbit/s | 64 kbit/s - '0101' | 160 kbit/s | 80 kbit/s - '0110' | 192 kbit/s | 96 kbit/s - '0111' | 224 kbit/s | 112 kbit/s - '1000' | 256 kbit/s | 128 kbit/s - '1001' | 288 kbit/s | 160 kbit/s - '1010' | 320 kbit/s | 192 kbit/s - '1011' | 352 kbit/s | 224 kbit/s - '1100' | 384 kbit/s | 256 kbit/s - '1101' | 416 kbit/s | 320 kbit/s - '1110' | 448 kbit/s | 384 kbit/s - Note: For Layer II, not all combinations of total bitrate - and mode are allowed. See ISO11172-3 3-Annex B, Table 3-B.2 + Index | Layer I | Layer II + ------+-------------+------------ + '0000' | free format | free format + '0001' | 32 kbit/s | 32 kbit/s + '0010' | 64 kbit/s | 48 kbit/s + '0011' | 96 kbit/s | 56 kbit/s + '0100' | 128 kbit/s | 64 kbit/s + '0101' | 160 kbit/s | 80 kbit/s + '0110' | 192 kbit/s | 96 kbit/s + '0111' | 224 kbit/s | 112 kbit/s + '1000' | 256 kbit/s | 128 kbit/s + '1001' | 288 kbit/s | 160 kbit/s + '1010' | 320 kbit/s | 192 kbit/s + '1011' | 352 kbit/s | 224 kbit/s + '1100' | 384 kbit/s | 256 kbit/s + '1101' | 416 kbit/s | 320 kbit/s + '1110' | 448 kbit/s | 384 kbit/s + Note: For Layer II, not all combinations of total bitrate + and mode are allowed. See ISO11172-3 3-Annex B, Table 3-B.2 8:9 '00'=Stereo - '01'=JointStereo - '10'=Dual - '11'=Mono + '01'=JointStereo + '10'=Dual + '11'=Mono 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 intensity_stereo. All other subbands are coded in stereo. - '00' subbands 4-31 in intensity_stereo, bound==4 - '01' subbands 8-31 in intensity_stereo, bound==8 - '10' subbands 12-31 in intensity_stereo, bound==12 - '11' subbands 16-31 in intensity_stereo, bound==16 + '00' subbands 4-31 in intensity_stereo, bound==4 + '01' subbands 8-31 in intensity_stereo, bound==8 + '10' subbands 12-31 in intensity_stereo, bound==12 + '11' subbands 16-31 in intensity_stereo, bound==16 12:13 Emphasis: - '00' None - '01' 50/15uS - '10' reserved - '11' CCITT J.17 + '00' None + '01' 50/15uS + '10' reserved + '11' CCITT J.17 14 CRC: - '0' off - '1' on + '0' off + '1' on 15 Copyright: - '0' off - '1' on + '0' off + '1' on 16 Generation: - '0' copy - '1' original + '0' copy + '1' original ------------------------------------------------------------------------------- -- cgit v1.2.3 From c3c161df40114ed8f7c0a3bebd385c173919de18 Mon Sep 17 00:00:00 2001 From: Hans Verkuil Date: Wed, 21 Jun 2006 22:04:13 +0200 Subject: CX2341X port was always set to 'memory', but 'streaming' is also possible From: Hans Verkuil ivtv uses the memory (DMA) interface with the CX2341X, while pvrusb2 and cx88-blackbird use the streaming interface. This setting is now selectable by the driver. Signed-off-by: Hans Verkuil --- linux/Documentation/video4linux/cx2341x/fw-encoder-api.txt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'linux/Documentation/video4linux/cx2341x/fw-encoder-api.txt') diff --git a/linux/Documentation/video4linux/cx2341x/fw-encoder-api.txt b/linux/Documentation/video4linux/cx2341x/fw-encoder-api.txt index 58c7243d0..9834b4c76 100644 --- a/linux/Documentation/video4linux/cx2341x/fw-encoder-api.txt +++ b/linux/Documentation/video4linux/cx2341x/fw-encoder-api.txt @@ -270,11 +270,17 @@ Param[0] Name CX2341X_ENC_SET_OUTPUT_PORT Enum 187/0xBB Description - Assign stream output port (not recommended you change setting from default) + Assign stream output port. Normally 0 when the data is copied through + the PCI bus (DMA), and 1 when the data is streamed to another chip + (pvrusb and cx88-blackbird). Param[0] 0=Memory (default) 1=Streaming 2=Serial +Param[1] + Unknown, but leaving this to 0 seems to work best. Indications are that + this might have to do with USB support, although passing anything but 0 + onl breaks things. ------------------------------------------------------------------------------- -- cgit v1.2.3