[Windows] Build - and not only - issues
Opened this issue · 15 comments
Hi there,
since the provided exe won't run on my W11x64 system, I've asked John Edwards (aka John33, the dev behind RareWares) to build an optimized - ICL 19 - bin and here's his reply about:
Bit of a puzzle, really! The 'make-solutions.bat' file generates a VisualStudio sln file that loads into VS and compiles but the resulting executable does nothing. I'm not convinced that all the necessary code is included. I tried to link to the dll that is provided, but that doesn't appear to work either. I can't generate a usable output file even using the exe that is provided but that could be me not generating a suitable input file correctly!
...can you help to fix the problem?
Thanks in advance.
Wow, thanks for the lightning-fast reply !
There are two ways to run xin26x
- Directly to run pre-built xin26x_test.exe under testbin folder.
My W11x64 system won't run it 'cause claims - with a popup Windows system message (not a commandline error, to be clear) - that it's not compatible (is it a x32 build ?).
BTW, is it mandatory to place the file in a folder called "testbin" ?
Thanks again.
Ok, I finally encoded my 1st video.
Here's the commandline and log:
C:\testbin>xin26x_test -i test.y4m -a 0 -p 3 -T 0 -o out.y4m
STATUS: Xin26x lib build date: Aug 18 2023 21:23:17
STATUS: yuv size 1280x720 fps:30.000 frame num:500
STATUS: algorithm:0 encoder mode:3 rdoq:0 screen mode:0
STATUS: smp:0 mctf:1 sao:1 deblock:1 alf:1
STATUS: tmvp:1 mctf:1 cclm:0 dmvr:1
STATUS: sbTmvp:0 affine:0 mts:0 sign bit hidden:1
STATUS: ctuSize:64, minCuSize:8, minQtSize:8, maxBtSize:64, maxTtSize:64
STATUS: rc mode:5 target bit:1000000
STATUS: b frame num:15 ref num:3
STATUS: thread num:4 wpp:1 fpp:1
Start coding...
500 frames encoded, coding speed fps:43.2227 bitrate: 1100.84 kbps.
Complete coding.
Performance is quite nice - considering that the encode has been executed on i3-4160 - but the result seems "uncorrect":
SOURCE: https://media.xiph.org/video/derf/y4m/ducks_take_off_420_720p50.y4m
OUTPUT: https://raw.githubusercontent.com/forart/HyMPS/main/out.y4m
...can you explain what's wrong with this commandline ? Thanks !
note: it would be nice to link test files for newbie users (https://media.xiph.org/video/derf/)
xin26x only supports yuv420 raw yuv file. It does not support y4m file.
Can you please point me to some suitable files - among those available at https://media.xiph.org/video/ - to perform encoding tests ?
note: it could be useful to list suitable files @ xin26x's readme.md
Ok, did more encoding tests using - as suggested - that "stripped" .yuv input file so here's my feedback:
- encoder goes in a "deadlock" state if -b parameter is set.
Example:xin26x_test -i test.yuv -a 0 -p 3 -T 0 -F 1 -W 1 --lookAhead 100 -b 1500 -o out.yuv
- the -q parameter doesn't affect the result the output, regardless the value set;
- it slows down high framerate inputs (doesn't decimate correctly);
Hope that helps.
forart: it slows down high framerate inputs (doesn't decimate correctly);
Peppa: I do not quite understand your meaning.
Here's the encoded result: https://raw.githubusercontent.com/forart/HyMPS/main/out50.yuv
(commandline used: xin26x_test -i test.yuv -a 0 -p 3 -T 0 -F 1 -W 1 -w 1280 -h 720 -f 50 -d 1 --lookAhead 100 -r 1 -b 1500000 -o out50.yuv
)
As you can see, it's NOT 50fps (nor decimated 25fps), but same numeber of frames slowed down.
Thanks for your help.
It works inside MKV container (muxed using MKVToolNix) too: https://raw.githubusercontent.com/forart/HyMPS/main/outHQ.mkv
So here's last 2 questions:
- Is this the best bitrate-based HEVC commandline to achieve both speed and quality ? Any suggestion to squeeze more ?
xin26x_test -i test.yuv -a 0 -p 6 -T 0 -wpp 1 -fpp 1 -w 1280 -h 720 -f 50 -d 1 --lookAhead 100 -r 1 -b 1750000 -o out.yuv
- Can xin26x be used by piping ffmpeg/ffplay into it to get rid of
ffmpeg -i example.y4m test.yuv
?
Thanks again.
note: I've added xin26x under HyMPS \ VIDEO \ Tools - Encoders