================================================================================
Release version: 48F6rKr1(4.8.F_RC1)
Date: 2024-07-25            FW version: 48F6rKr1(4.8.F_RC1)           SW version: 48F6rKr1(4.8.F_RC1)
FW API ver: 6rK             FW Loader ver: 4.5.0
--------------------------------------------------------------------------------
[FW] Reset decoder VPU and VCMD on DP reset
[FW] Add a workaround to fix SMBus hold issue
[FW] Add SMbus debug command and logs
     command: sudo nvme set-feature /dev/nvmeX --feature-id=0x1C --value=xx
               value 0x02 means reinit;
               value 0x04 means print registers and some logs
================================================================================
Release version: 4866rKr1(4.8.6_RC1)
Date: 2024-04-29            FW version: 4866rKr1(4.8.6_RC1)           SW version: 4866rKr1(4.8.6_RC1)
FW API ver: 6rK             FW Loader ver: 4.5.0
--------------------------------------------------------------------------------
[FW] Fix decoder stuck when decoding with -stream_loop FFmpeg option
[FW] Fix an issue where the decoder acquired a buffer not used for substitution which caused FW assert
[DEVTOOLS/FW] Fix FFmpeg-n6.1 exhaustion of all pre-allocated mem bin buffers causing ffmpeg command fail
================================================================================
Release version: 4826rKr2(4.8.2_RC2)
Date: 2024-03-22            FW version: 4826rKr2(4.8.2_RC2)           SW version: 4826rKr2(4.8.2_RC2)
FW API ver: 6rK             FW Loader ver: 4.5.0
--------------------------------------------------------------------------------
[FW] Fix decoder uninitialized variable used in error concealment
[FW] Fix AV1 incorrect insertion of delimiter which cause parse failure on gstreamer
[FW] Add additional P2P support
     Add NVME command to DMA a frame from DDR memory to an external address
     Changing FW API version to 6rK
[FW] Fix an issue where high target bitrate would trigger overflow during calculation causing low output bitrate
[FW] Fix uninitialized variable which caused P2P buffers to be disabled by mistake
================================================================================
Release version: 4806rJr1(4.8.0_RC1)
Date: 2024-02-22            FW version: 4806rJr1(4.8.0_RC1)           SW version: 4806rJr1(4.8.0_RC1)
FW API ver: 6rJ             FW Loader ver: 4.5.0
--------------------------------------------------------------------------------
[FW] Store initial sequence change height and width params
[FW] Add netint error codes for logging on ppu errors
[FW] Reset filter when using filterbilt=1 to avoid changes in output result
[FW] Fix hang caused by interupt on AI core
[FW] Correct issue with DP and EP instantaneous load, cap load at 100%
[FW] Quadra RevA ASIC Firmware Loader Release v4.5.0
     Add support for Persistent config key to reflect device mode
     Support persistent config decoder/encoder share memory
     Change DDR configuration in Firmware Loader
     Support enabling/disabling the p2p memory buffer
     Changing FW API version to 6rJ
[FW] Fix FIO full capacity issue caused by invalid commands in FP core
[FW] Disable identify command logging in NDEBUG unless on INFO logging level
[FW] Resolve jitter when transcoding flv from avc to hevc
[FW] Fix multi-layer model with one input frame map size error
[FW] Fix stack overflow and PPU shared buffer from being recycled twice
[FW] Enable DP NO_BUF_REGION_SWITCH to improve merge filter performance
[FW] Resolved SRAM Exhaustion
[FW] Clear resource unavailable status of scaler session for hwdownload filter
[FW] Support PPU adaptive scale aligned with long and short edge
     Changing FW API version to 6rI
[FW] Fix the Issue of reporting RESOURCE NOT FOUND when a hwframe is used with hwdownload
[FW] Add filterblit for pad filter
[FW] Support reconfig for intraperiod, force I-frame on reconfig and update rate control
     Changing FW API version to 6rH
[FW] Support simulating general exceptions on Quadra
[FW] Enable admin command start stop logs in NDEBUG mode
[FW] Fix AIEnahnce mode request nodes and resource management corruption
[FW] Add iFrameSizeRatio encoding parameter, used to control the size of I frames.
     Changing FW version to 6rG
[FW] Add new merge filter which combines PPU and 2D engine scaling to improve quality
     Changing FW API version to 6rF
[FW] Fix error when decoder would do write/flush/read on apitest
[FW] Fix resource monitor sampling errors which caused the loads to go over 100%
[FW] Fix one frame decoder delay on h264 decoding
     Changing FW API version to 6rE
[FW] Fix Multi-In memory leak, don't map frame when frameIdx is zero
[FW] Fix p2p alloc scale max range check
[FW] Add new FW non-recoverable stream decoding error classification
[FW] For cards with new power subsystem stop FW downgrade below 4.7.0
[FW] Fix width and height alignment for 2D tile format
[FW] Update memory bin buffer size to avoid resource unavailable with 32 instances of portrait 1080p
     Changing FW API version to 6rD
[FW] 2-pass adaptive gop optimization
[FW] Support querying card's composite temperature via libxcoder api 
     Changing FW API version to 6rC
[FW] Fix ipRatio no effect for some case in CBR and VBR mode
[FW] Fix the dd command failure
[FW] Added Temporal Delimiter before av1 first sequence header
[FW] When  adaptive ppu scale mode is enabled, allow width and height to be aligned downward
[FW] Limit max numbers of memory bins to be obtained to avoid exceeding allocated frames
     Changing FW API version to 6rB
[FW] Support subsystem reset when internal close timeout
[FW] Support short edge adaptive ppu scaling
     Changing FW API version to 6rA
[FW] Support ipRatio for CBR and VBR, add enableipRatio encoder parameter for CBR and VBR
     Changing FW API version to 6r9
[FW] Reduce duplicate dp buffer acquisition error log
[FW] Fix potential rtos heap leak for h264 decoder causing latency issues
[FW] Fix DMA transfer on windows system when i32FeatureIndex is equal to 0xD0
[TOOLS] Add FW upgrade support for Mac, update documention regarding quadra_auto_upgrade
[FW] Fix decoder Open fail causing memory corruption and exception
[FW] Fix double flush emulation prevention on decoder bytes buffering for HEVC sei parameters
[FW] Firmware support for disabled hw blocks
[FW] Move DecoderResetEOS to DDR to fix DEBUG build
================================================================================
Release version: 4706r8r4(4.7.0_RC4)
Date: 2023-12-14            FW version: 4706r8r4(4.7.0_RC4)           SW version: 4706r8r4(4.7.0_RC4)
FW API ver: 6r8             FW Loader ver: 4.4.0
--------------------------------------------------------------------------------
[KNOWN-ISSUE] Quadra T2A cards are not detected on Xeon E5 PCIe Gen3 hosts due to CPU errata (contact Netint for solutions)
[FW] Fix a hang when using multiCoreJointMode with 2-pass encoding
[FW] Allow H265 decoder to tolerate missing reference frame by searching DPB and trying to find a valid reference frame with poc closest to the supposed reference frame
[FW] Add NV12 compressed tiled pixfmt support to filters
     Changing FW API version to 6r8
[FW] Support scaler framepool free for xstack
[FW] Modify 2-pass encode algorithm to support dynamically switching between gop size 1, 2, 4, and 8
[FW] Fix bug where user set keep_alive_timeout is not applied to all sessions when multiple sessions start at the same time
[FW] Fix bug where rotate filter causes frame to shift 32 pixels downwards
[FW] Allow libxcoder to set skipFrameEnable
     Allow libxcoder to set maxConsecutiveFrameNum
     Changing FW API version to 6r7
[FW] Add decoder flush support for AVC and HEVC decoders
[FW] Fix decoder heap leak in multicore mode
[FW] Fix AV1 frame id index wrap around issue
[FW] Add resolution and userIDR info to "ni_rsrc_mon -d"
     Changing FW API version to 6r6
[FW] Fix cases where constrained VBR (xcoder-param vbvMaxRate) is not taking effect
     Update rate control library
[FW] Add decoding xcoder-param "enableLowDelayCheck=1" to cease lowdelay decoding mode when B frame is encountered
     Changing FW API version to 6r5
[FW] Improve performance of AI overlay filter
     Changing FW API version to 6r4
[FW] Stay in decoder lowDelay mode when there is dropped frames using new xcoder-param "forceLowDelay"
[FW] Allow HW frames of RGBA/BGRA/ABGR/ARGB pixfmt to be auto-downloaded if filter is a separate card from encoder
[FW] Support user API control of uploader/scaler frame buffer pool size with ni_device_api.h:ni_device_session_update_framepool()
     Changing FW API version to 6r3
[FW] Fix incorrect count for number of encoded frames when using multiCoreJointMode
[FW] Add support for ni_quadra_delogo filter
[FW] Add gop-size in encoder output metadata, so that libxcoder can increase frame delay (enqueued frames) when open-gop size increases
     Changing FW API version to 6r2
[FW] Support vbvMaxRate and vbvBufferSize encoder reconfig
     Changing FW API version to 6r1
[FW] Migrate to 3 character FW API version number
     Changing FW API version to 6r0
[FW] When encoder reconfig of bitrate occurs, scale vbvMaxRate by magnitude of change in bitrate
[FW] Add BT.2020 support to ni_quadra_scale filter
[FW] Fix jpeg decoder sequence change causing stream corruption and core reset
[FW] Fix 20% CRF performance degradation in 2-pass encoding when first pass QP is set to 0
[FW] Support zero copy for semi-planar pixel formats
     Changing FW API version to 6q
[FW] Fix inconsistent output between runs when using ni_quadra_roi filter
[FW] Add encoder per-frame info reporting:
     - min/max motion vector x/y info
     - encoded frame (packet) size info
     - inter/intra CU count
     Changing FW API version to 6p
[FW] Support xcoder-param "hvsBaseMbComplexity" to control shadow trailing
     Changing FW API version to 6o
================================================================================
Release version: 4606nrc2(4.6.0_RC2)
Date: 2023-10-04            FW version: 4606nrc2(4.6.0_RC2)           SW version: 4606nrc1(4.6.0_RC1)
FW API ver: 6n              FW Loader ver: 4.1.0
--------------------------------------------------------------------------------
[FW] Increment encoder error count for subsystem errors
[FW] Fix and improve corrupted bitstream decoding, pass error handling in decoder open
     params:
     - DEC_EC_FRAME_TOLERANT_ERROR - Try to replace corrupted reference frames
       If no replacement, skip the whole frame (fallback to DEC_EC_FRAME_NO_ERROR).
     - DEC_EC_FRAME_IGNORE_ERROR - Keep using ref frames even if decoding errors.
     - DEC_EC_FRAME_NO_ERROR - Exclude reference frames with decoding errors.
     - DEC_EC_FRAME_BEST_EFFORT - Same as DEC_EC_FRAME_TOLERANT_ERROR, but if no
       good frame available, fall back to DEC_EC_FRAME_IGNORE_ERROR
     In some cases corrupted h264 bitstream can cause DEC_8190_IRQ_TIMEOUT.
     The frames that were not decoded because of IRQ timeout were not
     assigned correct error_ratio and could still be used as reference
     frames causing lingering artefacts in the output.
[FW] Integrate new Nano 2D driver
     Integrate scaler manager with new Nano 2D driver API.
[FW] Add query for VF/NS id
     Changing FW API version to 6n
[FW] Support float point crf, range in [0.00 - 51.00];
     Changing FW API version to 6m
[FW] Fix decoder and encoder load calculation to be based on current VPU clockspeed
[FW] - Quadra RevA ASIC Firmware Loader Release v4.1.0
     - Add Persistent Config option for GEN3 Xeon E5 CPU support
     - (Fix) DISABLE_LPM_MFR Flag out of sync (AI PLL) with default values
[FW] Add width and height for overlay
     Set overlay area for dst and src frame
[FW] Fix encoder Model Load > 0 during thermal throttling when there's no encoder job
     - Fix Model Load calculation incorrectly amplified by VpuClockSpeedFactor during thermal throttling, causing Model Load > 0 when there's no instance running
[FW] Add encoder option to approach target bitrate & option to set pass-1 qp / trigger HW timeout
     - Add bitrateMode parameter to allow encoder bitrate to be closer to target bitrate
     - Add pass1Qp parameter to set pass-1 qp. Note pass-1 qp to 0 can increase chance of HW timeout
     - Fix CRF qp incorrect after bitrate or crf reconfiguration
[FW] Add get color info (color_trcm,color_space,color_primaries,video_full_range_flag) path.
     - Add get color info path.
     - Delete extra transfer_characteristics assignment.
[FW] Fix rsrc_mon load reporting for multicorejoint mode
[FW] Fix BufferControlIndexes alignment to match size of cache line
[FW] Add Detail Query support for EP and DP
[FW] For H.264 stream, fix decoder ctrlsw to:
     if max_num_reorder_frames == 0 and max_dec_frame_buffering > 0 in VUI, set max_num_reorder_frames to max_dec_frame_buffering
[FW] Fix bug when decoding frames with visual errors in beginning of stream where undecodable part of frame is filled in with images from previous encode session
     - Use error_ratio reported by VPU to trigger DMA clearing of the error region of the picture
     - Added XT_ATTR_DDR_SHARE_ZERO for a zero buffer to be shared by all subsystems
[FW] Add high level log & add enum for ddr priority mode
[FW] Fix model load overflow
[FW] Remove non fatal assertion on debug mode due to possible late host commands
[FW] Improve memory bin management logging by decoder
     - Add MemBinCheckLegalRange() for DecoderInstanceRdDesc()
     - Log memory bin IDs acquired by decoder manager
[FW] Fix count in HMD allocation verification
[FW] Regular I/O support for FL and FW versions query
[FW] Multinamespace ni_rsrc_mon and Configurable QOS NS support for Enc Dec
     - reports active load, model load, instance count specific to caller nsid for dec/enc
     - Overall load, overall model load, and overall instance count can be queried by nsid 1 only
     - Overall stats viewable on ni_rsrc_mon -o json/json1 options
     - Qos Overprovisioning config support
     - Qos Overprovisioning handling for dec/enc
[FW] SMBus changes to support unified upgrade
     Add reporting of FL version of firmware image stored on nor flash
[FW] Add support for watermark filter
[FW] Apply clang-format for FL
[DEVTOOLS/FW] Quadra RevA ASIC Firmware Loader Release v4.0.0
              Unified FW Upgrade:
              - Replace NvmeFirmwareloaderVersionLogPage with NvmeVersionsLogPage
              - Set waiting_upgrade_reset for nor flash burn
              - Paired with - Test Framework Unified FW Upgrade
              Per bank refresh enabled with appropriate RFSHTMG settings:
              - Refresh burst to 0x0
              NVMe admin command Eye Capture
[FW] add xcoder-param "ddrPriorityMode" to set DDR priority for dec/enc/filter/ai
[FW] Fix RGB2YUV conversion
     Quadra encoder pre-processor only supports converting RGB to
     full range YUV, which is enabled by VCENC_RGBTOYUV_BT709.
     Use JPEGENC_RGBTOYUV_BT709 instead of
     JPEGENC_RGBTOYUV_BT709_FULL_RANGE.
[FW] Fix P2P buffers not being recycled
     The NS and VF metadata was written into a wrong slot
     causing MemoryBinManager::RecycleP2P() to reject the
     block and leak memory.
[FW] Windows - cold_upgrade improvements
     The FW image transfer size is equal to aligned size when the nor_flash.bin is already aligned.
[FW] Fix a compatiblity issue with some servers that send unexpected read commands during boot up
     - Initialize local memory bin acquire ID and check the rationality of the ID;
     - Check the opcode for recycle buffer command to avoid incorrect buffer release;
[FW] Add backlist to cache throttled requests
[FW] Support reconfig CRF
     - Fix P-frame accumulated QP and other info mistakenly re-initialized when bitrate or crf is reconfigured
     - Update rate control library librate_control_picture.a (branch - master / commit - bb61741bf96ad95642cfc632af3def20e6591849)
[FW] Fix interoperability bug where host sees UUID of Quadra as duplicate UUID of another device
[FW] Add API in AI module to allocate buffer pool and get hardware frame descriptions
[FW] Transfer 4k zero data for read
[FW] Decoder and Encoder support for hw time based QoS throttling
     - QoS disable and enable handled as part of namespace config
     - Namespace config now limited only to PF NS1
[TOOLS] Fix misplaced argument for to_warning_string
[FW] Return nvme succes on some OOR xcoder opcodes and invalid params
     - error check for session descriptor get, this was leading to seg fault on invalid session descriptor
     - release resources on xcoder error complete, prp was not being released on error cases
     - set request descriptor to invalid after free in InputEnqueueRequest to avoid double free on ReleaseAllResourcesAndCompleteIO
     In memory bin manager:
     - Return invalid session id on namespace check fail fail. caused
       exception in session descriptor from ppMemBinReqId2Session
     - Validate bufid to be in range before using to access memory bin
       context. Out of bounds access and exception.
