Any clues? I've found that bug can be reproduced even with simple settings:
ffmpeg -threads auto -i pipe:0 -s 1920x1080 -codec:0 libx265 -preset:0 ultrafast -x265-params:0 fps=50:keyint=50:hrd=1:vbv-maxrate=20000:vbv-bufsize=40000:bitrate=18000 -map 0:v -codec:1 copy -map 0:a -muxrate 26000000 -max_delay 2500000 -f:0 mpegts < input.ts > out.ts пн, 7 мая 2018 г. в 23:40, Vasiliy Volkov <volk.vasi...@gmail.com>: > Hi, > > I've encounter strange issue while working with libx265 2.7 and ffmpeg > 4.0: while encoding, within ten minutes (maybe more maybe less), in my > encoded stream grey frames appear (one or several times in a row) and then > they disappear with large grey pixels and original stream images return > back and everything goes fine. Then problem repeats. > > Input stream decodes well, ffmpeg print no error, resulted HEVC bitstream > successfully decoded by VLC or any other software (ffplay) (or hardware, > I've tried Amlogic S905) but while playing video sequence contains grey > frame and looks corrupted sometimes. Here is example of corrupted output > sequence: https://yadi.sk/d/BNC7n7dJ3VVdxD > > It has random nature, it does not depend on input stream, it doesn't > depend on particular subsequence within input stream (I've tried to > reencode same sequence and everything went fine without any image > degradation). > > The description is very close to this ffmpeg bug: > https://trac.ffmpeg.org/ticket/6814 > but in my case I definitely has no decoder corruption, and FFmpeg > definitely (I've checked it with function and check raw frames) sends to > libx265 encoder well decoded frames. So it looks like libx265 encoder bug. > > A csv sheet with metrics from libx265 while output stream contains grey > frame: https://yadi.sk/i/xVSfm6ph3VW47j > > Also that grey frames actually YUV with every byte == 128 > > I've checked: master libx265, release 2.7, release 2.6 -- problem > everywhere. > > This is my encoding commands (maybe here is error in codec params?): > > ffmpeg -threads auto -i pipe:0 -s 1920x1080 -codec:0 libx265 -preset:0 > ultrafast -x265-params:0 > hdr=1:colorprim=9:transfer=18:colormatrix=9:fps=50:keyint=50:min-keyint=50:bframes=3:hrd=1:ref=3:vbv-maxrate=20000:vbv-bufsize=40000:bitrate=18000:rc-lookahead=4:no-scenecut=1:repeat-headers=1:no-open-gop=1:aud=1:no-info=1:level-idc=5.1:min-cu-size=16:merange=42:lookahead-threads=10:frame-threads=10:csv=ffmpeg-4.0-2.7.csv:csv-log-level=1 > -streamid 0:101 -map '#0xc8' -codec:1 copy -threads:1 2 -streamid 1:110 > -map '#0xca' -muxrate 26000000 -max_delay 2500000 -f:0 mpegts pipe:1 < /tmp/ > pipe.in > /tmp/pipe.ts > > > ffmpeg version 4.0 Copyright (c) 2000-2018 the FFmpeg developers > built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.5) 20160609 > configuration: --prefix=/usr/local --pkg-config-flags=--static > --enable-static --enable-nonfree --disable-shared > --enable-runtime-cpudetect --extra-cflags=-ftree-vectorize > --extra-cflags='-march=native' --extra-cflags=-O3 > --extra-cflags=-fuse-linker-plugin --enable-pic --enable-lto --ar=gcc-ar > --ranlib=true --enable-gpl --enable-libx264 --enable-libx265 > --enable-libmp3lame --extra-libs=-lpthread > > > libx265 version info: > x265 [info]: HEVC encoder version 2.7 > x265 [info]: build info [Linux][GCC 5.4.0][64 bit] 10bit > x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX > FMA3 BMI2 AVX2 > > My CPU setup: > # lscpu > Architecture: x86_64 > CPU op-mode(s): 32-bit, 64-bit > Byte Order: Little Endian > CPU(s): 88 > On-line CPU(s) list: 0-87 > Thread(s) per core: 2 > Core(s) per socket: 22 > Socket(s): 2 > NUMA node(s): 2 > Vendor ID: GenuineIntel > CPU family: 6 > Model: 79 > Model name: Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz > Stepping: 1 > CPU MHz: 2195.105 > BogoMIPS: 4391.78 > Virtualization: VT-x > L1d cache: 32K > L1i cache: 32K > L2 cache: 256K > L3 cache: 56320K > NUMA node0 CPU(s): 0-21,44-65 > NUMA node1 CPU(s): 22-43,66-87 > Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr > pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe > syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good > nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 ds_cpl > vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic > movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm > 3dnowprefetch arat epb pln pts dtherm intel_pt tpr_shadow vnmi flexpriority > ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm > rdseed adx smap xsaveopt cqm_llc cqm_occup_llc > > > Here is also x265 command specified same parameters (raw decoded stream > needed): > x265 --input - --input-res 1920x1080 -p ultrafast --fps 50 --hrd --aud > --repeat-headers --bitrate 18000 --vbv-maxrate 20000 --vbv-bufsize 40000 > --bframes 3 --no-scenecut --rc-lookahead 4 --min-keyint 50 --keyint 50 > --no-open-gop --ref 3 --merange 42 --min-cu-size 16 --frame-threads 10 > --level-idc 5.1 --lookahead-slices 8 --lookahead-threads 10 --colorprim > bt2020 --transfer arib-std-b67 --hdr --no-info --input-depth 10 > --output-depth 10 -o out.h265 > > > Mpegts input stream: https://yadi.sk/d/NtTPUVnq3VVuFG > > Can be decoded with command: ffmpeg3 -re -i uhd_input.ts -s 1920x1080 -f > rawvideo pipe:1 > /tmp/pipe.yuv > > How can I investigate it further? Do you already encounter that? >
_______________________________________________ x265-devel mailing list x265-devel@videolan.org https://mailman.videolan.org/listinfo/x265-devel