aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/video4linux/cx2341x/fw-encoder-api.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/video4linux/cx2341x/fw-encoder-api.txt')
-rw-r--r--Documentation/video4linux/cx2341x/fw-encoder-api.txt52
1 files changed, 32 insertions, 20 deletions
diff --git a/Documentation/video4linux/cx2341x/fw-encoder-api.txt b/Documentation/video4linux/cx2341x/fw-encoder-api.txt
index 15df0df57ddd..242104ce5b61 100644
--- a/Documentation/video4linux/cx2341x/fw-encoder-api.txt
+++ b/Documentation/video4linux/cx2341x/fw-encoder-api.txt
@@ -213,16 +213,6 @@ Param[1]
213 213
214------------------------------------------------------------------------------- 214-------------------------------------------------------------------------------
215 215
216Name CX2341X_ENC_SET_3_2_PULLDOWN
217Enum 177/0xB1
218Description
219 3:2 pulldown properties
220Param[0]
221 0=enabled
222 1=disabled
223
224-------------------------------------------------------------------------------
225
226Name CX2341X_ENC_SET_VBI_LINE 216Name CX2341X_ENC_SET_VBI_LINE
227Enum 183/0xB7 217Enum 183/0xB7
228Description 218Description
@@ -332,9 +322,7 @@ Param[0]
332 '01'=JointStereo 322 '01'=JointStereo
333 '10'=Dual 323 '10'=Dual
334 '11'=Mono 324 '11'=Mono
335 Note: testing seems to indicate that Mono and possibly 325 Note: the cx23415 cannot decode Joint Stereo properly.
336 JointStereo are not working (default to stereo).
337 Dual does work, though.
338 326
339 10:11 Mode Extension used in joint_stereo mode. 327 10:11 Mode Extension used in joint_stereo mode.
340 In Layer I and II they indicate which subbands are in 328 In Layer I and II they indicate which subbands are in
@@ -413,16 +401,34 @@ Name CX2341X_ENC_SET_PGM_INDEX_INFO
413Enum 199/0xC7 401Enum 199/0xC7
414Description 402Description
415 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.
416Param[0] 421Param[0]
417 Picture Mask: 422 Picture Mask:
418 0=No index capture 423 0=No index capture
419 1=I frames 424 1=I frames
420 3=I,P frames 425 3=I,P frames
421 7=I,P,B frames 426 7=I,P,B frames
427 (Seems to be ignored, it always indexes I, P and B frames)
422Param[1] 428Param[1]
423 Elements requested (up to 400) 429 Elements requested (up to 400)
424Result[0] 430Result[0]
425 Offset in SDF memory of the table. 431 Offset in the encoder memory of the start of the table.
426Result[1] 432Result[1]
427 Number of allocated elements up to a maximum of Param[1] 433 Number of allocated elements up to a maximum of Param[1]
428 434
@@ -492,12 +498,14 @@ Name CX2341X_ENC_GET_PREV_DMA_INFO_MB_9
492Enum 203/0xCB 498Enum 203/0xCB
493Description 499Description
494 Returns information on the previous DMA transfer in conjunction with 500 Returns information on the previous DMA transfer in conjunction with
495 bit 27 of the interrupt mask. Uses mailbox 9. 501 bit 27 or 18 of the interrupt mask. Uses mailbox 9.
496Result[0] 502Result[0]
497 Status bits: 503 Status bits:
498 Bit 0 set indicates transfer complete 504 0 read completed
499 Bit 2 set indicates transfer error 505 1 write completed
500 Bit 4 set indicates linked list error 506 2 DMA read error
507 3 DMA write error
508 4 Scatter-Gather array error
501Result[1] 509Result[1]
502 DMA type 510 DMA type
503Result[2] 511Result[2]
@@ -672,7 +680,7 @@ Description
672 the value. 680 the value.
673Param[0] 681Param[0]
674 Command number: 682 Command number:
675 1=set initial SCR value when starting encoding. 683 1=set initial SCR value when starting encoding (works).
676 2=set quality mode (apparently some test setting). 684 2=set quality mode (apparently some test setting).
677 3=setup advanced VIM protection handling (supposedly only for the cx23416 685 3=setup advanced VIM protection handling (supposedly only for the cx23416
678 for raw YUV). 686 for raw YUV).
@@ -681,7 +689,11 @@ Param[0]
681 4=generate artificial PTS timestamps 689 4=generate artificial PTS timestamps
682 5=USB flush mode 690 5=USB flush mode
683 6=something to do with the quantization matrix 691 6=something to do with the quantization matrix
684 7=set navigation pack insertion for DVD 692 7=set navigation pack insertion for DVD: adds 0xbf (private stream 2)
693 packets to the MPEG. The size of these packets is 2048 bytes (including
694 the header of 6 bytes: 0x000001bf + length). The payload is zeroed and
695 it is up to the application to fill them in. These packets are apparently
696 inserted every four frames.
685 8=enable scene change detection (seems to be a failure) 697 8=enable scene change detection (seems to be a failure)
686 9=set history parameters of the video input module 698 9=set history parameters of the video input module
687 10=set input field order of VIM 699 10=set input field order of VIM