| Codec / encoder | H.265 / HEVC · x265 -preset medium with explicit CTU size |
|---|
| Command | ffmpeg -hide_banner -loglevel error -y -i STRIP.y4m -frames:v 60 -pix_fmt yuv420p10le -c:v libx265 -preset medium -profile:v main10 -x265-params ctu=64:keyint=30:min-keyint=30:scenecut=0:no-open-gop=1:bframes=3:b-pyramid=1:log-level=error:frame-threads=1:pools=8 -crf <q> -f hevc OUT |
|---|
| Strip geometry | full width, cut from the middle of the frame; ctu64 (unit 64 lines): heights 110, 174, 238, 302, 366; ctu32 (unit 32 lines): heights 54, 86, 118, 150, 182; the last band is always partial; even heights (4:2:0 cropping) |
|---|
| Points | crf 16, 28 |
|---|
| Sources | RitualDance, Witcher3, NocturneDance |
|---|
| Profile | Main (8-bit) / Main 10 (10-bit), main tier |
|---|
| Level / buffer | H.265 Annex A Tables A.8/A.9; within a level main tier first, high tier (suffix H, general_tier_flag=1) when main does not cover the bitrate; bitrate and CPB × CpbNalFactor 1100; general_level_idc in VPS/SPS. Level = the lowest one covering size, sample rate and the actual bitrate; buffer in the name = that level's MaxCPB. |
|---|
| Structure | 60 frames = 2 GOP × 30 (keyframes at frames 0 and 30, closed GOP), 3 B-frames with pyramid, 4:2:0, bit depth as in the source. Container: .265 (Annex B). |
|---|
| Verification | reference decoder HM TAppDecoder → YUV md5, cross-checked with the ffmpeg decoder md5, 60 frames, keyframes at 0 and 30, profile/level read back with ffprobe, PSNR/SSIM against the source. |
|---|