iTVC15 Precapture Initialization

This page summarizes how to initialize the iTVC15 for capture.

Initialization
(After the firmware has been loaded and started...)
0xc9 assign_dma_blocklen
args: (num_bytes_in_block) 
	= (1,1) // use information from SchedDMA instead

0xc7 assign_prgm_index_info
args: (mask,num_req)        
	= (0:Disable,0)
rets: (sdf_offset,num_alloc)

0xb9 assign_stream_type
args: (output_type)        
	= (0:Program Stream)

0xbb assign_output_port
args: (port)                
	= (0:Memory)

0x8f assign_framerate
args: (rate)                
	= (0:30fps) // 1:25fps PAL

0x91 assign_frame_size
args: (height,width)        
	= (480,720) // {240,288,480,576} {720,480,352,320}

0x99 assign_aspect_ratio
args: (mpeg_aspect_ratio)    
	= (2:from MPEG spec)

0x95 assign_bitrates
args: (mode,bps,peak,???,???)
	= (0,8000000,16000000/400,0,0x70)

0x97 assign_gop_properties
args: (size,num_b)            
	= (15,3)

0xb1 assign_3_2_pulldown
args: (on_off)                
	= (0:off)

0xc5 assign_gop_closure
args: (on_off)                
	= (0:off)

0xbd assign_audio_properties
args: (flags)                
	= (0xE9: 0 00 00 00 00 1110 10 01)

0x9b assign_dnr_filter_mode
args: (mode,filter)        
	= (3:DynTemporal&DynSpatial,0:Disable)

0x9d assign_dnr_filter_props
args: (spatial,temporal)
	= (0,0)

0x9f assign_coring_levels
args: (luma_h,luma_l,chroma_h,chroma_l)
	= (0,255,0,255)

0xa1 assign_spatial_filter_type
args: (luma_t,chroma_t)    
	= (1:horiz_only,1:horiz_only)

0xd0 assign_frame_drop_rate
args: (num)                
	= (0)

0xd8 assign_placeholder
args: (type,period,size_t,arg0 - arg8)
	= (0:Extension/UserData,0,0, 0,0,0,0,0,0,0,0)

Disable the digitizer (7115) dev[0x42].reg[0x87] = 0

0xcd initialize_input
args: (void)

0xd6 assign_num_vsync_lines
args: (???,???)
	= (240,240)

Wait for 100ms

Start Capture
0x81 begin_capture
args: (type,subtype)        
	= (0:MPEG,3:Video+Audio)

0xD5 event_notification
args: (type,on_off,intr_bit,mbox_id)
	= (0:Refresh Input,1:On,0x10000000:Digitizer,-1:none)

Clear the following Interrupt mask bits: 0xd8000000

Enable the digitizer (7115) dev[0x42].reg[0x87] = 1
The interrupt is now live. Please see dma.html for details on how to handle it and schedule DMA transactions.

Halt Capture
Disable the digitizer (7115) dev[0x42].reg[0x87] = 0

0x82 end_capture
args: (when,type,subtype)    
	= (0:EndOfGOP,0:MPEG,3:Video+Audio)

0xD5 event_notification
args: (type,on_off,intr_bit,mbox_id)
	= (0:Refresh Input,0:Off,0x10000000:Digitizer,-1:none)

Clear the following Interrupt mask bits: 0xd8000000

Reinitialize
The source indicates that after you issue an end_capture, you must reinitialize the card before you issue another begin_capture.
TBD

Copyright 2003 The IvyTV Team
iTVC15 is a trademark of Conexant Systems, Inc.
SourceForge.net Logo