FYI, it seems that there are now drivers available for the iTVC15 mpeg2 encoder chipset, used in the hauppauge wintv pvr 250 (not the old wintv pvr), available at this site; http://www.shspvr.com/news.html. I'm attaching the readme file from that zip file. -- -Torgeir
***************************************************************************************** iCompression, Subsidiary of Globespan Software release notes for the iTVC15 PCI boards. ****************************************************************************************** Release Version: Windows PCI 1.13.010, Linux 1.13.003 Encoder Firmware Version: 2.01.002 for both Windows and Linux Decoder Firmware version: 2.00.016 for both Windows and Linux Release Date: 7/03/2002 ********************************* NOTE ************************************************** This document provides a high level view of the new features, and fixes in this release. Please refer to the engineering release notes (windows: WinPci.txt, Linux: Linux.txt) for details. ***************************************************************************************** 1- New Features: ================== . Implemented Audio/Video Mute for mpeg . Frame based DMA is supported now. This is turned off by default. . Transport streams decode is now supported. 1.1 Windows specific -------------------- . YUY2 format is supported by colorconverter. . PTSs are send for bottom field of raw VBI data. . Added auto-detection of 7114/7115. driver reads the chipID from chip to know chip type. . PCM/YUV work independently . YUV capture for different Mpeg2 resolutions is supported. For Mpeg1 single field YUV capture is supported. . Audio PCM capture can be done for all sampling frequencies. Whenever frequency is changed AudioPCM pin should be reconnected. . iTVC16 is now supported. 1.2 Linux specific --------------------- . Devices from Multiple cards supported now in the timeshift & player (keyword multiplecards). . Blocked IO support for Video and VBI data transfers. This is tunred off by default. . I2C register values are cached (for persistence) for 7114 and 7121. . Mute audio after trick mode transition. . Encoder DMA completion interrupt handling is done, to reduce the latency . Timeshift library now supports Bookmarking (TS apis TSCMD_PLAYSET_BOOKMARK etc). . The size of TimeShift buffer can be specified now (keyword SpoolSize). . Trickmodes support for DVD indexing. 2- Features tested in QA: ========================= Legend: Symbol Meaning ------ ------- - Tested in QA X Not tested in QA P Partially tested in QA (did not go through a full cycle) B Broken (not working) 2.1 Capture/Playback modes --------------------------- - Record video/audio - Simultaneous capture/playback of video and audio - Two simultaneous Capture/playback on 2 boards (windows only) - Pass-through and record at the same time - Switching modes on-the-fly between Timeshift, pass-through, preview, record only, and playback only (Linux only) - Raw capture of YUV and PCM data (Windows only) - Decoder in display mode (feed YUV data to be displayed) (Linux only) 2.2 Capture options ------------------- - Output streams: Program stream, MPEG1, Transport stream, DVD stream, VCD stream - GOP size: 15, 6 - Input type: S-Video, Composite, TV Tuner (on Condor or iVR) - Input standard: NTSC, PAL - Bitrate type: VBR, CBR - Horizontal resolution and bitrate: Mpeg1, 352, 1.5Mbps Mpeg2, 720, 8Mbps Mpeg2, 720, 6Mbps Mpeg2, 720, 4Mbps Mpeg2, 480, 4Mbps Mpeg2, 480, 2Mbps Mpeg2, 352, 2Mbps Mpeg2, 352, 1Mbps - Audio sampling rates: 48Khz, 44.1Khz, 32Khz - Audio bitrates: 192 Kbps, 224 Kbps, 384 Kbps - Audio CRC: OFF, ON - Audio mode: Stereo, Mono, Dual channel. - Switching the audio mode on-the-fly - Indexing: Capture to *.gix file - VBI: P Sliced and embedded in user data: (Lines 20 and 21 can only slice closed caption with Phillips decoders) P Sliced and embedded in private packets (Lines 20 and 21 can only slice closed caption with Phillips decoders) - Raw captured as a separate stream - ProcAmp: Sharpness, Brightness, Contrast, Saturation, Hue - Pre-Filtering: Median filter, Spatial filter, Temporal filter 2.3 Decode options ------------------- - TV Standard: NTSC, PAL - Trick modes in file playback mode: - FF/REW/Slow forward/Slow Rewind coarse (requires indexing): +/-8X Fine: (+/-)2X, 1.5X (with audio for 32Khz sampling frequency), -1.5X, 1/2X (with audio), -1/2X, (+/-)1/4X, (+/-)1/8X, -1X - Frame stepping - Forward - Backward - Seek - Trick modes while timeshifting (Linux only) - VBI: - Extraction from the MPEG stream - Re-insertion to the analog encoder ... Not supported for DVD streams (Linux only) - Other decoders (windows only) - MGI SoftDVD Max version 6.0.0031. SoftDVD Max has problems on WinXP. Refer to the known problems section for details. - Intervideo DVD+MP3 version 1.1 - Frame buffer - Micro-windows (Linux only) - Bit blit (Linux only) - DMA to the frame buffer (Linux only) 3- Fixes ======== . Fixed VBI cropping bug. Now video should not be jerky at low resolutions. . End of sequence code should be present in the streams. . 256Kbps Audio bitrate is supported now. 2.1 Windows specific --------------------- . The firmware is automatically downloaded after hibernation or standby even if GraphEdit is not used. . I2C caching now adequetly handles software reset on VPX3226E. . Channel settings now persistent when returning from standby. . Now supports CS5330/MSP3438 combo with tuner audio from ANA_IN2. . Fixed the PTSs for YUV. Now PTS are sent in presentation order. . Fixed the YUV capture at 720x480. Now it should raw capture should not die. . Fixed problem with Index Converter Filter. . Raw capture for PAL should work fine. . Audio should be available on both channels in raw PCM capture . Fixes for YUV/PCM/VBI/Mpeg independent capture. . Mpeg1 raw capture should work now. . Optimized the RAW VBI capture. . Faster firmware download times. . Fixed blue screen when closing multiple graphs. . Compressed MPEG capture DPC runs faster, DMA errors are checked at a different time. . Changed the aspect ratio for Mpeg1 PAL from 8 to 9. 2.2 Linux specific --------------------- . Tuner video color problem is fixed. . Step playback API parameter is sent correctly (field/frame mode). 4- Known problems: ================== . Mprobe may occasionally report motion vectors out of range for some skipped macro blocks in B-pictures. This is a result of an error in Mprobe, which we have reported to Interra. . If the input has unstable Vsyncs, the PTS values could become less accurate. . You could experience some A/V stutter at lower bitrates in program streams or DVD streams. This is more noticeable for DVD streams. . When capturing VBI in private packets or as a separate stream, the index file could have some errors. . Sometimes the index file in Mpeg1 could have some errors. . VCD capture could have some long term problems . Pass-through could have some long term stability problems. . Closed caption data inserted in DVD format is sensitive to noisy signals. . Changing TV channels quickly could cause problems. . Video in passthrough mode while capturing VCD or Mpeg1 streams is jerky. . PassThrough could have continuous frame repeats. . VBI not working. Cannot start MPEG encoding after VBI capture has been started. . Continuously starting and stopping may cause the encoder not to start capturing anymore. . Encoding MPEG1 and then encoding DVD/PS could cause green + pink garbage flashing over the video. . Audio noise in joint stereo mode 4.1 Windows specific --------------------- . If you switch between PAL and NTSC, you need to close the settings Window and open again before being able to refresh TV channels properly. . When using the Globespan timeshift engine with software decoders, the video and audio could be jerky. This happens more between 3.5-4.5Mbps. . GraphEdt ProcAmp controls are not valid on devices using Micronas VPX322x digitizers. . On platforms not checking for Vsync before the start of capture, capture might not start properly with no video input connected. . Switching between passthrough and capture modes in iCompCap could cause A/V stuttering or macroblocks. . No separate VBI stream is captured when using Private&Separate VBI capture mode. . Capturing in Play/Record mode in iCompCap may occasionally cause system instability . Closed caption capture does not work while capturing DVD streams. 4.2 Linux specific --------------------- . Encoder PIO is not implemented . When OsdBuffCount=1 in the config file, switching between forward and reverse might cause macroblocks. . Passthrough while capturing Mpeg1/VCD streams followed by a Mpeg1/VCD capture session causes video distortion. . On the iVR the application does not terminate once the disk is full . Exiting PassThrough mode by hitting ESC could cause a times out. . When stopping DVD streams with sequence end code, the sequence end code might not be present. . Preview mode might have some stability problems. 5- New Firmware APIs: ===================== Name: SetDMABlockSize Command code: 0xc9 Encoder/Decoder/Display: Encoder Description: Parameters: IN[0] - Changed. The value now depends on the unit specified in the new parameter IN[1]. If the unit is in bytes, the values supported for IN[0] are 128K, 256K, and 512K. DMA request interrupts will be generated every time that amount of data is ready to be transferred to the host. If the unit is in frames, DMA request interrupt will be generated every time that many frames has been captured. The amount of data to copy per interrupt will vary depending on how big that frame is. IN[1] - Added. 0 - Unit in IN[0] is in bytes 1 - Unit in IN[0] is in frames Name: StartCapture Command code: 0x81 Encoder/Decoder/Display: Encoder Description: Parameters: Added IN[1] - raw capture sub-Type. This is a bitmask indicating if the stream type is raw capture what sub-type(s) to start. Bit0 - Video YUV capture Bit1 - Audio PCM capture Bit2 - VBI as a separate stream. This behaves the same way as if the stream type was set to VBI_CAPTURE Bit3 - Passthrough to decoder. If this bit is set, the destination of the raw capture (video or audio) is the decoder. This behaves the same way as if the stream type was set to RAW_PASSTHROUGH Bit4 - Host. If this bit is set, the destination of the raw capture (video or audio) is the host (DMA transfer) Name: StopCapture Command code: 0x82 Encoder/Decoder/Display: Encoder Description: Parameters: Added IN[2] - raw capture sub-Type. This is a bitmask indicating if the stream type is raw capture what sub-type(s) to stop. Bit0 - Video YUV capture Bit1 - Audio PCM capture Bit2 - VBI as a separate stream. This behaves the same way as if the stream type was set to VBI_CAPTURE Bit3 - Passthrough to decoder. If this bit is set, passthrough to the decoder is stopped. This behaves the same way as if the stream type was set to RAW_PASSTHROUGH Bit4 - Host. If this bit is set, raw capture to the host (DMA transfer) is stopped Name: MuteVideo Command code: 0xd9 Encoder/Decoder/Display: Encoder Description: Mute video by ignoring the analog input and capturing a single color frame Parameters: IN[0] - Byte1 0 - unmute video (capture video coming from the analog input) 1 - mute video (capture a single frame with the color defined in byte2,Byte3, and Byte4) Byte2 V value of the muting color Byte3 U value of the muting color Byte4 Y value of the muting color Name: MuteAudio Command code: 0xda Encoder/Decoder/Display: Encoder Description: Mute the audio to be encoded (capture silence audio in the MPEG stream) Parameters: IN[0] - 0 - unmute audio (capture audio coming from the analog input) 1 - mute audio (capture silence audio in the MPEG stream) Name: StartPlayback Command code: 0x01 Encoder/Decoder/Display: Decoder Description: Parameters: IN[1] - Added. Number of audio frames to be muted before audio playback actually starts. Name: SetTrickMode Command code: 0x03 Encoder/Decoder/Display: Decoder Description: Parameters: IN[6] - Added. Number of audio frames to be muted before audio playback actually starts. Name: SetTrickMode Command code: 0x03 Encoder/Decoder/Display: Decoder Description: Parameters: IN[0] bit 30 - Added 0 - Driver drops 1 B frame out of 2 for 1.5X playback 1 - Driver provides the stream as is for 1.5X playbback. The maximum supported bitrate in this case is 8mbps. Name: Step Command code: 0x05 Encoder/Decoder/Display: Decoder Description: Parameters: IN[0] - Modified. 0 - step on both fields 1 - step on top field only 2 - step on bottom field only Name: SetDelay Command code: 0x1E Encoder/Decoder/Display: Decoder Description: Enables/Disables the initial buffer accumulation on the decoder. Disabling this reduces the latency in the system but might cause initial stuttering. Parameters: IN[0] - 0 - disable initial buffering 1 - enable initial buffering (this is the default) The initial buffering is 128KBytes for bitrates below 8mbps and 640KBytes for bitrates greater or equal to 8mbps. Name: Command code: Encoder/Decoder/Display: Description: Parameters: 6- New Windows Driver properties: ================================= Name: IVAC_VIDEO_MUTE Command code: 70 Set/Get: Set only Registry key: None pPropData: VIDEO_MUTE_INFO pInstanceData: None. Description: Mute the video (ignore the analog input and display a single frame) Name: IVAC_AUDIO_MUTE Command code: 71 Set/Get: Set only Registry key: None pPropData: AUDIO_MUTE_INFO pInstanceData: None. Description: Mute the audio (audio packets in the MPEG streams will become silent) Name: Command code: Set/Get: Registry key: pPropData: pInstanceData: Description: 7- New Linux APIs: ================== 7.1 Driver IOCTLs ----------------- 7.1.1 New Diagnostic IOCTL Name: Description: Direction: Arguments: 7.1.2 Modified Diagnostic IOCTL Name: Description: Direction: Arguments: 7.1.3 New Encoder IOCTL Name: Description: Direction: Arguments: 7.1.4 Modified Encoder IOCTL 7.1.5 New Decoder IOCTL 7.1.6 Modified Decoder IOCTL 7.1.7 Changes to constants and structures 7.1.7.1 Modified Structures. 7.1.7.2 Added (new) structures 7.1.8 New FB/OSD IOCTL Name: Description: Direction: Arguments: 7.2 Timeshift APIs ------------------ 7.2.1 New API commands/Sub-commands Command TSCMD_SET_LIB Sub-Command added TSITEM_LIBPROP_MULTIPLECARD: Description: Set the TimeShift Library to be used in multiple cards mode. Value: 1/0 Enable/Disable Note: 1) this call directs the TSL to unlink the encode/decode/vbi etc devices with each other, normally this should be used with another call to TSCMD_SET_DEVICE to set the individual device-file name for enc/dec etc devices. 2) All the I2C commands (& Diag interface) in this mode should be directed to the appropriate interface by ORing the command comand with interface type define (please refer the player6 I2C.c or function TsBoardInit implementation as an example). Command TSCMD_PLAYSET_BOOKMARK Description: Set a bookmark at the given instant. Arg1 IN long TimeOffset offset from preset play position in milliseconds Arg2 IN/OUT DWORD* pBookmarkID pointer to retrive bookmark ID for later use Note: 1) the TimeOffset can be something in 'future' too (meaning even the instant that is not encoded yet). 7.2.2 Modified API Commands Command TSTICK_REC_STOP Sub-Command added : Description: Instructs the TimeShift Library to capture the EOS or not at stop capture. Value: TSTICK_STOPMODE_XXX one of the stop modes (zero defaults to STOPMODE_EOS as previously). 7.2.3 Previously Undocumented API Commands 7.2.4 Changes to constants and structures 7.2.5 Changes required for using player v1.03.031 (Single threaded) sources. 7.2.6 Callbacks Modified/Added 8- Supported OS: ================ - Linux RedHat 7.1 (kernel 2.4.2), Hard Hat 2.0 (kernel 2.4.2) - Win98, Win98 SE, Win ME, Win2K, WinXP (Home Edition and Pro build 2600).