RTMonitor Change Log

October 5 2018:

Support for the newest Libcvi.

October 4 2018:

Added Code to Libcvi initialization that creates the C:\ProgramData\VideoClarity folder if it doesnt already exist.

Fix for alignment failing when Libcvi files hit EOF before alignment is finished.  Also fixed a related problem which sometimes would hang RTM when EOF happened.

October 1 2018:

When no record libraries are saved in the registry and we create the default libraries (Input1 and Input2) we now also create an empty sequences file in each folder.

September 24 2018:

Added frame and timecode columns to the PSRN, DMOS, and Audio Average logs.  Also added the frame and timecode to the impairment log names.

September 4 2018:

Enabled Chroma option for DMOS.

August 27 2018:

Added Program selection for Libcvi inputs.

August 24 2018:

Fixed a problem with the latest Libcvi Config dialog which uses comboboxes instead of listboxes.  The newer controls were erroneously sorting the contents, which mixed up which video and audio streams were really being used and saved.

August 15 2018:

Added TSRecord Fifo length in seconds to Libcvi config dialog.

August 6 2018:

Wide vanc is now re-enabled if the video format switches from a 1080i format.

July 27 2018:

Added Libcvi Input to ManagerStatus.

July 25 2018:

Added support for configuring Libcvi inputs via RTMServer.

July 17 2018:

Fixed audio alignment being too large when comparing SDI to Libcvi IP inputs.

Added CSC Rec selection to config dialog.  This affects, previews, thumbnails and Sequence Properties.

Fixed sequence properties not reflecting scaled broadcast or sequence inputs.

Added support for recording TS files using Libcvi inputs.

June 27 2018:

Fixed video alignment being off by a frame or two when the inputs are IPRecord IP and Libcvi IP.

June 26 2018:

Audio Alignment fix for when audio sample cadences are not equal and cause drift in the audio alignment buffers.

June 25 2018:

Fixed memory corruption problem with Libcvi inputs with more than 32 streams.  Also fixed problems related to non-video or audio streams.

June 13 2018:

New Libcvi version which fixes stream frame rate calculation inaccuracies.

Fixed a problem where the 10 bit processing was not automatically being set when the input sequences are 10 bit.

June 6 2018:

Changed the Libcvi config dialog video and audio stream ID listboxes to be dropdown lists.

We now ignore Libcvi stream IDs which are missing (dangling reference) or audio streams with zero channels.

June 1 2018:

Fixed audio alignment offset when using Libcvi IP Stream inputs.  This requires the latest Libcvi.dll.

May 29 2018:

Fixed a crash after restoring a configuration which points to missing source files.

May 26 2018:

Added automatic default of selecting the first audio and video stream IDs when the registry has the value 0.

May 23 2018:

For Libcvi inputs from file, we use the skip first X frames value to skip the first frames when inputting the file.  This will skip the frames during alignment and during processing.  The old operation of this value is unchanged for IPRecord inputs.  In this case we just use the value during alignment for IPRecord inputs only.

May 22 2018:

Fixed a crash when stopping certain files opened with Libcvi.  This could happen when aligning.

May 17 2018:

Fixed crash when probing Libcvi IP streams with more than 2 Stream IDs.

Updated to latest Libcvi for alignment fixes.

May 15 2018:

Removed Image Format selection from the Libcvi config dialog.

April 25 2018:

Fixed library manager dll to ignore the on disk flag which when not correctly set was causing the sequence to not be saved when the library was being updated after adding or removing a sequence.

Fixed a crash in audio metering right after an alignment caused by a race condition.

Added Memory Usage Percentage to config.

Added support for latest Kona IP sdk/firmware.

Now use default Libcvi target video format if missing from registry.

Fixed issue with v210 image format and Libcvi inputs when video format width is not a multiple of 6 pixels.

Changed Save and Restore Config to use Regedit.exe in order to create text editable .reg files.

Increased Libcvi timeout for files from 10 to 30 seconds to accomodate slower systems and J2K files.

Fixed meters not working if using Libcvi inputs with Dolby DDP decode enabled.

Libcvi config dialog now waits for file/stream probing to finish before exiting dialog.

Now Libcvi stores both file IP stream inputs separately.

Added support to Libcvi inputs for custom video formats for No Video Output.

When restoring profiles we now preserve the local net interface portion of the IP stream.

Fixed some memory leaks.

Added video file name and size to Sequence Created and Sequence Deleted log entries.

Fix for RestoreConfig using the previous video format.

Scaling settings were erroneously affecting Libcvi inputs.

Library Manager now deletes .tc files when deleting sequences.

For Libcvi inputs, if no stream is selected we default to the first available stream.

Fixed Libcvi recorded sequences not having the video format set if using the No Video Output Module.

Added a verification to ensure that Vanc and Scaling are mutually exclusive options.

February 23 2018:

Added apply button to Libcvi Config dialog.

Removed IPRecord configuration from Saving/Restoring profiles.

Changed Save/Restore profiles to used regedit so that the .reg files are text editable.

Moved libcvi stream selection and configuartion from startup code until starting the inputs.

Removed memory buffer initialization for faster launching.

Removed Activate button from the library manager.

Fixed not stopping after monitoring libcvi file inputs.

Built with the AJA sdk.

Changed the defualt memory usage percentage to 50% for all configurations.  This is overridden by the registry setting.

February 9 2018:

Libcvi support is now working for most streams and files.  Including cropping and scaling, frame rate conversion and alignment.

December 20 2017:

When using SDI input 2 for the first input, we now use audio subsystem 2.

Added support for the new Video Clarity import library (libcvi).

November 17 2017:

Fixed using Write First Frame Only mode to record more than one frame for alignment.

Fixed using Write First Frame Only mode to just record a single frame for impairments.

November 8 2017:

Fixed garbage pixels along right side of frame for 720p 10 bit broadcast inputs.

Fixed crash in DMOS for 720p 10 bit.

October 23 2017:

Added warning if 10 bit is enabled and one of the inputs is IP (IP does not support 10 bit).

Reverted DMOS to processing the second layer for 4K.

Fix for PSNR 10 bit processing.

July 18 2017:

Added option for 10 bit processing for Broadcast/Sequence inputs.

July 11 2017:

Fixed a couple issues related to the new autocirculate status concerning the audio clock and the amount of audio transfered.

Force setting frame buffer format before checking the input signals.

July 10 2017:

Ported to AJA version 13 sdk.

JUne 29 2017:

Fixed an error in the audio alignment offset when comparing an SDI input with Dolby decoding to an SDI input with pcm audio.

Added new API calls: SetDualLink, SetQuadLink and SetTSI.  These require a new RTMserver.exe.

May 26 2017:

Added meaningful defaults to allow RTM to run on a virgin install with minimal configuration changes.  This includes discovering available disk drives and creating if necessary the AudioRoot, RTMLogs, and sequence record folders (will also add to ClearView libraries if not already added).

Fixed a problem which prevented fully processing complete files using the IPRecord file sources.

May 23 2017:

Fixed preview problem with 10 bit image format.

Added config options to enable/disable previews and graphs/meters.

Fixed hang when deleting backup logs.

Added config option to set the max log size and the max number of rotating backup logs.

May 12 2017:

Fixed 10 bit sequences were being saved as 8 bit, preventing ClearView from playing back properly.

New deleting rotational backup logs when logs are deleted.

May 5 2017:

Fixed RTMServer VideoThreshold call to not convert threshold value to a UINT.  It is now a double.

May 4 2017:

Changed the read only registry setting (RTMonitor Dynamic Realign On Video Failure) to default to false instead of true.  This reduces the triggering of dynamic realignment on videos of poor quality.

Increased the timeout period when waiting for the alignment capture phase to finish writing the captured frames to disk for IP inputs from file.

Changed logic when both IP File inputs are done being decoded we now wait until frames are processed before stopping everything.

May 3 2017:

Fixed crash on start when previewing IPRecord from file inputs.

All logs are now limited to 10 MB with upto 10 backup files.

April 28 2017:

Fixed automatic restarting of IPRecord from file when the job was completed.

April 17 2017:

No longer show "Restarting IP Inputs" on metric graph when stopped.

April 13 2017:

Added support for displaying the EULA at program launch.

Fixed a bug where impairment recordings of IP inputs were creating sequences with an incorrect video format.

Fixed the RTMonitor installer upgrade versions to extend to 3.999.

March 6 2017:

Added read only registry setting (RTMonitor Enable Front Panel Display) to enable RTMonitor to use the display for Displaying Impairments.  This will stop and delete the FrontPanel service.

February 17 2017:

Disabled wide vanc for 1080i on a Corvid22 board due to it no longer working with the latest drivers/firmware.

January 17 2017:

Fix for audio level meters not working when monitoring.

January 13 2017:

Changed previous fix for alignment when using DMOS - we now adjust alignment for the initial offset before grabbing buffers for DMOS processing, simplifying the overall alignment logic.

January 10 2017:

Fixed an alignment issue when running DMOS and the calculated video offset is less than the number of processor cores, the alignment offset could shift by as many frames.

Fixed Framestore 1 not going into capture mode when running concurrently with RTM Player.

Fixed showing capturing on the audio metric graph when the audio channel is disabled, but the corresponding audio channel is enabled in the other bank of eight audio channels.

Removed the Watch Folder input option.

December 20 2016:

Fixed problem where valid input signals were being incorrectly determined to have an invalid frame size.

December 7 2016:

Changed to version 3.0.

Added status text for Restarting IP Inputs after alignment while inputs are being restarted.

Fixed a crash updating audio meters when no audio is present.

Moved to AJA 12.5 SDK (DEPRECATED).

Now skip X frames for alignment applies to IP from file as well as from stream.

October 20 2016:

Changed E-E HDMI output configuration.

October 14 2016:

For working in coordination with RTM Player, we no longer reset interrupt subscriptions and also do not set the Rerference source to SDI input.

For E-E with 4K inputs we now route all four SDI inputs to the HDMI output.

When monitoring 4K TSI we now set the HDMI output to be TSI enabled.

October 10 2016:

Added support for Windows 10 - this entails different sizes for the graph bitmaps to get them

to be wide and tall enough.

Added Api support to get IPRecord MCast Address.

Added check for MultiPlayer before launching RTMonitor.

Improved performance for 4K.  This requires the latest SSIM.dll.

October 6 2016:

Increased thread priorities for the broadcast producer thread to make sure that frames are pulled off of the board as soon as possible.

Also increased the DMOS thread priorites and the monitor thread priority.

Increased number of hardware buffers used by 1 for each input.

No longer need to relaunch RTMonitor after changing the DMOS Skip Factor.

Added Video Threshold and Duration to ManagerStatus call.  Needed to update these to support decimal thresholds.  This requires the latest


September 29 2016:

Migrated build to VS 2015 Update 3.

Fixed dual SDI input on a Corvid88 for second input.  Now uses SDI Input 5 instead of SDI input 2.

Removed dependencies on the LCDControl.dll.

September 22 2016:

This is dependent on the latest IPRecord v.

Updated to for IPRecord support for 16 audio channel buffers.

Multi-threaded full alignment PSNR processing.

Added IP Multicast Address to the video properties text above the preview windows.

September 19 2016:

Added CCError counts to ManagerStatus.  Requires the latest RTMServer.exe.

September 14 2016:

Fixed crash caused by logging File Deletion Errors from separate threads.  These now get serialized through the UI thread.

Fixed hang on OK in config dialog if monitoring had previously been running.

Fixed bad audio offset when using DMOS.

Remove dynamic realigned frames from Periodic Status.

Changed algorithm that checks for available disk space to account for .ts recordings.

Removed DMOS dynamic realignment trigger when metric score was >= 3.9.

Added graphing of IP Lost Packets (vertical red lines on Video Metric graph).

Added logging of IP Lost Packtes in RTMLog.log.

Added support for using the Corvid88 for dual 4K inputs.

Fixed dual 4K on a Corvid88 was not setting image format on Framestores 6, 7 and 8.  Also fixed not setting SDI ports 5-8 to inputs.

Added 500 MB limit to psnr, dmos and audio average logs.

Reverted Periodic Status value adjustment for DMOS to account for removing DMOS dynamic realignment trigger when score >= 3.9.

NOTE: this version requires the latest IPRecord.dll (v.

August 18 2016:

Added 16 audio channels support.

Removed logic to pad with a whole frame of silence when DDP decoding does not find the PA preamble in the first audio frame.

Added router setup for Two Sample Interleave for High Frame Rates.

Changed aFreq Log Version to 8.3 so ClearView will interpret all 16 audio channels.

August 12 2016:

Fixed problem where audio alignment would vary by a frame sometimes for Dolby audio.  This was due to PCM Pass Thru not being tracked on a frame basis and hence when one input had already starting decoding and the other hadn't an offset was introduced in the audio align buffer.

August 11 2016:

Now removing .ts files when auto-deleting sequences.

Added logging of file deletion errors.

Now keeping average logs open longer to minimize overhead of opening/closing files.

Now calculating metric min/max/avg before broadcasting scores.

Added Min and Max Y to ManagerStatus call.  This requires new RTMServer.

Added Scaling interpolation to Config.

When Scaling broadcast inputs the metric logs where showing the Broadcast Output Module and the native broadcast video format.  We now show the No Video Output Module with the proper scaled video format.

Added a new metric status interval (in seconds) for ManagerStatus commands.  The original metric interal is still used for logging.

July 21 2016:

Removed recently added triggers for dynamic realignment when using DMOS.  When the scores jumps by 1 or more and now we prevent dynamic realignments from happening more than once on the same group of frames.

We now allow using scaling and frame rate reduction for IP inputs.  We used to only allow this via the IPRecord module itself.

Changed TS recording to run on a separate graph using the new TSRecord.dll.

TS Record configuration by setting transport stream mbps instead of a duration in seconds.

July 7 2016:

Now clear impairments on UI when we clear recordings.

June 29 2016:

Changed dynamic realignment when using DMOS to not wait until the next batch of frames and also to trigger when there is a jump of 1 or more in the DMOS score.

Fixed problem where updating the metric threshold does not take effect until after stopping/realigning.  This caused the metric logs to show the old threshold value.

Force Cb and Cr thresholds to -1 for DMOS since they are not used.

Added logging of more configuration items to RTMLog.log.

Fixed memory leaks caused by reopening libraries when already opened.

Fixed memory leaks caused by not properly cleaning up broadcast inputs on application exit.

June 2 2016:

Fixed metric logs not showing the video format when inputs are set to 4K signals.

May 27 2016:

Reverted back to AJA sdk.

Added Periodic Dynamic Realignment option.  Alignments triggered solely by periodic timer are not counted for doing a full realignment if count exceeds a certain max with X seconds.

Added Dynamic Realignment Lower Threshold for DMOS.  Upper is for PSNR.

We now ignore IPRecord dropped frame messages which arrive when the graph is not in a STARTED state.

Now ignoring RESTART messages which arrive after IPRecord inputs have already begun the building/starting process.

Fixed a crash which could happen when trying to realign while IP inputs are still stopping.

May 23 2016:

Upgraded AJA sdk to

Added averageY and timestamp to ManagerStatus api call.  This requires a new RTMServer.exe.

Fixed hang caused by having a video offset which is greater than the amount of buffers assigned to one of the inputs.  This only happened when running DMOS.

Changed all RTMLog.log references to PSNR to now be video or audio metric.

We now support recording transport streams of IP inputs.  This requires the latest IPRecord.

Fixed an alignment problem when input 1 is a sequence and input 2 is SDI.

Fixed a hang after aligning sequence/SDI inputs.

Processing now stops after once through when using DMOS with sequence/SDI inputs.

Added a configuration option for SMPTE 425 Quad Link which instructs RTMonitor to look for quad inputs.

Added a new option for SMPTE 425 Interleaved video which instructs the broadcast hardware to receive quad inputs in interleaved format instead of the default quadrant format.

May 16 2016:

Increased period for the IP Record object Stop timeout to 2 seconds.

Added support for SMPTE 425 Interleave mode.

May 13 2016:

IPRecord changes:

Added v210 support.

Fixed black previews.

Added a timeout break to the StopGraph potential infinite loop.

Fixed hang in DisconnectStreamBlocking which would hang waiting for

a STOPPED state even when graph was already CLEAR which could happen

internally when certain error conditions occurred.

Added the Restart timer to prevent restarting until IPRecord inputs are in a valid state to restart.

Now we do not post WM_AUTO_ALIGN until all IPRecord inputs are in a CLEAR state.

Fixed periodic averaging bug for DMOS when the average is set to every frame.

Added PSNR and DMOS skip factors.

Added code for RTMonitor and RTM Player cooperation - this is enabled with the RTMonitor Enable Multiple Applications registry value.

Added code to prevent crash if a profile with SDI inputs is put on a machine with no broadcast hardware.

Added support for sequences with UHD image formats.

May 2 2016:

Fixed a crash caused by intermittant broadcast 4K input signals causing a reassignment of buffers even when not all buffers had been allocated.

Changed the UI to show impairements immediately.

April 28 2016:

Changed incrementing of impairments to after logs are created.

April 27 2016:

Changed DMOS dynamic realignment triggering to trigger when DMOS values are near the max.

April 26 2016:

Added new registry DWORD value: RTMonitor Ssim Subsample Increment to increase DMOS/SSIM performance.  The default value is 1 which operates the same as before.  This requires the new SSIM.dll.

Added clipping to multi-threaded PSNR scores for the rare case where the PSNR scores exceed 100.

Now initializing video buffers at startup when memory is first allocated.  This fixes dropping frames with 4K inputs when starting RTMonitor right after launching.

April 13 2016:

Fixed a bug where when running DMOS with a non-zero audio offset audio scores were slightly lower than they should have been.

Fixed a bug where when running DMOS with frame rate reduction audio scores were slightly lower than they should have been.

Suppressed a warning message which would come up before the main application UI when the input signals were mismatched.  This is to prevent the possibility of launching a second instance of the application.

March 30 2016:

Added AppCode parameter to the Exit command.  This requires the new RTMServer.exe.

March 29 2016:

Reduced Timeout on getting buffers from 10 to 1 second.  This allows Stop to return much faster.

March 23 2016:

Added a check to restore config to verify that the Broadcast Scores Local IP Address remains unchanged.  If this fails the so will the restore.

March 11 2016:

RTM 4K fixes for using two Corvid88 or Kona4 boards.

Fix for dynamic realignment not working when frame rate reduction is being used.

Now ignoring RTM_MAPI_EXIT command to prevent the MIB Browser from closing RTMonitor when it disconnects.

Added warning and force realignment when timeout occurs waiting for enough captured frames to do alignment.

March 8 2016:

Reverted to previous SSIM.dll due to differences in calculated scores.

Added restart logic for another case when monitoring is stopped due to a Dolby Decoder error.

Added restart logic for excessive dropped frames.

Re-enabled processor version check for enabling IPRecord inputs.

Now using the second broadcast board when installed for input 2.

Now setting Broacast board channels 3 and 4 frame buffer format for quad boards.

Fixed video input combobox issues related to using the Corvid88 broadcast boards.

February 10 2016:

Added restart logic to the case when monitoring fails due an IPRecord startup failure.

February 9 2016:

Fixed over allocation of memory on systems with more than 16 GB of RAM.

Changed logic to not fail on audio gaps if the overall levels are low.

Fixed a problem where a change in video alignment was causing a shift in the audio alignment when using SDI input with Dolby Decoding.

Added support for using two Corvid88 boards to do 4K inputs.

Fixed problem where having SDI inputs one and two hooked up when only only using input one was causing corruption on input 1.

Added registry option to disable wide vanc for Corvid 1 systems.

Added a new scaling mode to Scale.dll which does integer scaling for use only when source image is being scaled by 2:1.

Improved SSIM.dll performace.

January 28 2016:

Modified rtm client to limit the log size to 100 MB.  Also changed the name of the log from log to RtmClientLog.log.

January 26 2016:

Fixed an intermittant crash on exit caused by receiving IPRecord Message after shutting down.

January 20 2016:

Fixed crash when broadcast input 2 signal goes invalid.

Added third part of version number to the application title bar.

January 6 2016:

Fixed file open error causing full alignment to fail on on first pass when using broadcast input.

November 23 2015:

Added auto delete function to RTMReducer to delete all files older than 2 minutes.

Fixed a timeout problem getting IPRecord live IP Stream buffers when there are a lot of network problems.  This would cause RTMonitor to start dropping every frame on the other input, and would hang when stopped.

Fix for running on a system with 2 3G Quad boards.  Now we always use the first board unless it is a system with LHi or Corvid 1 boards.

November 5 2015:

WatchFolder input was not deleting the first file opened for preview.

Changed RTMReducer to store all output frames in memory and then write to disk all at once.  In order to prevent BTSync mechanism from complaining about file changes.

Fix for RTMServer failing on ManagerStatus and BroadcastBoardTemperature when no broadcast hardware in the system.

October 30 2015:

Changed RTMReducer/Watch Folder playback to use the source rect instead of scaling.  This rect is also used for the metric window.

Added config option to limit broadcast input to legal broadcast values.

Now if the IPRecord input is dropping frames we force a full alignment.

October 1 2015:

Fix for sometimes when there is an IPRecord error and we try to realign the system either stops or hangs.  Now we wait to ensure a valid state from the IP input before realigning.

Disabled Score Broadcast Interval, Frames/Seconds and Frames/Seconds units when monitoring.

If Score Broadcast Local IP Address is not selected we automatically select the first address in the list.

When editing the video offset the application was limiting the legal values incorrectly.

Fix for using a Corvid 44 and SDI inputs 2, 3 and 4. There was some overlapping of buffers on the board.

September 22 2015:

On a fresh system, restoring profiles would fail to do the full update if the IPRecord registry tree did not include braches for all four channels.  Now we will not fail if the first two channels are there since these are all that is needed for RTMonitor.

Fixed a problem when running with 2 Corvid 1 boards where RTMonitor would not work if both inputs use SDI Input 1.

September 4 2015:

Audio from IPRecord input is now being saved to disk after accounting for the Audio Correlation factor.

September 3 2015:

Fixed audio source for Corvid 44 SDI Inputs 3 and 4.

September 2 2015:

Changed SnapShot Jpeg encoding to no use OpenCV.  Removed dependencies on OpenCV in RTMonitor.exe.

We now preserve Score Broadcast Local IP Address when restoring a config profile.

August 28 2015:

Fixed audio alignment offset for IPRecord after a dynamic realignment.  

August 27 2015:

Changes to metric graphing updates to try to fix psnr graph failing to update on some systems.

API changes for ConfigLipSync, ConfigVanc, VideoDuration, VideoLogAveraging, VideoComponentEnabled, VancLineEnabled.  This requires the new version of RTMServer.

August 24 2015:

Changed Offset Outside Range error to Temporal Offset Verification Failure since this refers to the case where our second or third highest motion frame does not have the possibility of matching any valid frames on the first input based on the first match.

Fixed problem where we are not keeping up releasing buffers which causes dropped frames when doing DMOS and dynamically aligning a lot.

August 12 2015:

Changed DMOS log Min/Max/Avg Cb to C.

August 7 2015:

Changed Audio offset to show N/A if no audio is enabled.  If not yet aligned it shows Waiting.  These changes were also applied to RTMServer.

Fixed problem where problem where starting via the api would not start if full alignment was disabled when using IP inputs.

July 31 2015:

Updated version to 2.8.

July 22 2013:

Added Session Name to Main UI.

July 21 2015:

Fixed crash when VANC was enabled for sequences/IP input but the inputs had no VANC lines.

Fixed flickering graphs when using Remote Desktop.

July 17 2015:

Fixed problem where reseting the metric window when VANC was enabled was causing the video metric to include part of the VANC area.

Fixed problem where audio alingment was not happening due to an erroneous determination that a dynamic realignment had recently occured but in fact it happened on the previous day.

July 15 2015:

Fixed a crash when using DMOS and the Score Broadcast Interval was set to 0.

Fixed a bug when using VANC with sequence input sources. The video metric scores were including the VANC lines.

No longer broadcasting scores when Score Broadcast Interval is 0.

Config Video metric tab Cb and Cr selections are now disabled when DMOS is enabled.

July 8 2015:

Changed score broadcast to use the config local IP address instead of the first system IP address.

Added added support for score broadcast configuration via the api and server.  Added MulticastConfig and GetMulticastConfig commands which require a new version of RTMServer.

Fix for green sdi input preview when switching from IP/IP config to SDI/IP config.

Added configuration option to Skip First X Frames during full alignment.

July 1 2015:

Fixed crash caused by having Dolby Decoder enabled (SDI or Sequences) but no audio channels enabled.

Changes to score broadcasting.  Changed duration to numframes.  Added Video Offset, Threshold duration, Failure Y,Cb and Cr, and Threshold Y, Cb and Cr. There is also a new RtmMcast.dll which now sets the TTL to 128 (used to be 1).

June 30 2015:

Added support for monitoring sequences with 16 audio channels (we still only monitor the first 8 channels).

June 29 2015:

Fixed metric score broadcast min val always equalling 0 for DMOS.

Changed precision to 4 decimal places.

June 26 2015:

Added support for broadcasting metric scores.  This version requires RtmMcastDll.dll.

June 23 2015:

Added support for using sequence playlists for input sources.

June 19 2015:

Fixed problem where audio loudness score is unchanging if only one audio channel is enabled.

Added support to be able to switch between DDP decoding and PCM on the fly.  This requires a new VC_DDP_AudioDecoder.dll.

June 17 2015:

Added new calls to RTMServer to get input source, IPRecord input file, input library and sequence for RTM Mgr.

June 9 2015:

When restoring a configuration we no longer force a metric window reset if the video format changed.

After restoring we dont automatically start previewing or monitoring if the application was in a stopped state.

Changed video metric log min, max and avg values to have four decimal places of precision.

Fixed a hang caused by restoring a profile while the application was in the finding motion or matching frame phase of alignment.

Fixed a problem restarting caused by restoring a profile when the application was monitoring.

Changed Finding Motion phase of alignment to not require that the frame following a high motion frame also have a certain amount of motion.

June 1 2015:

Fixed alignment problem when aligning SDI to IP and the total alignment capture was a large amount the calculated video offset would be wrong.

Now aligment capture adjusts for frame rate decimation.

Video properties frame rate is now adjusted for frame rate decimation.

Fix for crash when scaling from a smaller image into a larger image size.

May 28 2015:

RTMServer change to allow for recv() failure at the start of a transfer.

May 21 2015:

Updated RTMServer to not display error traces when recv returned no data since this is not a real error.

Video metric graph now shows 'D' or 'P' when aligning.

Added option to have the metric window automatically reset to the current video format.

Changed VANC to now capture "wide" vanc which means extra vanc lines are captured.

Changed VANC line numbering to be for literal video line numbers instead of relative to captured vanc lines.

New VC_DDP_AudioDecoderFilter.dll to go with the latest VC_DDP_AudioDecoder.dll.

May 19 2015:

The app now filters out messages which would cause it's dialog to fill the screen after restoring screen resolution from a very small resolution.

May 18 2015:

Fixed a preview scaling problem for SDI Inputs.

Fixed a crash when monitoring from sequences without audio but audio channels and Dolby Decoding were enabled.

Fix for using a CorVid44 where the second input gets stuck starting.

API call to save config profile now saves IP profile also.

May 13 2015:

Now compensating for audio when Broadcast Dolby Decoding detects a change in packet spacing and ther are BAD DATA TYPES found.  This requires a new VC_DDP_VideoDecoder.dll.

May 11 2015:

Added support to RTMServer ManagerStatus to get all impairment/error times.

Added support to RTMServer to set SessionName.

Added support to RTMonitor to decode Dolby audio in sequences which have SMPTE 337 Dolby on channels 1 and 2.

Added support to RTMonitor and VC_DDP_AudioDecoder.dll to account for errors that occur when parsing SMPTE 337 Dolby embedded in an SDI stream or sequence.  Now when incomplete sync frames are detected we compensate for the lost audio data by padding the decompressed audio buffers to maintain a/v syncronization.

May 8 2015:

Added more stuff for RTM Manager (OperationalStatus and ManagerStatus).

Get Loudness errors and time.

Get IPRecord Version this requires IPRecord version or later.

Fix for Kona 4 - we now E-E SDI input to HDMI Output.

May 6 2015:

Added API/Server support to get IPRecord input config settings (IP Address, Port, Protocol, Transport, MPTS video and Audio PIDs for IP and File).

Changed start and run times to only start after alignment and to stop when signal goes invalid.

Changed impairment logs to use the session name as a file name prefix.

Added logic and UI changes to treat Loudness errors similarly to LipSync errors.

May 5 2015:

Added Session Name to Config Sequence Creation tab.  Also added GetSessionName and SetSession to the RtmMsgApi and RTMServer.

Alphabetized the RTMServer help text.

May 1 2015:

Changed profile restoration for IPRecord settings to preserve the existing IPRecord Channel NetInterface values.

April 30 2015:

Added D/P label to metric graph at startup and now switches when the video metric is changed.

Video Cb and Cr threshold values become enabled/disabled when the video metric is changed.

Added support for the Corvid 44 board.

April 29 2015:

Change to buffer management for DMOS/Dynamic Realignment to fix problem where we start dropping frames.

April 24 2015:

Fixed not being able to Dynamically Realign when running DMOS except during the period when all DMOS buffers had been processed.

April 23 2015:

Added RTMonitor Memory Usage Percentage registry entry.

Now we are deleting DMOSAvg.log along with other logs.

April 22 2015:

Fix for Audio Alignment for 2 SDI with Dolby inputs.

Change to buffering for DMOS Dynamic realignment.

April 21 2015:

Changes for DMOS buffering and Dynamic Realignment.

April 17 2015:

Fixed problem with dynamic realignment when running DMOS.  Sometimes it would align away from the correct alignment.

April 16 2015:

Fixed RTMLog Video Offset entry to use corrected video offset when input is from IP.

Fixed problem where audio grows after dynamically realigning.

April 10 2015:

Added sequence name to Sequence Deleted RTMLog entry.

April 9 2015:

Fixed problem where the first few DMOS scores after re-aligning were wrong.

Refactored monitor thread sections for getting buffers and aligning buffers for video offset.

April 7 2015:

Added check to prevent using the same broadcast input port for both inputs.

Fixed impairment log output module settings.  Now scaled broadcast inputs use the broadcast output module instead of the No Video Output Module.

Changed score for uneven silence from 1.0 to 2.0.  Changed score for audio spike from 2.0 to 3.0.

Increased threshold for average sample values to avoid uneven silence detection when overall levels are low on both inputs.

April 6 2015:

Removed dependence of RTMonitor on MetricLib MAX_AUDIO_CHANNELS (now set to 16 for ClearView).  RTMonitor is now uses RTM_MAX_AUDIO_CHANNELS (8).

April 3 2015:

Rebuilt with MetricLib for 8 audio channels.

Changed our scaler interpolation from super to linear.

March 31 2015:

Added GetInputVideoFormat to RTM API/Server.  Requires new RTMServer.

March 25 2015:

Modified to support new AudioLoudness.dll which supports 16 audio channels for ClearView.

Modified to support new VC_DDP_AudioDecoder.dll which has one new parameter in the DecodeDDPAudio function.

March 23 2015:

Rebuilt using new IPRecord.lib.

March 20 2015:

For NTSC VANC processing we increased the number of VANC lines processed from 22 to 25 lines to include CC data which happens to be in the active area.

Added support for IP AVC Video Decoder configuration of Error Concealment mode and DeInterlace mode.  These were added to the RTMMsgApi and RTMServer as well.  This requires the new version of RTMServer.

March 13 2015:

Changed profile configuration restoration to restore RTM settings before IPRecord settings.

Added flag for expected format change to circumvent stopping while restarting after restoring a profile.

New RTMServer which sets success string for several commands.

March 12 2015:

Added a command line argument so that RTMonitor will know when it has been launched by RTMServer.  There is a new RTMServer which provides this argument to RTMonitor.  There are no changes in usage.

Fixed problem getting the proper audio input source on quad input boards.

March 11 2015:

Fixed crash after selecting OK on the config dialog if the inputs were previewing.

On 4K broadcast boards we now loop on checking the input signal formats which is necessary when changing from playback to record mode.

March 10 2015:

Fix for Using SDI inputs 3 and 4 - were not being set to input mode.

Fix for no audio on SDI inputs 3 and 4.

March 9 2015:

Fix for IP input stopping when the other input had been set to IP from file and then changed to broadcast input.

Fix for 4K systems when input one is set to SDI In 2 and mismatched signals on SDI 1 and 2.

No longer trying to open sequence audio files when no audio channels are enabled.

March 6 2015:

Now using ScaleDll.dll for inline scaling in place of using IPRecord's inline scaling functions.

Fixed automatically reseting the metric window when scaling is on when we start monitoring.

When comparing SDI to IP and the SDI signal becomes invalid, we were not automatically restarting when the signal becomes valid.

For Kona 4 and Quad boards, disable unused framestores.

March 2 2015:

Added an dynamic realignment option to preserve audio when dropping a frame due to dynamic realignment.  This only applies to IP inputs.

Fixed inconsistent audio offset calculations when both inputs are decoding Dolby audio from SDI sources.

Added another Full Alignment Cause to track when the user selects Realign manually or via the api.

February 27 2015:

Changed Audio Alignment suppression after dynamic realignments to only care about alignments that changed the video offset.

Added Config option to clear all logs and sequences on startup.

Switched from 11.3 sdk to 12.1 sdk.

February 26 2015:

Fixed for using SDI inputs 3 and 4.  Now router setup is correct and alignment also works correctly.

Added ability (currently disabled) to inline scale IPRecord inputs.

February 19 2015:

Now when we restore a profile we also restore the IPRecord registry settings and ReInitialize IPRecord to use the restored settings. This requires IPRecord version or later.

Added call to set broadcast hardware to OEM_TASKS based on AJA direction.

Removed the need to exit RTMonitor and re-launch when audio config settings changed in order to get IPRecord to recognize the new settings.  When audio has been disabled we now clear the audio level and LKFS graphs.

Fixed a crash on launch when the SDI input does not have the same video format as the IP input.  

Changed input signal detection and broadcast audio setup to allow for SDI inputs 2 - 4.

Changed SDI input signal detection so that it does not force building of graph for the IP input as this gets called too frequently and hangs the application.

February 13 2015:

Removed Dolby 288 audio sample offset correction from Audio Alignment caluculations.

February 11 2015:

Fixed input selection problem - second input would change from IP to SDI Input 2.  Now switching inputs also switches the channel on the broadcast board.  SDI Input 2 uses channel 2, etc.

Fixed max graph value for DMOS - graph now reflects configuration setting.

Changed video properties text above previews to show SDI input number.

February 10 2015:

Fixed inconsistent audio offset when comparing SDI input with our Dolby audio decoder compared to Sencore and Cobalt hardware decoders.  We now reinitialize the decoder object after aligning and also pad with silence at startup when no DDP header info is detected in initial frames.

February 9 2015:

Added support to save/restore IPRecord registry settings along with RTMonitor registry settings when saving/restoring profiles.

Added ability to select from multiple SDI inputs.

February 5 2015:

Fixed crash which occurs with IP inputs when full alignment is disabled and RTM is started with a video offset.  Now we properly configure IPRecord to use the reassigned memory buffers.

Fix for running with 2 Corvid 1 boards.  The second input was getting stuck initializing.

January 29 2015:

Changed the algorithm which checks for enough disk space for recorded sequences to allow for zip files created by RTM Manager.

Fix for erroneously reporting invalid signal for IP inputs when alignment is first started.

Fix for extra large audio offsets when comparing SDI to IP inputs.

January 22 2015:

Added thread to check for valid IP input which tries to build a graph.  This gets called when the IP input has an error or fails to start.

Changed version to 2.7.

January 13 2015:

Fixed crash for 720p 59.94/60 Dolby decoding.  PCM buffer was too small for 59.94/60 Hz. inputs.

When dynamic realignment causes a buffer to be dropped on an input with Dolby decoding we now adjust by the average number of samples per frame instead of the actual decoded samples since these vary frame to frame.

No longer reseting our decoded buffer position indeces after a successful full alignment since audio is not restarted.

Added synchronization for Dolby input when copying from decoded buffer to the audio alignment buffer to prevent new decoded samples from corrupting the audio alignment buffers.

January 8 2015:

Added IP Addresses to the main UI.

January 7 2015:

Fix for audio scores being imperfect when using identical broadcast inputs with DDP.

Now E-E works for Kona 3 and 4 boards via output 3.

Audio preview for DDP decoded output now works at startup instead of after a 10 second wait.

January 5 2015:

Fix for RTM Manager - no longer shows invalid signal for IP inputs.

Fixed crash when trying to decode Dolby audio when the input is a sequence.

Fixed glitchy audio when doing Dolby decode of 720p input on input 2.  Fixed by adding flag to indicate that the preamble A was found on a previous frame and not to copy silence except for the first occurance of DD preamble.

December 18 2014:

Removed invalid Dolby license messageBox which would come up at application launch if no valid Dolby license.

No longer fail DLL_PROCESS_ATTACH for Dolby dll when not licensed which caused app to not launch.

Added API support for Dolby.  Requires new RTMServer.exe.

December 11 2014:

Added check for IPRecord Audio Codec to allow for algorithmic delay - Note current IPRecord returns "unknown" for our Dolby Decoder so this is not really working until IPRecord is fixed.

December 9 2014:

Fixed problem where SDI/IP with Dolby decoding would lose audio alignment after a few minutes of monitoring.

December 8 2014:

Fix for dual LHi systems where previews were showing content from both inputs.

December 5 2014:

Now linking with IPRecord.lib from SVN.

Changed VC_DDP_AudioDecoder to check license only on DLL_PROCESS_ATTACH and not on DLL_THREAD_ATTACH.

Changed VC_DDP_AudioDecoder to not accept a bad data type (3) and instead go back to initialized state looking for next Preamble.

Changed VC_DDP_AudioDecoder to not switch to PCM mode if samplesSinceValid > 4096.

Changed VC_DDP_AudioDecoder to check for drift between sync frames.

Fix for previewing Decompressed DDP Audio when inputs are 720p60.  

November 25 2014:

Added UI controls and registry settings for Audio Gap and Spike detection.

Fix for VC_DDP_AudioDecoder and LicenseValidation.dll which caused ClearView to not work when RTMonitor was not licensed.  This was caused by the Dobly decoder using the wrong application code when calling the LicenseValidation.dll.

Fix for misalignments when using a broad spatial range.  Added a double check using the second best comparison frame.  We also now reject comparison frames if the next frame has a low temporal score.

Now using metric window when doing spatial alignment.

November 20 2014:

For Dolby Decoding we now acount for where in the frame the Dolby actually starts, giving a more accurate audio offset.

Fix for green preview on input 2 when using 2 LHi boards - we were using channel 2 instead of channel 1 for 2 board operation.

November 14 2014:

Fix for VC_DDP_AudioDecoder.dll when No Dolby Decoding license is present, app would not come up.  Now Dll will load, but the Initialize and Decode calls will fail.

Suppress invalid signal warning when application is launched and we are using Smpte 372 Dual Link inputs.

Fixed DDP audio previews.

November 13 2014:

Added support for DDP decoding while previewing.

Added support for SMPTE 372 Dual Link - 1080pB to 1080pA.

Changed VC_DDP_AudioDecoder.dll to check for a valid license.

November 11 2014:

More changes regarding Dolby decoding.  Changed interface requires new VC_DDP_AudioDecoder.dll.

November 10 2014:

Fix for large audio offset when using DolbyDecoder.

November 7 2014:

Disabled the 1080p B changes due to erroneous detection of 1080pB when 1080i present on both inputs.

Fix for crash when our DDP decoder was enabled and the input was from IP.

Nov 3 2014:

Added support for a new version of VC_DDP_AudioDecoder.dll which passes a reference to a token which the initialize fuction sets upon returning.  This token is passed to the other api calls.

Added support for 1080p B dual input on a single Kona 3G Quad or Kona 4.  Currently we are having problems with input 2 - pending a response from AJA.

Fixed problem with SDI input using a single Kona4 or 3G Quad.  Both inputs were getting audio from input 2.

October 28 2014:

Fix for audio previews being one frame ahead of incoming signal which caused preview to be of stale buffer data and would continue previewing after stopping the source or would not show a preview when valid audio was incoming.

Fix for error reading video frame for preview.  This error occurred when creating a thumbnail for the captured sequence and the system was still in error causing the record file to change which caused an invalid frame to be read for the thumbnail.

Now we uncheck Dolby Decoding if no valid license is found.

Fix for green preview on input 2 when using SDI inputs 1 and 2 on the first of 2 Kona4 boards.  The interrupt for input 2 was not being enabled causing autocirculate to get stuck starting.

October 23 2014:

Fixed lack of audio preview for SDI inputs when IP input on input 1 and SDI on input 2.

Added support for PCM passthru from Dolby Decoder.

October 14 2014:

Dont acknowlege input signal format change when first run after power up.  Board can be in a different format than the input signal, but dont warn about invalid signal.  This can also cause a crash due to duplicate IPRecord threads caused by processing the input signal format change which stops the IPRecord input while is still starting.  This should also fix the problem where the metric window gets reset on the invalid signal processing.

There is a new LicenseValidation.dll required for this version because we added licensing support for the Dolby DD+ AUdio Decoder.

October 7 2014:

Changed Audio Align Logging to work even when no audio channels are enabled in order to keep logging video offset for LogGrapher.

October 6 2014:

Added MB_SYSTEMMODAL flag to all message boxes to keep error messages from being hidden by other dialogs.

September 29 2014:

Force reference to be SDI Input 1.

E-E SDI In 1 to SDI Out 2 (instead of SDI In 2 to SDI Out 2).

September 18 2014:

Fix for using 2 boards.  We now use inputs 1 and 2 on board 0 instead of input 1 on boards 0 and 1.

August 14 2014:

VC_DDP_AudioDecoder.dll update. Supports 2 instances.

Added enable Dolby decoding to config and registry.

Fix for crash in GetAudioMetricValue.

Fix for crash when running after increasing FIFO buffers.  Now reallocate fifo buffers.

August 6 2014:

When IPRecord object detects stopping and does not get frames, dont set inputErr.  Instead set restartOnError flag.

Fix for single ended alignment.

Added VC_DDP_AudioDecoder.dll.

July 21 2014:

Fix for not restarting when IPRecord stream input was stopped due to an audio EOS event.  Now calling Video/Audio status will not override error code returned by GetNextVideo/AudioBUffer.  This problem may also be responsible for a crash caused on the first IPRecord frame captured after failing a full alignment when the first frame is in error.

July 14 2014:

When decimating an input, dynamic realignment now tracks the net video offset in order to properly decimate by dropping the proper frame.  This allows dynamically dropping either even or odd frames in order to stay aligned.

Fix for decimating inputs with audio - we now combine audio from decimated frames with audio from kept frames referenced by the same alignIdx.

Fixed disappearing audio graphs when input is decimated.

Fixed problem when broadcast input signal is unstable and application gets stuck starting with the error: "Error instantiating record object".

July 2 2014:

Added audio spike detection for aFreq Metric.  Score is 2 when spike is detected.

Fixed api interface to RTM_MAPI_STOP.  We now return from stop and the client should then poll the stop status.  This fixes a hang while stopping via the api.

Changed memory usage from 80 to 85%.  Now uses this value unless the IPRecord is the current input.

Changed min number of buffers per input from 120 to 90.

Fixed alignment calcualtion error when SDI/IP and using decimate frame rate on SDI input.

Fixed crash at startup when no video components or audio channels are enabled when using IPRecord input.

Now when the check for broadcast input signal stability fails, we start the invalid signal checking thread.

Added "Allow Video Offset Drift" registry setting to allow for drift and to dynamically realign but not change the video offset in the UI or logs.

June 20 2014:

Changed video threshold values to enable floating point (non-integer) values.  This is mainly for DMOS/SSIM, but is also for PSNR since both metrics share the same thresholds currently.

Fixed problem with SDI/IP.  Stop, change input 2 to SDI 2 and then erroneous error messages occurs stating that the signal is invalid when it is really valid.

Changed warning messages about mismatched input formats to include the current width and height of both inputs and also suggest how to remedy the problem.

June 17 2014:

Added gap detection to the aFreq metric.  There is a new registry DWORD value: RTMonitor Audio Metric Gap Min Samples (set to 0 to disable (Default).  Set to 480 to find 10 msec gaps.

June 13 2014:

Main Dialog Threshold, Duration and Spatial Offset fields are now saved to the registry right after being changed.

Fixed the app not restarting when a timeout failure occurs getting video or audio buffers from IPRecord.

June 9 2014:

Fix for crash when reassigning buffers.  Removed memset command.

Added workaround for flaky SDI input signals.  We now check for signal stability before starting preview.  This requires broadcast inputs to maintain a consistent valid input signal for 3 seconds.

June 3 2014:

Attempted fix for crash caused when input signal format changes and crash happens before message can be processed.  We now set abort flag for the other input to stop it before posting message about format change.

May 21 2014:

Added new DmosAvg.log file.  Now psnr and dmos use separate averaging logs.

May 19 2014:

Fixed RTMonitor built for version 10 sdk (was still linking with v. 11 library) - was not starting broadcast inputs.

May 15 2014:

Reversed sign when applying IPRecord audio correction greatly improving audio offset for IP streaming.

May 13 2014:

Fixes to run using AJA version 11 SDK.

Changed usage of IPRecord Audio offset correction.  Now we use this value to offset the data in the align buffers instead of adjusting our calculated offset.

Fix for Broadcast input with VANC enabled.  Previews now scale correctly.  The Metric Window is now correct in that it is relative to the active video and ignores the VANC lines.

Audio Loudness in now logged periodicly along with the video and audio averages.

May 5 2014:

This build requires IPRecord version or later.

Added new method for correcting IPRecord stream input audio offset.

Now default is to only write to disk when there are failures (Fifo mode).

Changed default of number of dropped frames that cause a restart to 10,000.

When aligning to memory we now use the smaller of the number of buffers and the max disk align frames.

May 2 2014:

Fixed broadcast input problem for systems with Quad boards.  Needed to set ports to be inputs.

Fixed crash when one IP input stalls and causes the other IP input to stop.  Graph was not stopped properly causing DisconnectStream to hang.  This has been changed to only do this in the case when the other input is IP input from file.  In this case we do stop the graph properly.

For IP Input if any graph fails to build or start we now renable the Stop, Re-Align and Exit buttons.

April 21 2014:

Fixed crash caused when an error occurs reading a video frame during the creation of a sequence thumbnail.

Fixed crash during preview when buffers are being reallocated.

Fixed problem with audio being discarded during frame rate decimation.

Now save IPRecord Output module in registry when set via the RTMMsgApi.

Fixed crashes which occur when video formats are changed and then RTMonitor is restarted.  Also fixed crash on launching RTMonitor with mismatched broadcast inputs on the same broadcast board.

Now the video metric window is resest when scaling enable or scaling output window changes.

April 4 2014:

Removed check for too many frozen frames which was preventing alignment from working on some systems.

Fixed preview problem when using small frame sizes.

More RTMReducer changes.  Now stops reducer on stop.  Keeps reducer going while aligning - no restart.

IPRecord File input would sometimes not start.  Fixed problem where at startup one stream shut down when the other stream state was stopped, but it was actually still starting up.

March 24 2014:

For SDI/IP we now use the blocking version to start the IP input before the SDI input.

Now on preview we check the metric window against the current video format and change it if necessary.

Needs IPRecord or later.

March 18 2014:

Made changes to Status and Error text in the video metric graph area. To better reflect the current state.

IPRecord fix for SuspendStream hanging when comparing SDI/IP.

Fix for registry saving of long file names (logs and audio root). Was causing C file to appear in random places.

March 5 2014:

Added 4:1 decimation option to the config video frame rate decimation combobox.

Fixed PAL audio issues causing inconsistent audio alignment and poor scores.

Fix for video alignment using IPRecord.

This requires IPRecord version or later.

February 23 2014:

Increased maximum number of frozen frames allowed in alignment capture for ip stream input.

Changes added to support RTMServer commands.  AUdioChannelEnabled now sets channels.  ConfigInputIP and ConfigInputFile both support MPTS argument.  ConfigLogFile now has a useSubFolders argument.

February 11 2014:

Fix for AutoRTM while aligning sometimes RTMonitor just stops.  We were clearing the graph in two different places which caused a problem when we used the blocking mode while stopping the stream.

When aligning inputs from IP/File we were not waiting long enough to capture all of the alignment frames.  This was sometimes causing Disk Read Error alignment failures.

We now automatically fail the finding motion phase of alignment when too many frozen frames are detected. This was causing inaccurate alignments with PAL inputs.

Fixed a problem where starting sometimes failed with an IP input connection error after the IPRecord config dialog was run.

Fixed a problem where loudness calculations/logging stopped working while monitoring.

LKFS log failure column now shows correct Y or N based on the allowable min max range.

January 23 2014:

No longer stopping IPRecord input when IPRecord config dialog is exited.

January 21 2014:

Updated for change in msg api ConfigStreamModule command - added argument for progressive.

When using WatchFolder input RTMonitor now spawns a process to run the rtm client command to the rtmserver on the reducing system.  This now starts the reducer automatically.  There is a change in the rtm msg api and in rtmServer to work with this update.

Fix for returning too early from the rtm realign command with a failure.

Fix for configuring IP input when the current input is broadcast.  This now works.

Fix for preview not working when inputs are 480i.

Fix for preview button being disabled after returning from the config dialog after switching the input source between IP and Broadcast.

IPRecord config behavior is now reverted to the way it was in versions 0.7.8.X.

January 9 2014:

Config Video PSNR and DMOS radio buttons now enable/disable the Cb and Cb checkboxes.  Selecting DMOS also unchecks these controls.

Fix for ConfigStreamModule api call.  It failed when the output module is No Video Output.

Now if the video input source is IP and the config video input source selection is set to select another input, we stop and clear the IP graph.

Now any time the video input source is selected we set a flat to realign when start is pressed.  This is also true when the input is IP.

With recent IPRecord changes, now when exiting the IPRecord config dialog we no longer expect the graph to be in a stopped state.

January 8 2014:

Fix for green frames when playing from Watch Folder.

Fixed hang when changing to DMOS and disabling chroma after running with PSNR on all components.

Several changes for aligning an SDI input to a watch folder input.

December 13 2013:

Fix for switching formats and/or SDI/IP causing bad video.  Framestore for second input not setting video format.

Fix for monitoring watch folder.  Files now deleteing correctly.

December 12 2013:

Fixed crash on 64 GB systems with 525 inputs.  After aligning there was a crash when one input was given more than the max number of buffers due to a video offset.

December 11 2013:

Fixed crash on 64 GB systems with 525 inputs with audio after running for a few minutes (even previewing).  We now limit each input to 20,000 buffers to keep each audio buffer less than 4 GB.

December 9 2013:

Fixed problem with SDI / Watch Folder comparison.

Changed AudioLoudness sample counter.

Added Api support for ConfigRateConvert command.  Also support for Full Align Status with no wait for Audio Alignment.

Fixed a hang when invalid signal happens when Broadcast input module is being created.

December 3 2013:

Fixed crash caused by cancelling out of Watch Folder, Sequence or IPRecord dialogs in the config video tab and then starting or previewing.

Fixed a hang when RTMonitor was launched after running ClearView using the dual quad boards.  The boards were left with channel sync on and RTMonitor was not explicityly turning this off on the second board.

Fixed a crash caused by changing video formats, setting metric window and then starting.  Format change was detected but memory buffers were not being reallocated.

Fixed problem where audio level meters were not showing any audio input when previewing IPRecord inputs.

If either input is IPRecord then Start will automatically realign.

November 26 2013:

This version requires IPRecord version or later.  This fixes using inline scaling with inputs that are not using broadcast output module video formats.

Clearing graph now blocks which fixes problems stopping and restarting when audio streams are present. This was causing the connect graph failure message boxes.

Fixed bug where video offset continuously increments when using frame rate reduction on one input.

Fixed bug aligning when using frame rate reduction on one input.

November 21 2013:

Fixed Disk Read error during full alignment.

November 20 2013:

Fix for crash in inline scaling for sequences when the saved video format was from the Broadcast Output module.

DMOS config changes for Y, Cb and Cr are now active after stopping and starting monitor.

Fix for working with IPRecord files and sequences now aligning correctly.

November 18 2013:

Fix for rtm realign 0 command not failing or returning when input signals are mismatched.

Fix for IPRecord crash caused by failing to set buffer arrays after aligning when the graphs have been destroyed.

Fixed crash when using watch folder input.

Fixed for DMOS scores always equaling 4 when in field mode.

Fix for alignment hanging for SDI/IP inputs caused when destroying graph takes a long time.

Added Enable Frame Rate Reduction check boxes to config video tab.  When enabled we currently allow two modes of frame reduction: drop odd frames or drop even frames.  These choices are in separate comboboxes.

November 5 2013:

Fixed hang on alignment.  This was a problem with only the most recent build. Fixed by rearranging RealtimeMonitor.h member order.

More additions for RtmMsgApi: GetAlignmentFailCode, GetRTMErrorCode. Added Full Alignment Failure codes for invalid inputs and input format mismatch. Added threshold parameter for ConfigFullAlignment (Get/Set).

October 24 2013:

If a full alignment due to too many dynamic realignments happened when we were already at an impairment level of failures (shown on the UI), then there would be orphaned sequence files and no log.  We were not saving the sequences so the UI was actually wrong.  I fixed this situation so that we do keep the sequences and logs and in this case the UI is correct.

There was another problem I found were sometimes the sequence files were being deleted so there was a log but no matching sequence files - this is also fixed.

The aFreq FFT initialization has changed - hopefully this prevents seeing the -1.#R scores.

All of the metric score array initialization changed as well.

Single 3G Quad operation now correctly changes the FB format of the second Frame Store when doing SDI/SDI input.

Changed IPRecord No Video Output Module custom video formats to support floating point refresh rates.  The newest CLearView now supports creating these custom video formats.

October 20 2013:

Fxed a bug where start fails when comparing 2 sequences.

October 16 2013:

Fixed a few cases where RTMonitor did not restart after incurring an IPRecord timeout or stream state error.  Destroying the graph on stop causes the state to change to destroyed.  In some cases we expected a state of stopped (not destroyed) in order to restart monitoring or doing a full alignment.

Fixed error message indicating the graph could not be built when starting or previewing after running the IPRecord config dialog.

October 9 2013:

Another fix for IPRecord Start failures - Check for start failure each time before getting buffers to prevent hang.

New SSIM.dll fix for chroma scores being inconsistent and not correlating with luma scores.

Added check for unequal frame sizes and also for necessary custom video formats before starting preview.

We now also destroy graph when the state is STOPPING or START_ERROR in onFilterGraphStopped().

October 2 2013:

Another Workaround for the VFW_S_CANT_CUE error causing the monitor thread to hang (IPRecord input is an HLS stream).  Now we trap this error in the monitor thread.

Added Watch Folder playback to the diskRead object.

Fixed bug where input signal format changes occured but memory was not reallocated for the new frame size.

Changed Align and Start API return values from errcodes to BOOL as before. We will add new api calls to get errors and alignment failure codes.

Now if we are using inline scaling on an input and there is no saved custom video format we automatically create and save a custom video format for the scaled output width and height.  These are used for buffer allocation.  This scenario would only happen if the IPRecord config dialog has never been run on the input.

Fixed metric graph showing 'D' after swtiching from DMOS to PSNR.

Shortened long IPAddress strings to fit over preview windows.

Sept 25 2013:

Moved ErrorCodes.h from RTMonitor to RtmMsgApi. This will enable better coordination of RTMServer and RTMonitor regarding errors and failure codes.  Note there is a new RTMServer for this build.

Now when app is launched with invalid broadcast video input signals the text above previews shows the selected input.

Fixed crash when switching from SDI to IPRecord.  If both inputs have invalid signals when the app is launched then no memory buffers have been allocated.  If the IPRecod config dialog is lauched it crashes when the graph tries to write the first frame to a buffer.  Now we catch this case and allocate buffers using the IPRecord saved video format.

Sept 19 2013:

Put a workaround in for erroneous frameRate returned from IPRecord when using HLS stream input.  The workaround is to divide the frame rate by 100 for returned frame rates greater than 100.

Fixed a problem switching between SDI input and IPRecord input. We were getting error dialogs and crashes. Some of these were related to not having the necessary No Video Output module video format defined in ClearView.  Also there was a crash caused by not disabling inline scaling for the IP input. Now we are initializing IPRecord for inputs which are using inline scaling but not IPRecord input. There is also a problem in IPRecord which does not use the correct video format for No Video Ouput module in the IPRecord config dialog.  

We no longer use inline scaling with IPRecord input.  This will allow leaving the scaling enabled when switching between Broadcast/scaling and IPRecord/No Scaling.

Psnr log files now have the output module set to No Video Output when using IPRecord input with the No Video Output module or when using inline scaling with any input.  This allows logs to work in ClearView with the No Video Output module enabled.

Fixed bug in Metric Overlay window where the rectangle was wrong for 480 x 320. Also was able to enlarge preview for this format by allowing odd integer scaling.

Sept 18 2013:

AudioAlign.log no longer logs messages before audio alignment has completed.

August 30 2013:

Workaround to get around VFW_S_CANT_CUE error which occurs when IPRecord input is an HLS stream.  This error prevents the graph from restarting after it has run for some time.  The work around is to destroy the graph every time when it is stopped.  

Fixed full alignment using IPRecord on input 1 and a Sequence on input 2.

Fixed a problem where the stop button was getting disabled after starting.

Added a new config item: Sequence Frame For Aligning to a live input. The choices are the first frame, a user defined frame or dynamic which finds the highest motion areas in the sequence.

Added a new config item: Stop processing after processing a sequence vs. a live input.  This will not start measuring until the first frame of the sequence is reached after aligning.  It stops after the last sequence frame.

Fixed bug where when 99999 is put in the video offset field and the value is automatically adjsted to the max value, the adjusted offset was not being used.

Added support for "IPRecord..." being in the registry (video source) when a user upgrades to this version from an older one.

Now showing IPRecord dropped frames on the UI.

New RtmMsgApi changes:

HTTP protocol added

Spatial Alignment Range X and Y

Lip Sync Threshold Min/Max, Log interval, Preferred Audio Align/Display channel

LKFS Threshold Min/Max

Metric Border Value



August 21 2013:

Made UI changes to Config dialog.

Hitting OK to config dialog gives erroneous error message telling user to reduce pre-failure frames.  This happened when no buffers had been allocated because the input signals are missing.  It now wont give an error in this case.

Fixed problem setting Dynamic Realignment config via RtmMsgApi.

Fixed problem setting Full Alignment config via RtmMsgApi.

Aug 19 2013:

Fixed Rtm ConfigLogFile command.  Now the new file is used on the next logging.

Added folder creation if log file folder does not exist.

Works with 2 quad boards - first input on each board.

Added error codes to video and audio write error messages.

Previewing Watch folder now works.

Aug 9 2013:

Added 4K align checkbox to RTMReducer.

Added support for Applying IPRecord Settings via RTMServer.

Built with IPRecord libraries - requires this version or later.

Aug 7 2013:

Added Enable Metric Window Overlay checkbox to Video Metric tab in config dialog.

Put up an error when AJA board goes missing and RTM tries to check input status - hopefully avoids crash.

Aug 5 2013:

Put up an error if there is no custom format defined for the scaled output window size.  Note there must be a pre-defined (in ClearView) No Video Output module video format that matches the scaling output window when doing inline scaling.

Now force No Video Output module if doing inline scaling.

Limit Metric Window to Scaled Output Window.

Fixed position of overlay metric window for video formats that dont scale evenly to preview window (eg. 720p and NTSC). Now overlay accounts for black border around preview image.

Aug 1 2013:

RTMReducer now working including src rectangle support.

Fixed psnr log error where components not enabled show failure if a threshold is set.

Max Video/Audio Failures and contiguous failures are now limited to pre-record frames (Fifo frames).

Failure counters get reset when fifo frames become overwritten.

Bad Buffer Full alignment failure now broken down into smaller errors (bad buffer ptr, file open, file read and aborted) - disk based, no spatial.

Now draw the metric window on the video previews.

Fixed preview problem when Cb and Cr are unchecked.

July 25 2013:

Fixed problem where the video format string displayed above the preview window of the SDI input is showing the frame rate from the sequence on the other input.  This is because ClearView sets the sequence video format to the current video format when a sequence is loaded. Now in this scenario the frame rate shown is from the live input.  Only in the case where both inputs are sequences, do we set the global frame rate based on the sequence frame rate.

JUly 24:

Fixed bug where enabled VANC lines which are not part of video format were causing failures.

Fixed problem where video properties text on input 2 was only showing ": 720 x 486" instead of "SDI: 720 x 486".  This happened when input one was set to Sequence.

Fixed crash which happened right after doing single ended alignment. No longer reassign buffers since video offset should always be 0.

Fixed problem where preview was causing an unwanted full alignment. This would happen after starting and stopping.

Fixed problem where alignment was off by 1.

JUly 16:

Changed version to 2.6.

Changed Single-Ended (SDI to Sequence) behaviour to have sequence loop.

Fixed preview of sequence on input 2 - did not show up when app is launched.

July 11:

Removed 60 second limit to Max Alignment Seconds.

Added support for rtm VersionDate command.

Changed exe version to 2.5.

July 4:

Added enforcement of 300 maximum for pre-record sequence frames - now warns user to adjust this value when there are not enough buffers.

Fixed hang when too many dynamic realignments within a period occurs - monitor thread was erroneously waiting for enough frames to align which is not valid in this case when using fifo mode.

Fixed NBC bug where sequence video and audio files were being deleted when monitor thread is restarted to capture for alignment when cause was too many dynamic realignments.  This cleanup code is used to catch orphaned files - it now checks to make sure there are no sequences which use the files.

June 28 16:

Now support inline scaling (using IPRecord inline mode) using the No Video Output format module.  This enables setting the output video frame size to dimensions of No Video Output module video formats.  This requires IPRecord v. or later.

Fixed bug where when previewing is interrupted with an invalid signal and then recovers, RTM would automatically start.

June 26 2013:

Added Minimize control to main dialog.

Fixed NBC bug - Lcd display showing 0 for audio offset when align on all channels.  Only updated display when a lip sync error occured.

Added log messages for Full Alignment causes: (offset drift and IPRecord errors).

PSNR chroma values now slightly lower.

Made changes for using No Video Output Module.  Now output module and No Video Output video format are saved in registry.

This also entailed adding code to read the ClearView registry for No HW Video Formats and No HW Custom Video Formats.

Bug fixes related to using scaling and switching input sources causing erroneous messages claiming that input signals do not match or invalid input signal.

June 10 2013

Config dialog now shows IPRecord as current input after setting with API call.

Changed memory usage from 70% to 80% if 16 GB or more of RAM.

Increased static arrays to allow for up to 32K frames per input.

NBC fix to return preferred LCD display audio align channel when aligning on all channels for API AlignmentStatus.

June 6 2013

Fixed problem where audio for input 2 was from Audio SubSystem 2 - In InitAutoCirculate.

June 4 2013

Now delete psnr, dmos and audio logs in Downloaded subfolder, when Delete Recordings is selected on config dialog.  Also deleted when sequences are auto deleted when disk is full.

May 27 2013

Fixed restart after IPRecord error now does full alignment.

DMOS Graph (0 to 4 scale)

DMOS Thresholds/failures now correct in log.

No longer restarting IPRecord from file when alignment fails, since we stop anyways to do full alignment.

Now use third best motion frame when 2nd best is out of range based on match for first best. Reduces probability of Bad Buffer error.

Fixed crashes in debugger when starting up (audio graphing and preview) caused by buffer reassignment happening after preview starts.

Fixed close audio file crash after capturing since we dont record audio during capture for alignment.

Disabled Status and AudioStatus calls for IPRecord pending fix in IPRecord.dll.