JVET-AO0003 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 23.13 (October 2025)
- 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.
Between the 31st and 32nd meetings, the GitLab server was affected by a huge number of spam issues, which were generated using newly registered accounts. Administrator user account confirmation was enabled to protect the server from spam postings. Proponents should plan for some time for server admins to confirm new accounts.
Between the 37th and 38th JVET meeting extensive renewal work was performed on the build server infrastructure. To finish these works, changes to the build configurations are required for all software projects using build pipelines. The necessary information will be communicated to the software coordinators when available.
- 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.12 was tagged on October 10, 2025, VTM version 23.13 was tagged on October 11, 2025. VTM 23.14 is expected during the 41st JVET meeting. .
VTM 23.12 was tagged on October 10, 2025. Changes include:
- Fix memory leak when RPR is used
- Fix a link error of parcat when JVET_J0090_MEMORY_BANDWITH_MEASURE is on
- Initialize pointer to VPS of a pilot Slice object
- Correctly set input chroma format when reading a y4m file
- Avoid recomputing LMCS parameters when using debugBitstream by copying APS info (same as AFL APSs)
- Fix trace output of coded block flag (CBF)
- JVET-AM0227: Fix CABAC statistics collection
- JVET-AJ0258: Image Format Metadata SEI
- New enum for splits - removes magic numbers from CtxSplit
- Increase minimum required CMake version
- DSC: fix detection of last picture
- JVET-AK0206: Digitally signed content ID
- remove dead code in EncModeCtrl.h
- DSC: Align DSCI syntax with spec
- JVET-AL0222: Digitally signed content intended start and end flags
- JVET-AL0066: Add sample tolerance value to OMI SEI
- JVET-AM0164: move dsci_key_source_uri and increase length of dscv_signature_length_in_octets_minus1
- JVET-AL0058: Change aur_context to fixed length
- JVET-AM0334: Update to GFV SEI chroma key syntax
- JVET-AK0281: AUR SEI message in SPO SEI message
- JVET-AM0117: aur_sei_exclusion_flag
- JVET-AK0055: Add SPO SEI constraint of FPA, RWP, ERP, GCMP SEI messages
- JVET-AM0121: SPO SEI constraints
- JVET-AM0118: Digital signing of selected SEI messages
- Compute MS-SSIM only when required if RPR is enabled
- Update version to 23.12
VTM 23.13 was tagged on October 11, 2025. Changes include:
- remove macros from previous two meeting cycles
VTM 23.14 is expected to be tagged during the 41st JVET meeting. Changes are expected to 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
CTC Performance
In SDR CTC and high performance text conditions VTM 23.13 shows the same coding performance compared to VTM 23.11. No changes in coding time were observed.
For the HDR CTCs, coding performance of VTM 23.13 compared to VTM 23.11 are unchanged. A slight runtime reduction for both encoder and decoder of around 2-3% is observed.
Coding performance of VTM 23.13 compared to HM 18.0 is 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 | -39.49% | -37.66% | -36.75% | -54.96% | -48.52% | -33.76% | -49.45% | -40.94% | 246% | 78% |
Class H2 | -31.99% | -57.73% | -63.35% | 212% | 77% | |||||
Overall | -39.49% | -37.66% | -36.75% | -54.96% | -48.52% | -33.12% | -52.46% | -49.09% | 233% | 77% |
All Intra | ||||||||||
Over HM18.0 | ||||||||||
wPSNR | PSNR | |||||||||
DE100 | PSNR-L100 | Y | U | V | Y | U | V | EncT | DecT | |
Class H1 | -41.44% | -27.31% | -26.79% | -57.73% | -52.77% | -24.00% | -52.92% | -45.07% | 1473% | 99% |
Class H2 | -21.76% | -47.23% | -50.60% | 1191% | 93% | |||||
Overall | -41.44% | -27.31% | -26.79% | -57.73% | -52.77% | -23.18% | -50.85% | -47.08% | 1363% | 97% |
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.
VTM-22.2-TuC-5.0 was expected to be tagged during the 41st JVET meeting.
The following merge requests were submitted and were pending:
- JVET-AM0086: PHOTOSENSITIVE CONTENT ADDITIONAL INFORMATION
- JVET-AL0219
- JVET-AK0142: "AHG9: Display Rectangles SEI"
- JVET-AI0340: Implementation of AI-restrictions usage SEI message
- HM related activities
There was no new HM version tagged during this meeting cycle.
The following MRs were merged:
- Fix build after merging !82
- Remove output picture marked as non reference from the DPB
- JVET-AK2006: Add support for SPTI SEI message
- Update build pipeline from VTM
- Modified CMake for ARM variations
- Avoid reading SEI content when payloadSize = 0
The following MRs were pending:
- JVET-AN0237: Film Grain Analysis
- JVET-AN0292-0293: Multiview HEVC encoding and decoding including 4:4:4 profiles
- Fix bumping process (add conditions on PicLatencyCnt, fixes for EOS before CRA cases)
- Mark all pictures as to not be output when encountering a CRA with noRaslOutputFlag = 1
- Fix condition to reset PicOrderCntMsb (could happen on CRA)
- Fix erroneously skipped pictures when decoding
- JVET-AL0339: Spatial resolution for film grain characteristics SEI message.JVET-AL0059: Packed regions information SEI (pending reviewing)
- JVET-AL0148: implementation of GFV and GFVE SEI messages (pending review)
- Avoid reading SEI content when payloadSize = 0 (one issue remains)
- JVET-AL0062: AI usage restrictions SEI message (pending review)
- JVET-AK2006: Add support for SPTI SEI message (pending review/rebasing)
- JVET-AL0061: Import encoder optimization information SEI Message form VTM (pending review)
- JVET-AL0148: implementation of GFV and GFVE SEI messages (pending review)
- Port the Y4M support [one issue remains]
- Mark the current picture as short-term ref (for SCM) [need SCC expert reviewer]
A new version of HM was expected to be tagged during or after the 41th JVET meeting.
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 are pending [with status indicated]:
- JVET-AK0107: Modality Information SEI (pending review)
- JVET-AK2006: NNPFC and NNPFA SEI message (pending review)
- JVET-AL0062: AI usage restrictions SEI message (pending review)
- JVET-AK2006: SPTI SEI Message (pending review)
- JVET-AL0061: Encoder Optimization Information SEI Message (pending review)
- JVET-AE0101: implement phase indication SEI message (pending review)
- JVET-AL0148: Add support for Generative Face Video (GFV) and Generative Face Video Enhancement (GFVE) SEI messages(pending 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 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: