================================================================================
Release version: 5.3.0_RC2
Date: 2025-06-07            FW version: 5.3.0_RC2           SW version: 5.3.0_RC2
FW API ver: 6sB             FW Loader ver: 4.10.00
--------------------------------------------------------------------------------
[FW] Update rules capabilities table to allow separate settings for temp upgrade 'to' and 'from'
[FW] Add FW upgrade capabilities table
[FW] Add initialization check for BIST current read
[FW] Temporal layers VPS and SPS syntax incorrect & h.264 Temporal layers SPS syntax error
     1. Fix VPS and SPS multi sub layers syntax incorrect when encoding with mulitple temporal layers (temporalLayersEnable=1)
     2. Prevent HDR conformance (hrdEnable=1) with mulitple temporal layers, which would have caused parsing error due to missing hrd parameters in headers
     3. Fix h.264 SPS max_num_ref_frames syntax error causing bitstream parsing fail
[FW] Fix an issue where encoding with HW frames and split filter hit an illegal memory buffer 
[FW] Add Yolo v8 demo with ni_quadra_drawbox
     Fix ni_quadra_drawbox issue introduced by
     to get both single and multi-threaded FFmpeg to work.
     Remove code associated with RT_BIT_VOLUME which is
     never used.
[FW] VS command added to read from NOR Flash
     1. New Vendor specific admin command 0xC6 to read from NOR flash
     2. Added nvme_read_nor_command_control_block files for VS command handling
     3. Script added in /tools/nor_flash_readback to read a block of NOR flash
[FW] Prevent memory buffer from recycling twice
[FW] Fix an issue where decoder FW load went over 100 
[FW] Fix an issue where reading the address from the AI table was incorrect
[FW] Support separated rate control for AV1 spatial layers
     Changing FW API version to 6sB
[FW] Fix vp9 decoder high fw load and set buffer acquire limit for vp9 decoder seqchange case
[FW] Ni_quadra_drawbox improvements
     Use n2d_fill() instead of n2d_line() to draw lines. This
     permits ni_quadra_drawbox to work on both rgba and yuv420p
     frames. Change the lines to use a pixel width of 2 instead
     of 1 to make the drawbox easier to see. Add support for
     in-place drawbox.
[FW] Change temp upgrade rules to only allow when incoming FW is 4.8.R or >=5.3.0
[FW] Fix capped CRF quality improvement causing extended frames delay & h.264 incorrect frame type
     1. Fix extended frames delay when encoding with totalCuTreeDepth setting (for capped CRF quality improvement) by preventing linking past frames to I-frame, which does not improve quality and also causes incorrect minimum required frames delay estimation when minFramesDelay is enabled
     2. Fix h.264 incorrect frame type and incorrect gop in lookahead pass (which lowers quality) when encode with totalCuTreeDepth setting by skipping h.264 reference picture marking process for the link frame, which invalidates reference pictures incorrectly
[FW] Avoid I/O timeout issues on windows by writing AI files to nor_flash
[FW] Temp upgrade version checks updated
[FW] Added support for 720p NB files for hvsplus 8 bit and 10 bit
     Changing FW API version to 6sA
[FW] Support QP configuration when crf is enabled
[FW] Update FW Configuration mismatch check method
[FW] Update Debt repay condition when using dynamic memory
[FW] Add two improved bicubic algorithm filterblit=3 and filterblit=4 for scaler and merge filters
     Changing FW API version to 6s9
[FW] Update config E:
     - Increase T1M Video PLL from default 425MHz to 666MHz
[FW] New firmware flavor G for T1A/T2A low power mode
[FW] Fix padding issue when using hte ni_quadra_hvpsplus filter
[FW] Allow dynamic IO count
[FW] Fix dp null pointer access in log print
[FW] Reduce encoder rtos heap fragment to improve performance under heavy load 
     1. change malloc align from 4 to 16
     2. create enc thread static, put thread stack TCB tid into .ddr.malloc_optimize
     3. put regs_bak dec400data_bak into .ddr.malloc_optimize
     4. create EWLWorker when init, get it from free list when need to reserve
     5. avoid duplicate release and allocation of slices when the previous number of slices remains unchanged
     6. use mutex for ep kp resp
     7. change .rtos.HEAD from 64MB to 50MB, reserve 14MB for .ddr.malloc_optimize
[FW] Improve capped CRF I-frame bits allocation and overall subjective quality
     1. Expand crfMaxIframeEnable supported options to mode 1 (MEDIUM), mode 2 (HIGH), mode 5 (MEDIUM + AMORTIZE), mode 6 (HIGH + AMORTIZE). More details -
        Mode 1 = I-frame utilize all remaining vbv buffer + smooth out P/B frames bits by buffer level control
        Mode 2 = I-frame is not constrained by vbv buffer + smooth out P/B frames bits by buffer level control
        Mode 5 = I-frame utilize all remaining vbv buffer + I-frame bits amortization
        Mode 6 = I-frame is not constrained by vbv buffer + I-frame bits amortization
     2. Add smooth window based on past frames in buffer constraint & delta qp clipping to reduce quality fluctuation when complexity changes in crfMaxIframeEnable modes
     3. Fix P-frame qp overly restricted caused by clip_qsacle forcing high qp to fit P-frame to buffer, which is unnecessary in crfMaxIframeEnable modes
     4. Fix frame wasting a lot of bits resulting in bad quality when framerate is reconfigured in crfMaxIframeEnable modes, caused by intra interval was unnecessarily reset and caused incorrect qp clipping
     5. Also add internal BESTEFFORT mode to prevent bitrate going out of bound, BESTEFFORT mode is implicitly activated when remaining buffer level is low
     6. Properly handle bitrate, framerate, intra period, and resolution changes or reconfigurations in crfMaxIframeEnable modes
     7. Reduce quality drop when consecutive I-frames (or I-frames with only a few frames in between) cause I-frame or the following frames bits overly suppressed
     Changing FW API version to 6s8
[FW] Fix unstable output size when setting roi qp
[FW] Improve capped CRF quality by optimizing cu tree algorithm
     1. Modify CU tree algorithm to include both past and future frames to improve quality
     2. Fix encode thread does not allow pass-2 encode to proceed without the next input from host, and fix encode thread not skipping sending lookahead job when job resource is lacking
     3. Dynamically adjust past frames to be included in CU tree to prevent gop before I-frame from wasting bits
     4. Add feature to only include base layer past frames in CU tree to prevent over emphasizing past frames propagation
     5. Prevent false past frames propagation when base layer past frame (or link frame) deviate too much from its reference
     6. Fix qp map missing cache writeback after map initialization to zero
     7. For HW frames, add mem bin manager function MemBinRef to increment buffer reference count, which prevents host from recycling buffer required for CU tree past frame reference
     Changing FW API version to 6s7
[FW] Fix an issue where enableVFR=1 was causing inaccurate QP values
[FW] Support iovec for IO concurrency
     1. Re-use SET_ALLOC_FRAME command to get iovecs before write command.
     2. Each iovec has its own relative LBA based on this write session base LBA and valid size to be written.
     3. There must be one LBA gap in the LBA range during consecutive iovecs.
        This is to allow concurrent IO to be sent and avoid multiple write IO
        to be merged altogether in the OS level.
     Changing FW API version to 6s6
================================================================================
Release version: 5.2.0_RC1
Date: 2025-03-04            FW version: 5.2.0_RC1           SW version: 5.2.0_RC1
FW API ver: 6s5             FW Loader ver: 4.10.00
--------------------------------------------------------------------------------
[FW] Prevent vbv buffer overflow in 2-pass encode when HRD conformance is enabled
     1. Add vbvBufferReencode parameter. When enabled, encoder will prevent vbv buffer overflow by re-encoding frame(s) when necessary
     2. Fix multicore re-encode hits exception if re-encode logic giving up re-encode when QP has reached qpMax (or qpMin), but not re-sending commands for other cores before exiting re-encode logic
     3. Refactor re-encode logic to separate APIs to reduce code space and improve readability
     4. In 2-pass HRD conformance mode, constrain I-frames and B-frames bits to prevent buffer overflow, and also make more restrictive QP decision for all frame types
     5. In 1-pass & 2-pass HRD conformance mode, modify CU level RC to be more restrictive to I-frames, and prevent CU level RC from setting invalid high/low thresholds, causing CU level RC ineffective
     6. Fix scene change in 2-pass encode with IPPP gop pattern unnecessarily changing CU level RC behaviors, which are required for 1-pass encode only
     Changing FW API version to 6s5
[FW] Added FW support for decoding power
     1.Replaced Current to be polled. Remove invalid power functions
     2.API returns valid current and invalid value for power
     3.Added new current parameter in structure DeviceExtraInfo
     4.NvmePowerInfoLogPage returns current instead of power
     Changing FW API version to 6s4
[FW] Quadra RevA ASIC Firmware Loader Release v4.10.00 
     - Remove ADC current measurement decoding from FW
[FW] Support query session id for dec enc and pixel format for enc
     Changing FW API version to 6s3
[FW] Support configuring bicubic params for filterbilt
     Changing FW API version to 6s2
[FW] Dump reconstructed frame with getPsnrMode=4 to get all YUV when using HEVC
[FW] Add additional decoder frame error_ratio info to print to host
[FW] Add new T1M R1 PCB power measure support
[FW] Improved the precision of HRD VUI
     - Modified cbr_flag of HRD VUI to be set to 0 (vbr) if fillerEnable is off.
     - Ported the scale calculation for bitrate and cpb size from x264/x265
     - Added put_bit_ue_big to support the value greater than 2^16
     - Improved the precision of calculating initial_cpb_removal_delay and initial_cpb_removal_delay_offset
     - Fixed SRAM overflow issue
[FW] Reset burn nor parameters on triggering temp upgrade
     Update Temp upgrade Release FW 5.2.0 check
[FW] Add new dp ecPolicy to drop frames by error ratio threshold
     New ec policy DEC_EC_FRAME_BEST_EFFORT_OUT_DC is added. It's similar to
     best_effort(output all frames) but it will drop frames whose error ratio is larger than
     threshold. It won't inherit error ratio if no valid ref replace idx
     found.
     Changing FW API version to 6s1
[FW] Added persist config check for temp upgrade
[FW] AV1 spatial layers EL to BL reference structure
     1. Add spatialLayersRefBaseLayer parameter to support Base Layer to Enhancement Layer reference structure
     Changing FW API version to 6s0
[FW] Quadra RevA ASIC Firmware Loader Release v4.9.2
	 Add new Firmware Upgrade from DDR called temp upgrade. 
     1. New Vendor specific Admin command 0xC8 to trigger upgrade from DDR on controller reset
     2. Firmware image is shifted to a designated non bss location in the memory map
     3. Ddr upgrade information is saved to DDR in a designated section in memory map. Sets to FW_UPGRADE_CMD_TYPE_DDR_COMMIT
     4. Added nvme_ddr_commit_command_control_block files for VS command handling
     5. Firmware authentication checks expanded for DDR commit case (version check FW 5.1.5/FL 4.9.2)
     6. Memcpy image for Nvme and other cores from DDR
[FW] Fix incorrect calculation causing MB error count to be incorrect
[FW] Added the support of AVCC & HVCC
     - AVCDecoderConfigurationBox and HEVCConfigurationBox
     - Replaced start code with NAL length
     - Fixed sram overflow issue on EP
     Changing FW API version to 6rz
[FW] Prevent bitrate overshoot caused by buffer underflow compensation when HRD conformance is enabled
     1. Modify HRD conformance mode buffer control to ignore (not compensate for) buffer underflow, to prevent bitrate overshoot followed by continuous buffer underflow
[FW] Optimize Decoder decoded picture buffer data clear
[FW] Update wait for active list buffer location to suppport PPU
[FW] Add enableTimecode enc option to support inserting timecode info into SEI 
	 Changing FW API version to 6ry
[FW] Quadra RevA ASIC Firmware Loader Release v4.9.1
     Support T1M mcu power measure by default
[FW] Support h264/h265 decoder ppu resolution reconfig when sequence change occurs
     Changing FW API version to 6rx
[FW] Expand SEI buffer when doing sequence change from small to large decoded picture buffer size
[FW] Fix DMA copy for io size exceeding 5 segments for AI performance testing
[FW] Support AV1 multiple spatial layers encode 
     Changing FW API version to 6rw
[FW] Quadra RevA ASIC Firmware Loader Release v4.9.0
     - Fix Critical temperature throttle hanging before DUT Reset
[FW] Add backpressure support for ni_quadra_drawtext
[FW] Support float value for overprovision percent in QoS 
	 Changing FW API version to 6rv
[FW] Optimize decoder firmware load in some cases when decoding error bitstreams
[FW] Recailbrate idle memory usage in ni_rsrc_mon
[FW] Fix issue with core error injection issue
[FW] Add improvements to nvme saved feature like Arbitration/Error Recovery/Async Event config
[FW] Fix quality issue by compensatating next frame qp after current encoded frame size exceeds maxframesize 
	 Changing FW API version to 6ru
[FW] Reinitilize reduceDpbDelay params when sequence change happens in decoder
[FW] Re-initialize saveable features values after data update
[FW] Reduce 2D FW load when using upscaling
================================================================================
Release version: 5.1.0_RC4
Date: 2024-11-26            FW version: 5.1.0_RC4           SW version: 5.1.0_RC4
FW API ver: 6rt             FW Loader ver: 4.8.0
--------------------------------------------------------------------------------
[FW] Fix a timeout issue where the NP reset subsystem cannot exit when there is only a global session
[FW] Fix 2-pass encode fast sequence change memory leak
[FW] Fix np reset subsystem unable to exit when global session timeout occurs
[FW] Fix cache writeback for overlay filter during back-pressure
[FW] Fix null pointer access when decoder fails to allocate memory
[TOOLS] Update MacOS Firmware upgrade tool to accommodate firmware size increase
[FW] Add buffer back-pressure support to filters
     Changing FW API version to 6rt
[FW] Allow unlimited retries for buffer acquisition when input is looped
[FW] Fix an issue where the H264 HW decoder was delayed by 16 fps
     Changing FW API version to 6rs
[FW] Added the support of 10 bits hvsplus filter 
     Changing FW API version to 6rr
[FW] T1M microcontroller support for power measurement
[FW] Smooth the curves of the output file for different crf decimals 
     Changing FW API version to 6rq
[FW] Skip encoder pass-2 downsampling for small resolutions
[FW] Motion Constrained mode 2 (quality mode) performance optimization
[FW] Expand namespace limit to 128
[FW] Fix VPU hang when there are many h264 bsd errors detected in bitstream
[FW] Added the change to support the hvsplus filter of FFmpeg 
     Changing FW API version to 6rp
[FW] Fix p2p read from discontiguous address and improve performance on 1080p resolution 
     Changing FW API version to 6ro
[FW] Use more precise value of error_ratio for error concealment
[FW] Update FW to prevent upgrade/downgrade of T1M to non-T1M FW binaries
     Changing FW API version to 6rn
[FW] Limit the maximum size to burn FW in NOR flash to avoid card being bricked
[FW] Fix write buffer query for writeback cache policy
[FW] Support pre-analysis before coding including scene switch detection and still frame detection
     Changing FW API version to 6rm
[FW] Add surviveStreamErr decoder parameter to tolerate fatal corruptions in input stream
     Changing FW API version to 6rl
[FW] Fix an issue where high dp fw load occurs when instance stop all of a sudden
[FW] Added Interlaced video detection for HEVC decoder using SPS and Pic Timing SEI
[FW] Fix an issue where H264 Decoding has some frames blurred in output
[FW] P2P read fix
     Force a data cache flush of the host memory descriptor when doing
     a P2P read and when the frame to read is contiguous
[FW] Change np cache policy to writeback
[FW] Correct packet_delay of h264 decoder
[FW] Support h.265 Motion Constrained mode and tile based encode multiview API example
     Changing FW API version to 6rk
[FW] Correct decoder frame drop count calculation
[FW] Fix an issue where an interlaced input is not detected properly causing quadra to decode and fail
     Changing FW API version to 6rj
[FW] Quadra RevA ASIC Firmware Loader Release v4.8.0
[FW] Support new EC LIMITED_ERROR and error ratio threshold config
     DEC_EC_FRAME_LIMITED_ERROR is similar to DEC_EC_FRAME_TOLERANT_ERROR except that
     it will drop frames which have error_ratio > error_ratio_threshold
     (default 10%)
     Changing FW API version to 6ri
[FW] Enable FP cache writeback policy
[FW] Fix inconsistant output hash issue when sequence change occurs but the encoder does not reopen
[FW] Fix deadlock issue when large number of commands are spawned and deleted
[FW] Support customize ROI QP map
     Changing FW API version to 6rh
[FW] Fix an issue where Single Frame video with filter would randomly fail
[FW] Fix decoder issue that causes a splash screen when bitstream is HEVC tile feature case 
     Changing FW API version to 6rg
[FW] Fix P2P read error
     Don't release the P2P Space too early
[FW] Allow over 100% load for QoS enabled load reporting
[FW] Fix an issue with -stream_loop + H264 input + HW frames on FFmpeg-n7.0
[FW] Fix an issue where the psnr_y component for HEVC returns zero
     Fix an issue with the psnr when resolution changes from bigger resolutions to small resolutions without re-opening the codec
================================================================================
Release version: 5.0.1_RC1
Date: 2024-09-17            FW version: 5.0.1_RC1           SW version: 5.0.1_RC1
FW API ver: 6rf             FW Loader ver: 4.8.0
--------------------------------------------------------------------------------
[FW] Quadra RevA ASIC Firmware Loader Release v4.8.0
     - T1M FW flavor FL support
     - T1M Default Vid PLL to 425MHz
     - Update build config E to include LECF key
     - 2D engine support in T1M FW flavor
     - T1M AI-disabled flavor
================================================================================
Release version: 5.0.0_RC3
Date: 2024-08-29            FW version: 5.0.0_RC3           SW version: 5.0.0_RC2
FW API ver: 6rf             FW Loader ver: 4.7.0
--------------------------------------------------------------------------------
[FW] Fix an issue where lookahead or CRF would cause P-frames to precede I-frames, resulting in poor quality
[FW] Prevent repeated async event and error calls when temperature throttling occurs
[FW] Fix decoder buffer acquire failure due to using stream_loop option on FFmpeg-n7.0
[FW] Quadra RevA ASIC Firmware Loader Release v4.7.0
     Disable ASPM Capability
     Add current measurement support for T1A/T2A 4R1 PCB
     Fix SMbus I2C stuck issue.
     - Check VAL register to handle I2C INTR
     - Mask I2C STOP_DET register to reduce calling frequency of interrupt handler
     - Mask all I2C interrupts during interrupt handling to avoid missing interrupts
     - T1M DDR Power isolation and noc fencing
     Ignore power good and skip ddr bist for disabled sides
     Print PowerLoss='dA',PerstFall='dZ' for clarity
     Init/Shutdown LO/HI DDR based on SN
     Parse FL config with global variable
     - Update MFR Flag to not apply LPM disable to T1M
     Rename DISABLE_LPM_MFR to DISABLE_LPM_MFR_EXCEPT_T1M
     Add GPIO blink for T1M
[FW] Fix performance issue when a large number of sequence change clips are launched at once
[FW] Fix unstable output hash when using seqchange clip on FFmpeg-n3.1.1
[FW] Fix multicore encode CBR & ABR incorrect rate control and CRF unexpected large output size
[FW] Fix FFmpeg-n7.0 sequence change buffer acquire failure
[FW] Improve hwupload card designation for better load balancing
     Changed firmware to accept and return pixel rate load values from libxcoder for each uploader instance
     Changing FW API version to 6rf
[FW] Fix an issue where if package loss occurred on UDP livestream, Quadra would read out of bounds in memory
[FW] Fix a failure in the HEVC decoder when sequence changing from 8-bit to 10-bit
[FW] Optimize live ni_rsrc_mon decoder load calculation
[FW] Add P2P read scatter-gather list support
     Merge P2P read and write support into a single NVME write command
     Changing FW API version to 6re
[FW] Fix assertion in decoder when erroneous stream is looped
[FW] Fix an issue where encoding gets stuck during 2-core encoding
[FW] Add a workaround to fix SMBus i2c link getting stuck
[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
[FW] Fix an issue where ni_scale command was failing on FFmpeg-n7.0
     Changing FW API version to 6rd
[FW] Fix an issue where core reset occurs during decoding
[FW] Add HVS+ model to FW binary
[FW] Fix an issue where the host would kill the command when getPsnrMode=0
[FW] Fix incorrect error logging when the decoder receives an EOS signal
[FW] Reset decoder VPU and VCMD on DP core reset
[FW] Support Get PSNR feature
     Changing FW API version to 6rc
[FW] Increase global session timeout to accommodate multiple instances
[FW] Fix an issue where closing decoder commands would get stuck on EOS reset on FFmpeg-n7.0
[FW] Fix an issue where the dd command would cause timeout
[FW] Add buffer allocation fix when frame duplication occurs on FFmpeg-n6.1
     Changing FW API version to 6rb
[FW] Fix incorrect NAL type in B-frame when using custom GOP with h265 encoding
[FW] Fix segfault when encoder closes command unexpectedly
[FW] Fix an error that occurs when encountering an IDR frame during H264 decoding
[FW] Improve B-frame visual quality to resolve temporal quality issue while maintaining compression efficiency
     Changing FW API version to 6ra
[FW] Fix an issue where low bitrate capped CRF encoding produces unexpectedly large output
================================================================================
Release version: 4.9.0_RC3
Date: 2024-06-06            FW version: 4.9.0_RC3           SW version: 4.9.0_RC3
FW API ver: 6rZ             FW Loader ver: 4.6.0
--------------------------------------------------------------------------------
[FW] Fix an issue where a rainy seqchange change command on Android would cause a segmentation fault
[FW] Fix compile issue for new form factor T1M when building with single rank DDR
[FW] Fix an issue where multiple key frames at start of a stream caused encoding to get stuck when minFramesDelay is enabled
[FW] Decrease session timeout of resource monitor query to avoid failures on one card affecting other cards
[FW] When using custom gop, H265 B-frame has the wrong NAL type
[TOOLS] Handle quadraprobe dump when Firmware loader and Firmware are not matching
[FW] Add PCIe DMA load to resource monitor
     Changing FW API version to 6rZ
[FW] Support the option to dynamically configure the number of slices without restarting the encoder
     Changing FW API version to 6rY
[FW] Fix shared memory leak due to incorrect return value when running PPU command on FFMpeg-n3.1.1
[FW] Fix an issue where error was not reported due to cache on windows
[FW] Fix force key frame causing encoding to get stuck when minFramesDelay is enabled
     Changing FW API version to 6rX
[FW] The H264 VUI info in Metadata is not updated if VUI info of bitstream is changed
[FW] Improve B-frame visual quality to resolve temporal quality issue
     Changing FW API version to 6rW
[FW] Fix an issue with 10-bit CRF when crf parameter >= 32 added unneeded offset
[FW] Fix failure when decoding jpeg of yuvj420p format
[FW] Improve CPU bottleneck when encoding a large number of small resolution outputs with 2-pass encoding
[FW] Add Firmware support for new form factor T1M
     Changing FW API version to 6rV
[FW] Fix output resolution issues when using enablePpuScaleAdapt and enablePpuScaleLimit
[FW] Add DEC_CLOSED_STATE as a decoder state to prevent dmesg segmentation fault
[FW] Fix an issue with core reset where error injection did not behave as expected
[DEVTOOLS/FW] Quadra RevA ASIC Firmware Loader Release v4.6.0
              Fix nvme log pages timing out when encountering nvme fuzzing
              Add Firmware Loader and Device Initialization support for T1M
              Use SN instead of form factor to determine DDR interface
              Update 500MHz Phase locked loop
              New power config and core regulator for T1M
              Add TPS6287x voltage regulator driver
              Add T1U4R current measurement
[FW] Further reduce encoder frames delay when minFramesDelay is enabled
     Changing FW API version to 6rU
[FW] Return correct error when share memory buffer is full
[FW] Add new Error injection method for instances rather than cores
[FW] Fix an issue where the decoder stuck when decoding with -stream_loop
[FW] Reduce encoder frames delay when minFramesDelay is enabled
[FW] Add flag to prevent SW query when AI model is configuring
[FW] Improve decoder load balancing
     Changing FW API version to 6rT
[FW] Fix issue with h264 decoder where the display order was incorrect causing text jitter
[FW] Reallocate memory size of adaptive buffers when width or height change occurs
     Changing FW API version to 6rS
[FW] Support displaying power consumption and temperature via resource monitor
     Changing FW API version to 6rR
[FW] Improve Capped CRF I-frame quality and Support vbvMinRate in Capped CRF mode
     Changing FW API version to 6rQ
[FW] Prevent P2P from doing an unrequested DMA transfer
     Changing FW API version to 6rP
[FW] Add H265 decoder error concealment and improve H264 error checking logic
     Changing FW API version to 6rO
[FW] Fix H265 decoding parse for SEI inputs which would have caused unstable output
[FW] Fix thread lock issue where the thread was not unlocked after an error
[FW] Update Lookahead factor in calculating encoder model load
[FW] Improve resource monitor FW load calculation for FP core and add FW load tracking for TP core
     Changing FW API version to 6rN
[FW/TOOLS] Add debug function in BAR4
[FW] Add new parameter skipFrameInterVal which adds a skip frame per set interval
     Changing FW API version to 6rM
[FW] Add additional logging and cleanup for memory bin leakage
[FW] Support data clone with hardware frames and return the AI output buffer index
     Changing FW API version to 6rL
[FW] Prevent FW assertion by decoder by not acquiring buffer used for substitution
[FW] Fix inaccurate VBV buffer level prediction
[DEVTOOLS/FW] Fix FFmpeg 6.1 exhaust all pre-allocated mem bin buffers causing ffmpeg command fail
[FW] Fix decoder error concealment uninitialized variable
[FW] Add fixes to prevent card loss from nvme fuzzing
[FW] Adjust fix for stack overflow and PPU shared buffer from being recycled twice
[FW] Add AV1 encoding support for skipFrameEnable and maxConsecutiveSkipFrameNum parameters
================================================================================
Release version: 4.8.2_RC2
Date: 2024-03-22            FW version: 4.8.2_RC2           SW version: 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: 4.8.0_RC1
Date: 2024-02-22            FW version: 4.8.0_RC1           SW version: 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: 4.7.0_RC4
Date: 2023-12-14            FW version: 4.7.0_RC4           SW version: 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: 4.6.0_RC2
Date: 2023-10-04            FW version: 4.6.0_RC2           SW version: 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.
================================================================================
Release version: 4.5.0_RC5
Date: 2023-08-15            FW version: 4.5.0_RC5           SW version: 4.5.0_RC5
FW API ver: 6a              FW Loader ver: 3.1.0
--------------------------------------------------------------------------------
[FW] Add xcoder-param "ppsInitQp" to set h264/h265 PPS init_qp_minus26 value
     Changing FW API version to 6a
[FW] Fix multi-instance AI enhanced encoding in parallel causing FW exception
[FW] Fix broken video when decoding mjpeg sequence change from large to small resolution
[FW] Fix bug where user set keep_alive_timeout is overwritten by default keep_alive_timeout length
[FW] Fix false timeout issues when AI enhanced encoding is enabled
[FW] Add support for xcoder-param "vbvMaxRate" to limit max bitrate during VBR rate control
     Changing FW API version to 6Z
[FW] When decoding corrupted/error stream with duplicate frame numbers, do not drop frames with duplicate frame numbers
     - this is libavcodec SW decoder behavior
[FW] Fix a low probability cardloss when exit thermal throttle state
[FW] Fix a memory leak when user operates libxcoder API to repeatedly perform a failing scaler operation
[FW] Check PCIe VF and NVMe namespace ID of connections to session/buffer to ensure the messages are from session/buffer creator's VF/NSID
[FW] Fix FW config bug that affected devices upgrading from 4.3.* to 4.4+
[FW] Add encoding support for RGBA/BGRA pixel format
     Changing FW API version to 6Y
[FW] Fix ARGB/ABGR pixel format encoding mem bin buffer leak caused by incorrect picture size, which was incorrectly set to 0 based on alignment 0
[FW] Limit maximum configurable namespaces to 64
[FW] Fix overcapacity issue that may trigger after decoding for a long time
[FW] Update model load calculation reflect recent performance improvements
[FW] Fix corruption in JPEG decoder input buffer when picture is >508KiB
[FW] Fix encoding error when using temporal layers caused by uninitialized variable
[FW] Support CRF mode:
     - Uncapped CRF mode enabled by -xcoder-params 'crf' and 'lookaheadDepth'
       - 'crf' is equivalent to libx265 'crf'
       - 'lookaheadDepth' is equivalent to libx265 'rc-lookahead'
     - Bitrate capped CRF mode enabled by -xcoder-params 'crf', 'lookaheadDepth', 'vbvBufferSize' and 'bitrate'
       - 'vbvBufferSize' is similar to libx265 'vbv-bufsize' but denoted in milli-seconds of 'bitrate'
       - 'bitrate' is equivalent to libx265 'vbv-maxrate' when using CRF rate control
     - Add xcoder-params 'qcomp', 'chromaQpOffset', 'ipRatio', 'pbRatio', and 'cplxdecay' as equivalent to x265 parameters of same name
     - For h265, adjust 2-pass pbratio (to be same as h264) for some vmaf improvement
     - Support lookahead with mbtree disabled
     Changing FW API version to 6X
[FW] In decoder lowDelay mode, ignore VUI->bitstream_restriction_flag->max_num_reorder_frames to improve latency for streams that unecessarily set max_num_reorder_frames
     Changing FW API version to 6W
[FW] Fix 2-pass encode 1st pass HW timeout:
     - On HW timeout, re-encode frame (for non-multicoreJointMode only) at increased QP and increase HW timeout threshold to 15ms
[FW] Add temperature throttling for AI core
[FW] Change MEM column in ni_rsrc_mon to be "usage percentage of memory available to submodule (eg. encoder)"
     - Previous method of memory calculation will be in SHARE_MEM column
     - SHARE_MEM is the "usage percentage of memory shared between all submodules on a device"
     Changing FW API version to 6V
[FW] Improve fix for bug where over temperature may occur for less than a minute but is not reflected in smart-log as temperature throttling warnings
[FW] Add multi-slice encoding support:
     - Add xcoder-param "sliceMode" to enable multiple slices per frame encoding
     - Add xcoder-param "sliceArg" to select number of CTU/MB rows per slice
     Changing FW API version to 6U
================================================================================
Release version: 4.4.0_RC3
Date: 2023-06-14            FW version: 4.4.0_RC3           SW version: 4.4.0_RC3
FW API ver: 6T              FW Loader ver: 3.0.1
--------------------------------------------------------------------------------
[FW] Fix bug where performance is not restored back to full after a thermal throttle event
     Fix bug where thermal throttle event caused encoder timeout time to be halved
[FW] Fix bug where over temperature may occur for less than a minute but is not reflected in smart-log as temperature throttling warnings
[FW] Add support for initial_display_delay_present_flag=1 & timing_info_present_flag=1 in AV1 sequence header
[FW] Move AIEnhanceLevel in FW API for better backward compatibility
     Changing FW API version to 6T
[FW] Fix bug where HDR Mastering Display Colour Volume SEI is not repeated in IDR when xcoder-param "masterDisplay" is used
[FW] AV1 tile encode optimizations:
     - Add encoder crop support
     - Add ni_quadra_hwupload zero copy support
     Changing FW API version to 6S
[FW] Make decoder more robust against inputs with severe packet loss
[FW] Add support for ARGB and ABGR pixel format input to encoder when using HW frames
[FW] Add support for encoder xcoder-param "AIEnhanceLevel" (1-3) for use with AI enhanced encoding feature "enableAIEnhance=1"
     Changing FW API version to 6R
[FW] Fix a small memory leak when decoding h265 sequence change
[FW] Add support for SMBus warm upgrade without controller reset
[FW] Fix incorect model number, serial number, and firmware revision in NVMe identify data on PCIe virtual functions
[FW] Change frame drop behavior when using xcoder-param "MaxFrameSize"
     - By default, do not drop frame if it cannot be encoded under MaxFrameSize at MaxQP
     - Allow dropping frames only when xcoder-param "picSkip=1"
[FW] Fix lack of graceful close when attempting to decode stream of greater resolution and GOP size than available memory (QDFW-3190)
[FW] Add xcoder-param "zeroCopyMode" to enable or disable zero copy (by default auto-enabled for resolution >=1080p)
     - Improves performance by reducing host memory copy
     Changing FW API version to 6Q
[FW] Fix bug with NVMe identify data getting corrupted when a second NVMe identify command comes in before the previous one has finished its DMA to the host
[FW] Fix failure to start 8192x8192 transcoding with HW frames and filtering (QDFW-3270)
[FW] Add xcoder-param "enable2PassGop" for 2pass encoding to retain same GOP pattern as set in gopPresetIdx
     Otherwise, encoder will use B frames instead of P frames for visual improvement
     Changing FW API version to 6P
[FW] Support reporting "system load" in ni_rsrc_mon
     - "system load" is a summary of the highest load amongst the subsystems (decoder, encoder, etc.) of a Quadra device
     Changing FW API version to 6O
[FW] Fixed incorrect "completed" frames counter in JPEG encoder session statistics
[FW] Reduce lookahead encoding latency (QDFW-3266)
[FW] Allow main-tier (default) or high-tier selection on AV1 and H265 encoders
[FW] Fix issue decoding videos generated by ni_quadra_h265_enc with gopPresetIdx=1 (or intraPeriod=1) (QDFWSH-612)
[FW] Support more performance metrics in AI sessionStatistic
     Changing FW API version to 6N
================================================================================
Release version: 4.3.0_RC3
Date: 2023-04-18            FW version: 4.3.0_RC3           SW version: 4.3.0_RC3
FW API ver: 6M              FW Loader ver: 2.9.0
--------------------------------------------------------------------------------
[FW] Fix missing virtual functions on some windows hosts when using SRIOV
     Some windows hosts expect starting namespaceID to be 1 without querying NVMe identify
[FW] Fix cardloss when host attempts to read invalid LBAs (eg. full range LBA read during `dd if=/dev/nvme0n1`)
[FW] Fix buffer underflow after bitrate reconfig when bit-filler is enabled
     Fix AV1 encoder reconfig framerate not updating time_scale and num_units_in_display_tick
[FW] Fix bug where reconfig of maxQpPB (max QP of P/B frames) errorneously takes value from minQpPB
[FW] Fix bug in HW frame transcoding when sequence changing to larger resolution
[FW] Fix incorrect JPEG decoder SessionStatistic for number of frames buffered
[FW] Fix bug in ni_quadra_scale filter processing NV16 and BGRP frames with width that is not a multiple of 8
[FW] With bit-filler enabled, fix underflow/overflow upon bitrate change caused by incorrect buffer level
[FW] Fix bitrate spike using more restrictive QP clipping when CU level RC is enabled
[FW] Optimize 2-pass encoding reduce latency and excessive time period between frame output
[FW] Reduce situations where AI is unable to allocate contiguous memory for models by calling AI model memory recycling before every AI model memory allocation
[FW] Fix failure to start encoding when force_key_frames expression attempts to force first frame to be keyframe
[FW] In ni_quadra_overlay filter, add support for inplace overlay for improved performance
     - Note, do not use inplace overlay after ni_split or split filter in filter graph
     Changing FW API version to 6L
[FW] Fix bug where ni_quadra_drawbox filter is missing one pixel in bottom right corner
[FW] Fix bugs related to decoding streams with errors
     - Fix memory leak in SEI buffers during stream errors
     - Fix bug where good frames in a stream with errors are discarded despite being decodable
     - Fix bug where decoder exits when there are large gaps between non-error frames
[FW] Fix JPEG decoder SessionStatistic reporting completed frames as error frames
[FW] Fix bug where h264 max_num_reorder_frames=0 does not trigger low-latency decoding mode
[TOOLS] Update readme_firmware_upgrade.txt
[FW] Prevent instant bitrate drop in rate control upon bitrate reconfig
[FW] Improve FLR completion time to well under 100ms
[FW] Fix duplicated SEI messages during decoding if FW resumes decoding after temporarily running out of memory for decoded picture buffer
[FW] Fix FW/SW encoder deadlock if SW sends EOS before first frame
[FW] Change decoder core cache policy to writeback for 4% performance improvement
[FW] Improve performance of AI SW application by routing AI RW buffer size (along with other stats) through SessionStatistic to reduce query latency
     Changing FW API version to 6K
[FW] Fix incomplete background removal in ni_xstack filter by changing input assumption of RGBA inputs from pre-multipled alpha to straight alpha
[FW] Combine AI network input and output limits to a single limit of 10 for I/O
     Changing FW API version to 6J
[FW] Improvements for decoder error concealment
     - Allow garbage frames to be displayed but not used as decoding reference(DEC_EC_REF_ERROR_IGNORE) to reduce number of dropped frames
     - Improvement to reference picture list handling in case of picture list corruption
[FW] SMBus support FW warm and cold upgrade
[FW] Add more detailed decoder termination errors (VPU_RSRC_INSUFFICIENT, INVALID_PARAMETER) that can be reported to SW
[FW] Fix FW hang if AI model memory allocation fails
[FW] Add support for temporal layers and hierarchical-P gop pattern (gopPresetIdx 10)
     1. Allow temporal layer ID generation with xcoder-param "temporalLayersEnable=1"
     2. Add hierarchical-P gop pattern (gopPresetIdx 10)
     Changing FW API version to 6I
[FW] Fix bug where closing AI session that did not attach to a valid AI model causes memory corruption
[FW] Update decoder/encoder stats in SMBus and in SessionStatistic
[FW/TOOLS] Improve length of FW logs stored in circular buffer
[FW] Fix duplicate NVMe namespace IDs when using multi namespace by reporting only 1 namespace ID in NVMe identify output
[FW] Fix bug in encoder SessionStatistic where number of AV1 frames output is larger than expected
[FW] For ni_quadra_drawbox filter support drawing up to 5 boxes per frame
     Changing FW API version to 6H
[FW] Return vendor specific burn done status code (0xC0) instead of OVERLAPPING_RANGE error if user attempts to download FW image after FW commit but before FW reset
[FW/TOOLS] Reduce risk of FW hang when firmware_upgrade_* apps is run during other regular-IO transfers (eg. transcoding)
           Add version number to firmware_upgrade_* apps
[FW] Fix dec/enc assert when FLR encountered during HW frame transcode on kernel 3.10.0-327
[FW] Add IEEE Organization Unique Identifier 0xE82E0C
[FW] Enable strongIntraSmoothing by default for HEVC to slightly reduce macroblocking
[FW] Improve encoder rate control for instant bitrate spike prevention (enabled by default for 1-pass encode)
     Changing FW API version to 6G
[FW] Reduce FW image burn time from 80s to 54s
[FW/TOOLS] Minor improvement to AI performance
[FW] Fix bug when scaling to non-32 aligned horizontal stride and then converting to BGRP format
[FW] Make error messages more clear when encoder open session fails due to invalid parameters
[FW] Reduce risk of FW hang when quadra_auto_upgrade.sh is run during transcoding
================================================================================
Release version: 4.2.1_RC1
Date: 2023-01-17            FW version: 4.2.1_RC1           SW version: 4.2.1_RC1
FW API ver: 6F              FW Loader ver: 2.7.0
--------------------------------------------------------------------------------
[FW] Fix bug in filter preventing read retry for HW frames
================================================================================
Release version: 4.2.0_RC3
Date: 2022-12-21            FW version: 4.2.0_RC3           SW version: 4.2.0_RC3
FW API ver: 6F              FW Loader ver: 2.7.0
--------------------------------------------------------------------------------
[FW] Support configuration of individual SRIOV NVMe namespace indices by IO command
     Use ni_rsrc_namespace app in libxcoder to configure
     Changing FW API version to 6F
[FW] Fix bug where bitrate/framerate reconfiguration is being undone by sequence change from large to small resolution
[FW/TOOLS] Allow for separate transfers from host for YUV vs frame metadata
           Changing FW API version to 6E
[FW] Compressed FW logs
     - Encode FW logs to reduce log sizes by factor of ~3
     - Need to use dictionary generated at FW compile time to decode the raw logs
[FW] Fix hang when building AI model fails
[FW] Decoder will export timescale and num_units_in_tick via custom SEI to libxcoder
     Changing FW API version to 6D
[FW] Fix bug where intraRefreshArg does not cause the expected number of pixel rows to be refreshed
[FW] Fix VP9 decoder stuck when encountering resource unavailable issue
[FW] Fix bug where h265 output with maxFrameSize re-encode and hrdEnable=1 will cause decode error
[FW/TOOLS] Support xcoder-param "intra_reset_refresh=1" to reset intraPeriod counter when an I-frame is forced
           Changing FW API version number to 6C
[FW] Fix bug where 2 sequence headers are inserted for AV1 when first few frames are dropped due to picSkip=1 and small vbvBufferSize
[FW] Add support for ni_quadra_drawbox filter
     - support selecting color (RGB) but not thickness
     Changing FW API version to 6B
[FW] Add persistent log message for reset caused by over temperature
[FW] Fix Quadra card loss when linux mkfs is used
[FW] Remove fw_v*-Quadra.img, use nor_flash_v*-Quadra.bin for warm upgrade
[FW] Improve quality during I-frame only encoding
     - Set bitrateWindow to 5
     - Set PicQpDeltaMin to -4, PicQpDeltaMax to 8
     - Detect flat to detailed scene change & adjust QP
[FW] Fix invalid frame size reported by JPEG decoder during sequence change to odd width
[FW] Fix VP9 decoder handling of sequence change from low to high bitrate
[FW] Add support for maxFrameSize reconfig and fix maxFrameSize re-encode bugs
     - Support reconfig maxFrameSize
     - Auto adjust maxFrameSize upon bitrate or framerate reconfig
     - Fix unnecessary quality decline or frame drop bug during re-encode with new QP
     - Fix FFmpeg error exit during AV1 maxFrameSize induced re-encode
     - Fix lack of update for filter level, CDEF strength and other HW registers during AV1 re-encode
     - Fix bad quality during AV1 re-encode due to lack of update for frame header quantization index, CEDF strength and other parameters
     Changing FW API version to 6A
[FW] Fix host command timeout after CPU exception in subsystem
[FW] Fix card loss during warm upgrade
[FW/TOOLS] Add feature to set and retrieve log levels dynamically using nvme feature-id 0x1A
           For more details see: "APPS601-Quadra Dynamic Logging.pdf"
[FW] Disable external operation of NVMe subsystem reset as it could lead to card-loss
[FW] Improvements to h265 low latency encoding
     - When CU level RC is enabled, increase CU level RC max picture size after scene change to reduce latency and improve bitrate stability
     - Fix maxFrameSize not initialized when vbv buffer (ratecontrol) is disabled
[FW] Fix I/O errors on decoder instance close during instance/capacity overload
[FW] Disable data transfer for direct nvme read/write commands as it could lead to corruption because quadra is not a true storage device
[FW] Reduce total PCIe virtual functions from 7 to 6 for compatibility with certain old systems
[FW] Fix bug where VP9 decoder session can become stuck during out of memory event
[FW] Add support for AV1 error_resilient_mode in AV1 encoder
     This will set primary_ref_frame to PRIMARY_REF_NONE and allow decoders to continue when keyframes are lost/corrupted during transmission
     This will cost some compression efficiency
     Changing FW API version to 69
[FW] Fix card loss when host I/O attempts to read/write to out of range address (>0x7d000000)
[FW] Add support for HW frames transcoding of 4x4 tiled format to improve 10bit transcode performance
     For more details see: "APPS570-Quadra Decoder Internal Tiled Format Transcoding.pdf"
     Changing FW API version to 68
[FW] Fix bug where AUD clock is not set to normal after warm upgrade during thermal throttle
[FW] Fix random memory leak after decoder sequence change
[FW] Fix encoder load calculation bug on T1U cards
[FW/TOOLS] Quadra SMBus fixes and updates to be more like Logan SMBus:
           - Fix bug when retrieving data with alternating single reads and writes
           - Implement new model number scheme
           - Report additional byte for decoder and encoder load
           - Perform PEC calculation on read instead of write
           - Initialize fixed values only once instead of on every write
           - Update variable data using a timer
           - Switch from interrupt polling to real CPU-interrupt with NVMePeriInterruptHandler()
[FW] Fix decoding issue when sequence change occurs early in stream
================================================================================
Release version: 4.1.0_RC1
Date: 2022-10-13            FW version: 4.1.0_RC1           SW version: 4.1.0_RC1
FW API ver: 67              FW Loader ver: 2.4.0
--------------------------------------------------------------------------------
[FW] Fix encoder divide by zero exception and other issues surrounding reconfig
     - Prevent config or reconfig with zero bitrate or framerate settings
     - Ignore out of range bitrate and framerate reconfig
[FW] Add error concealment feature
[FW] Add activity LED for T1U
[FW] Fix bug in model load calculation when RcEnable=0 and framerate!=30
[FW] Support recovery from CPU exceptions using FLR
[FW] NVMe behaviour changes and fixes for NVMe spec non-compliant hosts
[FW] Fix issues when FLR occurs during transcoding traffic on linux 3.10.0-327 and 4.18.0-348
[FW] Add support for ni_quadra_rotate filter
     Changing FW API version to 67
[FW] Fix I/O errors when decoder over instance/capacity
[FW] Allocate AI network binaries for one instance at a time to maximize number of instances that could complete allocation
[FW] Fix bug where re-encoded frames are reported as part of number of frames completed when lookahead is enabled
[FW] Fix unexpected internal shutdown during decoding
[FW] Fix allocation of large AI models by splitting allocation into multiple chunks
[FW] Fix AV1 non-8-aligned width output corruption caused by incorrect stride when implicitly cropping non-8-aligned width
[FW] When AI network setup fails, pass original error to libxcoder
[FW] Fix SMBus reporting for decoder and encoder load
[FW] When packet exceeds maxFrameSize, re-encode the frame
[FW] Refactor decoder bitstream buffer reallocation
     Changing FW API version to 66
[FW] Fix incorrect alpha channel for frames after first frame in overlay filter
[FW] Fix jpeg decode sequence change stuck
[TOOLS] Fix quadra_fw_info tool's output missing first character for REVISION
[FW] Fix frame loss when using intraRefreshDuration
[FW] Fix VP9 decode internal scaler instance open failure undetected by libxcoder
[FW] Fix inability to get FL version on certain systems
[FW/TOOLS] Add session statistics reporting same as T408
[FW] Fix memory leak on p2p session cleanup
[FW] Enabled Jpeg Encoding of source width that is not multiple of 4
[FW] Add support for defining HEVC HDR Mastering Display Colour Volume SEI through xcoder-params
     - works with hevc only, h264 is done through sei
     - encoder config struct updated using reserved area
     Changing FW API version to 65
[FW] Fix bug in calculation of AI core load causing it to be over 100%
================================================================================
Release version: 4.0.0_RCD
Date: 2022-08-12            FW version: 4.0.0_RCD           SW version: 4.0.0_RCB
FW API ver: 64              FW Loader ver: 2.3.1
--------------------------------------------------------------------------------
[FW] Fix AI core hang when application side exits abnormally
[FW] Fix 1st pass HW timeout causing cuTree thread exception, caused by lookahead thread not setting error status
[FW] Fix loss of ni_pad background colour by storing rgba colour on config output in scaler context to maintain fill colour from frame to frame
[FW/TOOLS] Record log buffer start address in fixed address so loganProbe can operate without addr.json file
[FW] Add API support for large number of inputs for 50-input compositor demo
     Changing FW API version to 64
[FW] Add P2P support for scaler output
[FW] Add support for bgr0/uyvy/yuyv/bgrp/nv16 in filters
[FW] Fix ungraceful exit when performing unsupported HWframe sequence change from low to high resolution
[FW] Set NVM Subsystem NVMe Qualified Name to fix warning when interfacing with NVMe v1.3+ driver
[FW] Enable the support of VUI reconfiguration
     Add new reconfigurable parameter videoFullRange
     Changing FW API version to 63
[FW/TOOLS] Add encoder SSIM calculation and reporting through xcoder-param "enableSSIM=1"
           Changing FW API version to 62
[FW] Reenable AI for T1U
[FW] Fix 2-pass encode with intraPeriod 2 incorrectly encode all frames as I-frame, caused by 2nd pass not following 1st pass gop decision
     Fix 2-pass encode headers not repeated, caused by resend headers condition in application layer not matching with actual frame type decision
[FW] Fix decoder model load calculation bug causing it to show 0 when under load
[FW] Add Decoder Busy query support
     Changing FW API version to 61
[FW] Use get-feature id 0xC0 get device clock and low level configuration
[FW] Fix AV1 show frame info incorrect when picture skipped by updating AV1 poc to display after picture encode, only if picture is not skipped
[FW] Fix VP9 decoder stuck when out of memory
[FW] Reduce timeout failures in scaler during heavy load
[FW] Fix headers resent before incorrect frame when pictures are skipped
     Fix intra refresh cycle incorrectly repeated when pictures are skipped
     Fix incorrect reference invalidation when pictures are skipped
     Fix incorrect reference causing decode fail when I-frame generated by reference invalidation is skipped
[FW] Set SPS->VUI->fixed_frame_rate_flag=1
     Changing FW API version to 56
[FW] Fix memory leak when unfolding of AI neural network binary data fails
[FW] Fix I/O error during decoding of certain bad clips
[FW] Fix h.264 2-pass encode memory leak
     Fix wmv mkv container 2-pass encode memory leak
[FW] Reuse SHA256 of AI neural network binary files from libxcoder to reduce processing time
[FW] Set SPS->VUI->video_signal_type_present_flag=1 by default
[FW] Fixed resource leak during overcapacity causing aborts to happen on different commands
[FW] Fix NVMe detection issues on industrial PCs by invalidating some security admin commands and IO commands
[FW] Report power measurement using NVMe vendor specific get-log
[FW] Adding logging for temperature and clock speeds on throttle state change
[FW] Add support for SMBus ARP
================================================================================
Release version: 3.1.0_RC6
Date: 2022-05-16            FW version: 3.1.0_RC6           SW version: 3.1.0_RC4
FW API ver: 54              FW Loader ver: 1.4
--------------------------------------------------------------------------------
[FW] Fix FW free caused by incorrect handling of PCIe DMA interrupt
[FW] Fix multicore adaptive gop decision incorrect caused by first few frames do not have encoded frames stats to make decision
[FW] Fix card loss caused by Hwavframes + split + 2d filter testcase
[FW] Optimize sequence change by config new resolution instead of close / open encoder instance, if resolution changes from large to small
     Fix 2-pass headers not repeated before IDR due to uninitialized variable
[FW] Support AV1 non-8x8-aligned resolution by forcing / cropping input to 8x8 align, while keeping the input frame cr / cb planes buffer offsets
     Changing FW API version to 54
[FW] Scaler_manager.cpp log improvement - reenable the output buffer ID printout
[FW] Added the support of maxFrameSize libxcoder parameter to limit the frame size
     Changing FW API version to 53
[FW] Skip JpegDecNextPicture when JpegDecDecode returns error
[FW] Fix case where 2D overlay followed by scaler can cause FW freeze
[FW] Fix Shared memory / memory bin leakage after multiple aborted/timeout sessions
[FW] Free input buffers on error in Jpeg decoder
[FW] Fix missing release of 2d core upon execute errors
[FW] Removed code that produces io errors when received from subsystem or
     premature completion
[FW] Fix decoder stuck on error condition in decoder jpeg handler
[FW] Fix 2-pass bitrate change (hrd conformance enabled) having 2 headers at
     stream start when bitrate change triggered on frame less than 2-pass
     delay frame count
[FW] Fix multicore encode early close causing exception when flush before all cores assigned frames to encode
[FW] Fix AV1 intra refresh invalid output bitstream
[FW] Support SMBus repeated start
[FW] Fix decoding of quadra AV1 streams on Chrome with HW accelerated decoding
[FW] Fix session timeout reclaim before subsystem close completes
     Prevent log spam when subsystem close cannot complete
[FW] Reject high 4:4:4 predictive profile
[FW/TOOLS] Fix nvme timeout when HLG input + odd ni_scale + max resolution ni_pad
[FW] Fix encoder stuck when encoder init mem alloc fail
[FW] PCIe DMA stall not recovered
     1. Skip pcie DMA reset channel status timeout check, because when DMA stall, channel status remains RUNNING after stopping the channel
     2. Check DMA stall and reset DMA only if DMA channel remaining length is 0
     3. Wait for DMA channel stop by waiting for status to exit RUNNING or until timeout
     4. Wait for DMA engine disable by waiting for engine bit clear to 0 or until timeout
     5. Modify DMA stall detection to compare DMA channel status and remaining transfer length
================================================================================
Release version: 3.0.0_RC5
Date: 2022-04-19            FW version: 3.0.0_RC5           SW version: 3.0.0_RC2
--------------------------------------------------------------------------------
[KNOWN-ISSUE] On FFmpeg-n3.4.2, exceeding 128 instances causes NVMe hang
[KNOWN-ISSUE] Missing packet data (eg. from UDP packet loss) could cause entire frame to be dropped from decoder without error concealment
[KNOWN-ISSUE] Netint HW padding filter on 8K 10bit may cause IO error
[KNOWN-ISSUE] Cannot initialize software structures (init_rsrc) when both T408 and Quadra devices are present on computer
[KNOWN-ISSUE] Some illegal parameters for Netint HW filters are not rejected
[KNOWN-ISSUE] Multi 4K streams on multi Quadra server (eg. 70 4k streams on server with 7 quadra cards) will have have some streams stall
[KNOWN-ISSUE] Decoding frame with negative PTS/DTS causes frame to drop
[KNOWN-ISSUE] Using -xcoder-params "picSkip=1" with -xcoder-params "vbvBufferSize" causes frame loss
[KNOWN-ISSUE] Use of "intraPeriod=2" with 2-pass encode should be rejected as an invalid combination, and it causes visual corruption
[KNOWN-ISSUE] Default session timeout is 15s. Thus, stream processes ended via SIGKILL will linger on FW for 15s before its resources are freed
[KNOWN-ISSUE] Netint HW overlay filter may cause device fail when 4k 8bit is overlayed on 8k 10bit
[KNOWN-ISSUE] firmware_upgrade_win.exe may fail on rare occasion. To upgrade, run again after system reboot
[FW] Fix for PCIe DMA stall recovery stuck
================================================================================
Release version: 3.0.0_RC3
Date: 2022-04-18            FW version: 3.0.0_RC3           SW version: 3.0.0_RC2
--------------------------------------------------------------------------------
[KNOWN-ISSUE] On FFmpeg-n3.4.2, exceeding 128 instances causes NVMe hang
[KNOWN-ISSUE] Missing packet data (eg. from UDP packet loss) could cause entire frame to be dropped from decoder without error concealment
[KNOWN-ISSUE] Netint HW padding filter on 8K 10bit may cause IO error
[KNOWN-ISSUE] Cannot initialize software structures (init_rsrc) when both T408 and Quadra devices are present on computer
[KNOWN-ISSUE] Some illegal parameters for Netint HW filters are not rejected
[KNOWN-ISSUE] Multi 4K streams on multi Quadra server (eg. 70 4k streams on server with 7 quadra cards) will have have some streams stall
[KNOWN-ISSUE] Decoding frame with negative PTS/DTS causes frame to drop
[KNOWN-ISSUE] Using -xcoder-params "picSkip=1" with -xcoder-params "vbvBufferSize" causes frame loss
[KNOWN-ISSUE] Use of "intraPeriod=2" with 2-pass encode should be rejected as an invalid combination, and it causes visual corruption
[KNOWN-ISSUE] Default session timeout is 15s. Thus, stream processes ended via SIGKILL will linger on FW for 15s before its resources are freed
[KNOWN-ISSUE] Netint HW overlay filter may cause device fail when 4k 8bit is overlayed on 8k 10bit
[KNOWN-ISSUE] firmware_upgrade_win.exe may fail on rare occasion. To upgrade, run again after system reboot
[FW] Skip pcie DMA reset channel status timeout check, because when DMA stall, channel status remains RUNNING after stopping the channel
================================================================================
Release version: 3.0.0_RC2
Date: 2022-04-15            FW version: 3.0.0_RC2           SW version: 3.0.0_RC2
--------------------------------------------------------------------------------
[FW] Add PCIe DMA stall detection, if stall detected, reset PCIe DMA and re-trigger PCIe DMA transfer
[FW] Fix decoder overcapacity error propagation
[FW] Upload instance count support on XcoderGeneralStatus
     Changing API version to 52
[FW] Fixed Jpeg enc issue generating large bitstream
[FW] Added cache writeback right after JPEG header insertion to resolve cache issue
[FW] Detect unknown bit depth and output picture formats
[FW] Fix JPEG decoding sequence change
================================================================================
Release version: 3.0.0_RC1
Date: 2022-04-13            FW version: 3.0.0_RC1           SW version: 3.0.0_RC1
--------------------------------------------------------------------------------
[FW] Fixed VP9 sequence change from high to low resolutions
     VP9 sequence change for low to high resolutions not working.
[FW] Fix 2-pass reconfig bitrate
       1. Update rate control library librate_control_picture.a
       2. Fix 2-pass reconfig bitrate fails if cuLevelRc enabled
       3. Fix problem when reconfig bitrate / framerate and reconfig min / max QP occur on same frame
     Add safe handling for EOS before headersDecodedCB(), prevents resource free issues during dec close
[FW] Add windows dump logs tool
     support FW upgrade via regular-io commands
     support dump logs via regualar-io commands on Windows
[FW] Report P2P Memory Bin Usage
     Change API version to 51
[FW] P2P memory reclamation
     Add P2P memory reclamation on session inactivity
[FW] Set xcoder_support type to 2 for Quadra in NVMe identify data
     Change API version to 50
[FW] Fix AV1 multicoreJointMode
     1. Fix AV1 multicore encode fail by fixing incorrect poc and show_frame info when multicore enabled
[FW] Fix for reentery assert on decoder close
[FW] Fix session timeout reclaim causing mem bin buffer issues
[FW] Fix 10-bit 2-pass encode HW timeout
[FW] Support AV1 intra refresh
     1. Add support for AV1 intra refresh
     2. Add support for force IDR during AV1 intra refresh, which overrides intra refresh cycle / resets intra period, and generates actual key frame
[FW] Fix 2-pass and 1-pass reconfig bitrate & framerate
     1. Fix 2-pass reconfig bitrate exception caused by non-anchor frame taking invalid qp -1 from re-inited anchor frame predictor
     2. Fix h.265 and h.264 reconfig framerate causing decode fail by not inserting SPS upon framerate change
     3. Fix h.265 with hrd conformance (VUI/SEI) reconfig bitrate / framerate causing decode fail by force IDR, and wait until IDR frame encoding before update rc / insert SPS
     4. Fix reconfig framerate updated time increment (for bucket level calculation) for previous frame encoded prior to frame rate change
[FW] Fixed the CRF problem generating the same bitstream for CRF 23 & 24 with frame rate 25
[FW] Fix dec seqchange and JPEG write
     - Add ability for decoder to reallocate bitstream buffers when requested
     - Fix VS_BITSTREAM_BUF to distinguish between query and actual writes
     Change API version to 41
[FW] Fix Scaler profiling
[FW] Prevent io being resent from nvme driver if errors already happen
[FW/TOOLS] Encoder performance improvements
[FW] Vp9 decoder odd resolution displaymatrix show error
[FW] Removed noc reset from TopInitMainFw - helps with warm upgrade
[FW] Parallel instance upload
     - Session manager service loop 10Hz check
     - NSQ,NCQ Coalescing
     - Upload instance no longer takes away instance count from ep
     - Upload instance limited to 128 instances
     Changing API version to 40
[FW] Pre allocate decode command memory buffer
[FW] Added the support for JPEG enc model load
[FW] Port of configurable per session timeout from t408
[FW] Fix deadlock when exiting abnormally
[FW] Support confgurable long term references count
     1. Allow user to configure long term references count (1 or 2) to workaround 2 LTRs decode issue
     Changing API version to 31
[FW] Require no alignment for RGBA
[FW] Enable dump_cpu_debug() for NOC errors
[FW] Fix filler enable invalid output & AV1 pic skip encode fail & AV1 frame loss when PTS is repeated
     1. Fix corrupted filler NAL by increasing output buffer allocation when encode with low resolution and high bitrate
     2. Fix skipping frame cause AV1 encode fail by not output packet if frame is skipped
     2. Fix repeated PTS cause AV1 frame loss by modifying packet merge to be based on show frame info
     Changing API version to 30
[FW] SMBus support for T2 and T4
[FW] Reduced decoder VPU timeout to prevent HW timeout on bad frames from causing timeouts on ffmpeg.
[FW/TOOLS] Introduce tools/smbus.py
[FW/TOOLS] Add quadra_fw_info tool
[FW] Add support for using n2d_filterblit when scaling.
[FW] Add assertion to scaler manager if illegal membin arrives
[FW] Updated support for aborted transactions
     Added abort of all pending commands when processing session close.
[FW] Correct AI performance load
     1. correct the load value reporting to the applications.
     2. expand per session buffer numbers so that it has enough input
        images to feed the hardware.
[FW] Temperature Throttling and SMART Log Changes
     - SMART log temperature related fields are only updated whenever
       UpdateSmartLog() is triggered instead of being updated every minute.
     - Fix composite temperature reporting for SMBus.
     - Temperature throttling and DUTShutdownAndReset() will happen based on
       the composite temperature threshold.
================================================================================
Release version: 2.3.0_RC1
Date: 2022-02-28            FW version: 2.3.0_RC1           SW version: 2.3.0_RC1
--------------------------------------------------------------------------------
[FW] Resolve conflict between P2P DMA upload and hwupload combined buffer query and desc read
[FW] Removed dmesg error by returning SUCCESS from HandleEventOperationRequestDescriptorReady() in firmware
     - Renamed InstanceID to SubsystemID on nvme/session manager
[FW] Support reconfig framerate, Add rcQpDeltaRange
     1. Add reconfig framerate support
     2. Add rcQpDeltaRange in config parameter to adjust cu level rc max qp delta relative to frame qp
[FW] Hwupload combined buffer query and desc read
[FW] HWupload query retry acquire buffer bug fix
[FW] IPC queue full handling
[FW] Support LoganProbe with P2P DMA
================================================================================
Release version: 2.2.0_EN1
Date: 2022-01-29            FW version: 2.2.0_EN1           SW version: 2.2.0_EN1
--------------------------------------------------------------------------------
[FW] Low delay encode changes for P2P DMA copy demo
     1. For P2P DMA copy demo, do not alloc mem bin buffers for HW frame low delay mode encode (will only use buffers passed from upstream)
[FW] Create P2P memory region in memory bin manager
     Added new memory heap in memory bin manager for P2P DMA.
     Changes to EP to allow acquire of frames from the P2P region.
================================================================================
Release version: 2.2.0_RC1
Date: 2022-01-22            FW version: 2.2.0_RC1           SW version: 2.2.0_RC1
--------------------------------------------------------------------------------
[FW] Fix P frame size too big & gopPresetIdx 7 issues
     1. Update rate control library
[FW] Improve NVMe Log Output
[FW] Repeat headers before IDR caused by referenes invalidation & Reconfig intra period cause headers repeated to incorrect frame
     1. Support repeating headers before IDR frame caused by invalidating referenes
     2. Workaround headers repeated in front of incorrect frame after reconfig intra period (NOTE - reconfig intra period is currently not supported)
[FW] Fix Temperature Throttling Implementation
     Rework SMART Log Critical Warning Temperature bit set
[FW] Fix ffmpeg force_key_frames transcode missing key frames
     add support to report h.265 IRAP besides IDR (CRA / BLA) nal types as key frames
================================================================================
Release version: 2.1.0_RC1
Date: 2022-01-14            FW version: 2.1.0_RC1           SW version: 2.1.0_RC1
--------------------------------------------------------------------------------
[FW] Persistent log dump feature
[FW] gopPresetIdx 3, 7, 8 rate control related changes
     1. Update rate control library librate_control_picture.a
     2. Add gop low delay flag in rate control structure required for rate control library
[FW] Improve error handling on AI side
[FW] Enable DP_IPC_BYPASS by default to improve dec performance
[FW] Optimize multi-instance encode latency
[FW] Support LTR & short term / long term reference invalidation
     1. Support short term / long term reference invalidation
     2. Support config and reconfig of LTR interval
     3. Support setting LTR on frame basis
[FW] Accomodate resource monitor load for temperature throttling
[FW] Add temperature throttling
[FW] Fix multi-instance JPEG decode
     Each JPEG instance gets its own command FIFO instead of sharing
     one to prevent synchronization issue.
[FW] Improve performance in scaler manager
================================================================================
Release version: 1.2.0
Date: 2021-11-03            FW version: 1.2.0              SW version: 1.2.0
--------------------------------------------------------------------------------
[FW] First Customer Availability
