Skip to content

Commit

Permalink
Add changelog, fix of IFP and unified merge
Browse files Browse the repository at this point in the history
  • Loading branch information
adamjw24 committed Dec 6, 2024
1 parent 632e4b1 commit 476b638
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 1 deletion.
31 changes: 31 additions & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
@@ -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

Expand Down
3 changes: 2 additions & 1 deletion source/Lib/EncoderLib/EncCu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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 );
}
Expand Down

0 comments on commit 476b638

Please sign in to comment.