SAA713x Release Notes (Version 2.3.0.3 / 05/08/03) 
==============================================
WDM:
- fixed Windows Messenger issue


Version 2.3.0.2:
================
WDM:
- reduced the max video size from 1440x1200 to 720x576
- fixed radio problems of the tuner driver 
- fixed FM radio mode for the FM1236MK3
- fixed FQ1236MK3/ FM1238MK3 PLL offset
- SECAM refresh for FM1216ME
- fixed standby and hibernate mode for FM radio (tuner driver)
- Implemented once again additional FM radio pin for the crossbar

HAL:
- Changed SOP generator default value


Version 2.3.0.1:
================
WDM:
- Bugfix for hibernate (complete SRB if the extension is NULL only)
- Fixed VIA chipset 82C686A problem

HAL:
- audio adaption of the 7133 to act in the same way as the 34 (levels/ handling)


Version 2.3.0.0:
================

WDM:
 - Avoid rounding error when setting m_tDuration member in VBI stream.

HAL:
 - VampIRQ: Fix for Problem 713x_Support:20

Prop7134:
 - Create .pdb file.
 - Change settings for debug driver.

Regtool:
 - Add "CapTransportEnabled".
 - Removed obsolete "Emulation Debug Ctl" page.
 - Split "WDM Debug Ctl" into 3 pages.


Version 2.2.0.2:
================

HAL:
 - Activate the audio standard detection loop. Seems like we really need it in the case 
   where no signal is available at stream start, but later there is. 

WDM:
 - Set signal source to mono, if mono is selected AND the selected input is the tuner
 - Is525LinesVideo() ignores VS_HLOCK and checks VS_FIDT (solves Problem 713x_Support:15)
 - Moved CKSTransportIn to Transport.*.
 - Add pinname for Transport Out.
 - Add pin for transport output stream. (Registry!)
 - Remove RGB565 to avoid HCT 11.1 problem, which does not have an errata ID.
 - Add second RGB24 format at the end of the list to workaround Netmeeting bug.
 - Call KeInitializeMutex() only at passive level (fixes problem with hyperthreading CPU).
 - Add spinlock to SrbList to circumvent problems on HyperThreading systems.


Version 2.2.0.1:
================

Interface:
 - 2 new GPIO methods to set the video output clock control member variable (requested from Terravidz).
 - Reorder AudioChannelMode enum to support Vamp - based applications.

HAL:
 - 2 new GPIO methods to set the video output clock control member variable (requested from Terravidz).
 - Added Registry Settings for DEC-, MONO-, NICAM- and SAP-Level adjusting.
 - Changed defaults for FM_OutputLevel
 - Reset interrupt register before masking off the reserved bits (CP?)

WDM:
 - Set flag to indicate that audio detection might not be complete after Restart for 500 ms.
 - Avoid unnecessary calls to Restart().
 - Set signal source to mono, if mono is selected (not only digital matrix!).
 - Tell AAudioHAL about CaptureOption changes -> use AUX for Direct Audio.
 - Initially disable loopback.
 - Reserve 70 buffers for video capture stream to fix problem with Sony application.
 - Change TVAudio property behaviour to avoid problems with HCT and TVAudio dialog. 
 - Add bitmasks for BITFIELD formats (RGB565).
 - Do the SrbList stuff (workaround for VidCap32) only, if a registry flag ("WorkaroundForVidcap32") is set.


SAA713x Release Notes (Version 2.2 / 01/29/03) 
==============================================

Version 2.2.0.0:
================

HAL:
 - CAbstractGPIO class added: GPIO interface methods are now accessible in DDK.


Version 2.1.6.4:
================

WDM:
 - Reorganize device initialization.
 - Reorganize video stream classes (CVideoPreview allocates
   format table dynamically, just as CKSVideoOut does).
 - divide by 0 and pointer checks.
 - Conditionally add performance mesurements.
 - Initialize members.
 - Add object status to CAudioHAL.
 - Object status is a DWORD in all classes.
 - Check for allocation failures (-> low resources simulation!).
 - Comments and code fomatting.

HAL:
 - ProblemManager Vamp #111: fixed (Transport stream)
 - Video output clock control of Munit GPIO can be set by registry
 - ReadTSRegistry(): No Error-Return.
 - Initialize members.
 - Object status is a DWORD in all classes.
 - Check for allocation failures (-> low resources simulation!).
 - Comments and code fomatting.

PHTVTune:
 - Object status is a DWORD in all classes.

VXD + NT:
 - Object status is a DWORD in all classes.


Version 2.1.6.3:
================

WDM:
 - Initialize the audio stream even if there is no audio out pin (SAA7130).


Version 2.1.6.2:
================

WDM:
 - Reset m_llThroughput on Stop, not on Start, just as m_cDropped and m_cTotal, to avoid 
   division by zero when s.o. calls PROPSETID_VIDCAP_DROPPEDFRAMES after Stop.
 - Set the Adapter pointer in our HwDeviceExtension to NULL, when deleting the Adapter object..
 - Parameter check for GUID_SEND_VIDEO_STANDARD.
PhTVTune:
 - Renamed PhilTune.* to PhTVTune.*.
HAL:
 - Always start with even field, if EITHER_FIELD.


Version 2.1.6.0:
================

WDM:
 - VBI format changes to circumvent crash at Start/Stop with CCDecoder which 
   occurred when there was a PAL signal at the time GraphEdit was opened:
   - Expose 3 different VBI formats.
   - In SetFormat() set stream parameters according to the format to be set, not the actual videostandard.
   - GUID_SEND_VIDEO_STANDARD property ignored.
   - Format intersection ignores actual video standard and accepts the proposed format as is.
     (everything is checked in QueryAcceptFormat()!)
   - OnAcquire() fails if video standard doesn't fit.
   - OnRead() fails, if buffer is too small.


Version 2.1.5.3:
================

WDM:
 - Reset dropped frame count on Stop, not on Start, so it will not be reset after pause (HCT 11).
 - Get FM Radio from SIF input, if registry flag is set.
 - Use 4 bytes for dending country code or video standard from phtvtune to cap7134.
PhTVTune:
 - Fix for FM1216ME / FM Radio: IF Gain = 1
 - Use 4 bytes for dending country code or video standard from phtvtune to cap7134.
HAL:
 - Temporarily changed parameters for EIAJ standard detection on Shibasoku TG19CC.
 - Shibasoku TG19 workaround for all DSP-Versions.
 - Bugfix: When updating the DMA address registers of a new buffer, 
   the byte order is also updated according to the buffer format settings. 
   Otherwise, in case of calling START before the first ADDBUFFER initially the overflow buffer 
   will be used and the default byte order of this dummy buffer would be set for all subsequent buffers.

Version 2.1.5.2:
================

WDM:
 - Search for all audio standards, if video standard is unknown.
 - Handle standard, country and tuner mode information from tuner driver.
 - No extra crossbar pin for FM Radio (use TV Audio In).
HAL:
 - If it's not our interrupt, return immediately.
 - Prepare for audio standard detection loop. (probably won't need it, but just in case...)
PhTVTune:
 - Send standard and country information to the capture driver for audio standard detection.
 - Send Tuner mode information to the capture driver for proper FM Radio handling.
 - Typo for FI1216MF fixed.
Prop713x:
 - Handle FM Radio seperately.
Interface:
 - Add AUDIO7134_IN_FM_RADIO AudioInputSelect.

Version 2.1.5.0:
================

WDM:
 - Create C34PortVideo object already in constructor -> Blink test!
 - Improved workaround for EIAJ: check both the DUAL and the STEREO status bits.
 - Use flexible audio format table, but don't call StreamClassReenumerateStreams() on source change,
   as this function crashes the system. So we end up in supporting only 32 and 48 kHz for now.
 - Changed TV Audio property to support the standard TV Audio dialog (which doesn't call CURRENTLY_AVAILABLE_MODES).
 - Add sanity check in Cap7134Adapter::CurrentFrameInterval().
 - Delete the dynamically allocated audio format table in the destructor.
HAL:
 - Remove redundant VBI check inside CheckBufferInTime().
PhTVTune:
 - Add spinlock to callback handler.
 - Free the timeout object in AdapterUnInitialize().

Version 2.1.4.0:
================

WDM:
 - Allow up to 8 devices instead of 4.
 - Add parameters to Timeout Callback routine.
 - Accept framerates that exceed the input frame rate.
 - More VBI changes: Notify() calls SetAcquisitionWindow() on FIDT change.
 -                   Notify() doesn't change SamplingFrequency, SamplesPerLine and StrideInBytes on FIDT change.
 -                   Set the acquisition rectangle according to the video standard before Open().
 -                   QueryAcceptFormat() checks, whether dataformat is compatible with the video standard. (No line 22 for NTSC!)
 -                   Workaround for CC bug only if registry flag is set.
HAL: Allow up to 8 devices instead of 4.
 - Don't call CheckBufferInTime() for VBI stream with time stamps.
 - Workaround for DSP bug implemented: EIAJ standard not detected in ASD mode on Shibasoku TG19 test generator. 
   For video format NTSC_M_J try SSS mode and EIAJ, fast ident speed, first. If not successful, proceed as usual.
   (uses Timeout Callback routine parameters, see above)


SAA713x Release Notes (Version 2.1.3.0 / 10/08/02) 
==================================================

Version 2.1.3.0:
================

WDM:
 - Fix for VBIScope and Vtx: Reduced the default buffer size, so it is just big enough for these apps.
 - Fix for FM Radio (SAA7133/35)
HAL:
 - Changed class hierarchy to fix 7134 problem with HAL abstraction.

Version 2.1.2.0:
================

WDM:
 - Merge with Vamp 1.6 (new audio detection for SAA7134)
 - Workaround for CC bug - we always insist on a buffer that is large enough for all standards.
 - Reworked format intersection.
HAL:
 - Merge with Vamp 1.6 (new audio detection for SAA7134, etc.)
PHTVTune:
 - Merge with Vamp 1.6 (MK3 tuner, EEPROM)

Version 2.1.1.2:
================

WDM:
 - Change for new 7133 bonding options.
 - Set DISCONTINUITY flag, if frames are dropped for video streams.
 - Add timestamps for VBI. (HCT 10 / CC)
 - Check stream state in OnRead for VBI.
 - Change FIDT interrupt handling for VBI.
HAL:
 - Setting correct dBx coefficients only for INF_REVISION_ID == 0xac1011

Version 2.1.1.1:
================

WDM:
 - Don't complete the SRB_SET_STREAM_STATE twice, if the stream state didn't change.
 - Don't restart audio clock after PAUSE.
 - No more bug check 0x4242 - only debug print.
   We still need the srb list to avoid multiple SRB completion
   in case VidCap32 is killed.
HAL:
 - ResetDTO() call removed from SetColor() method.
 - Monitor level read directly from the high latency DSP registers.
 - Setting correct dBx coefficients.

Version 2.1.1.0:
================

WDM:
 - Workaround for bug in Windows Movie Maker.
HAL:
 - Abstract interface between HAL and WDM.
NT4&VxD:
 - Make build of NT 4.0 and VxD driver possible.
Others:
 - Bugfixes in some Projects.

Version 2.1.0.3:
================

WDM:
 - For (audio source == ADC), set DM to stereo, if stereo is selected (ignore XR_GST bit!).
 - Handle DD_STATUS_CHANGE interrupt.
 - Ignore NewTunerInfo, if the information is invalid. (This happens when setting the crossbar to a non-Tuner input)
 - Retrieve the correct status information if the selected audio input is the tuner, even if audio is currently muted.
 - Set the PLL according to the needs of the SIF, if the selected audio input is the tuner, even if audio is currently muted.
HAL:
 - Disable all interrupts in the destructor of CVampIrq to avoid interrupt storm at driver update, if MV source is active.
 - Trigger MV-Interrupt after it has been enabled.
 - Enable Macrovision Interrupt in constructor of video stream.
Prop7134:
 - Changed strings in center mode dialog.
Projects: 
 - "Release" configuration now creates symbolic information.

Version 2.1.0.2
===============

Interface:
----------
Typ AudioChannelMode erhaelt zusaetzlich den Wert AUDIO7134_CHANNEL_C.
Zusaetzlich zum Typ AudioChannelMode gibt es den Typ AudioChannelSelect (bitfield: Mono/Stereo | LangA/B | SAP).
Set/GetChannelMode() setzt/liefert den ausgewaehlten ('preferred') mode (AudioChannelSelect!)
Obsolete Property PHILIPS_KSPROPERTY_AUDIO_SAP entfernt.

WDM/Audiostream:
----------------
AudioChannelMode m_mode wird ersetzt durch:
AudioChannelMode m_eChannelMode (tatsaechlich in der HW eingestellter Mode)
und:
AudioChannelSelect m_eChannelSelect (Gewuenschte modes/bitfield)
SetChannelMode() wird ersetzt durch SetChannelSelect()
Zusaetzlich zu GetChannelMode() gibt es GetChannelSelect()
Nur noch ein m_nADspSignalSource fuer alle Pfade.
SetRouteInput() wird nicht mehr direkt aufgerufen (nur ueber AudioHAL).
Obsolete Property PHILIPS_KSPROPERTY_AUDIO_SAP entfernt.

WDM/AudioHAL:
-------------
CAudioHAL weiss nach wie von nichts von AudioChannelSelect; CAudioOut setzt
den AudioChannelMode gemaess selektierten modes + anliegendem Signal.
CAudioHAL::SetStreamSettings(): X3 Stereo und Phantom Center werden beruecksichtigt.
	DigitalMatrix wird nach Bedarf von MAIN auf AUX1 und/oder AUX2 kopiert.
	m_nCaptureOption wird beruecksichtigt.
CAudioHAL::SetChannelMode(): DM fuer DPL ist immer STEREO
	Im Falle Direct Audio gilt der channel mode auch fuer AUX1.
	Fuer SAP wird SetRouteInput( DSP_SS_SAP ) fuer die entsprechenden Pfade gesetzt.
	Fuer All Languages werden AUX1 und AUX2 unabhaengig von channel gesetzt.
SetRouteInput() wird nur noch zentral von CAudioHAL::SetChannelMode() aufgerufen.

AudioFormat:
------------
CFixedAudioFormat enthaelt zusaetzlich Informationen ueber Capture Option und modes:
    eCaptureOption m_nCaptureOption;
    BOOL m_bVFX3Stereo;
    BOOL m_bVFDPL;
    BOOL m_bVFPhantomCenter;
CompleteWFX() von CPCMAudioFormat nach CFixedAudioFormat verschoben, um auf diese members zugreifen zu koennen.
Fuer X3 Stereo und Phantom Center werden nur 3 Kanaele gebraucht; Unterscheidung zu All Languages durch ChannelMask.

TVAudio Property:
-----------------
SetAudioMode() setzt AudioChannelSelect, nicht AudioChannelMode.
GetAudioMode() benutzt die Methode des AudioStreams, nicht die der HAL (AudioCtrl).


SAA713x Release Notes (Version 2.1.0.1 / 06/27/02) 
==================================================

Version 2.1.0.1:
----------------
HAL:
 - Correct default value for "Function Select" in Decoder
WDM:
 - Open audio stream fails, if source = tuner and freq = 44.1
 - Source switch fails,  if new source = tuner and freq = 44.1
 - When selecting 'Stereo' while no stream is running, this selection will be valid.
 - CAudioOut::CurrentInput() now returns the last 'valid' input selection.
Prop713x.dll:
 - Temporary fix for FM's Problem 7: Save Mono/Stereo and LangA/LangB selection in Registry.


SAA713x Release Notes (Version 2.1.0.0 / 06/19/02) 
==================================================

Version 2.1.0.0:
----------------
HAL:
 - Reenable Deemphasis.
 - Reenable White Peak Control.
WDM:
 - VDS works again.
 - Don't register TV Audio filter for SAA7130.
Installation:
 - Install cap7134.hlp with the WDM driver to enable help for audio property dialog.
Prop7134.dll:
 - Grey out 44.1 KHz if source is tuner

Restrictions:
-------------
1) Driver installation under Windows XP: Sometimes hangs up on certain machines. Reason unknown. 
2) WDM driver: "Direct audio" does not yet route the purest audio path (AUX1/AUX2), but the MAIN path.
3) SAA7134: 44.1 and 48 KHz not yet supported by WDM driver.

Version 2.0.2.0:
----------------
WDM:
 - Crossbar shows last set audio input, if audio is currently muted.
 - Allow only BG or DK as default search mask to circumvent a bug in the '34, which often leads to erroneous recognition of DK instead of BG.
 - Mute audio, if requested by Crossbar property.
 - Fix for FI1246.
 - Fix for timeout problem (pause stream)
Prop7134.dll:
 - Changed Audiostandard text from "ANALOG" to "No Audio Signal", if no source is defined.

Version 2.0.1.3:
----------------
HAL:
 - GetSelectedFormat() implemented.
 - Don't create a CVampAudioDetect object for SAA7133/35.
 - Reworked audio standard detection for SAA7134. (From Vamp 1.4)
 - Add overflow buffer for transport stream. (From Vamp 1.4)
 - Changes for GPIO. (From Vamp 1.4)
 - Fix for I2C. (From Vamp 1.4)
 - Don't call SaveSettings() before power down (?) (From Vamp 1.4)
 - Switch off antialiasing filter by default to avoid distortions in video caused by Audio DSP
 - For SAA7134: In case of audio status change (eg. MONO-->STEREO) an interrupt will be simulated 
   by SW to access the DDStatusChange Callback routine.
 - FifoConfig_2 (Threshold) initialization changed to 2 - 2 - 2 - 3
 - enum AFormat extended by FORMAT_CHANNEL_C (used for SAP)
 - FM_AutoDematrixMode = 1, had been removed in InitDSP() by PSH in Version of 02/19/02;
   necessary to switch Mono/Stereo and Language A/B for SAA7134
 - Decoder: Initialization defaults changed (From Vamp 1.4)
WDM:
 - Add FM support. (From Vamp 1.4)
 - Change NewTunerInfo (channel select).
 - No rate adjustment for SAA7134. (From Vamp 1.4)
 - Fix for NEC's timeout problem. (From Vamp 1.4)
 - Fix DolbyProLogic/Mono problem (Don't use SetXxxPath).
 - Rework TVAudio property to support SAP and pass HCT 11.0.
PhTVTune:
 - Support for MT2032 microtuner. (From Vamp 1.4)



SAA713x Release Notes (Version 2.0.1.1 / 05/28/02) 
==================================================

Version 2.0.1.1:
----------------
HAL:
 - Bugfix for SAA7134: Stereo/Mono and Dual A/B switch did not work
PhilipsTV:
 - Audio Dialog: support for SAA7134/30 chip added



SAA713x Release Notes (Version 2.0.1 / 05/15/02) 
================================================

Version 2.0.0.4:
----------------
HAL:
 - new DspRegField DBX_FHFILTER due to SIRIUS Re-Design
 - Adapted for SAA7134/7130 GetAudioStatus() support
 - Set audio standard search mask according to country code from registry initially.
 - Bugfix for Problem #86: Set standard detection to "AUTOSTD" at each SetVideoSource().
WDM:
 - Audio standard, stereo and dual language detection also for SAA7134.


Version 2.0.0.3:
----------------
HAL:
 - Force planar stream on Task A (HW bug workaround) had been removed, 
   because there had been crashes under Win 98, ME (and XP ?) when 
   changing the frame rate to 1 fps and back to 25 fps.
WDM:
 - Make sure there is no CVampBuffer object left when device is removed.



Version 2.0.0.2:
----------------
HAL:
 - Bugfix: enum eAVirtualMode: DSP_VM_IMONO and DSP_VM_ISTEREO had been confounded.
 - Stream status control implemented on user interface level


Version 2.0.0.1:
----------------
HAL:
 - Memory unit access control implemented: 
   The sizes of the memory mapped register spaces are different for SAA7133 and SAA7134 series. 
   We must take care within our common driver (HAL) not to access a memory which is not present 
   for the actual device (eg. during initialization of the audio registers).
 - Handling of Open()-Start()-Stop()-Close() changed; more redundant to wrong calling sequencies.
WDM:
 - Call SetAudioStandard() at channel switch according to video standard.
INF:
 - Add audio standard information for country code 81 (Japan).
WDM-Tools:
 - AMCap and GraphEdit from DX 8.1



SAA713x Release Notes (Version 2.0 / 04/10/02) 
==============================================

WDM driver:
-----------
?Removed obsolete private properties
?Call Restart() at channel change
?CKSIoctl uses static members instead of globals
?Check return values in DoGetPropertiesExt()

Audio Properties and Dialog (Prop7134.dll):
-------------------------------------------
?Timer routine now also checks for source change
?Removed obsolete private properties
?Check return value of GetInput()


SAA713x Release Notes (Version 1.9.4 / 03/27/02) 
================================================

WDM driver:
-----------
?Allow all audio formats for tuner, except 41.1 kHz.
  (Upsampling implemented)
?Add new IKSProperty function for tuner channel switch notification.

HAL:
----
?Restart(): Trigger REST bit a second time after 500 ms to avoid
  loss of audio after source switch to tuner.

Audio Properties and Dialog (Prop7134.dll):
-------------------------------------------
?Complete


SAA713x Release Notes (Version 1.9.3 / 03/05/02) 
================================================

WDM driver:
-----------
?All audio properties implemented
?Removed TuneSampleRate
?Changes for "loopback" property
?Fixes for TVAudio and channel mode
?ReadRegistry returns an error if registry entry does not exist
?Prepared for 44.1 and 48 kHz (not working yet)
?Prepared for 6, 24, 32 bps (not working yet)
?Limitation: Only stereo streaming, no 4-channel capturing.

Audio Properties and Dialog (Prop7134.dll):
-------------------------------------------
?Required Dialogs implemented (pretty much complete)
?Preview means Analog Out
?Dolby not supported in driver
?AVL and SAP implemented but not tested
?"Format"- and "Standard" - fields display incorrect status

HAL:
----
?Altera and Tesonic support removed
?Set/GetFmRadioIF(), Set/GetDemDecMute(), Set/GetDbx() implemented
?Restart(), Set/GetDspReg(), SetStreamPath() improved
?Set/GetMasterClock() implemented
?Virtual Stereo Effect initialization from registry implemented
?I2S/I2S2 enable implemented (read registry)
?Sirius Hardware Set/GetAdjustmentRate() implemented
?Set Voltage Input Select due to Registry Entry (for SAA7133, prepared for Saa7134)
?internal undocumented test function HalVerification() implemented
?Different bonding IDs handled correctly
?Fixed VBI settings if unlocked channel
?parameter range check implemented
?SAA7134 update merged


SAA713x Release Notes (Version 1.9.2 / 01/15/02) 
================================================

WDM driver:
-----------
?GetSystemAddress() calls MmGetSystemAddressForMdl() with MDL_MAPPING_CAN_FAIL flag to satisfy the driver verifier.
?Add check in ReadRegistry().
?Implement Volume, Balance, Bass and Treble properties.
?Remove obsolete 7133 functions and call the appropriate HAL methods for all other 7133 specific functions.
?Add KSPROPERTY_AUDIO_CAPS, so the chip version can be determined by the Audio Property dialog.
?Fix for KSPROPERTY_AUDIO7134_INPUT property (Get/Set).

WIN95 driver:
-------------
?Initial version for SAA713X

HAL:
----
?Remove TESTMODE define for Release_FD configuration.
?Fix in DBGPRINTs.
?Sign extension in GetVolume, GetBass, GetTreble.
?WDM Audio functionality implemented (SetFormat(), SetXxxPath() etc...).
?Bugfix in GetAGCGain().
?Some Fixes in Restart(); method Status() implemented which confirms an DSP register access error reset.
?Some GetXXX Routines have returned the wrong settings, fixed.
?Disable SoftMute of MAIN in SetStreamPath() to make the sound audible in GraphEdit after PhilipsTV execution.


SAA713x Release Notes (Version 1.9.1)
=====================================

WDM driver:
-----------
?Implement write to PCI config space for URD.
?Use "VampDevice" registry entry for handshake with URD DLL (contains device index for multiple device support).
?Use private GUID for 7133 specific audio properties,
?Expose these properties only as device properties, not as stream properties.
?Implement 7133 specific audio properties.

Installation:
-------------
?Don't allow paging out driver.
?Seperate .inf files for each chip
?Filter names include "7133", "7134" or "7130", resp.

URD Dll:
--------
?Use "VampDevice" registry entry for handshake with URD DLL (contains device index for multi device support).
?Also try "VampType" and "FriendlyName" for backward compatibility.

Prop7134.dll:
-------------
?Fix for Windows Me.

HAL:
----
?Bugfix: Correctly read preferred video standard from registry (had always returned '0')
