JVET-AP0003 JVET AHG report: Test model software development (AHG3) [F. Bossen, X. Li, K. Sühring (co-chairs), E. François, Y. He, K. Sharman, V. Seregin, A. Tourapis (vice chairs)]
The software model versions prior to the start of the meeting were:
- VTM 24.0 (April 2026)
- VTM-22.2-TuC4.0 (Feb. 2025)
- HM-18.0 (Apr. 2023)
- HM-16.21+SCM-8.8 (Mar. 2020)
- SHM 12.4 (Jan. 2018)
- HTM 16.3 (Jul. 2018)
- JM 19.1 (Apr. 2023)
- JSVM 9.19.15
- JMVC 8.5
- 3DV ATM 15.0 (no version history)
- HDRTools 0.26 (August 2025)
Software for MFC and MFCD is only available as published by ITU-T and ISO/IEC. It is planned to create repositories with the latest versions available in ITU-T H.264.2 (02/2016). All development history is lost.
- Software development
Development was continued on the GitLab server, which allows participants to register accounts and use a distributed development workflow based on git.
The server is located at:
https://vcgit.hhi.fraunhofer.de
The registration and development workflow are documented at:
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/wikis/VVC-Software-Development-Workflow
Although the development process is described in the context of the VTM software, it can be applied to all other software projects hosted on the GitLab server as well.
Short before the 42nd JVET meeting denial of service was observed on the Fraunhofer HHI web servers, which required blocking large IP spaces. This may also affect legitimate access.
- VTM related activities
The VTM software can be found at
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/
The software development continued using the GitLab server. VTM version 23.14 was tagged on February 5, 2026, VTM version 24.0 was tagged on April 8, 2026.
VTM 23.14 was tagged on February 5, 2026. Changes include:
- JVET-AN0348: On reporting metrics for RPR
- Update CI pipeline settings
- Revert RPR side effects introduced by !2685
- Remove unnecessary load
- Fix and unify full-size allocation condition
- JVET-AN0058: On the NNPF SEI messages
- JVET-AN0060: On the OMI SEI message
- JVET-AN0237: film grain analysis
- JVET-AN0062 item 1: Generative AI usage restrictions
- PRI SEI: clean up code and fix picture output order
- Add 2026 to copyright date range
- fix: Deactivate HashMe for same POC with inter-layer reference (with scaleRatio = 1)
- Improved check for sps_palette_enabled_flag
- JVET-AO0288: Port temporal filter and BIM improvement from JVET-AN0267
- Fix DSC decoding for second verification period
- Fix a gcc-15.2 compiling issue
- fix Slice::decodingRefreshMarking() when encoding multilayer
- Fix WPSNR calculation
- Update version number to 23.14
VTM 24.0 was tagged on April 8, 2026. Changes include:
- Fix an issue with chroma QP table for CbCr
- Bug fix missing initialization in Shutter Interval SEI message
- Macro cleanup for VTM 23.14
- Update version to VTM-24.0 and PDF of software manual
The following merge requests were merged on top of VTM 24.0. A new version will be tagged as necessary:
- Fix deblocking corner case involving palette and dual-tree
- fix memory growth due to unused DecLib::m_nalUnitInfo
CTC Performance
In SDR CTC and high performance test conditions VTM 23.14 shows an improvement in coding performance compared to VTM 23.13, stemming mainly from the inclusion of “JVET-AO0288: Port temporal filter and BIM improvement”. No changes in coding time were observed.
For the HDR CTCs, coding performance of VTM 24.0 compared to VTM 23.13 are reported in the table below. Gains are observed from the fix made on the chroma QP table for CbCr which impacts class H1 and the temporal filter changes mentioned above.
Random Access | ||||||||||
Over VTM23.13 | ||||||||||
wPSNR | PSNR | |||||||||
DE100 | PSNR-L100 | Y | U | V | Y | U | V | EncT | DecT | |
Class H1 | -0.64% | -0.25% | -0.21% | -0.09% | 0.57% | -0.24% | -0.09% | 0.69% | 100% | 101% |
Class H2 | -1.36% | -0.76% | -0.67% | 98% | 100% | |||||
Overall | -0.64% | -0.25% | -0.21% | -0.09% | 0.57% | -0.65% | -0.33% | 0.20% | 99% | 100% |
All Intra | ||||||||||
Over VTM23.13 | ||||||||||
wPSNR | PSNR | |||||||||
DE100 | PSNR-L100 | Y | U | V | Y | U | V | EncT | DecT | |
Class H1 | -0.70% | -0.02% | -0.02% | -1.75% | -1.31% | -0.02% | -1.66% | -1.20% | 100% | 100% |
Class H2 | 0.00% | 0.00% | 0.00% | 99% | 101% | |||||
Overall | -0.70% | -0.02% | -0.02% | -1.75% | -1.31% | -0.01% | -1.06% | -0.76% | 100% | 101% |
For high bit depth CTCs, coding performance of VTM 24.0 compared to VTM 23.13 with the standard QP range is shown in the table below As with HDR CTCs, gains are observed. For the low QP range, VTM 23.14 produced identical coding results to VTM23.13, and partial results of VTM 24.0 show similarly identical results to VTM23.13.
Random Access | ||||||||||
VTM 24.0 over VTM 23.13 – standard QP range | ||||||||||
wPSNR | PSNR | |||||||||
DE100 | PSNR-L100 | Y | U | V | Y | U | V | EncT | DecT | |
Class H1 | -0.17% | -0.15% | -0.13% | 0.32% | 1.19% | -0.16% | 0.05% | 0.94% | 100% | 99% |
Class H2 | -1.40% | -0.18% | -0.83% | 99% | 98% | |||||
Overall | -0.17% | -0.15% | -0.13% | 0.32% | 1.19% | -0.78% | -0.07% | 0.05% | 99% | 99% |
All Intra | ||||||||||
VTM 24.0 over VTM 23.13 - Standard QP range | ||||||||||
wPSNR | PSNR | |||||||||
DE100 | PSNR-L100 | Y | U | V | Y | U | V | EncT | DecT | |
Class H1 | -0.94% | -0.02% | -0.03% | -2.13% | -1.69% | -0.03% | -2.14% | -1.78% | 101% | 102% |
Class H2 | 0.00% | 0.00% | 0.00% | 100% | 101% | |||||
Overall | -0.94% | -0.02% | -0.03% | -2.13% | -1.69% | -0.01% | -1.07% | -0.89% | 100% | 101% |
Coding performance of VTM 24.0 compared to HM 18.0 are reported in the table below.
Random Access | ||||||||||
Over HM18.0 | ||||||||||
wPSNR | PSNR | |||||||||
DE100 | PSNR-L100 | Y | U | V | Y | U | V | EncT | DecT | |
Class H1 | -40.01% | -37.83% | -36.91% | -55.10% | -48.62% | -33.94% | -49.50% | -40.68% | 248% | 84% |
Class H2 | -32.82% | -58.00% | -63.53% | 211% | 78% | |||||
Overall | -40.01% | -37.83% | -36.91% | -55.10% | -48.62% | -33.53% | -52.59% | -48.99% | 234% | 82% |
All Intra | ||||||||||
Over HM18.0 | ||||||||||
wPSNR | PSNR | |||||||||
DE100 | PSNR-L100 | Y | U | V | Y | U | V | EncT | DecT | |
Class H1 | -41.86% | -27.33% | -26.81% | -58.52% | -53.52% | -24.01% | -53.77% | -45.81% | 1481% | 104% |
Class H2 | -21.76% | -47.23% | -50.60% | 1186% | 95% | |||||
Overall | -41.86% | -27.33% | -26.81% | -58.52% | -53.52% | -23.19% | -51.39% | -47.55% | 1366% | 101% |
Issues in VTM affecting conformance
The following issues in VTM master branch may affect conformance:
- Missing HLS features (see sections below)
Status of implementation of proposals of previous JVET meetings
The following list contains all adoptions of the Q and R meetings that were not marked as merged (or submitted) or specification only change in the software coordinator tracking sheet:
- JVET-Q0112
- JVET-Q0154: Disallow mixing of GDR and IRAP (Disallow mixing of GDR with any non-GDR).
- JVET-Q0164
- JVET-Q0402
- JVET-R0178: Require that when no_aps_constraint_flag is equal to 1, sps_lmcs_enabled_flag and sps_scaling_list_enabled_flag shall be equal to 0
- JVET-R0221
- JVET-R0046: Change the description of the bitstream extraction process per the value of max_tid_il_ref_pics_plus1[ ][ ] (aspect 1.2 per JVET-R0046-v4).
- JVET-R0065: Specify that GDR AUs shall be complete – i.e., all of the layers in the CVS shall have a picture in the AU (as with IRAP AUs).
- JVET-R0191: Update the range value for num_ols_hrd_params_minus1.
- JVET-R0222 aspect 1: Infer vps_max_sublayers_minus1 to be equal to 6 when sps_video_parameter_set_id is equal to 0 (i.e. VPS is not present). The exact editorial expression is at the discretion of the editor.
- JVET-S0196 (JVET-S0144 item 17)
- JVET-S0227 (JVET-S0144 item 22)
- JVET-S0077 (JVET-S0139 item 5)
- JVET-S0174 aspect 2 (JVET-S0139 item 18.b)
- JVET-S0156 aspect 3 (JVET-S0139 item 21)
- JVET-S0139 item 26 (no source listed, text only?)
- JVET-S0188 aspect 1 (JVET-S0139 item 28)
- JVET-S0139 item 40 (item does not exist)
- JVET-S0042 (JVET-S0142 item 1.b)
- JVET-S0174 aspect 1 (JVET S0143 item 19)
- JVET-S0096 aspect 3 (JVET-S0140 item 10)
- JVET-S0096 aspect 4 (JVET-S0140 item 13)
- JVET-S0159 aspect 3 (JVET-S0140 item 16)
- JVET-S0171 (JVET-S0256)
- JVET-S0118 (JVET-S0141 item 7)
- JVET-S0102 (JVET-S0141 item 9.a)
- JVET-S0157 item 2 (JVET-S0141 item 13)
- JVET-S0157 item 4 (JVET-S0141 item 14)
- JVET-S0175 aspect 3 (JVET-S0141 item 16)
- JVET-S0175 aspect 1, 2 (JVET-S0141 item 17)
- JVET-S0175 aspects 4 and 5 (JVET-S0141 item 18)
- JVET-S0175 aspect 6 (JVET-S0141 item 19)
- JVET-S0198/ JVET-S0223 (JVET-S0141 item 24)
- JVET-S0173 aspect 2 (JVET-S0141 item 40.b)
- JVET-S0173 item 1 (JVET-S0141 item 51)
- JVET-S0173 item 3 (JVET-S0141 item 52)
- JVET-S0173 item 5 (JVET-S0141 item 53)
- JVET-S0173 item 6 (JVET-S0141 item 54)
- JVET-S0173 item 4 (JVET-S0141 item 56)
- JVET-S0176 item 4 (JVET-S0141 item 60)
- JVET-S0154 aspect 5 (JVET-S0141 item 68)
- JVET-S0154 aspect 6 (JVET-S0141 item 69)
- JVET-S0154 aspect 8 (JVET-S0141 item 71)
- JVET-S0095 aspect 5 (JVET-S0145 item 5)
- JVET-S0095 aspect 6 (JVET-S0145 item 6)
- JVET-S0100 aspect 1, depends on JVET-R0193 (JVET-S0147 item 2)
- FINB ballot comments
- Make high tier support up to 960.
SEI TuC software
Per the decision during the 32nd JVET meeting, an SEI TuC repository was created based on VTM-22.2. The repository is located at:
https://vcgit.hhi.fraunhofer.de/jvet-tuc/VVCSoftware_VTM
It should be noted that some of the technologies for which merge requests were submitted to TuC, got moved into the working draft. The merge requests were closed, when appropriate merge requests for VTM were available.
The following merge requests were merged:
- Fix build on macos arm
- JVET-AK0153: Photosensitive content SEI messages
- Remove Packed Regions SEI (moved to VTM)
- JVET-AJ0245: Multi-layer support for Constituent Rectangles SEI
- JVET-AG0328: FGR SEI message
- JVET-AK0142: Display Rectangles SEI
The following merge requests were submitted and are pending:
- JVET-AM0086: Photosensitive content additional information (pending review)
- JVET-AL0219: Colour mapping information SEI (pending minor proponent updates)
- JVET-AI0340: Implementation of AI-restrictions usage SEI message (pending proponent updates)
VTM-22.2-TuC-5.0 was expected to be tagged during the 42nd JVET meeting.
- HM related activities
There was no new HM version tagged during this meeting cycle.
The following MRs were merged:
- JVET-AE0101: implement phase indication SEI message
- Update auto-build from VTM build definition
- Update copyright headers to include 2025
- JVET-AK0107: Modality Information SEI
- JVET-AK0194: Digitally Signed Content SEI messages
- Fix building on ARM
- Enable build on macOS/arm
- Modify semantics of IntraPeriod to enable autosetting based on frame rate
- Fix yuv output when bitdepth is changed between sequence
- Add missing initialization in TComPPS and TComScalingList (fix asan/msan errors)
- Avoid reading SEI content when payloadSize = 0
- Modified CMake for ARM variations
- Update build pipeline from VTM
- JVET-AK2006:Add support for SPTI SEI message
- Remove output picture marked as non reference from the DPB
- Fix build after merging !82
- JVET-AL0059: Packed regions information SEI
- JVET-AL0061: Import encoder optimization information SEI Message from VTM
- JVET-AN0237: Film Grain Analysis
- JVET-AL0148: implementation of GFV and GFVE SEI messages
- JVET-AL0339: Spatial resolution for film grain characteristics SEI message.
- Add 2026 to copyright date range
- Fix erroneously skipped pictures when decoding
- Fix condition to reset PicOrderCntMsb (could happen on CRA)
- Mark all pictures as to not be output when encountering a CRA with noRaslOutputFlag = 1
- Fix bumping process (add conditions on PicLatencyCnt, fixes for EOS before CRA cases)
- JVET-AL0062: AI usage restrictions SEI message
- Add support for NNPF SEI messages
- Merge DSC SEI code from VTM up to VSEIv4 syntax
The no MRs are pending for the main branch.
A new version of HM is pending to be tagged during or after the 42th JVET meeting. CTC need to be run to verify coding performance.
A new branch was created for 4:4:4/Multiview profile support:
https://vcgit.hhi.fraunhofer.de/jvet/HM/-/tree/dev-multiview444?ref_type=heads
The following MRs were merged into the dev-multiview444 branch:
- JVET-AN0292-0293: Multiview HEVC encoding and decoding including 4:4:4 profiles
- Remove restriction of MR target branch for CI
The following MRs are pending:
- MV-HEVC 4:4:4 multi-view profile support and decoder compatibility fixes (pending review)
- HRD Initial CPB removal delay handling (based on above MR pending review)
- JVET-AO0227: Multivew 444 fixes (pending review)
The HM SCC (SCM) branch (HM-16.21+SCM-8.8) has not been updated for the recent HM versions. Updating SCM to, for example, HM-18.0+SCM-8.8 should be considered. It may though be helpful to move SCC related functionality into separate source files. Volunteer work towards merging the branches would be appreciated.
As reported in the previous reports, further information on lambda optimization in HM would be appreciated, including comparison of allocation of bits within the GOP structures between HM and VTM.
Otherwise the HEVC bug tracker lists:
- 44 tickets for “HM”, (most of which were created before 2019; 1 created in last year),
- 1 ticket for “HM RExt” (created in 2020),
- 9 tickets for “HM SCC” (most of which were created before 2018),
- 1 ticket for “RExt Text” (created in 2015),
- 1 ticket for “SCC Text” (created in 2016),
- 8 tickets for text (6 created before 2021; 2 created in the last year),
- 2 tickets for encoder description (created in 2020 and 2014)
Help to address these tickets would be appreciated.
- 360Lib related activities
There had not been any further developments to 360Lib during this meeting cycle.
- SCM related activities
There had not been any further developments to SCC’s SCM during this meeting cycle.
- SHM related activities
An update to HM 18.0 and some smaller changes were merged. A new tag is planned.
- HTM related activities
There had not been any releases of HTM of MV-HEVC and 3D-HEVC.
One merge request is was merged:
- JVET-AE0295: MV Main 10 profile support (waiting for proponent response)
The next release will also include the following changes:
- JVET-Z0209: Early termination during calculating RDcost of depth
- HDRTools related activities
There had not been any further developments to HDRTools during this meeting cycle.
- JM, JSVM, JMVM related activities
There had not been any further developments to JSVM or JMVM during this meeting cycle.
There was no new JM version tagged during this meeting cycle, although merge requests were submitted for SEI messages in VSEI.
The following MRs were merged:
- Update build servers aligned with HM
- JVET-AK0107: Modality Information SEI
- Update CI & CMake configuration to include current build setups
The following MRs are pending [with status indicated]:
- JVET-AK2006: NNPFC and NNPFA SEI message (in review)
- JVET-AL0062: AI usage restrictions SEI message (in review)
- JVET-AK2006: SPTI SEI Message (in review)
- JVET-AL0061: Encoder Optimization Information SEI Message (in review)
- JVET-AE0101: implement phase indication SEI message (in review)
- JVET-AL0148: Add support for Generative Face Video (GFV) and Generative Face Video Enhancement (GFVE) SEI messages(in review)
For the previous release of JM only basic testing was performed to confirm that the code still works, but performance testing is pending. Performance changes are unlikely but may occur due to bug fixes. A possible encoder/decoder mismatch was reported privately, but needs more investigation.
- Bug tracking
The creation of accounts to the Trac based bug trackers was closed due to excessive spam account registrations. It is planned to move to GitLab integrated bug trackers and keep the old ones only read only.
GitLab based tracking was tested for TuC and VSEI specification texts, which seems to work well.
The bug tracker for VTM and specification text is located at:
https://jvet.hhi.fraunhofer.de/trac/vvc
The bug tracker uses the same accounts as the HM software bug tracker. Users may need to log in again due to the different sub-domain.
https://hevc.hhi.fraunhofer.de/trac/hevc
New account creation was disabled due to a large amount of spam registration. Extensive maintenance of the Trac bug tracker would be required to keep it secure. It should be considered to move bug tracking to GitLab, although no automatic conversion of existing bugs is available.
Bug tracking for HDRTools is located at:
https://gitlab.com/standards/HDRTools/-/issues
Please file all issues related to the VVC reference software and HDRTools into the appropriate bug tracker. Try to provide all the details, which are necessary to reproduce the issue. Patches for solving issues and improving the software are always appreciated.
- CTC alignment and merging
There are currently 8 JVET CTC documents: