VVCSoftware_BMS merge requestshttps://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_BMS/-/merge_requests2018-10-12T07:10:43Zhttps://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_BMS/-/merge_requests/122fix compilation for VTM (BMS_TOOLS=0)2018-10-12T07:10:43ZKarsten Suehringfix compilation for VTM (BMS_TOOLS=0)https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_BMS/-/merge_requests/121JVET-L0181 - Corrected ALF Encoding with Perceptual QP Adaptation2018-10-11T10:21:55ZChristian HelmrichJVET-L0181 - Corrected ALF Encoding with Perceptual QP Adaptationimplementation of JVET-L0181 contribution, which was adopted on Oct. 9, 2018implementation of JVET-L0181 contribution, which was adopted on Oct. 9, 2018https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_BMS/-/merge_requests/120K0149 blockstatistics bms2.12018-10-12T06:25:40ZJohannes SauerK0149 blockstatistics bms2.1Added block statistics for new tools: GBIidx, IBCFlag, IBCFlag_Chroma, IBC_BV, IBC_BV_Chroma
There are still issues:
* For IBC/CPR there are variables bd and bvd in InterPredictionData. However, I believe the decoder uses mv[0] and m...Added block statistics for new tools: GBIidx, IBCFlag, IBCFlag_Chroma, IBC_BV, IBC_BV_Chroma
There are still issues:
* For IBC/CPR there are variables bd and bvd in InterPredictionData. However, I believe the decoder uses mv[0] and mvd[0] instead. At least the produced statistics look more sensible. IBC_BVD is mostly the same as IBC_BV, but in some cases it differs and looks wrong, so I didn't add it to the statistics.
To avoid conflicts with MV statistics, the IBCFlags are checked before writing those. While this this isn't what the decoder is doing, it seems necessary to have correct statistics.
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_BMS/-/merge_requests/119K0325: trim down NAL unit types2018-10-12T06:26:49ZFrank BossenK0325: trim down NAL unit typeshttps://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_BMS/-/merge_requests/118Patch for the Natvis debugger display for Visual Studio2018-10-02T20:54:40ZKarsten SuehringPatch for the Natvis debugger display for Visual StudioPatch by: Adam WieckowskiPatch by: Adam Wieckowskihttps://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_BMS/-/merge_requests/115Cpr slice type2018-10-02T20:58:29ZXiaozhong XuCpr slice typeuse isIRAP() to replace isIntra() to evaluate I_Slice and P_Slice where CPR is the only reference picture.
Cleanup previous CPR slice type judgement using isIRAP() as well.
Fix potential slice type related bugs in rate control and the co...use isIRAP() to replace isIntra() to evaluate I_Slice and P_Slice where CPR is the only reference picture.
Cleanup previous CPR slice type judgement using isIRAP() as well.
Fix potential slice type related bugs in rate control and the composite reference picturehttps://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_BMS/-/merge_requests/114allow VTM compilation in case of #define HEVC_USE_SIGN_HIDING 02018-10-02T20:54:24ZChristian Helmrichallow VTM compilation in case of #define HEVC_USE_SIGN_HIDING 0error was that const CodingUnit& cu is not defined in EMT related code in residual_coding()error was that const CodingUnit& cu is not defined in EMT related code in residual_coding()https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_BMS/-/merge_requests/113remove SVN detection2018-09-20T09:13:21ZBenjamin Brossremove SVN detectionWith new Xcode and clang-10.0 SVN revision number detection in CMakeLists.txt causes a compilation error with cyclic redundancies.
- Fix by removing this feature completely. (useless in git repo)
- Not affecting resultsWith new Xcode and clang-10.0 SVN revision number detection in CMakeLists.txt causes a compilation error with cyclic redundancies.
- Fix by removing this feature completely. (useless in git repo)
- Not affecting resultshttps://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_BMS/-/merge_requests/112High precision mv storage2018-10-11T10:41:58ZYan ZhangHigh precision mv storageMotion vecotrs are always stored with 1/16-pel precision; highprec flag,
setlowPrec() and sethighPrec() functions are removed from the MV class; SPS flag
indicate whether high precision motion vector is used is also removed.
The followin...Motion vecotrs are always stored with 1/16-pel precision; highprec flag,
setlowPrec() and sethighPrec() functions are removed from the MV class; SPS flag
indicate whether high precision motion vector is used is also removed.
The following strategies are followed:
1. Motion vector data in the buffer are always stored in high precision.
2. Motion vector used for motion compensation are always in high
precision.
3. Motion vector difference data are always in low precision.
4. Encoder side motion estimation always use low precision.
5. Motion vector bits calculation are always performed in low precision.
6. Candidates of motion vector prediction list are always in low
precision.https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_BMS/-/merge_requests/111Ternary split: fix for issue #872018-09-13T11:35:32ZKarsten SuehringTernary split: fix for issue #87Uses option #1 to re-define maxTtSize to be the longest side of the partition, see TRAC-87Uses option #1 to re-define maxTtSize to be the longest side of the partition, see TRAC-87https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_BMS/-/merge_requests/110Revert "Merge branch 'High_Precision_Motion_Vector_Storage' into 'master'"2018-09-10T21:32:08ZXiang LiRevert "Merge branch 'High_Precision_Motion_Vector_Storage' into 'master'"This reverts merge request !106This reverts merge request !106https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_BMS/-/merge_requests/109Revert "Merge branch 'cfgUpdate2' into 'master'"2018-09-10T21:10:00ZXiang LiRevert "Merge branch 'cfgUpdate2' into 'master'"This reverts merge request !107This reverts merge request !107https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_BMS/-/merge_requests/108Cpr para seq fix2018-09-11T20:11:45ZXiaozhong XuCpr para seq fixfix parallel coding and sequential coding differences
one in setting max bt size; another in setting atmvp subblock sizefix parallel coding and sequential coding differences
one in setting max bt size; another in setting atmvp subblock sizehttps://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_BMS/-/merge_requests/107Update cfg files2018-09-10T20:47:49ZXiang LiUpdate cfg filesRemove HighPrecMv setting from cfg filesRemove HighPrecMv setting from cfg fileshttps://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_BMS/-/merge_requests/106High precision motion vector storage2018-09-10T20:48:29ZYan ZhangHigh precision motion vector storageMotion vecotrs are always stored with 1/16-pel precision; highprec flag, setlowPrec() and sethighPrec() functions are removed from the MV class; SPS flag indicate whether high precision motion vector is used is also removed.
The followi...Motion vecotrs are always stored with 1/16-pel precision; highprec flag, setlowPrec() and sethighPrec() functions are removed from the MV class; SPS flag indicate whether high precision motion vector is used is also removed.
The following strategies are followed:
1. Motion vector data in the buffer are always stored in high precision.
1. Motion vector used for motion compensation are always in high
precision.
1. Motion vector difference data are always in low precision.
1. Encoder side motion estimation always use low precision.
1. Motion vector bits calculation are always performed in low precision.
1. Candidates of motion vector prediction list are always in low
precision.https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_BMS/-/merge_requests/105Cpr para fix2018-09-08T15:28:45ZXiaozhong XuCpr para fixfix the issue that in AI condition, paralel coding and sequential coding results are different. Do not change max BT size in "P" slice when CPR is on.fix the issue that in AI condition, paralel coding and sequential coding results are different. Do not change max BT size in "P" slice when CPR is on.https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_BMS/-/merge_requests/104High prec mv storage2018-09-08T05:44:35ZYan ZhangHigh prec mv storageMotion vecotrs are always stored with 1/16-pel precision; highprec flag, setlow() and sethigh() functions are removed from the MV class; SPS flag indicate whether high precision motion vector is used is also removed.
The following strat...Motion vecotrs are always stored with 1/16-pel precision; highprec flag, setlow() and sethigh() functions are removed from the MV class; SPS flag indicate whether high precision motion vector is used is also removed.
The following strategies are followed:
1. Motion vector data in the buffer are always stored in high precision.
2. Motion vector used for motion compensation are always in high
precision.
3. Motion vector difference data are always in low precision.
4. Encoder side motion estimation always use low precision.
5. Motion vector bits calculation are always performed in low precision.
6. Candidates of motion vector prediction list are always in low
precision.https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_BMS/-/merge_requests/103fix performance differences when CPR macro off and CPR on but config flag off2018-09-05T12:39:38ZXiaozhong Xufix performance differences when CPR macro off and CPR on but config flag offbug fix provided such that the RD performances of below two cases are the same:
1) when CPR macro off
2) when CPR macro on but CPR config option offbug fix provided such that the RD performances of below two cases are the same:
1) when CPR macro off
2) when CPR macro on but CPR config option offhttps://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_BMS/-/merge_requests/102patch from bug report #84: encoder bug for affine 6-parameter search2018-09-05T12:21:19ZKarsten Suehringpatch from bug report #84: encoder bug for affine 6-parameter searchPatch provided by: Yuwen HePatch provided by: Yuwen Hehttps://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_BMS/-/merge_requests/101K0248 GBI: fix interaction with Affine mode2018-09-05T12:07:04ZYu-Chi SuK0248 GBI: fix interaction with Affine mode