📷 A modern, cross-platform, 2D Graphics library for .NET
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
James Jackson-South 97538abd29 Verify HEVC residual reconstruction against HM 4 days ago
..
CIP_A_Panasonic_3.bit Verify HEVC intra prediction against ITU 4 days ago
DELTAQP_A_BRCM_4_frame0.bit Verify HEVC residual reconstruction against HM 4 days ago
EXTPREC_MAIN_444_16_INTRA_12BIT_RExt_Sony_1.bit Verify HEVC residual reconstruction against HM 4 days ago
GENERAL_8b_400_RExt_Sony_1.bit Complete HEVC Range Extensions conformance 1 week ago
GENERAL_8b_400_RExt_Sony_1_frame0.yuv Complete HEVC Range Extensions conformance 1 week ago
GENERAL_8b_420_RExt_Sony_1.bit Complete HEVC Range Extensions conformance 1 week ago
GENERAL_8b_420_RExt_Sony_1_frame0.yuv Complete HEVC Range Extensions conformance 1 week ago
GENERAL_8b_444_RExt_Sony_2.bit Complete HEVC Range Extensions conformance 1 week ago
GENERAL_8b_444_RExt_Sony_2_frame0.yuv Complete HEVC Range Extensions conformance 1 week ago
GENERAL_10b_420_RExt_Sony_1.bit Complete HEVC Range Extensions conformance 1 week ago
GENERAL_10b_420_RExt_Sony_1_frame0.yuv Complete HEVC Range Extensions conformance 1 week ago
GENERAL_10b_422_RExt_Sony_1.bit Complete HEVC Range Extensions conformance 1 week ago
GENERAL_10b_422_RExt_Sony_1_frame0.yuv Complete HEVC Range Extensions conformance 1 week ago
GENERAL_10b_444_RExt_Sony_2.bit Complete HEVC Range Extensions conformance 1 week ago
GENERAL_10b_444_RExt_Sony_2_frame0.yuv Complete HEVC Range Extensions conformance 1 week ago
GENERAL_12b_400_RExt_Sony_1.bit Complete HEVC Range Extensions conformance 1 week ago
GENERAL_12b_400_RExt_Sony_1_frame0.yuv Complete HEVC Range Extensions conformance 1 week ago
GENERAL_12b_420_RExt_Sony_1.bit Complete HEVC Range Extensions conformance 1 week ago
GENERAL_12b_420_RExt_Sony_1_frame0.yuv Complete HEVC Range Extensions conformance 1 week ago
GENERAL_12b_422_RExt_Sony_1.bit Complete HEVC Range Extensions conformance 1 week ago
GENERAL_12b_422_RExt_Sony_1_frame0.yuv Complete HEVC Range Extensions conformance 1 week ago
GENERAL_12b_444_RExt_Sony_2.bit Complete HEVC Range Extensions conformance 1 week ago
GENERAL_12b_444_RExt_Sony_2_frame0.yuv Complete HEVC Range Extensions conformance 1 week ago
GENERAL_12b_444_RExt_Sony_2_idr7.bit Verify HEVC residual reconstruction against HM 4 days ago
IPRED_B_Nokia_3.bit Verify HEVC intra prediction against ITU 4 days ago
IPRED_B_Nokia_3.yuv Verify HEVC intra prediction against ITU 4 days ago
LS_A_Orange_2.bit Verify HEVC residual reconstruction against HM 4 days ago
QMATRIX_A_RExt_Sony_1.bit Verify HEVC residual reconstruction against HM 4 days ago
README.md Verify HEVC residual reconstruction against HM 4 days ago
RQT_A_HHI_4.bit Verify HEVC coding-tree traversal 5 days ago
RQT_B_HHI_4.bit Verify HEVC coding-tree traversal 5 days ago
RQT_C_HHI_4.bit Verify HEVC coding-tree traversal 5 days ago
RQT_D_HHI_4.bit Verify HEVC coding-tree traversal 5 days ago
RQT_E_HHI_4.bit Verify HEVC coding-tree traversal 5 days ago
STRUCT_A_Samsung_7.bit Verify HEVC coding-tree traversal 5 days ago
STRUCT_B_Samsung_7.bit Verify HEVC coding-tree traversal 5 days ago
TUSIZE_A_Samsung_1.bit Verify HEVC coding-tree traversal 5 days ago

README.md

HEVC conformance fixtures

These fixtures come from the electronic attachment to ITU-T H.265.1 (10/2018), the conformance specification aligned with ISO/IEC 23008-8. Table 4 identifies the Sony GENERAL_*_RExt streams and their required profiles.

The .bit files are the original Annex B conformance streams. The Samsung archives name their payloads .bin; the repository stores those unchanged bytes with the common .bit extension. Each GENERAL_*_frame0.yuv file contains the first decoded picture extracted byte-for-byte from the corresponding published planar reference output; it was not generated by ImageSharp.

HevcPictureDecoderTests.DecodeOfficialRangeExtensionsPictureMatchesPublishedDigest limits each stream to its first independently coded picture, adapts that picture to the bounded hvc1 item contract, compares every reconstructed sample with _frame0.yuv, and verifies the published decoded-picture MD5 value for every present plane.

The retained matrix covers the ImageSharp 8, 10, and 12-bit still-image precision boundary across monochrome, 4:2:0, 4:2:2, and 4:4:4. Tool-specific H.265.1 streams remain necessary before every exposed Range Extensions tool can be marked complete.

The Main-profile traversal matrix comes from the official RQT_A_HHI_4 through RQT_E_HHI_4, STRUCT_A_Samsung_7, STRUCT_B_Samsung_7, and TUSIZE_A_Samsung_1 archives. Their published descriptions target residual-quadtree intra hierarchy depths zero through four, coding-tree and minimum-coding-unit structure, and a 64x64 coding-tree block with 32x32 minimum coding units and 16x16 minimum luma transforms, respectively.

HevcPictureDecoderTests.DecodeOfficialTraversalPictureMatchesPinnedHmDigest decodes each first independently coded picture through the production still-item path and compares all three native planes with fixed MD5 digests. The RQT values are the streams' decoded-picture-hash SEI values. For STRUCT and TUSIZE, the plane values were calculated from the first picture written by the HM reference decoder at commit 9c1f298659ab0cee9dc13d23d0304221575410b9; the complete HM output also matched each archive's published file MD5:

  • STRUCT_A_Samsung_7: 02f02cc9a67222004ae18ee6bebd475a
  • STRUCT_B_Samsung_7: 1f472e014aff120681e8482c8a04ef93
  • TUSIZE_A_Samsung_1: 5e6c198c852e92cdcca0e137fc2610c4

The intra-prediction fixtures come from the same official HEVC v1 attachment:

  • IPRED_B_Nokia_3 is the one-picture Main Still Picture stream identified by H.265.1 Table 1. Its published description states that it uses all 35 modes at each of the luma 32x32, 16x16, 8x8, and 4x4 sizes and the chroma 16x16, 8x8, and 4x4 sizes, for 245 mode-and-size combinations. The archive SHA-256 is 738E35AF4CED173E8CCB558464DC6A1B8B791FB1BB957C073633AA6037288CD0; the published bitstream MD5 is 1be12a94d9da6b84af78cd6cfd5e4407; and the retained published YUV has MD5 ec3bcad4f9174404e52d132206b6617b.
  • CIP_A_Panasonic_3 signals constrained intra prediction and contains one I picture followed by one B picture. The bounded still decoder test extracts only the independently coded I picture. The archive SHA-256 is 5C55B3594E5C951C9F5312913961750283EB2DADD15844FE35F9BEB94A9A548C, and the published bitstream MD5 is e1e00592fc8a158da9109b4dc05d03be.

HM at commit 9c1f298659ab0cee9dc13d23d0304221575410b9 reproduces the published IPRED_B_Nokia_3 YUV MD5 exactly and reports decoded-picture hashes 200ef9f7d2efde44ab872a78a40ece42, bfe9de3bef5ce5596a71bbfdbfb823fc, and 5b14acdd5c5bf8c6887160817ee1ad11. The same pinned decoder reproduces CIP_A_Panasonic_3's published complete two-picture YUV MD5 4cbf601ba98d63f642defab5eaa12c8d; its independently coded first picture reports plane hashes 69a20189e6bbb9c088e3adc967244ca1, 26502d354bb123f54c20413f14360ddb, and baafaef47a55ae2e876862b30b3bc720.

The residual-reconstruction fixtures come from the official HEVC v1 and Range Extensions attachments. Pinned HM commit 9c1f298659ab0cee9dc13d23d0304221575410b9 decodes every retained independently coded picture and produces the plane hashes asserted by the tests.

  • DELTAQP_A_BRCM_4_frame0.bit is the exact first independently coded picture extracted from DELTAQP_A_BRCM_4.bit. The official archive has SHA-256 63ABBBAF43D334D7952EAB7BBC5B3E34B4AD0259EDDCD63CDB164DBCF9A36CA6, the original bitstream has SHA-256 1274E3E308DFE684B38A88F8B3A2845B84F57492B0B02AAECBE5DC29CA8ED532, and the retained picture has SHA-256 4DC49A2AAE1CCE20D5CD190A1342FAF4C3B2BD06D1A59824542B9B22F53C581B. The official description randomizes diff_cu_qp_delta_depth from zero through three and delta QP from -26 through 25; the retained picture contains 384 delta-QP CABAC decisions.
  • QMATRIX_A_RExt_Sony_1.bit has SHA-256 74847E07F3298923DA0E9B68B1F861930D227BD5AD83A834A8280CF042A7E78F. Its official description covers scaling-list data with and without transform skip at every transform size over different QPs; the retained first picture signals scaling lists, coding-unit QP deltas, transform skip, transform-skip contexts and rotation, and implicit residual DPCM.
  • EXTPREC_MAIN_444_16_INTRA_12BIT_RExt_Sony_1.bit is the second of the official stream's two concatenated one-picture sequences, retained with its own VPS, SPS, and PPS. The official archive has SHA-256 66C8E24866210B94A63A29C93F8C1490046CC17B26484C5BD81F805D7BFD18D1, the original bitstream has SHA-256 5F0164DCCC333296FB2753068CAFE4985B758DDB7E282358DBB8FAF74986817D, and the retained sequence has SHA-256 4107D5BB5DF4F95185E7A8A5EEF8F35970A4769C76901FF590F38F7BC36B268B. This 12-bit GBR sequence is the one that signals extended-precision processing and transform skip. Its reference plane hashes were produced by the pinned HM commit built with its HIGH_BITDEPTH option, which is required by HM for this sequence.
  • GENERAL_12b_444_RExt_Sony_2_idr7.bit is the seventh independently coded picture extracted with its active VPS, SPS, and PPS from the already retained official GENERAL stream. It has SHA-256 981D97F0ADC228F2E3A739D7A68161F84CD60309745397D5CF24D2F81C009DBC and contains 39 coding-unit chroma-QP adjustment decisions across 8-, 16-, and 32-sample chroma transforms.
  • LS_A_Orange_2.bit has SHA-256 14251238F005A4576437429A327B34D216B346AAAC2A7A05C132A3430174B11B and published MD5 9118d01cf6b3671038d6f99342c0895e. The official lossless description states that every coding unit uses transform, quantization, and filtering bypass; the retained first picture exercises the bypass-flag path and its decoded-picture hash reports OK.