From 476b63864fa81c4a94dc611eccff6f42d053a3d2 Mon Sep 17 00:00:00 2001 From: Adam Wieckowski Date: Fri, 6 Dec 2024 16:20:22 +0100 Subject: [PATCH] Add changelog, fix of IFP and unified merge --- changelog.txt | 31 +++++++++++++++++++++++++++++++ source/Lib/EncoderLib/EncCu.cpp | 3 ++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/changelog.txt b/changelog.txt index 96e9b5b8e..12332d0f1 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,34 @@ +///////////////////////////////////////// +tag 1.13.0-rc1 + +* libvvenc: + - many ARM SIMD optimizations for both NEON and SVE + - added parameters + - m_GOPQPA: enableed GOP adaptive QP cascade (default: on if QPA off) + - m_numParallelGOPs: allows to encode multiple GOPs at once, improving multi-threading for large number of threads (default: off) + - m_fga (experimental): enables film grain analysis and embeds FGS SEI in the encoded bitstreams (default: off) + - changed parameters: + - m_DecodingRefreshType: added a DASH optimized mode VVENC_DRT_IDR_NO_RADL - starts each intra period with an IDR frame + without leading picture, allowing simple splitting into segments at each IDR. + - preset adjustments: + - 5% speedup for medium + - 2% speedup for slow and slower + - memory reduction for medium/fast/faster + - bugfixes + - cleanups + +* vvencFFapp: + - added parameters: + - GOPQPA: enabled GOP adaptive QP cascade (default: on if QPA off) + - NumParallelGOPs: allows to encode multiple GOPs at once (default: off) + - FGA: enables the experimental film grain analysis (default: off) + - changed parameters: + - DecodingRefreshType: now also accepts values "6" and "idr_no_radl" enabling the new DASH optimized IDR only structure. + +* vvencapp: + - changed parameters: + - refreshtype: now also accepts values "6" and "idr_no_radl" enabling the new DASH optimized IDR only structure. + ///////////////////////////////////////// tag 1.12.1 diff --git a/source/Lib/EncoderLib/EncCu.cpp b/source/Lib/EncoderLib/EncCu.cpp index d35738000..ea9a7b071 100644 --- a/source/Lib/EncoderLib/EncCu.cpp +++ b/source/Lib/EncoderLib/EncCu.cpp @@ -2347,7 +2347,8 @@ void EncCu::addGpmCandsToPruningList( const MergeCtx &mergeCtx, const UnitArea & } else { - if( m_mergeItemList.getMergeItemInList( m_mergeItemList.size() - 1 )->cost <= mergeItem->cost || ( best2geo[1] && best2geo[1]->cost <= mergeItem->cost ) ) + if( ( m_mergeItemList.size() > 0 && m_mergeItemList.getMergeItemInList( m_mergeItemList.size() - 1 )->cost <= mergeItem->cost ) || + ( best2geo[1] && best2geo[1]->cost <= mergeItem->cost ) ) { m_mergeItemList . giveBackMergeItem( mergeItem ); }