master-of-zen / Av1an

Cross-platform command-line AV1 / VP9 / HEVC / H264 encoding framework with per scene quality encoding
GNU General Public License v3.0
1.46k stars 151 forks source link

aom-3.6.0-1 breaks target quality #723

Closed piotrvass closed 1 year ago

piotrvass commented 1 year ago

I've been using aom-3.5.0-1 for past few months without issues, other than occasional failed file. After updating to aom-3.6.0-1 every conversion fails (at random point, usually sooner than later), and every time it's re-run on same video it fails on same chunk. Error messages:

DEBUG [av1an_core::broker] finished chunk 00528: 68 frames, 0.26 fps, took 258.41s DEBUG [av1an_core::broker] started chunk 00202: 66 frames DEBUG [av1an_core::broker] finished chunk 00663: 66 frames, 0.72 fps, took 92.16s DEBUG [av1an_core::broker] started chunk 00136: 66 frames DEBUG [av1an_core::target_quality] chunk 00425: P-Rate=2, 67 frames DEBUG [av1an_core::target_quality] chunk 00425: TQ-Probes: [(90.88, 10), (90.58, 18), (90.40, 22), (90.39, 24), (87.83, 35)] DEBUG [av1an_core::target_quality] chunk 00425: Target Q=25, VMAF=90.00 DEBUG [av1an_core::target_quality] chunk 00064: P-Rate=2, 66 frames DEBUG [av1an_core::target_quality] chunk 00064: TQ-Probes: [(91.57, 35), (90.03, 39), (89.55, 40), (78.27, 60)] DEBUG [av1an_core::target_quality] chunk 00064: Target Q=39, VMAF=90.00 ERROR [av1an_core::target_quality] [chunk 202] encoder crashed: signal: 6 (SIGABRT) (core dumped) stdout:

stderr: Warning: automatically updating bit depth to 10 to match input format.

Pass 1/1 frame 1/0 0B 0 us 0.00 fpm [ETA unknown]  Pass 1/1 frame 2/0 0B 217838 us 9.18 fps [ETA unknown]  Pass 1/1 frame 3/0 0B 280074 us 10.71 fps [ETA unknown]  Pass 1/1 frame 4/0 0B 377011 us 10.61 fps [ETA unknown]  Pass 1/1 frame 5/0 0B 482312 us 10.37 fps [ETA unknown]  Pass 1/1 frame 6/0 0B 583882 us 10.28 fps [ETA unknown]  Pass 1/1 frame 7/0 0B 678046 us 10.32 fps [ETA unknown]  Pass 1/1 frame 8/0 0B 768133 us 10.41 fps [ETA unknown]  Pass 1/1 frame 9/0 0B 861299 us 10.45 fps [ETA unknown]  Pass 1/1 frame 10/0 0B 947060 us 10.56 fps [ETA unknown]  Pass 1/1 frame 11/0 0B 1041842 us 10.56 fps [ETA unknown]  Pass 1/1 frame 12/0 0B 1141366 us 10.51 fps [ETA unknown]  Pass 1/1 frame 13/0 0B 1265270 us 10.27 fps [ETA unknown]  Pass 1/1 frame 14/0 0B 1367418 us 10.24 fps [ETA unknown]  Pass 1/1 frame 15/0 0B 1445504 us 10.38 fps [ETA unknown]  Pass 1/1 frame 16/0 0B 1521942 us 10.51 fps [ETA unknown]  Pass 1/1 frame 17/0 0B 1609824 us 10.56 fps [ETA unknown]  Pass 1/1 frame 18/0 0B 1700452 us 10.59 fps [ETA unknown]  Pass 1/1 frame 19/0 0B 1799180 us 10.56 fps [ETA unknown]  Pass 1/1 frame 20/0 0B 1896558 us 10.55 fps [ETA unknown]  Pass 1/1 frame 21/0 0B 2000832 us 10.50 fps [ETA unknown]  Pass 1/1 frame 22/0 0B 2103959 us 10.46 fps [ETA unknown]  Pass 1/1 frame 23/0 0B 2206396 us 10.42 fps [ETA unknown]  Pass 1/1 frame 24/0 0B 2316221 us 10.36 fps [ETA unknown]  Pass 1/1 frame 25/0 0B 2406673 us 10.39 fps [ETA unknown]  Pass 1/1 frame 26/0 0B 2496738 us 10.41 fps [ETA unknown]  Pass 1/1 frame 27/0 0B 2587332 us 10.44 fps [ETA unknown]  Pass 1/1 frame 28/0 0B 2669736 us 10.49 fps [ETA unknown]  Pass 1/1 frame 29/0 0B 2773817 us 10.45 fps [ETA unknown]  Pass 1/1 frame 30/0 0B 2859228 us 10.49 fps [ETA unknown]  Pass 1/1 frame 31/0 0B 2952573 us 10.50 fps [ETA unknown]  Pass 1/1 frame 32/0 0B 3024960 us 10.58 fps [ETA unknown]  Pass 1/1 frame 33/0 0B 3095315 us 10.66 fps [ETA unknown]  Pass 1/1 frame 33/0 0B 3171521 us 10.41 fps [ETA unknown] 35633F Pass 1/1 frame 33/1 35633B 7578810 us 4.35 fps [ETA unknown] 40495F Pass 1/1 frame 33/2 76128B 8539382 us 3.86 fps [ETA unknown] 5F Pass 1/1 frame 33/3 76133B 8541298 us 3.86 fps [ETA unknown] 3987F Pass 1/1 frame 33/4 80120B 8741539 us 3.78 fps [ETA unknown] 3260F Pass 1/1 frame 33/5 83380B 8931576 us 3.69 fps [ETA unknown] 5F Pass 1/1 frame 33/6 83385B 8933260 us 3.69 fps [ETA unknown] 11378F Pass 1/1 frame 33/7 94763B 9291702 us 3.55 fps [ETA unknown] 5F Pass 1/1 frame 33/8 94768B 9291757 us 3.55 fps [ETA unknown] 4707F Pass 1/1 frame 33/9 99475B 9422975 us 3.50 fps [ETA unknown] 4274F Pass 1/1 frame 33/10 103749B 9586799 us 3.44 fps [ETA unknown] 5F Pass 1/1 frame 33/11 103754B 9586890 us 3.44 fps [ETA unknown] aomenc: /usr/src/debug/aom/libaom-3.6.0/av1/encoder/pass2_strategy.c:4045: av1_twopass_postencode_update: Assertion `cpi->twopass_frame.stats_in > twopass->stats_buf_ctx->stats_in_start' failed.

source pipe stderr:

ERROR [av1an_core::broker] [chunk 202] encoder crashed: signal: 6 (SIGABRT) (core dumped) stdout:

stderr: Warning: automatically updating bit depth to 10 to match input format.

Pass 1/1 frame 1/0 0B 0 us 0.00 fpm [ETA unknown]  Pass 1/1 frame 2/0 0B 217838 us 9.18 fps [ETA unknown]  Pass 1/1 frame 3/0 0B 280074 us 10.71 fps [ETA unknown]  Pass 1/1 frame 4/0 0B 377011 us 10.61 fps [ETA unknown]  Pass 1/1 frame 5/0 0B 482312 us 10.37 fps [ETA unknown]  Pass 1/1 frame 6/0 0B 583882 us 10.28 fps [ETA unknown]  Pass 1/1 frame 7/0 0B 678046 us 10.32 fps [ETA unknown]  Pass 1/1 frame 8/0 0B 768133 us 10.41 fps [ETA unknown]  Pass 1/1 frame 9/0 0B 861299 us 10.45 fps [ETA unknown]  Pass 1/1 frame 10/0 0B 947060 us 10.56 fps [ETA unknown]  Pass 1/1 frame 11/0 0B 1041842 us 10.56 fps [ETA unknown]  Pass 1/1 frame 12/0 0B 1141366 us 10.51 fps [ETA unknown]  Pass 1/1 frame 13/0 0B 1265270 us 10.27 fps [ETA unknown]  Pass 1/1 frame 14/0 0B 1367418 us 10.24 fps [ETA unknown]  Pass 1/1 frame 15/0 0B 1445504 us 10.38 fps [ETA unknown]  Pass 1/1 frame 16/0 0B 1521942 us 10.51 fps [ETA unknown]  Pass 1/1 frame 17/0 0B 1609824 us 10.56 fps [ETA unknown]  Pass 1/1 frame 18/0 0B 1700452 us 10.59 fps [ETA unknown]  Pass 1/1 frame 19/0 0B 1799180 us 10.56 fps [ETA unknown]  Pass 1/1 frame 20/0 0B 1896558 us 10.55 fps [ETA unknown]  Pass 1/1 frame 21/0 0B 2000832 us 10.50 fps [ETA unknown]  Pass 1/1 frame 22/0 0B 2103959 us 10.46 fps [ETA unknown]  Pass 1/1 frame 23/0 0B 2206396 us 10.42 fps [ETA unknown]  Pass 1/1 frame 24/0 0B 2316221 us 10.36 fps [ETA unknown]  Pass 1/1 frame 25/0 0B 2406673 us 10.39 fps [ETA unknown]  Pass 1/1 frame 26/0 0B 2496738 us 10.41 fps [ETA unknown]  Pass 1/1 frame 27/0 0B 2587332 us 10.44 fps [ETA unknown]  Pass 1/1 frame 28/0 0B 2669736 us 10.49 fps [ETA unknown]  Pass 1/1 frame 29/0 0B 2773817 us 10.45 fps [ETA unknown]  Pass 1/1 frame 30/0 0B 2859228 us 10.49 fps [ETA unknown]  Pass 1/1 frame 31/0 0B 2952573 us 10.50 fps [ETA unknown]  Pass 1/1 frame 32/0 0B 3024960 us 10.58 fps [ETA unknown]  Pass 1/1 frame 33/0 0B 3095315 us 10.66 fps [ETA unknown]  Pass 1/1 frame 33/0 0B 3171521 us 10.41 fps [ETA unknown] 35633F Pass 1/1 frame 33/1 35633B 7578810 us 4.35 fps [ETA unknown] 40495F Pass 1/1 frame 33/2 76128B 8539382 us 3.86 fps [ETA unknown] 5F Pass 1/1 frame 33/3 76133B 8541298 us 3.86 fps [ETA unknown] 3987F Pass 1/1 frame 33/4 80120B 8741539 us 3.78 fps [ETA unknown] 3260F Pass 1/1 frame 33/5 83380B 8931576 us 3.69 fps [ETA unknown] 5F Pass 1/1 frame 33/6 83385B 8933260 us 3.69 fps [ETA unknown] 11378F Pass 1/1 frame 33/7 94763B 9291702 us 3.55 fps [ETA unknown] 5F Pass 1/1 frame 33/8 94768B 9291757 us 3.55 fps [ETA unknown] 4707F Pass 1/1 frame 33/9 99475B 9422975 us 3.50 fps [ETA unknown] 4274F Pass 1/1 frame 33/10 103749B 9586799 us 3.44 fps [ETA unknown] 5F Pass 1/1 frame 33/11 103754B 9586890 us 3.44 fps [ETA unknown] aomenc: /usr/src/debug/aom/libaom-3.6.0/av1/encoder/pass2_strategy.c:4045: av1_twopass_postencode_update: Assertion `cpi->twopass_frame.stats_in > twopass->stats_buf_ctx->stats_in_start' failed.

source pipe stderr:

Same video/chunk re-run with aom-3.5.0-1 works fine.

Using arch linux under WSL2.0 on win11, encoding params: av1an -i "$i" -o "/mnt/d/transcode4/output/${i}" --temp="/mnt/d/transcode4/output/temp_${TEMP}" -m lsmash --probes 5 --target-quality 90 --min-q 10 --max-q 60 --probing-rate 2 --vmaf-threads 16 --concat mkvmerge --vmaf-res '1920x1080' --vmaf-path="${VMAFFILE}" -w 16 --encoder aom -p 2 --video-params="--threads=2 --cpu-used=3 --end-usage=q --cq-level=18 --enable-fwd-kf=1 --aq-mode=1 --lag-in-frames=48 --bit-depth=10 --kf-max-dist=240 --kf-min-dist=12 --enable-qm=1 --sb-size=64 --enable-keyframe-filtering=2 --arnr-strength=1 --arnr-maxframes=3 --deltaq-mode=0 --sharpness=1 --enable-dnl-denoising=0 --enable-chroma-deltaq=0 --quant-b-adapt=1 " --audio-params="-c:a copy" --set-thread-affinity 2 --resume

Input specification - mkv file with video stream: Video ID : 1 Format : AVC Format/Info : Advanced Video Codec Format profile : High@L4 Format settings : CABAC / 4 Ref Frames Format settings, CABAC : Yes Format settings, Reference frames : 4 frames Codec ID : V_MPEG4/ISO/AVC Duration : 41 min 41 s Bit rate mode : Constant Bit rate : 7 904 kb/s Nominal bit rate : 10 000 kb/s Width : 1 920 pixels Height : 1 080 pixels Display aspect ratio : 16:9 Frame rate mode : Constant Frame rate : 23.976 (24000/1001) FPS Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Scan type : Progressive Bits/(Pixel*Frame) : 0.159 Stream size : 2.30 GiB (97%) Default : Yes Forced : No Color range : Limited Color primaries : BT.709 Transfer characteristics : BT.709 Matrix coefficients : BT.709

piotrvass commented 1 year ago

Seems to be caused by: https://bugs.chromium.org/p/aomedia/issues/detail?id=3389

recompiled aomenc from latest master and works fine now.