Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Video Encoding > High Efficiency Video Coding (HEVC)

Reply
 
Thread Tools Search this Thread Display Modes
Old 13th September 2019, 05:26   #7021  |  Link
suarsg
Registered User
 
Join Date: Dec 2018
Posts: 13
Quote:
Originally Posted by Wolfberry View Post
x265-3.1+11-de920e0-win64-static-multilib

Code:
x265 [info]: HEVC encoder version 3.1+11-de920e0a3183
x265 [info]: build info [Windows][GCC 9.2.1][64 bit] 8bit+10bit+12bit
x265 [info]: (libavcodec  58.55.101)
x265 [info]: (libavformat 58.31.104)
x265 [info]: (libavutil   56.33.100)
x265 [info]: (lsmash       2.16.1)
Added a new option --lavf to force the use of lavf demuxer regardless of file extension, but this option has no effect on Y4M files.

x265-3.1+11-de920e0-win64-static-multilib+svt (linked with SVT-HEVC, bigger file size)
Hello Wolfberry,

Did you change the order of the printed parameters in x265_param2string()? The "Encoding settings"-field in the produced metadata header from your binary is in a completely different order than what is the default on x265. It's really weird to see that when you're used to certain parameters being in a particular place. Can't say I'm a fan of this "customization".
suarsg is offline   Reply With Quote
Old 13th September 2019, 11:10   #7022  |  Link
Atak_Snajpera
RipBot264 author
 
Atak_Snajpera's Avatar
 
Join Date: May 2006
Location: Poland
Posts: 7,095
Quote:
Originally Posted by suarsg View Post
Hello Wolfberry,

Did you change the order of the printed parameters in x265_param2string()? The "Encoding settings"-field in the produced metadata header from your binary is in a completely different order than what is the default on x265. It's really weird to see that when you're used to certain parameters being in a particular place. Can't say I'm a fan of this "customization".
Yes he did. Use builds from user barough
Atak_Snajpera is offline   Reply With Quote
Old 13th September 2019, 11:31   #7023  |  Link
Barough
Registered User
 
Barough's Avatar
 
Join Date: Feb 2007
Location: Sweden
Posts: 333
x265 v3.1+19-c4b098f973e6 (32 & 64-bit 8/10/12bit Multilib Windows Binaries) (GCC 9.2.0)
Code:
https://bitbucket.org/multicoreware/x265/commits/branch/default
Barough is online now   Reply With Quote
Old 14th September 2019, 11:40   #7024  |  Link
redbtn
Registered User
 
redbtn's Avatar
 
Join Date: Jan 2019
Location: Russia
Posts: 49
What about new option --selective-sao? Anybody knows should i disable it, like --no-sao earlier?
https://bitbucket.org/multicoreware/...f47?at=default

Last edited by redbtn; 14th September 2019 at 11:46.
redbtn is online now   Reply With Quote
Old 14th September 2019, 20:31   #7025  |  Link
quietvoid
Registered User
 
Join Date: Jan 2019
Posts: 29
Quote:
Originally Posted by redbtn View Post
What about new option --selective-sao? Anybody knows should i disable it, like --no-sao earlier?
https://bitbucket.org/multicoreware/...f47?at=default
Yes, --selective-sao 4 (default) enables --sao even if you have --no-sao.
You can disable it all with --selective-sao 0 --no-sao
quietvoid is offline   Reply With Quote
Old 15th September 2019, 09:29   #7026  |  Link
Selur
Registered User
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 5,867
The confusing part is that
a. just using '--no-sao' doesn't disable SAO, you get
Quote:
[warning]: SAO turned ON when selective-sao is ON
so to turn sao off you need to use '--selective-sao 0 --no-sao' ,'--no-sao' or '--selective-sao' on it's own isn't enough.
b. With 'selective-sao' is described as 'Disable SAO for all slices', what is SAO used on if you use '--selective-sao 0 --sao' ?

looking at the code:
Code:
if (!!m_param->selectiveSAO)

{

    Slice* slice = frameEnc->m_encData->m_slice;

    slice->m_bUseSao = curEncoder->m_frameFilter.m_useSao = 1;

    switch (m_param->selectiveSAO)

    {

    case 3: if (!IS_REFERENCED(frameEnc))

                slice->m_bUseSao = curEncoder->m_frameFilter.m_useSao = 0;

            break;

    case 2: if (!!m_param->bframes && slice->m_sliceType == B_SLICE)

                slice->m_bUseSao = curEncoder->m_frameFilter.m_useSao = 0;

            break;

    case 1: if (slice->m_sliceType != I_SLICE)

                slice->m_bUseSao = curEncoder->m_frameFilter.m_useSao = 0;

            break;

    }

}

else

{

    Slice* slice = frameEnc->m_encData->m_slice;

    slice->m_bUseSao = curEncoder->m_frameFilter.m_useSao = 0;

}
here are a few conclusions:
  • '--selective-sao 0 --sao' and '--selective-sao 4 --sao' and '--selective-sao 4 --no-sao' all do the same thing, they do the same as the old '--sao' (should be no surprise this causes confusion)
  • only '--selective-sao 0 --no-sao' disabled SAO
  • '--selective-sao X' with X > 0
  • man, that is a fugly coding style

Cu Selur
__________________
Hybrid here in the forum, homepage

Last edited by Selur; 15th September 2019 at 10:05.
Selur is offline   Reply With Quote
Old 15th September 2019, 14:18   #7027  |  Link
Boulder
Pig on the wing
 
Boulder's Avatar
 
Join Date: Mar 2002
Location: Hollola, Finland
Posts: 4,600
--no-sao should definitely mean switching SAO off completely. It's ridiculous to add some other parameter affecting the choice.
__________________
And if the band you're in starts playing different tunes
I'll see you on the dark side of the Moon...
Boulder is offline   Reply With Quote
Old 15th September 2019, 21:57   #7028  |  Link
redbtn
Registered User
 
redbtn's Avatar
 
Join Date: Jan 2019
Location: Russia
Posts: 49
Another issue with selective-sao is no space between rd and selective-sao
MediaInfo shows rd=4selective-sao=0
I don't know how propertly create issue on bitbucket.
Hex Editor:
Attached Images
 
redbtn is online now   Reply With Quote
Old 16th September 2019, 09:50   #7029  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 5,936
Possibly best choice to report a bug: x265 developer mailing list.

I forwarded your report, redbtn.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid

Last edited by LigH; 16th September 2019 at 10:01.
LigH is offline   Reply With Quote
Old 16th September 2019, 13:11   #7030  |  Link
Boulder
Pig on the wing
 
Boulder's Avatar
 
Join Date: Mar 2002
Location: Hollola, Finland
Posts: 4,600
Using the latest VS2019 AVX build (3.1+19-c4b098f) from here: http://msystem.waw.pl/x265/ crashes the encoder in the beginning. Does anyone else have the same issue? I'm using a Ryzen 1800X with AVX2 disabled in the x265 command line.
__________________
And if the band you're in starts playing different tunes
I'll see you on the dark side of the Moon...

Last edited by Boulder; 16th September 2019 at 13:16.
Boulder is offline   Reply With Quote
Old 17th September 2019, 10:26   #7031  |  Link
benwaggoner
Moderator
 
Join Date: Jan 2006
Location: Portland, OR
Posts: 2,953
Quote:
Originally Posted by redbtn View Post
What about new option --selective-sao? Anybody knows should i disable it, like --no-sao earlier?
https://bitbucket.org/multicoreware/...f47?at=default
The broader question is what are the psychovisual and compression efficiency impact of the different modes. The documentation is tragically light on the "why" of this feature. SAO is fast enough that I don't see any direct perf advantage of this, although perhaps it might help parallelization in some esoteric way to only do SAO on non-predicted frames or something.

But if SAO detail loss varies somewhat by frame type, only using it on intra stuff might enhance detail with less of a compression efficiency hit than turning it off outright.
__________________
Ben Waggoner
Principal Video Specialist, Amazon Prime Video

My Compression Book
benwaggoner is offline   Reply With Quote
Old 18th September 2019, 12:59   #7032  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 5,936
The media-autobuild suite now introduced experimental support for ccache.

About at the same time, I have issues building a multilib x265 encoder with the manually fiddled build script which usually worked for years already. But building in MABS passes without error.

I am not sure if I have too many linking flags which may interfere with either ccache or with the current development state of x265. It fails linking the DLL:

Code:
[ 84%] Linking CXX shared library libx265.dll
E:/MABS/msys64/mingw32/bin/../lib/gcc/i686-w64-mingw32/9.2.0/../../../../i686-w64-mingw32/bin/ld.exe: CMakeFiles/x265-shared.dir/objects.a(vec-primitives.cpp.obj):vec-primitives.cpp:(.text+0x2c): undefined reference to `x265::setupIntrinsicDCT_sse3(x265::EncoderPrimitives&)'
E:/MABS/msys64/mingw32/bin/../lib/gcc/i686-w64-mingw32/9.2.0/../../../../i686-w64-mingw32/bin/ld.exe: CMakeFiles/x265-shared.dir/objects.a(vec-primitives.cpp.obj):vec-primitives.cpp:(.text+0x39): undefined reference to `x265::setupIntrinsicDCT_ssse3(x265::EncoderPrimitives&)'
E:/MABS/msys64/mingw32/bin/../lib/gcc/i686-w64-mingw32/9.2.0/../../../../i686-w64-mingw32/bin/ld.exe: CMakeFiles/x265-shared.dir/objects.a(vec-primitives.cpp.obj):vec-primitives.cpp:(.text+0x4f): undefined reference to `x265::setupIntrinsicDCT_sse41(x265::EncoderPrimitives&)'
collect2.exe: error: ld returned 1 exit status
For a Win32 build, it fails only for the 8 bit precision library where assembler is used at all. For the Win64 build, it fails for all precisions as they all use assembler code.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 19th September 2019, 06:35   #7033  |  Link
aymanalz
Registered User
 
Join Date: May 2015
Posts: 53
Is it normal that x265 is about 20% slower on a Zen+ CPU than a Haswell, even though the Zen+ has a higher clock speed? I remember comments here about the AVX2 in AMD being only half as fast (?) as that in Intel, or something to that effect. Could that be the reason? Or could it be that the x265 developers haven't optimized the code for AMD as much as they have for Intel? It is a bit surprising, because this Zen+ architecture is from late 2018, a good few years later than Haswell.
aymanalz is offline   Reply With Quote
Old 19th September 2019, 08:46   #7034  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 9,796
Quote:
Originally Posted by aymanalz View Post
Is it normal that x265 is about 20% slower on a Zen+ CPU than a Haswell, even though the Zen+ has a higher clock speed? I remember comments here about the AVX2 in AMD being only half as fast (?) as that in Intel, or something to that effect. Could that be the reason?
Yes, the lack of full speed AVX2 is definitely a big factor, x265 uses a lot of it. Zen2 of course "solved" that shortcoming.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders
nevcairiel is offline   Reply With Quote
Old 19th September 2019, 16:20   #7035  |  Link
NikosD
Registered User
 
Join Date: Aug 2010
Location: Athens, Greece
Posts: 2,661
Quote:
Originally Posted by aymanalz View Post
Is it normal that x265 is about 20% slower on a Zen+ CPU than a Haswell, even though the Zen+ has a higher clock speed? I remember comments here about the AVX2 in AMD being only half as fast (?) as that in Intel, or something to that effect. Could that be the reason? Or could it be that the x265 developers haven't optimized the code for AMD as much as they have for Intel?
Right on both.
Zen+ has a slower implementation of AVX2 than Haswell onwards, but x265 is also optimized for Intel and favors Intel vs AMD.
Actually, Intel published a paper along with x265 developers working together for AVX-512 optimizations (Intel-only) but they didn't manage to succeed in this, AVX-512 is so ineffective for x265 that most of the times you have to disable it according to Intel, not me.
x265 is an Intel-friendly project but Zen 2 architecture and Ryzen 3000 series managed to be a lot faster in x265 and beat Intel in its own favorite H.265 encoder.
__________________
Win 10 x64 (18362.388) - Core i3-9100F - nVidia 1660 (436.15)
HEVC decoding benchmarks
H.264 DXVA Benchmarks for all
NikosD is offline   Reply With Quote
Old 19th September 2019, 20:14   #7036  |  Link
filler56789
SuperVirus
 
filler56789's Avatar
 
Join Date: Jun 2012
Location: Antarctic Japan
Posts: 923
x265.exe 3.2_RC1+1-00d8df1b3bc6
(x64, multilib, GCC 9.2.0, upxed)

http://www.mediafire.com/file/k72pa2...b3bc6.rar/file
filler56789 is offline   Reply With Quote
Old 20th September 2019, 13:52   #7037  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 5,936
I borrowed the toolchain files from the CMake call in MABS, now it builds again.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 20th September 2019, 19:10   #7038  |  Link
mini-moose
Registered User
 
Join Date: Oct 2007
Posts: 382
Quote:
Originally Posted by nevcairiel View Post
Zen2 of course "solved" that shortcoming.
The quotes on solved means they didn't solve it at all?
mini-moose is offline   Reply With Quote
Old 20th September 2019, 20:10   #7039  |  Link
Natty
Noob
 
Join Date: Mar 2017
Posts: 219
no changelog for 3.2?
Natty is offline   Reply With Quote
Old 20th September 2019, 21:18   #7040  |  Link
MeteorRain
結城有紀
 
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 615
Quote:
Originally Posted by mini-moose View Post
The quotes on solved means they didn't solve it at all?
Means it wasn't really an issue. So usually you say they improved the performance.
MeteorRain is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 12:45.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.