View Full Version : x265 HEVC Encoder
benwaggoner
12th August 2024, 18:20
This project is a bit unfinished.
Why is X265_CSP_BGRA not used?
Error: Alpha encode supported only with CQP mode???
Error: chroma subsampling must be i400 (4:0:0 monochrome), i420 (4:2:0 default), i422 (4:2:0), i444 (4:4:4)???
These are brand new tools, and I imagine they're far from complete practical implementations yet.
jpsdr
12th August 2024, 20:49
Each time i made a build of my custom version, i do a quick test on a very small file, using this:
@echo off
SET E_SRC=%8%1.avs
SET E_DST=%5%1.hevc
SET CHAPTERS=%8%7
SET STAT_FILE=%8%1.stats
SET LOG_FILE_1=%8%1_log_1.txt
SET LOG_FILE_2=%8%1_log_2.txt
SET LOG_FILE_3=%8%1_log_3.txt
SET BITRATE=%2
SET TUNING=%6
SET MCLL=%3
SET MDISPLAY=%4
if %6==film goto :FILM
if %6==FILM goto :FILM
if %6==Film goto :FILM
if %6==none goto :NOTUNE
if %6==NONE goto :NOTUNE
if %6==None goto :NOTUNE
if %6==aucun goto :NOTUNE
if %6==AUCUN goto :NOTUNE
if %6==Aucun goto :NOTUNE
x265_x64 --preset slower --tune %TUNING% --vbv-maxrate 90000 --vbv-bufsize 70000 --bitrate %BITRATE% --stats %STAT_FILE% --level 5.1 --profile main10 --high-tier --level-idc 51 --hist-scenecut --fades --aq-mode 4 --aq-auto 6 --weightb --rc-lookahead 72 --tskip --tskip-fast --no-rect --me hex --subme 2 --b-intra --no-sao --multi-pass-opt-analysis --multi-pass-opt-distortion --video-signal-type-preset BT2100_PQ_YCC -D 10 --max-cll %MCLL% --master-display %MDISPLAY% --hdr10-opt --qpfile %CHAPTERS% --input %E_SRC% --pass 1 -o NUL 2> %LOG_FILE_1%
x265_x64 --preset slower --tune %TUNING% --vbv-maxrate 90000 --vbv-bufsize 70000 --bitrate %BITRATE% --stats %STAT_FILE% --level 5.1 --profile main10 --high-tier --level-idc 51 --hist-scenecut --fades --aq-mode 4 --aq-auto 6 --weightb --rc-lookahead 72 --tskip --tskip-fast --rect --no-amp --me umh --subme 3 --b-intra --no-sao --multi-pass-opt-analysis --multi-pass-opt-distortion --video-signal-type-preset BT2100_PQ_YCC -D 10 --max-cll %MCLL% --master-display %MDISPLAY% --hdr10-opt --qpfile %CHAPTERS% --input %E_SRC% --pass 3 -o NUL 2> %LOG_FILE_2%
x265_x64 --preset slower --tune %TUNING% --vbv-maxrate 90000 --vbv-bufsize 70000 --bitrate %BITRATE% --stats %STAT_FILE% --level 5.1 --profile main10 --high-tier --level-idc 51 --hist-scenecut --fades --aq-mode 4 --aq-auto 6 --weightb --rc-lookahead 72 --tskip --tskip-fast --rect --amp --b-intra --no-sao --scenecut-aware-qp 3 --multi-pass-opt-analysis --multi-pass-opt-distortion --video-signal-type-preset BT2100_PQ_YCC -D 10 --max-cll %MCLL% --master-display %MDISPLAY% --hdr10-opt --qpfile %CHAPTERS% --input %E_SRC% --pass 2 -o %E_DST% 2> %LOG_FILE_3%
goto :FIN
:FILM
x265_x64 --preset slower --vbv-maxrate 90000 --vbv-bufsize 70000 --bitrate %BITRATE% --stats %STAT_FILE% --level 5.1 --profile main10 --high-tier --level-idc 51 --hist-scenecut --fades --aq-mode 4 --aq-auto 6 --weightb --rc-lookahead 72 --tskip --tskip-fast --no-rect --me hex --subme 2 --b-intra --no-sao --deblock -1,-1 --psy-rd 2.5 --psy-rdoq 4 --multi-pass-opt-analysis --multi-pass-opt-distortion --video-signal-type-preset BT2100_PQ_YCC -D 10 --max-cll %MCLL% --master-display %MDISPLAY% --hdr10-opt --qpfile %CHAPTERS% --input %E_SRC% --pass 1 -o NUL 2> %LOG_FILE_1%
x265_x64 --preset slower --vbv-maxrate 90000 --vbv-bufsize 70000 --bitrate %BITRATE% --stats %STAT_FILE% --level 5.1 --profile main10 --high-tier --level-idc 51 --hist-scenecut --fades --aq-mode 4 --aq-auto 6 --weightb --rc-lookahead 72 --tskip --tskip-fast --rect --no-amp --me umh --subme 3 --b-intra --no-sao --deblock -1,-1 --psy-rd 2.5 --psy-rdoq 4 --multi-pass-opt-analysis --multi-pass-opt-distortion --video-signal-type-preset BT2100_PQ_YCC -D 10 --max-cll %MCLL% --master-display %MDISPLAY% --hdr10-opt --qpfile %CHAPTERS% --input %E_SRC% --pass 3 -o NUL 2> %LOG_FILE_2%
x265_x64 --preset slower --vbv-maxrate 90000 --vbv-bufsize 70000 --bitrate %BITRATE% --stats %STAT_FILE% --level 5.1 --profile main10 --high-tier --level-idc 51 --hist-scenecut --fades --aq-mode 4 --aq-auto 6 --weightb --rc-lookahead 72 --tskip --tskip-fast --rect --amp --b-intra --no-sao --deblock -1,-1 --psy-rd 2.5 --psy-rdoq 4 --scenecut-aware-qp 3 --multi-pass-opt-analysis --multi-pass-opt-distortion --video-signal-type-preset BT2100_PQ_YCC -D 10 --max-cll %MCLL% --master-display %MDISPLAY% --hdr10-opt --qpfile %CHAPTERS% --input %E_SRC% --pass 2 -o %E_DST% 2> %LOG_FILE_3%
goto :FIN
:NOTUNE
x265_x64 --preset slower --vbv-maxrate 90000 --vbv-bufsize 70000 --bitrate %BITRATE% --stats %STAT_FILE% --level 5.1 --profile main10 --high-tier --level-idc 51 --hist-scenecut --fades --aq-mode 4 --aq-auto 6 --weightb --rc-lookahead 72 --tskip --tskip-fast --no-rect --me hex --subme 2 --b-intra --no-sao --multi-pass-opt-analysis --multi-pass-opt-distortion --video-signal-type-preset BT2100_PQ_YCC -D 10 --max-cll %MCLL% --master-display %MDISPLAY% --hdr10-opt --qpfile %CHAPTERS% --input %E_SRC% --pass 1 -o NUL 2> %LOG_FILE_1%
x265_x64 --preset slower --vbv-maxrate 90000 --vbv-bufsize 70000 --bitrate %BITRATE% --stats %STAT_FILE% --level 5.1 --profile main10 --high-tier --level-idc 51 --hist-scenecut --fades --aq-mode 4 --aq-auto 6 --weightb --rc-lookahead 72 --tskip --tskip-fast --rect --no-amp --me umh --subme 3 --b-intra --no-sao --multi-pass-opt-analysis --multi-pass-opt-distortion --video-signal-type-preset BT2100_PQ_YCC -D 10 --max-cll %MCLL% --master-display %MDISPLAY% --hdr10-opt --qpfile %CHAPTERS% --input %E_SRC% --pass 3 -o NUL 2> %LOG_FILE_2%
x265_x64 --preset slower --vbv-maxrate 90000 --vbv-bufsize 70000 --bitrate %BITRATE% --stats %STAT_FILE% --level 5.1 --profile main10 --high-tier --level-idc 51 --hist-scenecut --fades --aq-mode 4 --aq-auto 6 --weightb --rc-lookahead 72 --tskip --tskip-fast --rect --amp --b-intra --no-sao --scenecut-aware-qp 3 --multi-pass-opt-analysis --multi-pass-opt-distortion --video-signal-type-preset BT2100_PQ_YCC -D 10 --max-cll %MCLL% --master-display %MDISPLAY% --hdr10-opt --qpfile %CHAPTERS% --input %E_SRC% --pass 2 -o %E_DST% 2> %LOG_FILE_3%
:FIN
If i build with SCC enable, even without using SCC, x265 crash on its initialisation phase of the last pass, before even encode start...:(
I'm not able yet to figure out if it's an issue specific to my custom mods, or if it's an issue with the SCC code.
I don't know how to test a normal build. In theory, i should just remove "--aq-auto 6" in the options, as it's the only one specific to my build, but i have no idea how to feed my file to x265, as actualy it's an avi file, opened in an avs file.
If someone can test my exact same options (just without "--aq-auto 6") on a standard build, feeding a HDR 10bit 4k video (100 frames should be enough).
As i'm not using SCC, for now my solution will just be to build without it.
Boulder
12th August 2024, 21:02
You can use avs2yuv64 to pipe into the encoder without Avisynth support. avs2yuv64.exe "script.avs" - | x265.exe ... -o output.hevc -
I think this is the correct build: https://github.com/MasterNobody/avs2yuv/releases/tag/v0.24bm6
LigH
12th August 2024, 23:06
I had a little trouble with the last x265 versions complaining about parameters; explicitly using "--input" helped.
jpsdr
13th August 2024, 08:50
@Boulder
In that case, what should i put for "--input" ?
LigH
13th August 2024, 08:53
Just expand accordingly, I hope (untested yet).
avs2yuv64.exe "script.avs" - | x265.exe ... -o output.hevc --input -
Not sure why you would need that, though, x265 should be able to work with AviSynth scripts.
x265.exe ... -o output.hevc --input script.avs
Ah, you reported a crash. Okay, using a different way of frameserving is an attempt, but from my experience, piping is less reliable.
If x265 is built with libav support (there are patched versions out there), x265 should be able to read a lot of media files directly, AVI files too. So just try if you find one of those:
x265.exe ... -o output.hevc --input video.avi
Or am I outdated? The Yuuki-Asuna patch project seems to be for 5 years.
Boulder
13th August 2024, 09:58
@Boulder
In that case, what should i put for "--input" ?
"--input -" should work, - meaning that the input is piped data.
Boulder
13th August 2024, 10:00
Not sure why you would need that, though, x265 should be able to work with AviSynth scripts.
Unfortunately no one has submitted those Avisynth or Vapoursynth support patches to mainline so piping is what you need to do if any preprocessing is required.
LigH
13th August 2024, 10:06
I probably confused that with x264.
So I created a thread about Modifications of x265 (https://forum.doom9.org/showthread.php?t=185687) to not forget them.
jpsdr
13th August 2024, 13:41
@LigH
Your build is a not a custom build, it's directly the x265 code without any patch ?
LigH
13th August 2024, 14:22
More or less directly the official git sources. With all officially supported compiler flags enabled. No modifications from 3rd party repos.
Kurt.noise
13th August 2024, 17:30
Hi,
I did not look up precisely but what would be the recommended settings nowadays for film & animation contents like we have in the x264 tuning parameters ?
jpsdr
13th August 2024, 20:52
Yes !!!! Wonderfull !! It crashed !!! :D
I'm happy, it means the issue is not because of the patches in my version. The version build by LigH also crashed.
First, the Encode_Test.bat file i run:
CALL x265_HDR.bat Test 40000 "9633,2273" "G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(40000000,50)" L:\ film Test_Chapters_x265.txt
The x265_HDR.bat file:
@echo off
SET E_SRC=%8%1.avs
SET E_DST=%5%1.hevc
SET CHAPTERS=%8%7
SET STAT_FILE=%8%1.stats
SET LOG_FILE_1=%8%1_log_1.txt
SET LOG_FILE_2=%8%1_log_2.txt
SET LOG_FILE_3=%8%1_log_3.txt
SET BITRATE=%2
SET TUNING=%6
SET MCLL=%3
SET MDISPLAY=%4
if %6==film goto :FILM
if %6==FILM goto :FILM
if %6==Film goto :FILM
if %6==none goto :NOTUNE
if %6==NONE goto :NOTUNE
if %6==None goto :NOTUNE
if %6==aucun goto :NOTUNE
if %6==AUCUN goto :NOTUNE
if %6==Aucun goto :NOTUNE
avs2yuv64.exe "%E_SRC%" - | x265.exe --input-res 3840x1606 --fps 23.976 --input-depth 10 --input-csp 1 --frames 128 --preset slower --tune %TUNING% --vbv-maxrate 90000 --vbv-bufsize 70000 --bitrate %BITRATE% --stats %STAT_FILE% --level 5.1 --profile main10 --high-tier --level-idc 51 --hist-scenecut --fades --aq-mode 4 --weightb --rc-lookahead 72 --tskip --tskip-fast --no-rect --me hex --subme 2 --b-intra --no-sao --multi-pass-opt-analysis --multi-pass-opt-distortion --colorprim bt2020 --transfer smpte2084 --colormatrix bt2020nc --range limited --chromaloc 2 -D 10 --max-cll %MCLL% --master-display %MDISPLAY% --hdr10-opt --qpfile %CHAPTERS% --input - --pass 1 -o NUL 2> %LOG_FILE_1%
avs2yuv64.exe "%E_SRC%" - | x265.exe --input-res 3840x1606 --fps 23.976 --input-depth 10 --input-csp 1 --frames 128 --preset slower --tune %TUNING% --vbv-maxrate 90000 --vbv-bufsize 70000 --bitrate %BITRATE% --stats %STAT_FILE% --level 5.1 --profile main10 --high-tier --level-idc 51 --hist-scenecut --fades --aq-mode 4 --weightb --rc-lookahead 72 --tskip --tskip-fast --rect --no-amp --me umh --subme 3 --b-intra --no-sao --multi-pass-opt-analysis --multi-pass-opt-distortion --colorprim bt2020 --transfer smpte2084 --colormatrix bt2020nc --range limited --chromaloc 2 -D 10 --max-cll %MCLL% --master-display %MDISPLAY% --hdr10-opt --qpfile %CHAPTERS% --input - --pass 3 -o NUL 2> %LOG_FILE_2%
avs2yuv64.exe "%E_SRC%" - | x265.exe --input-res 3840x1606 --fps 23.976 --input-depth 10 --input-csp 1 --frames 128 --preset slower --tune %TUNING% --vbv-maxrate 90000 --vbv-bufsize 70000 --bitrate %BITRATE% --stats %STAT_FILE% --level 5.1 --profile main10 --high-tier --level-idc 51 --hist-scenecut --fades --aq-mode 4 --weightb --rc-lookahead 72 --tskip --tskip-fast --rect --amp --b-intra --no-sao --scenecut-aware-qp 3 --multi-pass-opt-analysis --multi-pass-opt-distortion --colorprim bt2020 --transfer smpte2084 --colormatrix bt2020nc --range limited --chromaloc 2 -D 10 --max-cll %MCLL% --master-display %MDISPLAY% --hdr10-opt --qpfile %CHAPTERS% --input - --pass 2 -o %E_DST% 2> %LOG_FILE_3%
goto :FIN
:FILM
avs2yuv64.exe "%E_SRC%" - | x265.exe --input-res 3840x1606 --fps 23.976 --input-depth 10 --input-csp 1 --frames 128 --preset slower --vbv-maxrate 90000 --vbv-bufsize 70000 --bitrate %BITRATE% --stats %STAT_FILE% --level 5.1 --profile main10 --high-tier --level-idc 51 --hist-scenecut --fades --aq-mode 4 --weightb --rc-lookahead 72 --tskip --tskip-fast --no-rect --me hex --subme 2 --b-intra --no-sao --deblock -1,-1 --psy-rd 2.5 --psy-rdoq 4 --multi-pass-opt-analysis --multi-pass-opt-distortion --colorprim bt2020 --transfer smpte2084 --colormatrix bt2020nc --range limited --chromaloc 2 -D 10 --max-cll %MCLL% --master-display %MDISPLAY% --hdr10-opt --qpfile %CHAPTERS% --input - --pass 1 -o NUL 2> %LOG_FILE_1%
avs2yuv64.exe "%E_SRC%" - | x265.exe --input-res 3840x1606 --fps 23.976 --input-depth 10 --input-csp 1 --frames 128 --preset slower --vbv-maxrate 90000 --vbv-bufsize 70000 --bitrate %BITRATE% --stats %STAT_FILE% --level 5.1 --profile main10 --high-tier --level-idc 51 --hist-scenecut --fades --aq-mode 4 --weightb --rc-lookahead 72 --tskip --tskip-fast --rect --no-amp --me umh --subme 3 --b-intra --no-sao --deblock -1,-1 --psy-rd 2.5 --psy-rdoq 4 --multi-pass-opt-analysis --multi-pass-opt-distortion --colorprim bt2020 --transfer smpte2084 --colormatrix bt2020nc --range limited --chromaloc 2 -D 10 --max-cll %MCLL% --master-display %MDISPLAY% --hdr10-opt --qpfile %CHAPTERS% --input - --pass 3 -o NUL 2> %LOG_FILE_2%
avs2yuv64.exe "%E_SRC%" - | x265.exe --input-res 3840x1606 --fps 23.976 --input-depth 10 --input-csp 1 --frames 128 --preset slower --vbv-maxrate 90000 --vbv-bufsize 70000 --bitrate %BITRATE% --stats %STAT_FILE% --level 5.1 --profile main10 --high-tier --level-idc 51 --hist-scenecut --fades --aq-mode 4 --weightb --rc-lookahead 72 --tskip --tskip-fast --rect --amp --b-intra --no-sao --deblock -1,-1 --psy-rd 2.5 --psy-rdoq 4 --scenecut-aware-qp 3 --multi-pass-opt-analysis --multi-pass-opt-distortion --colorprim bt2020 --transfer smpte2084 --colormatrix bt2020nc --range limited --chromaloc 2 -D 10 --max-cll %MCLL% --master-display %MDISPLAY% --hdr10-opt --qpfile %CHAPTERS% --input - --pass 2 -o %E_DST% 2> %LOG_FILE_3%
goto :FIN
:NOTUNE
avs2yuv64.exe "%E_SRC%" - | x265.exe --input-res 3840x1606 --fps 23.976 --input-depth 10 --input-csp 1 --frames 128 --preset slower --vbv-maxrate 90000 --vbv-bufsize 70000 --bitrate %BITRATE% --stats %STAT_FILE% --level 5.1 --profile main10 --high-tier --level-idc 51 --hist-scenecut --fades --aq-mode 4 --weightb --rc-lookahead 72 --tskip --tskip-fast --no-rect --me hex --subme 2 --b-intra --no-sao --multi-pass-opt-analysis --multi-pass-opt-distortion --colorprim bt2020 --transfer smpte2084 --colormatrix bt2020nc --range limited --chromaloc 2 -D 10 --max-cll %MCLL% --master-display %MDISPLAY% --hdr10-opt --qpfile %CHAPTERS% --input - --pass 1 -o NUL 2> %LOG_FILE_1%
avs2yuv64.exe "%E_SRC%" - | x265.exe --input-res 3840x1606 --fps 23.976 --input-depth 10 --input-csp 1 --frames 128 --preset slower --vbv-maxrate 90000 --vbv-bufsize 70000 --bitrate %BITRATE% --stats %STAT_FILE% --level 5.1 --profile main10 --high-tier --level-idc 51 --hist-scenecut --fades --aq-mode 4 --weightb --rc-lookahead 72 --tskip --tskip-fast --rect --no-amp --me umh --subme 3 --b-intra --no-sao --multi-pass-opt-analysis --multi-pass-opt-distortion --colorprim bt2020 --transfer smpte2084 --colormatrix bt2020nc --range limited --chromaloc 2 -D 10 --max-cll %MCLL% --master-display %MDISPLAY% --hdr10-opt --qpfile %CHAPTERS% --input - --pass 3 -o NUL 2> %LOG_FILE_2%
avs2yuv64.exe "%E_SRC%" - | x265.exe --input-res 3840x1606 --fps 23.976 --input-depth 10 --input-csp 1 --frames 128 --preset slower --vbv-maxrate 90000 --vbv-bufsize 70000 --bitrate %BITRATE% --stats %STAT_FILE% --level 5.1 --profile main10 --high-tier --level-idc 51 --hist-scenecut --fades --aq-mode 4 --weightb --rc-lookahead 72 --tskip --tskip-fast --rect --amp --b-intra --no-sao --scenecut-aware-qp 3 --multi-pass-opt-analysis --multi-pass-opt-distortion --colorprim bt2020 --transfer smpte2084 --colormatrix bt2020nc --range limited --chromaloc 2 -D 10 --max-cll %MCLL% --master-display %MDISPLAY% --hdr10-opt --qpfile %CHAPTERS% --input - --pass 2 -o %E_DST% 2> %LOG_FILE_3%
:FIN
I think everyone can reproduce the issue with the last version build with all the options activated.
LigH
13th August 2024, 21:11
This file can be applied on top of the current x265 repo to get the changes in. Hope I didn't make any mistakes :o
Patch file for jpsdr's and AmusementClub's modifications to use with MABS (https://drive.google.com/file/d/1T25ZdsryaE-aqVNgWTznigwNLDQy1qvJ/view?usp=drive_link)
Building with Visual Studio won't work, the dreaded "nested too deeply" problem strikes again and I'm not confident on how to fix it.
It did not work.
I guess the problem is that the paths don't match. There are neither "x265-official" nor "x265-jpsdr-v2" directories. I guess I shall only use "a" and "b" as placeholders for original and patched?
Ah, no, I am wrong. There must be a different reason, the patched state gets reversed to the original because something was still active in the background.
LigH
13th August 2024, 22:20
I tried to streamline the patch via x265_git_extra.sh but it failed. So I tried to run it manually and it reported several fails and rejects.
Boulder
14th August 2024, 05:01
It did not work.
I guess the problem is that the paths don't match. There are neither "x265-official" nor "x265-jpsdr-v2" directories. I guess I shall only use "a" and "b" as placeholders for original and patched?
Ah, no, I am wrong. There must be a different reason, the patched state gets reversed to the original because something was still active in the background.
The command line for the diff doesn't matter as the next two lines tell the source and destination paths. For anyone else wondering how to use it in MABS, this needs to be in x265_git_extra.sh: patch -p 1 -i "$LOCALBUILDDIR/x265-jpsdr_and_kyouko.patch".
I tried to streamline the patch via x265_git_extra.sh but it failed. So I tried to run it manually and it reported several fails and rejects.
Most likely due to the larger changes made recently. I'll have to take a look when I get the proper time for that. I'm doing things in a laboured way instead of forking etc. :D
LigH
15th August 2024, 12:52
A patch for ffmpeg has been accepted that adds a version switch to build with newer x265 versions by reverting the yet unsupported parallel encoding of multiple video streams.
Barough
16th August 2024, 15:42
x265 v3.6+76
Built on August 16, 2024, GCC 14.1.0
https://bitbucket.org/multicoreware/x265_git/commits/branch/master
DL :
https://www.mediafire.com/file/1u616cvvbh8ufwx
Guest
17th August 2024, 12:22
@ jpsdr,
I have been using your 3.60.35 build in RipBot264 for a couple of months now, and I have been using your --aq-auto 1, or is it --auto-aq 1, either way (sorry), and today I updated to your latest 3.60.65 build, and I am getting a warning that there is an extra command (can't remember the exact wording), but it doesn't continue, and I can't find any info on the commands this build uses.
Has anything changed since the previous build ??
Regards
LigH
17th August 2024, 12:27
Yes, we discussed before that x265 now seems to be picky about determining what the filename of the input is, so it is advisable to preceed it with "--input".
The reason is probably that MVC encoding accepts multiple input video sources.
Guest
17th August 2024, 12:37
Yes, we discussed before that x265 now seems to be picky about determining what the filename of the input is, so it is advisable to preceed it with "--input".
The reason is probably that MVC encoding accepts multiple input video sources.
Hi LigH,
I don't think we're on the same wave length here, it's not a filename, it's an x265 command
--aq-mode 4, 3, 2, 1, or --hevc-aq
LigH
17th August 2024, 12:41
So please show us the whole command line with all parameters.
Guest
17th August 2024, 13:10
So please show us the whole command line with all parameters.
OK, so as I explained, I have been using jpsdr's x265 build #3.6.0.35, and using this x265 command :-
--level 6.2 --profile main10 --hdr10 --output-depth 10 --ctu 64 --high-tier --repeat-headers --vbv-bufsize 800000 --vbv-maxrate 800000 --asm avx512 --aq-auto 1
But after updating to his latest build #3.6.0.65, using the same command, I get this :-
x265 [WARN]: extra unused command arguments given <->
But now I'm really confused between Patman's & jpsdr's builds...
LigH
17th August 2024, 13:14
This is not the complete command line because you omitted the output and the input.
I guess you are using a pipe for the input, hence the "-" as name of the (pseudo) input file. Try to substitute "-" with "--input -", and it will probably work.
Guest
17th August 2024, 13:21
This is not the complete command line because you omitted the output and the input.
I guess you are using a pipe for the input, hence the "-" as name of the (pseudo) input file. Try to substitute "-" with "--input -", and it will probably work.
That command line is all RipBot264 needs as far as x265 is concerned, it's doesn't need input & output.
That is done elsewhere...
LigH
17th August 2024, 13:30
In this case, RipBot264 needs to become aware that it may have to build the whole command line from this set of additional parameters in a different way, specifying input filenames explicitly from now on. That worked in earlier versions of x265 already, just was not yet mandatory.
Guest
17th August 2024, 14:25
In this case, RipBot264 needs to become aware that it may have to build the whole command line from this set of additional parameters in a different way, specifying input filenames explicitly from now on. That worked in earlier versions of x265 already, just was not yet mandatory.
Could you please provide a example of what the new commands "look like", using the command line I posted below ???
Does this apply to all x265 from now on ??
LigH
17th August 2024, 14:39
I do not use RipBot264, so I cannot test how to build the set of additional parameters to the command line in a way that a current version of RipBot264 completes it in a way to work with every x265 containing commits after 2024-08-07 when parsing the command line for multiple input sources was introduced. I would instead rather suggest to update RipBot264 to complete its x265 command lines with explicit "--input" parameter instead.
Guest
17th August 2024, 14:46
I do not use RipBot264, so I cannot test how to build the set of additional parameters to the command line in a way that a current version of RipBot264 completes it in a way to work with every x265 containing commits after 2024-08-07 when parsing the command line for multiple input sources was introduced. I would instead rather suggest to update RipBot264 to complete its x265 command lines with explicit "--input" parameter instead.
So it's not just adding --input to the commandline, then ??
I don't understand :(
LigH
17th August 2024, 14:58
I don't know where in the whole x265 command line which is actually executed the piece you can edit in RipBBot264 is included. Adding the "--input" to the end of this string would only help if RipBot264 adds the "-" for the pipe input immediately after that string. But if it first adds the output file name then it won't help.
After all, it is a RipBot264 issue. Discussing the handling of RipBot264 in this thread about the x265 encoder does not really help anyone. Well, other GUIs using x265 may need to get updated in the same way. But that has to be addressed for those other GUIs. The x265 encoder needed to change its parsing of the command line parameters to support new features, so many applications using x265 need to adapt to these changes.
Guest
18th August 2024, 04:15
I don't know where in the whole x265 command line which is actually executed the piece you can edit in RipBBot264 is included. Adding the "--input" to the end of this string would only help if RipBot264 adds the "-" for the pipe input immediately after that string. But if it first adds the output file name then it won't help.
After all, it is a RipBot264 issue. Discussing the handling of RipBot264 in this thread about the x265 encoder does not really help anyone. Well, other GUIs using x265 may need to get updated in the same way. But that has to be addressed for those other GUIs. The x265 encoder needed to change its parsing of the command line parameters to support new features, so many applications using x265 need to adapt to these changes.
Is this the info you're talking about ??
""\\RYZEN-9-7950X\Ripbot264temp\Tools\ffmpeg\bin\ffmpeg.exe" -loglevel panic -i "\\RYZEN-9-7950X\RipBot264temp\job3\Chunks\1.avs" -strict -1 -f yuv4mpegpipe - | "\\RYZEN-9-7950X\Ripbot264temp\tools\x265\x265_x64.exe" --seek 0 --colorprim bt2020 --transfer smpte2084 --colormatrix bt2020nc
--master-display "G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(40000000,50)" --crf 16 --fps 24000/1001 --min-keyint 24 --keyint 240 --frames 3610 --sar 1:1 --level 5.2 --profile main10
--output-depth 10 --ctu 64 --high-tier --vbv-bufsize 240000 --vbv-maxrate 240000 --y4m --pools "32" --output "\\RYZEN-9-7950X\RipBot264temp\job3\Chunks\1.265" -"
x265 [WARN]: extra unused command arguments given <->
LigH
18th August 2024, 06:40
Yes. And as you can see, there is this lonely "-" at the end of the whole command line, but RipBot264 added a few parameters you cannot control manually. RipBot264 needs to insert the "--input" before the "-", you can't do that.
jfcarbel
22nd August 2024, 02:04
Still very curious if anyone here with Zen 5 9XXX line of AMD CPUs have seen massive encoding speed improvements in x265 with avx512 enabled. Most reviews I bet use handbrake and do not set the x265 flag to turn on avx512 so hard to get good info.
When the 7000 line came out, I compared my 5950X against it and found minimal improvements in encoding speed for price/perfomance ratio.
But if the gains some AMD benchmark ads are showing are true the 9950X might be a speed demon for video encoding and x265.
Guest
22nd August 2024, 03:56
Still very curious if anyone here with Zen 5 9XXX line of AMD CPUs have seen massive encoding speed improvements in x265 with avx512 enabled. Most reviews I bet use handbrake and do not set the x265 flag to turn on avx512 so hard to get good info.
When the 7000 line came out, I compared my 5950X against it and found minimal improvements in encoding speed for price/perfomance ratio.
But if the gains some AMD benchmark ads are showing are true the 9950X might be a speed demon for video encoding and x265.
I am planning to get a 9950X soon, but I'm not too sure how much better it will be over my 7950X....
I found the 7950X was a LOT faster than my 5950X, and IF the 9950X is the same, then that WILL be great.
I just watched a review on the 9950X, and it was mentioned that it's only a 5% improvement over 7950X, but the 7950X is about 30% better than the 5950X.
I also use the AVX512 command in x265, but not sure if it makes too much difference.
Time will tell.
RanmaCanada
22nd August 2024, 21:27
I am planning to get a 9950X soon, but I'm not too sure how much better it will be over my 7950X....
I found the 7950X was a LOT faster than my 5950X, and IF the 9950X is the same, then that WILL be great.
I just watched a review on the 9950X, and it was mentioned that it's only a 5% improvement over 7950X, but the 7950X is about 30% better than the 5950X.
I also use the AVX512 command in x265, but not sure if it makes too much difference.
Time will tell.
If you're using AVX512 you will see significant increase, especially so if you use Linux. AMD has stated that the windows scheduler can not handle things properly and we need to wait for the next windows update for things to be "fixed", among other statements...
https://www.phoronix.com/review/amd-ryzen-9950x-9900x/11 From what I understand these tests were not done using avx-512.
jfcarbel
23rd August 2024, 07:01
I am planning to get a 9950X soon, but I'm not too sure how much better it will be over my 7950X....
I found the 7950X was a LOT faster than my 5950X, and IF the 9950X is the same, then that WILL be great.
I just watched a review on the 9950X, and it was mentioned that it's only a 5% improvement over 7950X, but the 7950X is about 30% better than the 5950X.
I also use the AVX512 command in x265, but not sure if it makes too much difference.
Time will tell.
Thanks for contributing, I am debating upgrading to the 7950X if prices drops some more.
Be interesting to see you run an encode with and without avx to see difference.
Guest
23rd August 2024, 07:40
Thanks for contributing, I am debating upgrading to the 7950X if prices drops some more.
Be interesting to see you run an encode with and without avx to see difference.
You won't be disappointed if you "only" go for a 7950X (not the 3D), but it's a whole new motherboard, RAM (DDR5), really good cooling IS necessary.
But if you're coming up from a 5950X, you might as well go for the 9950X, it's only a few hundred $ more...it's only money.
You could save a little overall if you get a lower chipset MB.
excellentswordfight
23rd August 2024, 14:02
Thanks for contributing, I am debating upgrading to the 7950X if prices drops some more.
Be interesting to see you run an encode with and without avx to see difference.
My guess is that it gives about a 10% increase. For zen 4 it gave about 5% improvement with the gimped AVX512 implementation, and latest generation Xeon is at ~10%, so I dont see why the change would give more than 2x uplift from the zen 4 implementation, as well as be much faster than intels implementation.
jpsdr
23rd August 2024, 14:29
I'm trying to build under msys2 with clang. It "works", meaning it links an exe, but when i run it it's complaining abour missing dll.
Here the script i'm using:
mkdir -p 8bit_Win32 10bit_Win32 12bit_Win32
cd 12bit_Win32
/C/Logiciels/CMake/bin/cmake -G "MSYS Makefiles" ../../../source -DENABLE_LIBVMAF=ON -DENABLE_SCC_EXT=ON -DENABLE_MULTIVIEW=ON -DENABLE_ALPHA=ON -DENABLE_VAPOURSYNTH=ON -DENABLE_AVISYNTH=ON -DHIGH_BIT_DEPTH=ON -DENABLE_HDR10_PLUS=ON -DEXPORT_C_API=OFF -DENABLE_SHARED=OFF -DENABLE_CLI=OFF -DMAIN12=ON -DSTATIC_LINK_CRT=ON -DENABLE_LTO=ON -DCMAKE_CXX_FLAGS_RELEASE="-ffinite-math-only -ftree-vectorize -Ofast -ffast-math -fomit-frame-pointer" -DCMAKE_EXE_LINKER_FLAGS="-static-libgcc -static-libstdc++ -static"
make ${MAKEFLAGS}
cp libx265.a ../8bit_Win32/libx265_main12.a
cd ../10bit_Win32
/C/Logiciels/CMake/bin/cmake -G "MSYS Makefiles" ../../../source -DENABLE_LIBVMAF=ON -DENABLE_SCC_EXT=ON -DENABLE_MULTIVIEW=ON -DENABLE_ALPHA=ON -DENABLE_VAPOURSYNTH=ON -DENABLE_AVISYNTH=ON -DHIGH_BIT_DEPTH=ON -DENABLE_HDR10_PLUS=ON -DEXPORT_C_API=OFF -DENABLE_SHARED=OFF -DENABLE_CLI=OFF -DMAIN12=OFF -DSTATIC_LINK_CRT=ON -DENABLE_LTO=ON -DCMAKE_CXX_FLAGS_RELEASE="-ffinite-math-only -ftree-vectorize -Ofast -ffast-math -fomit-frame-pointer" -DCMAKE_EXE_LINKER_FLAGS="-static-libgcc -static-libstdc++ -static"
make ${MAKEFLAGS}
cp libx265.a ../8bit_Win32/libx265_main10.a
cd ../8bit_Win32
/C/Logiciels/CMake/bin/cmake -G "MSYS Makefiles" ../../../source -DENABLE_LIBVMAF=ON -DENABLE_SCC_EXT=ON -DENABLE_MULTIVIEW=ON -DENABLE_ALPHA=ON -DENABLE_VAPOURSYNTH=ON -DENABLE_AVISYNTH=ON -DHIGH_BIT_DEPTH=OFF -DENABLE_HDR10_PLUS=OFF -DEXPORT_C_API=ON -DENABLE_SHARED=OFF -DENABLE_CLI=ON -DMAIN12=OFF -DSTATIC_LINK_CRT=ON -DENABLE_LTO=ON -DLINKED_10BIT=ON -DLINKED_12BIT=ON -DEXTRA_LIB="x265_main10.a;x265_main12.a" -DEXTRA_LINK_FLAGS=-L. -DCMAKE_CXX_FLAGS_RELEASE="-ffinite-math-only -ftree-vectorize -Ofast -ffast-math -fomit-frame-pointer"
make ${MAKEFLAGS}
# rename the 8bit library, then combine all three into libx265.a using GNU ar
mv libx265.a libx265_main.a
ar -M <<EOF
CREATE libx265.a
ADDLIB libx265_main.a
ADDLIB libx265_main10.a
ADDLIB libx265_main12.a
SAVE
END
EOF
I think it's missing to the linker to links some libraries, but i have no idea what command i should add, and where (only in the last or on all 3).
LigH
23rd August 2024, 14:46
In my GCC script, for 8 bit, there is -DENABLE_SHARED=ON
jpsdr
23rd August 2024, 15:33
The following was allready included, not working (or not enough):
-DCMAKE_EXE_LINKER_FLAGS="-static-libgcc -static-libstdc++ -static"
It's to OFF on my scripts, i'll test ON.
EDIT:
Shared to ON not working, still message telling the libc++.dll is missing.
LigH
23rd August 2024, 19:21
I found a suggestion (https://stackoverflow.com/questions/71991097/clang-static-libstdc-equivalent-for-libc) which may or may not help...
jpsdr
23rd August 2024, 19:51
Thanks, i'll try.
jpsdr
24th August 2024, 13:52
Tested with and without shared, unfortunately, still the message libc++.dll is missing.
Guest
26th August 2024, 04:58
Yes. And as you can see, there is this lonely "-" at the end of the whole command line, but RipBot264 added a few parameters you cannot control manually. RipBot264 needs to insert the "--input" before the "-", you can't do that.
I just tested x265 with StaxRip...same thing :(
https://forum.doom9.org/showthread.php?p=2006052#post2006052
Boulder
26th August 2024, 05:01
If you don't have an ARM based system, the new versions don't offer anything special compared to the older ones.
Guest
26th August 2024, 05:03
If you don't have an ARM based system, the new versions don't offer anything special compared to the older ones.
Despite that, it's still a major problem....if you want to update !!!
Selur
26th August 2024, 11:04
using:
x265 [info]: HEVC encoder version 3.6+83-6fa7254
x265 [info]: build info [Windows][GCC 14.2.0][64 bit] 8bit+10bit+12bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
ffmpeg -y -loglevel fatal -noautorotate -nostdin -threads 8 -i "G:\TestClips&Co\files\test.avi" -map 0:0 -an -sn -color_primaries bt470bg -color_trc smpte170m -colorspace bt470bg -color_range tv -pix_fmt yuv420p10le -strict -1 -vsync 0 -f yuv4mpegpipe - | x265 --input - --fps 25/1 --output-depth 10 --y4m --crf 18.00 --range limited --colormatrix bt470bg --sar 1:1 --output "J:\tmp\test.265"
(same happens when vspipe is used)
never stops,... (ffmpeg does report that it is finished, when removing the '-loglevel fatal' part)
Seems to me like x265 ignores the end signal from the pipe or am I missing something new?
(didn't spot anything in the full help output: https://pastebin.com/LRt1s0Cj)
When aborting x265, I see something like:
aborted at input frame 429, output frame 2765 in x265
So how to limit the output frames automatically to the number of input frames?
Cu Selur
Kurt.noise
26th August 2024, 12:43
So how to limit the output frames automatically to the number of input frames?
--frames xxx where xxx are number frames to encode.
Selur
26th August 2024, 12:47
Not really what I was hoping for, but I'll make it 'automatic' by using some scripting,.. (worked fine before the latest changes :()
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.