wintv pvr 250 linux drivers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



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).


[Index of Archives]     [Linux DVB]     [Video Disk Recorder]     [Asterisk]     [Photo]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Free Photo Albums]     [Fedora Users]     [Fedora Women]     [ALSA Users]     [ALSA Devel]     [Linux USB]

Powered by Linux