9.2.0 BETA 1
-----------------------------------------------------------
The 9.2.0 BETA 1 contains these changes:
- Added: NIKKOR Z Lens Distortion Correction support for IPP2. See the new metadata
         RMD_LENS_DISTORTION_CORRECTION, ImageProcessingSettings::LensDistortionCorrection
         field and LensCorrection enum.
- Added: Windows ARM64 support with OpenCL image processing.
   NOTE: redistributable DLLs have the 'a64' suffix instead of 'x64'.
   NOTE: GPU decompression is not supported at this time. See GpuDecoder::DecodeSupportedForClip() API.
   NOTE: CUDA is not supported at this time (new error ISCudaNotAvailable will be returned).
- Improved: Broadcast gain & detail for clips shot with updated Broadcast firmware.
- Improved: black offset in GPU image processing with high gain settings in IPP2.

The 9.2.0 BETA 1 contains bug fixes for:
- Fixed: non-SDR Broadcast decodes were too bright.
- Fixed: rare crash when 3D LUT is applied with steep user curve.


9.1.2 (October 27, 2025)
-----------------------------------------------------------
The 9.1.2 release contains these changes:
- Added support for Extended Highlights and Broadcast Color to R3DDecoder.
- Added support for Custom I/O backend for N-RAW & R3D NE clips.
- Added ImageGammeHybridLogGamma & ImageColorDCIP3D65 to the ImageProcessingLimits::GammaCurve APIs.

The 9.1.2 release contains bug fixes for:
- Fixed OpenCL issues with R3DDecoder or when using multiple GPUs.
- Fixed issue where gamma metadata was incorrect for Broadcast clips.
- Fixed issues with CreateOrUpdateRmd() not upgrading or downgrading ImageProcessingSettings::Version unlike decodes.


9.1.1 (September 29, 2025)
-----------------------------------------------------------
The 9.1.1 release contains bug fixes for:
- Fixed: Metal assertion when using multiple GPUs (introduced in 9.0.0)


9.1.0 (September 10, 2025)
-----------------------------------------------------------
The 9.1.0 release contains these changes:
- Added: R3D NE support. See included "Nikon R3D NE.txt" for more information & sample clips.
- Added: R3D NE floating point audio support.
   NOTE: these clips will be silent on older SDKs.
   NOTE: see "Nikon R3D NE.txt" for more information.
- Added: RMD_AUDIO_FORMAT metadata to distinguish if a clip audio is native integer or float
- Added: Clip::DecodeFloatAudio[Block], GetFloatAudioPeakAmplitude() & GetFloatAudioDefault-
         ConversionGain() APIs. See R3DSDK.h & "Nikon R3D NE.txt" for more info.
- Added: IdentifyFile() API to quickly identify if a given file is supported by the SDK and
         which specific format it is. See the comments in R3DSDK.h for more info.
- Changed: Linux minimum GLIBC & GLIBCXX versions to 2.27 & 3.4.22 respectively.

The 9.1.0 release contains bug fixes for:
- Fixed: Chroma Noise Reduction fringing on N-RAW clips.
- Fixed: incorrect N-RAW lens aperture label metadata.
- Fixed: missing lens focus and/or focal length metadata when clip has no lens aperture metadata.
- Fixed: RMD_START_ABSOLUTE_TIMECODE & RMD_START_EDGE_ABSOLUTE_TIMECODE could be missing on old
         clips or have incorrect digit separator for high-speed timecode clips.
- Fixed: RMD_LENS_APERTURE_LABEL missing from per-frame metadata.


9.0.1 (June 11, 2025) 
-----------------------------------------------------------
The 9.0.1 release contains bug fixes for:
- Fixed: potential N-RAW crash at lower resolution decodes
- Fixed: GPU not ignoring FlashingPixelAdjustment & MasklineAdjust for N-RAW clips
- Fixed: Metal assert when processing Extended Highlight clips
- Fixed: non-broadcast clips not correctly falling back to ColorVersion3 when decoding as ColorVersionBC


9.0.0 (May 6, 2025)
-----------------------------------------------------------
The 9.0.0 release contains these changes:
- Added: Nikon N-RAW (.NEV) support. See "Nikon N-RAW.txt" for more information.
- Added: 6 new ISO settings (see ImageProcessingLimits API): 64, 8000, 10000, 16000, 20000 & 25600.
- Added: high-framerate (>= 100 fps) timecode support.
- Changed: Clip::FileType enum names to be more generic and less file extension specific.
- Removed: 32-bit support.
- Removed: standalone ExpectedRmdPath() API, use the Clip::GetRmdPath() API instead.

The 9.0.0 release contains bug fixes for:
- Fixed: potential CUDA image corruption (introduced in 8.6.0).
- Fixed: highlights clipping in Legacy CPU decodes (introduced in 8.6.0).
- Fixed: potential crash in Legacy CPU decodes (introduced in 8.6.0).
- Fixed: REDCuda::processAsync() failing with Legacy decodes on multi GPU setups.


8.6.0 (December 19, 2024)
-----------------------------------------------------------
The 8.6.0 release contains these changes:
- Added: Broadcast image processing pipe for clips recorded in Broadcast mode. See "Broadcast Image Pipeline.txt" for more information.
- Added: Extended Highlights General Release - Improved quality and performance.
- Deprecated: 32-bit support. Will be removed in the next major SDK release.
- Improved: R3DStream2 class now allows setting the R3D file size between 4 GB (the default) and 1 TB (max).
- Added: OPTION_DELAY_GPU_COMPILE flag for InitializeSdk() to delay OpenCL kernel compilation from REDCL::checkCompatability() to on-demand.
- Added: RMD_BROADCAST_SETTINGS, RMD_EXTERNAL_TALLY & RMD_EXTERNAL_TALLY_COLOR metadata (see R3DSDKMetadata.h).
- Removed: Rocket(-X) support, including the AsyncDecoder::Open()'s enableAutoRRX parameter, R3DDecoder::useRRXAsync field & DECODE_ROCKET_CUSTOM_RES enum.
- Removed: VideoDecodeJob::BytesPerRow field & DSBytesPerRowInvalid enum as this feature has not worked for a long time.
- Changed: AsyncDecompressJob::Callback must be set to a valid callback function. Null will result in DSInvalidParameter being returned.
- Changed: ImageProcessingLimits::ISODefault to 800.
- Changed: Linux minimum GLIBC & GLIBCXX versions to 2.14 & 3.4.21 respectively.
- Changed: minimum supported Metal version is now 2.3.
- Changed: REDCuda functions now return REDCuda::Status_InvalidJobParameter_deviceId if deviceID it is out of bounds.

The 8.6.0 release contains bug fixes for:
- Fixed: unclosed clips could fail to load in rare occasions.
- Fixed: deviceID passed into REDCuda functions was not being used. SDK now calls cudaSetDevice() with this value.


8.5.1 (March 8, 2024)
-----------------------------------------------------------
The 8.5.1 release contains these changes:
- Extended Highlight clips always decode in IPP2
- Improved IPP2 out of gamut color mapping
- Improved IPP2 high ISO black level consistency
- Improved CUDA kernel memory overlap

The 8.5.1 release contains bug fixes for:
- Fixed: OpenCL Extended Highlights
- Fixed: OpenCL Maskline Adjust
- Fixed: CPU multi-threaded Extended Highlights hang
- Fixed: GPU half-float output
- Fixed: GPU Monochrome decodes
- Fixed: GPU early KOMODO footage is green
- Fixed: CUDA Legacy DEB output
- Fixed: Metal Texture + Legacy decodes
- Fixed: Metal half-float + Legacy crash
- Fixed: OpenCL Image + Legacy decodes


8.5.0 (January 25, 2024)
-----------------------------------------------------------
The 8.5.0 release contains these changes:
- Added V-RAPTOR [X] support
- Added V-RAPTOR [X] Phantom Track metadata (RMD_PHANTOM_TRACK_INDEX, FRAME_GAP & TRACK_COUNT)
- Added RMD_USER_EXT_FILTER_[1-3], EXT_(T)LUT, EXT_PROXY, EXT_UPLOAD_SERVICE & EXT_GPS metadata
- Added V-RAPTOR [X] Extended Highlights - BETA support
- Removed PixelType_12Bit_BGR_Interleaved as it was never supported for GPU decodes

The 8.5.0 release contains bug fixes for:
- Fixed: RMD_SENSOR_ID metadata could be incorrect
- Fixed: RED ONE trim (bug was introduced in 8.4.0)
- Fixed: CPU IPP2 half resolution CNR
- Fixed: CPU IPP2 Maskline Adjust


8.4.0 (August 17, 2023)
-----------------------------------------------------------
The 8.4.0 release contains these changes:
- Added CRC check API (Clip::CheckFrame), see new sample ClipCheckFrames.cpp
- Added R3DStream2 API for connected DSMC3 camera. See ConnectedStreamSaveSample.cpp
- Added new IOInterface::CreatePath() virtual function. Called when creating clips through streaming
- Added RMD_ND_STOPS metadata for V-RAPTOR XL and DSMC Motion Mount
- Added RMD_LENS_APERTURE_LABEL metadata which has a properly formatted label for UI display
- Added RMD_FRAME_PTP_TIMESTAMP, RMD_LENS_FOCAL_LENGTH_MICROMETERS, RMD_LENS_HYPERFOCAL_DISTANCE, RMD_RECORD_FRAMERATE_DENOMINATOR & _NUMERATOR to the per-frame metadata API
- Changed: improved IPP2 demosaic edge interpolation on strong color transitions

The 8.4.0 release contains bug fixes for:
- Fixed: bug introduced in 8.3.0 where RED ONE clip UUIDs could have changed
- Fixed: lens metadata for Komodo/V-Raptor could be missing
- Fixed: unclosed R3D files could split a clip into multiple parts
- Fixed: unclosed R3D files had no IMU metadata
- Fixed: potential CUDA crash when GPU decoding KOMODO or V-RAPTOR clips
- Fixed: several bugs in IPP2 half-demosaic CPU output
- Fixed: R3DDecoder DECODE_HALF_RES_GOOD was not decoding as DECODE_HALF_RES_PREMIUM
- Fixed: bug introduced in 7.2.0 where HDRx clips could have undecodable frame at the end
- Fixed: Legacy decodes will now ignore RGB gains metadata if they are all set to 0
- Fixed: metal assert in debug


8.3.1 (July 26, 2022)
-----------------------------------------------------------
The 8.3.1 release contains bug fixes for:
- Fixed: potential crash after a call to FinalizeSdk() when using OpenCL with R3DDecoder or AsyncDecoder


8.3.0 (July 14, 2022)
-----------------------------------------------------------
The 8.3.0 release contains these changes:
- Added support for our upcoming V-RAPTOR XL camera
- Improved Metal GPU decode (decompression) performance on Apple Silicon for DSMC/DSMC2 clips
- Significantly improved Clip::GetFrameMetadata() per-frame metadata API performance
- Improved R3DDecoder OpenCL compatibility on Windows
- Added support for RMD_LENS_HYPERFOCAL_DISTANCE & RMD_LENS_FOCAL_LENGTH_MICROMETERS metadata

The 8.3.0 release contains bug fixes for:
- Fixed: possible corrupt frames with DSMC clips on Apple Silicon when GPU decoding concurrent frames with Metal
- Fixed: R3DDecoder produces bad or no output when decoding at half & lower resolutions
- Fixed: rare crash with renamed long R3D filenames on macOS & Linux
- Fixed: SaveRWGLog3G10ToOutputTransform3DLut() does not work with UTF-8 paths on Windows
- Fixed: Monochrome clip decodes fail with an unassigned argument assert when Metal Shader Validation is enabled


8.2.2 (April 1, 2022)
-----------------------------------------------------------
The 8.2.2 release contains bug fixes for:
- Fixed: InitializeSdk(RED_OPTION_CUDA) random slow down when no CUDA cards are present
- Fixed: GPU decode (decompression) at quarter res and below could have random image corruption with KOMODO/V-RAPTOR clips
- Fixed: Metal issue where KOMODO clips could turn green at quarter res decodes and below
- Fixed: Metal decode border not matching CUDA & OpenCL
- Fixed: Metal decode having slightly incorrect pixels for certain clips
- Fixed: IMU data missing and/or being corrupt in multi-file V-RAPTOR R3D clips


8.2.1 (February 7, 2022)
-----------------------------------------------------------
The 8.2.1 release contains bug fixes for:
- Fixed: Metal half resolution CNR shadow denoise issue
- Fixed: CUDA Helium sensor image processing issue


8.2.0 (January 21, 2022)
-----------------------------------------------------------
The 8.2.0 release contains these changes:
- Improved CNR shadow denoise
- Small performance improvement in OpenCL/Metal GPU decode (decompression)

The 8.2.0 release contains bug fixes for:
- Fixed: rare KOMODO decode artifact
- Fixed: CPU decode having slightly elevated levels at high ISO settings
- Fixed: CUDA multi-stream decode issue when buffers are re-used


8.1.1 (November 18, 2021)
-----------------------------------------------------------
The 8.1.1 release contains bug fixes for:
- Fixed: potential GPU image corruption or crashes at half good or lower decode resolutions
- Fixed: Linux CUDA instability issues
- Fixed: CUDA incorrect cudaErrorInvalidValue happening
- Fixed: potential crash when loading or decoding RED ONE clips
- Fixed: 2 long standing small memory leaks when opening a clip


8.1.0 (October 22, 2021)
-----------------------------------------------------------
The 8.1.0 release contains these changes:
- Improved IPP2 demosaic with more detail, improved shadows & highlight extension
- DECODE_HALF_RES_GOOD requests will generate DECODE_HALF_RES_PREMIUM output
- Added Clip::FileListCount() and Clip::FileList() APIs to get information about
  files belonging to a clip, both the R3D files as well as any sidecar files
- Added Clip::IMUSampleCount() and Clip::DecodeIMUSamples() APIs to extract
  asynchronous IMU gyro samples from V-RAPTOR clips

The 8.1.0 release contains bug fixes for:
- Fixed: certain V-RAPTOR clips failing to decode when using GPU decode
- Fixed: HDRx "X" track not getting pixel masks applied


8.0.4 (July 9, 2021)
-----------------------------------------------------------
The 8.0.4 release contains bug fixes for:
- Fixed: CUDA out of memory errors not reported for KOMODO clips


8.0.3 (May 14, 2021)
-----------------------------------------------------------
The 8.0.3 release contains these changes:
- REDCL::checkCompatibility() now compiles the decode kernels asynchronously in the background
  See "OpenCL kernel caching.txt" on how to avoid lengthy OpenCL delays on startup
- macOS dynamic library REDR3D.dylib is now properly code signed


8.0.2 (April 5, 2021)
-----------------------------------------------------------
The 8.0.2 release contains these changes:
- Added support for KOMODO Anamorphic (older SDKs could have image corruption at lower decode resolutions)
- Improved AMD OpenCL GPU decode performance


8.0.1 (February 19, 2021)
-----------------------------------------------------------
The 8.0.1 release contains bug fixes for:
- Fixed: issue where DXL clips would default to ImageGammaBT1886 instead of ImageGammaLog3G10
- Fixed: incorrect GPU decode when sensor flip was enabled in camera
- Fixed: OpenCL issues for PixelType_HalfFloat_RGB_Interleaved & PixelType_HalfFloat_RGB_ACES_Int


8.0.0 (December 18, 2020)
-----------------------------------------------------------
The 8.0.0 release contains these changes:
- Added support for Apple Silicon. Mac binaries are now universal Intel + ARM 64-bit.
- Added (BETA) OpenCL accelerated decompression + image processing through existing GPUDecoder class:
	- Use with REDCL class, R3DDecoder class not yet supported
	- RED ONE clips not supported, see GpuDecoder::DecodeSupportedForClip() API
	- Requires at least 4 GB of GPU VRAM
	- see included REDOpenCLGpuDecodeSample.mm example on how to use
- Added custom I/O back-end API for R3D clips stored on non-standard storage systems:
	- see new R3DSDKCustomIO.h header file
	- see included CustomIoSample.cpp example on how to use
- Drops Mac support for 32-bit Intel, CUDA and libstdc++ runtime
- Windows 64-bit GPU dynamic libraries link with static C runtime (/MT)
- Improved the DecodeForGpuSdk() functions error return codes


7.3.5 (October 22, 2020)
-----------------------------------------------------------
The 7.3.5 release contains these changes:
- Improved white balance picker accuracy for very warm and very cool colors

The 7.3.5 release contains bug fixes for:
- Fixed: Metal IPP2 decodes sometimes having green border on MacPro6,1 (AMD Dx00 GPUs)
- Fixed: incorrect highlight roll off default value so it now matches camera default of soft
- Fixed: incorrect highlight roll off & tone map metadata when REDWideGamutRGB is selected in camera


7.3.4 (August 20, 2020)
-----------------------------------------------------------
The 7.3.4 release contains these changes:
- Added CUDA PTX support for Ampere

The 7.3.4 release contains bug fixes for:
- Fixed: KOMODO RMD_RECORD_FRAMERATE metadata having too many decimal places


7.3.3 (Juy 22, 2020)
-----------------------------------------------------------
The 7.3.3 release contains bug fixes for:
- Fixed: potential performance drop in CPU decompression. Was introduced in SDK 7.2.0
- Fixed: R3D trim failure on local Windows drives when clip has sidecar 3D LUT .cube file
- Fixed: small memory leaks for each opened clip and when using per-frame metadata APIs
- Fixed: incorrect / missing REEL_ID_8_CHAR / REEL_ID_FULL metadata if KOMODO camera position setting was changed


7.3.2 (June 11, 2020)
-----------------------------------------------------------
The 7.3.2 release contains bug fixes for:
- Fixed: GPU decode (CUDA/Metal) could fail for certain KOMODO frames
- Fixed: RMD_CAMERA_PIN metadata was missing for KOMODO clips


7.3.1 (May 14, 2020)
-----------------------------------------------------------
The 7.3.1 release contains bug fixes for:
- Fixed: rare potential crash with KOMODO clips
- Fixed: GPU decode (CUDA & Metal) artifact with KOMODO clips


7.3.0 (May 1, 2020)
-----------------------------------------------------------
The 7.3.0 release contains these changes:
- Added Metal accelerated decompression + image processing through existing GPUDecoder class:
	- Use with REDMetal class, R3DDecoder class not yet supported
	- RED ONE clips not supported, see GpuDecoder::DecodeSupportedForClip() API
	- Requires at least 4 GB of GPU VRAM
	- see included REDMetalGpuDecodeSample.mm example on how to use
- Added DebayerMetalJob::output_device_image for MTLTexture output (16-bit uint & float supported)
- Added EXT_METAL_API class to support client-side Metal memory management
- Added DebayerMetalJob::batchMode & REDMetal::flush() for batch processing of frames
- Added DebayerMetalJob::debayerJobCallback to be notified when job completes (no need to call completeAsync)
- Added Clip::RmdSidecarPresent() API
- Renamed all Creative LUT API's to 3D LUT. Please update your UI.
	- RMD_CREATIVE_LUT         --> RMD_3D_LUT
	- CreativeLutHandle        --> Handle3DLut
	- LoadCreativeLut          --> Load3DLut
	- UnloadCreativeLut        --> Unload3DLut
	- GetCreativeLutPath       --> Get3DLutPath
	- CreativeLut              --> Lut3D
	- CreativeLutEnabled       --> Lut3DEnabled
	- CameraCreativeLutPresent --> Camera3DLutPresent
	- LoadCreativeLut          --> Load3DLut
- Added ImageProcessingSettings::CdlEnabled. Please add to your UI. All existing clips will have
  this set to true, but future clips may not. Same for ImageProcessingSettings::Lut3DEnabled setting.
- Added the following new metadata definitions:
	- RMD_3D_LUT_DEFAULT_ENABLED
	- RMD_CAMERA_POSITION
	- RMD_CDL_DEFAULT_ENABLED & RMD_CDL_FILENAME
	- RMD_RECORD_FRAMERATE_DENOMINATOR & RMD_RECORD_FRAMERATE_NUMERATOR

The 7.3.0 release contains bug fixes for:
- Fixed: Metal was not applying FlashingPixelAdjustment setting for Legacy decodes
- Fixed: Metal memory leaks by switching to ARC (Automatic Reference Counting)
- Fixed: CUDA GPU decode memory allocation failure would return CUDA error 77 (cudaErrorIllegalAddress).
         Now returns error 2 (cudaErrorMemoryAllocation)
- Fixed: CUDA GPU decodes could report invalid memory reads under cuda-memcheck 
- Fixed: CPU low resolution decodes with odd widths would produce corrupt output for these pixel types:
         PixelType_16Bit_RGB_Interleaved, PixelType_HalfFloat_RGB_Interleaved & PixelType_HalfFloat_RGB_ACES_Int
- Fixed: CPU DEB & ChromaNoiseReduction image inconsistencies, especially around the border
- Fixed: CPU DEB & ChromaNoiseReduction could crash on CPUs with >= 64 threads
- Fixed: RMD_CAMERA_MODEL_ID metadata was not set for newer camera models


7.2.1 (February 12, 2020)
-----------------------------------------------------------
The 7.2.1 release contains these changes:
- Support for KOMODO camera firmware changes
- Re-introduced support for Visual Studio 2010 (was removed in 7.1.0)
- Removed dependency on cudart library when using CUDA processing
- Improved CudaGpuDecodeSample.cpp sample code

The 7.2.1 release contains bug fixes for:
- Fixed: CPU DECODE_FULL_RES_PREMIUM and DECODE_HALF_RES_PREMIUM
  outputs had corrupt right border (was introduced in 7.2.0)
  
The 7.2.1 release contains these known issues:
- When using CUDA GPU decode on some older cards with limited memory,
  you may experience CUDA error 77 (Illegal Access) if the decoder is
  unable to allocate memory on the device. This will be fixed in the
  next release to return the memory allocation failure.


7.2.0 (December 12, 2019)
-----------------------------------------------------------
The 7.2.0 release contains these changes:
- Added support for our upcoming KOMODO camera
- Updated CudaGpuDecodeSample.cpp to work with multiple GPUs
- Linux builds are again compatible with older GLIBC versions

The 7.2.0 release contains bug fixes for:
- Fixed: CPU IPP2 DECODE_HALF_RES_PREMIUM decode artifacts
- Fixed: AsyncDecoder wouldn't always use Rocket-X
- Fixed: OpenCL and Metal output with Rocket-X could be corrupt
- Fixed: Nvidia Kepler cards could cause crashes
- Fixed: GPU PixelType_HalfFloat_RGB_ACES_Int output was broken
- Fixed: CUDA OLPFCompensation output could be corrupt
- Fixed: Metal memory leaks
- Fixed: too many threads could be created
- Fixed: 100% single CPU usage when GPU processing goes idle
- Fixed: R3DDecoder callback might not get called
- Fixed: R3DDecoder IPP2 decoding used incorrect Legacy demosaic
- Fixed: R3DDecoder OLFPCompensation failed with ColorVersion2
- Fixed: R3DDecoder might not see Nvidia GPUs in OpenCL mode


7.1.0 (April 23, 2019)
-----------------------------------------------------------
The 7.1.0 release contains these changes:
- Added CUDA accelerated decompression + image processing through new GPUDecoder class:
    - Supported for CUDA on Windows or Linux
	- Use with REDCuda class, R3DDecoder class not yet supported
	- RED ONE clips not supported, see GpuDecoder::DecodeSupportedForClip() API
	- Requires at least 3 GB of GPU VRAM
- Added Metal accelerated image processing through new REDMetal class:
	- Use with AsyncDecoder class. Cannot be used with GpuDecoder class
	- R3DDecoder class not yet supported
- Added IPP2 only ChromaNoiseReduction control to replace Legacy only DEB control
- Added FlashingPixelAdjustment debayer control
- Added Visual Studio 2017 builds
- Added Linux C++11 builds
- Added RMD_CLIP_UUID metadata (string version of Clip::Uuid)
- Added RMD_FRAME_TIMESTAMP per-frame metadata
- Removed Visual Studio 2008 and 2010 builds

The 7.1.0 release contains bug fixes for:
- Fixed: R3D trim could produce corrupt output
- Fixed: Gemini 5K S35 sensor had incorrect metadata value 9, changed to 13
- Fixed: macOS app store incompatibility


7.0.8 (July 20, 2018)
-----------------------------------------------------------
The 7.0.8 release contains bug fixes for:
- Fixed: REDWideGamutRGB output incorrectly had gamut mapping applied
         in the standard (Full_Graded) IPP2 image pipe.
- Fixed: HLG rendering artifacts.
- Fixed: OpenCL memory leak.
- Fixed: missing audio for incomplete DSMC clips.
- Fixed: crash when calling CreateOrUpdateRmd() with a Creative Lut set.
- Fixed: regression issue in high frequency handling in IPP2 demosaic or when DEB is enabled in Legacy mode.


7.0.7 (May 3, 2018)
-----------------------------------------------------------
The 7.0.7 release contains these changes:
- Improved load times for R3D clips recorded on newer sensors and camera firmware.
- Added R3DStream::ExpectedRmdPath() API to switch to a new R3D clip in the middle of a tethered stream.
- Added DecodeStream class to decode a tether stream for preview.
- Added ExpectedRmdPath() API to see where the SDK will look for an RMD for a given input path.

The 7.0.7 release contains bug fixes for:
- Fixed: more OpenCL compile failures with AMD GPUs on macOS 10.13.2 and up.
- Fixed: high frequency handling in IPP2 demosaic or when DEB is enabled in Legacy mode.
- Fixed: CUDA half resolution and below decodes had incorrect highlight handling.
- Fixed: OpenCL BGRA image buffers had fully transparent alpha channel set.
- Fixed: software decodes with invalid ColorVersion set resulted in IPP2
  Primary Development being enabled. Will now use clip DefaultColorVersion(),
  as it had been in 6.3 and earlier SDKs.


7.0.6 (January 30, 2018)
-----------------------------------------------------------
The 7.0.6 release contains these changes:
- GammaCurveDefault is now set to ImageGammaBT1886 and ColorSpaceDefault
  to ImageColorRec709. The GetDefaultImageProcessingSettings() API is
  preferred to be used over these SDK defaults.
- REDR3D.dylib is now compiled with a newer Xcode version.

The 7.0.6 release contains bug fixes for:
- Fixed: OpenCL compile failures with AMD GPUs on macOS 10.13.2 and up.
- Fixed: IPP2 decodes could have bad pixels in the image borders.
- Fixed: crashes when calling SaveRWGLog3G10ToOutputTransform3DLut().
- Fixed: software decodes without ImageProcessingSettings set resulted
  in IPP2 Primary Development being enabled. Prefer to always set
  ImageProcessingSettings and use GetDefaultImageProcessingSettings() API.


7.0.5 (December 19, 2017)
-----------------------------------------------------------
The 7.0.5 release contains these changes/new features:
- Added Hybrid Log Gamma and Gamma 2.2 & 2.6.
- Added P3 D65 color space.
- Save/CreateRWGLog3G10ToOutputTransform3DLut() APIs now support
  3D LUTs up to 65 ^ 3 in size.
- Added per-frame metadata support to stream recording.

The 7.0.5 release contains bug fixes for:
- Fixed: Legacy GPU ACES output.
- Fixed: IPP2 OpenCL Denoise output.
- Fixed: IPP2 CPU 10-bit DPX and 12-bit decoding.
- Fixed: Linux stream record crash.


7.0.3 (October 5, 2017)
-----------------------------------------------------------
The 7.0.3 release contains these changes/new features:
- New Image Processing Pipeline (IPP2), including:
	- decoupled creative and technical controls
	- improved demosaicing algorithm
	- enhanced HDR output
	- standardized color space and gamma
	- CDL controls
	- Creative 3D LUT
	- more robust color transforms
	- see "IPP2 How to use.txt" and "IPP2 Image Pipeline Stages.pdf" for
	  more information on IPP2!
- Added Clip::DefaultColorVersion() API and RMD_CLIP_DEFAULT_COLOR_VERSION
  metadata to determine if clip was recorded in Legacy or IPP2 mode.
- Added RMD_CREATIVE_LUT metadata and following APIs to work with the
  new Creative 3D LUT system:
	- Clip::CameraCreativeLutPresent()
	- [Clip::]LoadCreativeLut(),
	- UnloadCreativeLut()
	- GetCreativeLutPath()
- Added new APIs to give access to the IPP2 Output Transform. The Output
  Transform takes the RWG/Log3G10 to the final output image via the user
  selected settings:
	- SaveRWGLog3G10ToOutputTransform3DLut()
	- CreateRWGLog3G10ToOutputTransform3DLut()
	- CreateRWGLog3G10ToOutputTransformLuts()
- Added RMD_ISO_CALIBRATION_VERSION metadata indicating if clip
  was recorded with the new Helium ISO calibration or the old system.
- Added RMD_EXPOSURE_ADJUST and RMD_MONITOR_SHARPNESS metadata.
- Added Cooke /i lens metadata as received from the lens (unparsed).
- Added DCI-P3 and ProPhoto RGB color spaces.
- Added support for camera recorded external user per-frame metadata
  through an update to the Clip::GetFrameMetadata() API.
- NOTE: Added new EXT_OCLAPI_1_1::clCreateImage3D field that must be
        set when doing IPP2 image processing through OpenCL.
- NOTE: AsyncDecoder::DecodeForGpuSdk() API is no longer limited to using
        a single Rocket-X and will round-robin use additional ones.
- NOTE: Rocket only decoding is not supported for IPP2 image processing.
        Use AsyncDecoder for Rocket-X accelerated GPU decoding.
- NOTE: R3DStream::WritePacketData() now returns CSFrameAdded when a
        frame is complete and has an optional parameter for dropped
		frame detection.
- NOTE: please log the output of GetSdkVersion() after a failed or
        successful call to InitializeSdk().


6.3.0 (August 11, 2017)
-----------------------------------------------------------
The 6.3.0 release contains these changes/new features:
- Added support for Helium 8K S35 Monochrome sensor.
- Added multi Rocket-X (round-robin) decode support to the
  AsyncDecoder when decoding Helium clips.
- Added RMD_SENSOR_SENSITIVITY_ID/NAME metadata.
- Added RMD_FRAME_ABSOLUTE/EDGE_TIMECODE per-frame metadata.

The 6.3.0 release contains bug fixes for:
- Fixed: certain colorspace or gamma options set in camera
         may not be auto set in post.


6.2.2 (October 11, 2016)
-----------------------------------------------------------
The 6.2.2 release contains bug fixes for:
- Fixed: possible decode issues for Helium sensor clips.
- Fixed: implementation of ImageGammaLog3G10


6.2.1 (August 9, 2016)
-----------------------------------------------------------
The 6.2.1 release contains bug fixes for:
- Fixed: crash if same Helium clip was loaded more than once.
- Fixed: CUDA memory leak.
- Fixed: unnecessary cudaEvents which were raising errors.
- Fixed: CameraStream, CameraUIState & R3DStream implementations were missing.
- Fixed: R3DDecoderOptions.useRRXAsync implementation was missing.


6.2.0 (July 29, 2016)
-----------------------------------------------------------
The 6.2.0 release contains these changes/new features:
- Added 8K sensor support.
- [BETA] Added auto Rocket-X use for the AsyncDecoder for
  HELIUM sensor clips. This feature can be disabled by setting
  enableAutoRRX to false in AsyncDecoder::Open(). Future SDK
  releases will have an improved API to manage this.
- Added new colorspace option ImageColorREDWideGamutRGB.
- Added new gamma option ImageGammaLog3G10.
- Added support for camera anamorphic 1.25x metadata.
- Added RMD_LENS_BRAND, RMD_LENS_NAME, RMD_LENS_SERIAL_NUMBER,
  and RMD_LENS_OWNER metadata.
- Removed Info::Licensee() and Info::LicenseNumber() APIs now that
  the R3D SDK is available as a direct download on RED.com.
- Minimum Rocket-X driver version is now 2.1.34.0
- Minimum Rocket-X firmware version is now 1.4.22.18

The 6.2.0 release contains bug fixes for:
- Fixed: OpenCL Monochrome decode issue at lower decode resolutions.
- Fixed: RMD_FLIP_HORIZONTAL/VERTICAL metadata was incorrect
  when "Flip/Mirror Scan Direction" was set in camera.
- Fixed: half-float output applied saturation & RGB gains if set.
- Fixed: possible incorrect RMD_SENSOR_OLPF_NAME metadata.


6.1.0 (January 16, 2016)
-----------------------------------------------------------
The 6.1.0 release contains these changes/new features:
- [BETA] new HDR gamma options: HDR-2084, BT.1886 & Log 3G12.
- [BETA] support for pixel masking if set in the RMD. This
         can be set for a clip in REDCINE-X PRO 38 BETA or
         newer. Not supported on RED Rocket(-X).
- Support for Visual Studio 2015.
- Support RMD framerate override. This can be set for a clip
  in REDCINE-X PRO 38 BETA or newer.
- Added per frame metadata field to R3DDecodeJob struct.
- Updated REDCL sample to set clGetMemObjectInfo introduced in 6.0.4.

The 6.1.0 release contains bug fixes for:
- Fixed potential crash with OpenCL due to a bug where an old out
  of date kernel could be used, if the Kernel Cache is being used.


6.0.4 (October 15, 2015)
-----------------------------------------------------------
The 6.0.4 release contains these changes/new features:
- Added Weapon 8K and Raven 4K support. Rocket-X support for Weapon 8K will
  be provided through a future Rocket-X firmware update.
- Added clGetMemObjectInfo to EXT_OCLAPI_1_1 to work around Mac OS X console
  error messages (clGetImageInfo failed: invalid cl_mem object) being reported
- Added OpenCL support for newer Intel Graphics devices
- Changed libcudart.dylib reference to @loader_path/libcudart.dylib inside
  REDCuda.dylib and REDDecoder.dylib so it will be loaded side-by-side with
  the R3D SDK dynamic libraries
- RMD_SENSOR_OLPF_NAME metadata is present for non-interchangeable OLPFs as well
- Minimum required Rocket-X driver is 2.1.31.0 with firmware 1.4.1.16
- Dynamic libraries now require minimum static library version 6.0.4

The 6.0.4 release contains bug fixes for:
- Fixed certain Monochrome S35 Dragon clips failing to load
- Fixed crash introduced in 6.0.3 when calling RedRocket::DecodeSupportedForClip()
- Fixed occasional crash when doing OpenCL GPU processing
- Fixed CUDA potential border issues with FULL & HALF PREMIUM decodes
- Fixed unused threads being created when using REDCL and REDCuda
- Fixed possible corrupt RMD_SENSOR_OLPF_NAME metadata


6.0.3 (August 12, 2015)
-----------------------------------------------------------
The 6.0.3 release contains these changes/new features:
- R3D SDK split in to a static and dynamic part. Please read the included
  "How to use.txt" for important notes on how to properly use the SDK
- Integrated the GPU extension SDK with the R3D SDK
- Added Rec.2020 colorspace support
- Added support for Mysterium-X Monochrome decoding on RED Rocket
- Added audio support to R3D trim and new error code CSFailedToGetSourceAudio
- Added support for 64 or more logical CPU's in AsyncDecoder on 64-bit Windows
- Added Weapon camera model metadata support
- Added new metadata items:
  - RMD_DRX
  - RMD_LENS_APERTURE_UNITS
  - RMD_LENS_DISTANCE_UNITS
- Added support for Mac OS X LLVM & libc++
- Added support for Visual Studio 2013
- Added improved OpenCL out of memory handling
- Minimum required Rocket-X driver is 2.1.24.0 with firmware 1.3.19.40
- Minimum required Rocket driver is 2.1.23.0 with firmware 1.1.18.0

The 6.0.3 release contains bug fixes for:
- Fixed OpenCL Half Res Premium returning from completeAsync prior to image
  processing completion resulting in black or partial images
- Fixed R3DDecoder OpenCL memory leak which caused out of memory problems


5.3 (January 13, 2015)
-----------------------------------------------------------
The 5.3 release contains these changes/new features:
- Added REDcolor4 and DRAGONcolor2 color spaces
- Added camera acceleration & rotation metadata support
- Added per-frame metadata support for the following metadata:
	- RMD_CAMERA_ACCELERATION_* & RMD_CAMERA_ROTATION_*
	- RMD_EXPOSURE_TIME
	- RMD_HDR_STOPS_OVER
	- RMD_LENS_*
	- RMD_MOTION_MOUNT_*
	- RMD_RECORD_FRAMERATE,
	- RMD_SHUTTER_*
- Added Clip::GetFrameMetadata() API to extract per-frame metadata
- Added option to return per-frame metadata while decoding
  a frame through one of the following APIs:
	- Clip::DecodeVideoFrame()
	- Clip::VideoTrackDecodeFrame()
	- AsyncDecoder::DecodeForGpuSdk()
	- RedRocket::Decode()

The 5.3 release contains bug fixes for:
- Fixed: corrupt frame could terminate process when using
  the AsyncDecoder::DecodeForGpuSdk() decoder


5.2 (November 24, 2014)
-----------------------------------------------------------
The 5.2 release contains these changes/new features:
- Added Rocket-X support for Monochrome clips
- Added support for D.E.B. setting loading & saving in RMD files
- Added new metadata item RMD_USER_SHOT
- Added RSResourceLost error code when Rocket is unplugged on Thunderbolt

The 5.2 release contains bug fixes for:
- Fixed: certain clips failing to load on upgraded Dragon cameras with older firmware
- Fixed: issue introduced in 5.1 where Mysterium-X Monochrome clips shot
         with Motion Mount on newer camera firmware failing to load
- Fixed: in certain rare cases a tiny bit of audio was missing at the end of the clip


5.1 (September 15, 2014)
-----------------------------------------------------------
The 5.1 release contains these changes/new features:
- added support for Dragon Enhanced Blacks (D.E.B.) processing (CPU/GPU only)
- added new metadata RMD_SENSOR_OLPF_INTERCHANGEABLE & RMD_SENSOR_OLPF_NAME
- added support for Lift/Gamma/Gain set in camera
- added support for Visual Studio 2008 MT, MTd and MD builds
- removed support for Visual Studio 2005

The 5.1 release contains bug fixes for:
- Fixed: Possible crash when decoding EPIC/SCARLET clips on the original Rocket
- Fixed: GAMMACURVE_LINEAR not being truly linear


5.0 (April 7, 2014)
-----------------------------------------------------------
The 5.0 release contains these changes/new features:
- NOTE: this will be the last major release to support Visual Studio 2005!
- Added GPU accelerated decoding with CUDA or OpenCL through the
  use of the GPU extension SDK. Please see "GPU extension SDK.txt"
  for download & further information.
- Added DRAGONcolor color space.
- Added REDgamma4 gamma option.
- Added Marker's API to get still frame Markers set during record.

The 5.0 release contains bug fixes for:
- Fixed: Possible color cast for HDRx clips processed with Magic Motion.
- Fixed: Possible color cast for clips shot with Motion Mount on
  the latest camera firmware.


4.6 (February 19, 2014)
-----------------------------------------------------------
The 4.6 release contains these changes/new features:
- Support for new Dragon OLPF
- Rocket-X support for RED ONE clips
- Support for Visual Studio 2012. NOTE: this will be the last
  release to support Visual Studio 2005!
- Added PixelType_HalfFloat_RGB_Interleaved pixeltype and
  PixelType_HalfFloat_RGB_ACES_Int pixeltype for linear and
  ACS half-float output
- Added RMD_ANAMORPHIC_MODE metadata item
- Added RMD_RESOLUTION_FORMAT_NAME metadata item
- Added RMD_REEL_ID_8_CHAR & RMD_REEL_ID_FULL metadata items
- Added RedRocket::DecodeSupportedForClip() API to check if a specific
  clip can be decoded by the opened Rocket
- Added RedRocket::GetRocketInfo() API to get information about a
  Rocket board even if another application has the board in use
- Rocket-X now requires 512 byte alignment like the original Rocket

The 4.6 release contains bug fixes for:
- Fixed incorrect REDCODE metadata for Dragon sensor
- Fixed issue where certain Color cameras were identified as Monochrome
- Fixed clip aspect ratio metadata to more closely match the camera
- Fixed bug where Rocket pipe would keep returning errors after a
  decode request was submitted for an unsupported clip type
- Fixed bug where Rocket-X would return an error when trying to
  decode a Dragon HDRx clip with blending enabled
- Fixed bug where DRX + HDRx Magic Motion blending was failing on Rocket
- Fixed crash when loading certain old RED ONE clips
- Fixed bug where RMD_PIXEL_ASPECT_RATIO metadata would not be
  present for certain DSMC clips
- Fixed a build issue with certain windows libraries


4.5 (September 16, 2013)
-----------------------------------------------------------
The 4.5 release contains these changes/new features:
- Support for the new RED 6K Dragon sensor
  	- Rocket, unlike Rocket-X, does not support Dragon decoding
  	- DRX is not needed for Dragon, setting it has no effect
  	- New sensor model ID & name metadata added
- Support for the new RED Motion Mount
  	- New lens mount ID's & names metadata added
   	- Added RMD_MOTION_MOUNT_ND_STOPS metadata
   	- Added RMD_MOTION_MOUNT_SHUTTER_TYPE metadata
- Support for the new RED Rocket-X accelerator board
  	- Rocket-X currently requires 4096 byte alignment for buffers
  	- RED ONE support for Rocket-X will come in a future update
- Added RMD_CAMERA_FIRMWARE_REVISION metadata
- Added RMD_DROPPED_FRAME_COUNT metadata
- Added support for 1.3x anamorphic aspect ratio metadata
- Added Clip::GetRmdPath() function
- Set minimum Rocket driver needed to 1.4.36.0 and minimum
  Rocket firmware to 1.1.17.3.


The 4.5 release contains bug fixes for:
- Fixed issue where certain clips may fail to load
- Fixed issue where certain clips would fail to decode on Rocket
- Fixed issue where certain Color cameras were identified as Monochrome
- Fixed issue where certain Monochrome cameras were not detected properly
- Fixed bug introduced in 4.4 where highlights could render
  slightly different when exposure was adjusted than before


4.4 (January 11, 2013)
-----------------------------------------------------------
The 4.4 release contains these changes/new features:
- Added support for the Mysterium-X Monochrome sensor in the
  Epic-M Monochrome and Epic-X Monochrome cameras:
    - Only support software Decode, NOT through the RED Rocket
      acceleration board. This will be added in the future.
    - New sensor & camera model ID's & names metadata added.
    - Clip::GetWhitebalance() is not available
    - ColorVersion1 is not available
    - ColorSpace, Saturation & DRX are not available
- DRX is now available on the Rocket (requires latest driver & firmware).
- RGB curve metadata is now loaded from clips and is available
  through GetClip/DefaultIPS() functions, not through the
  metadata database (RMD_XXX etc.)
- User defined metadata is now loaded from clips.
- Added aspect ratio metadata for 3072 x 1284 and 4096 x 1708
  resolution clips.
- Added media serial number and camera network name metadata.
- Added lens mount, aperture, focal length and focus distance
  metadata.
- Set minimum Rocket driver needed to 1.4.32.0 and minimum
  Rocket firmware to 1.1.16.11.


The 4.4 release contains bug fixes for:
- Fixed issue where HdrProcessingLimits & SoftwareFixSettings
  structures had symbols with private visibility.


4.3 (March 5, 2012)
-----------------------------------------------------------
The 4.3 release contains these changes/new features:
- Added REDgamma3 gamma curve and REDcolor3 color space.
- Added requestIsHdr parameter to Rocket::AlignOutputWidth()
  function to avoid potential decode failures later on when
  decoding with HDR blending enabled.
- Added HdrProcessingLimits struct to allow HDR processing
  settings to be used in the UI in the same way as
  ImageProcessingLimits before.
- Added firmware version metadata for Epic/Scarlet-X cameras.
- Maximum number of Rockets supported has been upgraded from
  3 to 6.


The 4.3 release contains bug fixes for:
- Fixed a race condition which could result in the Rocket
  hanging on open or close.
- Fixed a bug where RMD sidecar file could be created with
  ColorVersion1 set. RMD files only support ColorVersion2!
- Fixed a bug where HdrProcessingSettings were not clamped
  and checked properly.
- Fixed a bug where Detail field was not saved/loaded to
  or from the RMD sidecar file.
- Fixed a bug where Version field was not always properly
  set to ColorVersion2 when the RMD sidecar file was loaded.


4.2 (December 20, 2011)
-----------------------------------------------------------
The 4.2 release contains these changes/new features:
- Set minimum Rocket driver needed to 1.4.19.0 and minimum
  Rocket firmware to 1.1.16.5.
- Added Magic Motion & Simple Blend HDRx blend support to
  the software & Rocket decoders. For performance reasons
  it can still be interesting to do simple blend yourself.
  See new sample code 13_MagicMotionHDRx.cpp.
- Added HDR settings read/write support from/to RMD sidecar
  files. See 13_MagicMotionHDRx.cpp comments.
- Added TRIM support (including HDRx). Trim currently
  removes any audio present. This will be fixed soon. See
  new sample code 14_Trim.cpp.
- Added an 8-bit BGR pixeltype to help with playback of
  full res Epic clips through the Rocket.
- Added Clip::CloseFileHandles() function to close any open
  file handles. This helps to keep the open file handle
  count down. Handles are automatically reopened as needed.
- Added RedRocket::AlignOutputWidth() function to make sure
  the output buffer works when scaling. Also added a new
  return code RSCustomWidthNotAligned when doing a custom
  scale and the output is not aligned.
- RedRocket::Decode() checks to make sure the output buffer
  follows the required alignment as per above.
- Added camera model metadata for the Scarlet-X camera.
- Added aspect ratio metadata for various new formats.
- More DSMC audio support (audio would run too slow).
- All Decode functions now use RMD ImageProcessingSettings
  as they were when the clip was opened when no IPS is
  supplied for decode. This fixes a performance issue.
- Added RMD_HDR_STOPS_OVER metadata item.
- Added DSNotAnHDRxClip & RSNotAnHDRxClip error codes
  when trying to decode HDR with a non-HDRx clip


The 4.2 release contains bug fixes for:
- Fixed a bug where Epic 59.94 record frame rate metadata
  was 60 instead of 59.94.
- Fixed a bug where an I/O failure during Rocket decoding
  could result in a crash.
- Fixed a bug where an unclosed HDRx clip would result in
  both tracks being mixed in to 1 track.
- Fixed a potential crash when getting white balance for
  a 5K clip.
- Fixed a bug where decoding 5K at lower resolutions could
  result in a crash by writing too much to the output buffer.
- Fixed a bug where Clip::DecodeVideoFrame() would
  incorrectly use the clip's default ImageProcessingSettings
  when none were supplied for decode. It should use RMD
  settings, if present.
- Fixed a bug where float values in RMD files were
  incorrectly read on platforms where the decimal point
  is a comma.
- Fixed bug where Clip::VideoTrackCount() could crash when
  called on an unopened clip.
- Fixed incorrect memory allocation in 11_RocketScale sample.
- Workarounds for incorrect Epic R3D clips.


4.1 (May 10, 2011)
-----------------------------------------------------------
The 4.1 release contains these changes/new features:
- additional EPIC and SCARLET audio support


The 4.1 release contains bug fixes for:
- fixed a bug where Clip::Uuid() could return an incorrect
  UUID for RED ONE clips. Bug was introduced in the 4.0 SDK
- fixed a potential software decoder crash in the 32-bit SDK
  when it runs in a virtual address space bigger than 2GB
- fixed bug where RED ONE 23.98 & 29.97 record framerate
  metadata was set to 24 and 30 respectively
- fixed a bug where decoding would fail for all frames after
  a dropped frame in an EPIC or SCARLET clip
- fixed a bug where shutter angle was incorrect for EPIC &
  SCARLET varispeed recordings
- Linux: fixed a bug where the 32-bit Linux SDK would fail
  to open Epic clips larger than 2GB in size



4.0 (April 5, 2011)
-----------------------------------------------------------
The 4.0 release contains these changes/new features:
- basic EPIC and SCARLET support (lots of additional
  features coming throughout the year)
- Rocket support for EPIC
- multi-track support for HDRx (EPIC & SCARLET). Future SDK
  releases will have options to have the SDK do HDR blending
- new 12_SimpleHDRxBlend.cpp sample code to demonstrate
  simple HDRx blend between two frames from two tracks
- added build number (Info::BuildNumber()) and build
  date (Info::BuildDate()) API's. Also updated the
  1_SDKinfo.cpp sample to show this information
- added Clip::VideoTrackCount(), Clip::VideoTrackDecodeFrame()
  funtions and RocketDecodeJob::VideoTrackNo field to
  support multi-track decoding (HDRx) for EPIC & SCARLET
- added RMD_CAMERA_MODEL and RMD_CAMERA_MODEL_ID
  metadata to identify between RED ONE and the various
  EPIC and SCARLET cameras used to record a clip
- added RMD_CAMERA_PIN metadata to retrieve the camera's
  PIN (serial number) used to record a clip
- added RMD_HDR_MODE metadata (normal or HDRx recording)
- added RMD_SENSOR_NAME and RMD_SENSOR_ID metadata to
  identify the sensor model used to record a clip
- if an invalid ISO value is passed in through the
  ImageProcessingSettings structure the nearest ISO in
  value will be used instead of the default (320)
- added support for ISO 12800
- removed support folder and moved "Rocket driver and
  firmware.txt" file in to the root of the archive
- minimum Rocket driver and firmware versions needed
  is now 1.4.7.0 and 1.1.14.38 respectively

           
The 4.0 release contains bug fixes for:
- incorrect shutter metadata for certain cases
- Clip::Uuid() could return incorrect results for
  RED ONE clips when using one of the 64-bit libraries


  
3.2 (December 13, 2010)
-----------------------------------------------------------
The 3.2 release contains these changes/new features:
- All: REDColor2 and Adobe 1998 color space support
- All: REDgamma2 and REDlogFilm gamma space support
- All: re-ordered the gamma curve & color space lists
- All: added Clip::Uuid() to get a unique ID for a clip
- All: added various frame guide metadata
- All: added stereo, linked camera and flip metadata
- All: added Shadow control metadata
- All: added REDCODE metadata
- All: added original record framerate metadata. If clip was
       recorded with ramp, starting framerate will be used
- All: software decoder now supports decoding the
       PixelType_10Bit_DPX_MethodB pixel type
- All: software decoder now supports decoding the
       PixelType_12Bit_BGR_Interleaved pixel type
- All: Clip::GetDefaultImageProcessingSettings() will now
       open and parse an RMD sidecar every time this
       function gets called
- Linux: added Rocket support, limited to certain
         distributions and kernel versions
- Mac/Win: minimum Rocket driver and firmware versions
           needed is now 1.3.5.0 and 1.1.10.1 respectively
- Win: added Unicode UTF-8 support for all API's that take
       paths. Use the WideCharToMultiByte Windows API
       function with CP_UTF8 to convert UTF_16 to UTF_8
- Win: added Visual Studio 2008 MDd libraries. For MD, MT
       and MTd the Visual Studio 2005 libraries can be used
- Win: added Visual Studio 2010 libraries
- Win: added Visual Studio 2003 is no longer supported and
       these libraries have been removed
           
The 3.2 release contains bug fixes for:
- All: possible crash on clip loading when SDK was looking
       for an RMD sidecar file belonging to the clip
- All: PDlog defaults were incorrect
- All: broken 1 frame R3D clips would crash on load
- All: loading clips from multiple threads at the same time
       would crash
- All: Clip::Status() would return LSNotInitialized when
       clip failed to load. Now returns LSFailedToOpenFile
- All: sometimes decoding 4.5K clips at 1/16th would only
       decode 134 lines instead of 135
- All: decoding 3K anamorphic clips at 1/16h would fail
- All: image corruption could happen when decoding lower
       resolutions with certain clip resolutions vs the
       pixel type chosen to decode in
- All: small memory leak if Clip::Close() was called before
       the Clip class was destructed
- All: Clip::GetDefaultImageProcessingSettings() was always
       returning the RMD settings as they were on clip load
       (if an RMD sidecar file existed on load)
- Mac/Win: Rocket crop was not always working properly



3.1 (May 19, 2010)
-----------------------------------------------------------
The 3.1 release contains these changes/new features:
- All: support for RMD sidecar loading and saving. See the
       comments for GetDefaultImageProcessingSettings(), the
       new GetClipImageProcessingSettings() and the new
       CreateOrUpdateRmd() functions in R3DSDK.h. Starting
       with this 3.1 SDK release you'll need to add -luuid
       to your makefile on Linux to link in libuuid
- All: RGB curves added to image processing
- All: lift / gamma / gain added to image processing
- All: sRGB color space and gamma curve added
- All: White Balance picker accuracy improvement
- Mac: 64-bit support added with a universal library
- Mac/Win: Rocket stability improvements
- Mac/Win: Rocket support requires driver version 1.3.2.0
           and firmware version 1.1.8.4
- Mac/Win: New Rocket 12-bit BGR interleaved pixel type. This
           pixel type was added to keep real time performance
           in 4K without sacrificing bit depth. In previous
           SDK releases you could only get high bit depth
           (over 10-bit) or real time performance in 4K, not
           both. See PixelType_12Bit_BGR_Interleaved
           
The 3.1 release contains bug fixes for:
- All: invalid Version set in ImageProcessingSettings could
       result in an incorrect color space being used
- All: switching between color versions would result in a
       crash when doing DECODE_FULL_RES_PREMIUM decodes
- All: not all fields in the VideoDecodeJob and
       RocketDecodeJob structures were initialized properly
- All: comments R3DSDKRocket.h incorrectly stated a 2048
       horizontal scale limit, this should be 4096
- All: fixed buffer size alignment issue in samples
       10_RocketDecode.cpp and 11_RocketScale.cpp
- All: incorrect alpha channel value of 0x00 for the BGRA
       pixeltype. Now set to the correct value of 0xFF
- All: incorrect Kelvin & Tint could be calculated if Version
       was set to ColorVersion2 and certain image processing
       settings where set on camera when the clip was recorded
- All: DECODE_HALF_RES_PREMIUM with OLPF compensation set
       could produce image corruption
- Mac/Win: small memory leak when closing Rocket



3.0 (February 1, 2010)
-----------------------------------------------------------
The 3.0 release contains these changes/new features:
- All: support for the new Mysterium-X sensor
- All: new FLUT color science, ties to RED ONE camera
       firmware build 30. All clips will decode with this
       new color science per default. It is possible to
       override this for older clips if you want to use the
       older color science.
- All: added new Clip::MinimumColorVersion() function
- All: new color space REDcolor and gamma space REDgamma.
       These are only available with FLUT color science
- All: new FLUT and Shadow image processing settings.
       These are only available with FLUT color science
- All: FLUT image processing setting has been added to meta-
       data and will be set by GetDefaultImageProcessingSettings
       if it was set in camera.
- All: added new ISO 2500, 3200, 4000, 5000 & 6400 settings
- All: default value for Kelvin image processing parameter
       has been changed from 6500 to 5600
- All: default color space is REDcolor, default gamma is REDgamma
- All: dropped major version number from library file names
- All: updated 7_SettingsOverview.cpp sample code to show
       the new Shadow and FLUT settings

The 3.0 release contains bug fixes for:
- All: Daylight white balance incorrectly read for clips shot
       with camera firmware 19 and below
- All: Clip::GetWhitebalance() could sometimes return
       incorrect Kelvin & Tint for the given frame
- All: image corruption when decoding a 4.5K clip at 1/16th
- All: incorrect clip and pixel aspect ratios for 4.5K clips
- All: incorrect clip and pixel aspect ratios for anamorphic
       clips. These now have a pixel aspect ratio of 2.0
       and a clip aspect ratio of 2.44.
- All: incorrect saturation for very old clips. Saturation
       would be set to 0.0 (instead of the correct default
       of 1.0) in the ImageProcessingSettings structure after
       a call to Clip::GetDefaultImageProcessingSettings()
- All: certain long clips with audio could have 1 sample
       missing at the end of the audio channels
- Mac/Win: Rocket stability improvements when the card does
           not have x8 data lines



2.5 (December 2, 2009)
-----------------------------------------------------------
The 2.5 release contains these changes/new features:
- Mac/Win: new Rocket return code RSIsDroppedFrame
- Mac/Win: Rocket 4.5K output can now be down scaled to half
       resolution.

The 2.5 release contains bug fixes for:
- All: incorrect gamma space and color space for clips
       recorded with RED ONE camera firmware build 15 or
       below (bug was introduced in SDK 2.0 BETA)
- All: truncated recordings could fail to decode last frame
- All: renamed clips like 0.R3D could cause a crash
- Mac/Win: included RED Rocket installer was corrupt
- Mac/Win: RED Rocket stability fixes



2.3 (October 2, 2009)
-----------------------------------------------------------
The 2.3 release contains these changes/new features:
- All: support for decoding 4.5K clips in the software path
- Mac/Win: support for decoding 4.5K clips (introduced with
           RED ONE camera firmware build 21) through the RED
           Rocket path. The RED Rocket scaler is limited to
           2048 pixels wide and thus does not support half
           resolution decode of 4.5K material. Maximum
           supported output size in this case is 2048 x 878
           (if maintaining aspect ratio). Software path does
           support half resolution decode for 4.5K material.
- Mac/Win: RED Rocket 10-bit DPX pixel type added
- Mac/Win: RED Rocket output can be scaled to a custom size
           as well as (center) cropped and letter & pillar
           boxed up to 2048 pixels wide
- Mac/Win: new return code RSOldDriverFirmware if a RED
           Rocket is opened with old drivers or firmware
           installed. The RocketInfo struct has new fields
           to indicate what the minimum versions are the
           SDK requires
- Mac/Win: included RED Rocket 1.0.10.0 installer in the
           support folder
- Mac/Win: new sample code to show custom scale, pad & crop

The 2.3 release contains bug fixes for:
- All: failure to link to the VS2003 libraries (bug was
       introduced in SDK 2.2)
- All: occasional matrix failure using software decode
       (bug was introduced in SDK 2.2)
- Mac/Win: occasional decode failure using RED Rocket
- Mac/Win: occasional slow down when decoding 16-bit at
           4K using RED Rocket
- Mac/Win: RED Rocket could be running at x4 PCI Express
           speed even if it was in a x8 or x16 slot
- Windows: Rocket failure on Core i7 systems



2.2 (August 14, 2009)
-----------------------------------------------------------
The 2.2 release contains these changes/new features:
- Mac/Win: added more RED Rocket information when opening a
           board or receiving a callback
- Mac/Win: added RED Rocket decode example: 10_RocketDecode.cpp

The 2.2 release contains bug fixes for:
- All: failure to compile due to incorrect header files in
  the 2.1 BETA release
- All: a change introduced in the 2.1 BETA release could
  produce incorrect white balance values for clips recorded
  with camera firmware build 19 or earlier
- All: the CustomPDLogBlackPoint, CustomPDLogGamma and
  CustomPDLogWhitePoint fields in the ImageProcessingSettings
  structure were not initialized to their default settings



2.1 BETA (August 2, 2009)
-----------------------------------------------------------
The 2.1 BETA release contains these changes/new features:
- Mac/Win: RED Rocket decode support (new header, auto included)
- All: White Balance picker support.
- All: new 8-bit and 16-bit RGB interleaved pixel types
- All: moved metadata to a new header (auto included)
- All: library renamed to R3DSDKv2 (should've been done for
  the beta 2.0 release)

The 2.1 release contains bug fixes for:
- All: decoding clips with the 2.0 BETA SDK recorded with
  camera firmware build 19 or earlier could have incorrect
  clip metadata 



2.0 BETA (June 22, 2009)
-----------------------------------------------------------
The 2.0 BETA release contains these changes/new features:
- All: color science has been improved significantly and 
  provides for much more accurate color across all the
  colorspaces while also reducing noise in tungsten. This
  new color science syncs up with camera firmware build 20
  but is compatible with older firmware.
  
  

1.6 (May 28, 2009)
-----------------------------------------------------------
The 1.6 release contains these changes/new features:
- All: added AudioChannelCount() function to Clip class
- All: added DecodeAudio() & AudioSampleCount() function to
  Clip class as well as new sample code 9_ExtractAudio2.cpp.
  With these new functions a specified number of samples can
  be retrieved from any starting sample position.
- Windows: added 64-bit (x64) Visual Studio 2005 builds.

The 1.6 release contains bug fixes for:
- All: decoding 4K HD clips (recorded with max mode off) at
  16th resolution would actually decode at 240 x 136 instead
  of 240 x 135 and could thus crash an application if the
  supplied buffer was too small. These clips are now
  correctly decoded at 240 x 135.
- All: audio in clips that span more than one R3D file
  could have audio cut outs across file boundaries. This
  could result in shorter and out of sync audio tracks and
  missing samples throughout an audio track.



1.5 (April 8, 2009)
-----------------------------------------------------------
The 1.5 release contains bug fixes for:
- Windows: under certain scenarios clip resolution,
  framerate & original clip filename were incorrect which
  could result in decode failures
- Windows: decoding a clip while loading other clips at the
  same time could result in either of the two failing
- Linux: unable to link with the PIC libraries


1.4 (March 20, 2009)
-----------------------------------------------------------
The 1.4 release contains these changes/new features:
- changed decode mode FOURCC's to their respective values
  to reduce compilation warnings on Linux
- change Mac OS and Linux library name from 'R3DSDKv1.a' to
  'libR3DSDKv1.a' to be more compatible on these platforms
- added 685, 985 & custom PDlog gamma curve options,
  including new fields in the ImageProcessingLimits struct
- added 16th resolution decode option
- reduced memory consumption on Vista when lots of clips
  are loaded (or a clip with many R3D files)
- changed DRX default setting to off (0.0), switching it
  to on (any value above 0.0) has a slight performance
  impact, also see DRX bugfix below
- added LSNotInitialized failure code to indicate the
  library was not initialized properly (constructors did
  not run). This can happen in Objective-C when the class
  is part of an Objective-C class. Use 'new' instead.
- added RMD_ORIGINAL_FILENAME metadata item to get the
  original camera filename for the first R3D file in the
  clip currently loaded
- added Windows builds that are linked to the debug CRT
- added Linux 64-bit build
- added position independent (fPIC) Linux builds

The 1.4 release contains bug fixes for:
- crash with certain user curve settings
- occasional hang during process unload fix #2
- half and full resolution debayer created a visible border
- link problems solved for Mac OS X builds
- certain Kelvin & Tint combinations produced invalid
  results, these are now clamped to valid values. There
  is no API or parameter range change.
- DRX wasn't doing anything
- BytesPerRow aligntment wasn't enforced properly


1.3 (January 28, 2009)
-----------------------------------------------------------
The 1.3 release contains these new features:
- 32-bit Linux support
- access to the raw audio data, see new sample 8 on how to
  extract the audio. Sample 2 updated to display audio info

The 1.3 release contains bug fixes for:
- occasional hangs during process unload
- occasional crash during unload
- fixed a bug were delete was used instead of free()
- fixed problem where DECODE_HALF_RES_GOOD was actually
  DECODE_HALF_RES_PREMIUM. The DECODE_HALF_RES_GOOD is
  now significantly faster than it was before!
- fixed documentation bug that said the 'detail' setting
  was available for DECODE_HALF_RES_PREMIUM which it is not!
- fixed another problem where too much memory was being
  allocated


1.2 (October 24, 2008)
-----------------------------------------------------------
The 1.2 release contains bug fixes for:
- fixed one of the problems where too much memory was being
  allocated on full and half resolution decodes. In these
  situations about 15% less memory is being used now
- fixed race condition which could lead to corrupt images
- fixed bug introduced in SDK v1.1 which caused decode of
  4096 x 2048 files to fail, producing corrupt images
- fixed bug introduced in SDK v1.1 where the Mac internal
  version of the SDK was set to v1.0 instead of v1.2


1.1 (September 24, 2008)
-----------------------------------------------------------
The 1.1 release contains bug fixes for:
- link problems on the Mac version
- memory leaks
- occasional crashing


1.0 (August 26, 2008)
-----------------------------------------------------------
- initial release


=== GPU SDK RELEASE HISTORY BEFORE R3D SDK INTEGRATION ====

1.9 release  (January 13, 2015)
-----------------------------------------------------------
- Fixed: Monochrome DECODE_HALF_RES_PREMIUM.
- Fixed: Monochrome support for the alpha R3DDecoder.
- Fixed: Made R3DDecoder::CreateDecoder more robust.

1.8 (November 24th 2014)
-----------------------------------------------------------
- Added: Ability to submit CL_IMAGE as result buffer (Does not support CL_UNSIGNED_INT formats, use CL_UNORM_INT instead)
- Added: Support for Multiple Devices per OpenCL Context (Kernel Caching is automatically disabled when using multiple devices per context).
- Added: Alpha R3DDecoder api for applications which do not currently use any GPU computation.
- Fixed: Memory Leaks.
- Fixed: Changed some OpenCL kernels so the OSX 10.10 driver for the AMD HD 5770 & AMD 6750M will not hang and or error out during compilation.

1.6 (September 15th 2014)
-----------------------------------------------------------
- Added: Dragon Enhanced Blacks (D.E.B) support
- Added: CUDA 6.5 support (CUDA 6.0 for VS2008)
- Fixed: ColorVersion1 requests will now return an error instead of incorrect output.
- Fixed: CentOS 5 broken library
- Fixed: OpenCL DEB Edge case

What's new for 1.5
-----------------------------------------------------------
- Added: While we advise against using this SDK in a 32bit environment due to memory requirements Win32 vs2008 binaries are now provided.
- Fixed: Sample code updated to make the overridden OpenCL api calls for create buffer and release buffer properly force the calling type using the CL_API_CALL define.
- Fixed: Half class is now behind a namespace preventing link conflicts with OpenEXR.
- Fixed: ResultFrameSize return value for HalfFloat Pixel types was larger than required.
- Fixed: checkCompatibility when rejecting devices no longer destroys the incoming context.
- Fixed: cl_event memory leak.
- Added: clReleaseEvent to EXT_OCL_API_1_1.

1.0 (April 7 2014)
-----------------------------------------------------------
- Requires R3D SDK version 5.0
- Fixed: REDCuda::checkCompatibility now correctly checks for compute capability 2.0 or higher.
- Fixed: OpenCL 1.1 minimum version check.
- Fixed: Sample code now aborts when processing fails.
- Added: Additional error checking.
