Log in

View Full Version : x265 HEVC Encoder


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 [108] 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197

nakTT
23rd May 2017, 03:05
For such ultra low resolutions you should stick with x264. x265 works best with FHD+ resolutions. 640x272 is less than DVD.
Thanks for the reply.

I was having the same thought to. However, based on results of quite an extensive test, x265 @ "Very Slow" preset (both 8 and 10 bit) is still noticeably better to the eyes than x264 @ "Placebo" preset (both 8 and 10 bit) even at such a low resolution and bitrate.

I do wonder if there are any settings besides a simple "Very Slow" preset (with Automated 2-Pass) that I have used that could help me further in term of visual quality without sacrificing the encoding speed too much. Hope you guys could share a thought on this.

Thank you in advance.:thanks:

This is possible, but under certain situations. I have done a lot of work with very low bitrate x265. It depends on what screen size you are viewing it on. For phone and tablet viewing, I have found even much lower bitrates to work fine.
For example, with stargate sg1, I keep the full resolution, 720x480, and encode with crf28 and nrintra 400, nrinter 400. I wouldnt normally use those, but on a small screen you cannot really see the detail loss.
Using 10bit is essential, it allows low bitrate and removes any banding due to that. The bitrates I have for s05e22 is only 119kbps! No macroblocking, etc... Heck I even just watch a bit on my 15.6 laptop screen and it is watchable. But not on a big screen, say 48".
Note this is on older versions of x265 (1.8+106), I havent tried new versions yet. I can provide full parameters if you wish.

Cheers,
Divxmaster
Thanks for the advice.

Seems like both of us share the same interest, at least as far as the very low bitrates and resolutions video encoding are concerned.

Speaking of the use of 10bit option in x265 encoding, does 12bit offer any advantage over the 10bit? I have done some testing but I can't really tell if there are any improvements in the subjective visual quality. Did you came across any situation where it does? Btw, im using "Very Slow" preset (with Automated 2-Pass) to keep the video within the selected average bitrate. Hope to hear from you soon.

Thank you in advance.:thanks:

You might find 360p (and aspect ratio equivalents) resolution (with possibly higher cfr to compensate for size) is worth it over 272p and 288p since x265 likes resolution more than texture at extreme low bitrates, and 360p seems to add just enough extra res to go from a 288p video that's "ewww" to "eh, I've seen worse."

You might even find 200 kbps or less tolerable.

720p at CFR of 28 or even higher can look surprisingly good (relatively speaking) especially the farther away/smaller the screen you watch it since when farther away grain/texture goes away and you focus more on edges of objects. But that setting will still usually use more bitrate than a "eh, I've seen worse" 360p resolution.

A main problem of higher resolution still comes down to x265 being so slow. 720p is a lot slower than 360p resolution. At extreme low bitrate, 720p may not be worth the encoding time and electricity over 360p resolution if you're just going for small size and tolerable quality.
Thanks for the reply.

I have done some further testing with 200kbps bitrate per your advice and it is indeed tolerable in quite a few use case.

As for a lower bitrates, I did quite a few testing using anime input with x264 (during its heyday) and found that even 150kbps bitrate is very much tolerable. However I have yet to give x265 a try with the same anime input. Do let me know if you have tried it with x265.

Thank you in advance.:thanks:

divxmaster
23rd May 2017, 05:40
Hi NakTT,
here are the params I used.... Although I use low bitrate, I dont use low res... not necessary...

set param=--y4m --crf 28 --psy-rd 0.3 --limit-modes --limit-refs 3 --preset slow --b-intra --ref 5 --bframes 5 --max-merge 5 --nr-intra 400 --nr-inter 400 --sar %sar% --no-open-gop --min-keyint 23 --keyint 288 --deblock -1:-1

Note this is a year old, so not optimised for latest x265 but it still works great. For phone and tablet encodes only!! I havent tried 12 bit.
Cheers,
Divxmaster

Barough
25th May 2017, 18:12
x265 v2.4+27-e9e574bbed93 (http://www42.zippyshare.com/v/26AfVjXo/file.html) (MSYS/MinGW, GCC 6.3.0, 32 & 64bit 8/10/12bit multilib EXEs)

x265 : HEVC encoder version 2.4+27-e9e574bbed93
x265 [info]: build info [Windows][GCC 6.3.0][32 bit/64 bit] 8bit+10bit+12bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2

https://bitbucket.org/multicoreware/x265/commits/branch/default

[I]HDR10+ Enabled

x265_Project
26th May 2017, 04:28
HDR10 Enabled
I think you meant to say HDR10+.

HDR10 has been enabled in x265 for 2 years.

Barough
27th May 2017, 11:41
x265 v2.4+28-f850cdbe381c (http://www115.zippyshare.com/v/HSVMHt3K/file.html) (MSYS/MinGW, GCC 6.3.0, 32 & 64bit 8/10/12bit multilib EXEs)

x265 : HEVC encoder version 2.4+28-f850cdbe381c
x265 [info]: build info [Windows][GCC 6.3.0][32 bit/64 bit] 8bit+10bit+12bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2

https://bitbucket.org/multicoreware/x265/commits/branch/default

[I]HDR10+ Enabled

eclipse98
28th May 2017, 05:30
Back in Sept 2016 when we encoded our videos with x265 - took a bit of experimenting and we settled on pretty simple set-up with 2.0 build (slow preset, CRF26), 1080 60 fps footage at 6-8mbps.

Now, 9 months later with 2.4 build, exact same footage (same slow preset, CRF26 settings) encodes at around 10-15% higher bitrate - previously encoded 6000 kbps video is now in 6800-6900 kbps range.

Expectations were, of course, that given same CR we should see lower bit rate OR higher CR at same bit rate, so it's quite a disappointment to say the least.
Understandably presets have changed - but still one should expect improvements for the same CR.

What am I missing here ? Please advice ! :thanks:

sneaker_ger
28th May 2017, 07:30
Same CRF does not guarantee exact same quality with different settings and/or different x265 versions. If you want lower bitrate increase CRF a bit to compensate. If you want to compare old to new version encode to same bitrate using 2pass.

Boulder
28th May 2017, 08:24
The new lambda tables that were introduced recently increase the bitrate.

LoRd_MuldeR
28th May 2017, 13:22
The new lambda tables that were introduced recently increase the bitrate.

Increases bitrate for what?

If you use 2-Pass mode, then "old" and "new" lambda tables should produce the exactly same bitrate. And, if you use CRF mode, then you must not expect any particular bitrate anyway. It is likely that the introduction of the "new" lambda tables has changed the "meaning" of CRF values - once again. If, for example, the same CRF value results in a higher bitrate with "new" lambda tables, compared to "old" lambda tables, it means exactly nothing - because you are not taking into account at all how quality has changed at the same CRF value! Quite possibly, you can now (with "new" lambda tables) retain "similar" quality at a higher CRF value and therefore, in fact, get away with a lower bitrate...

So, if you want to do a "fair" comparison between the "old" and the "new" lambda tables, you have to compare clips with the exactly same average bitrate, i.e. clips created in 2-Pass mode. Then you can decide which one looks better.

(And once you have decided whether you prefer "old" or "new" lambda tables, you can re-adjust "your" CRF value for the new situation)

LigH
28th May 2017, 13:34
The "rate factor" is not a metric for a subjective quality impression. It is a measurable value for objective quality loss (~ difference between input and reconstructed video after quantization, possibly influenced by psycho-visual tweaks). Different encoding options may cause quality loss in different areas (e.g. frequency ranges), causing different bitrates despite the same CRF limit.

Boulder
28th May 2017, 13:57
Increases bitrate for what?

Quote Tom : "Note that a constant QP or CRF encode will probably be larger than your default encode"

If the user is using the exact same settings with the exact same video, the difference in the bitrate comes from the new lambda tables. My guess is that he has a lot of similar videos to encode and has found out the "average" bitrate level where they end up, and now the new version produces higher bitrates with the same settings.

What I personally did was that I adjusted CRF accordingly based on encoding the same couple of clips with the old and new lambdas (otherwise the same settings), so that the final result of the new version produces a slightly larger file.

LoRd_MuldeR
28th May 2017, 14:08
Quote Tom : "Note that a constant QP or CRF encode will probably be larger than your default encode"

If the user is using the exact same settings with the exact same video, the difference in the bitrate comes from the new lambda tables.

Yes. But it's more fundamental: If the user expects a certain fixed CRF value to result in a certain bitrate, then the user hasn't understood how CRF mode works. And, if the user thinks that comparing the bitrates that result from a certain fixed CRF value between different encoder configurations - may it be different lambda tables or something else - is meaningful (without considering how quality has changed as well!) hasn't understood how CRF mode works either.

It's all about compression efficiency, i.e. the "quality per bit" ratio. If some change (e.g. the "new" lambda tables) improves the compression efficiency, then it means that you can either get an improved quality at the same (average) bitrate, or that you can get a reduced (average) bitrate at the same quality. Conversely, if some change hurts the compression efficiency, then it means that you either get a worse quality at the same (average) bitrate, or that you get an increased (average) bitrate at the same quality. But, in any case, with CRF mode you simply do not know where exactly on the "quality/bitrate" curve you are going to end up. Therefore, it is quite possible that, even though the compression efficiency (i.e. the "quality per bit" ratio) has improved, the absolute bitrate - at a certain fixed CRF value - has increased as well! In the end, all you really know is that the absolute bitrate has changed and that the absolute quality (probably) has changed at the same time.

In order to draw a useful conclusion, at least one of the two factors - usually the average bitrate - needs to remain unchanged. Which means that you need to use 2-Pass mode, with same target bitrate, and then compare the resulting quality.

(In theory it is also possible to adjust the CRF value of each encode, until both configurations produce the exactly same quality and then compare the resulting bitrates. But this is much more difficult to do properly!)


What I personally did was that I adjusted CRF accordingly based on encoding the same couple of clips with the old and new lambdas (otherwise the same settings), so that the final result of the new version produces a slightly larger file.

IMO, the right method would be to adjust the CRF values until both - the "new" and the "old" lambda tables - produce the exactly same quality. Then, and only then, a comparison of the resulting bitrates would be meaningful.

But, because establishing "exactly same quality" is very difficult to do (probably would require a lot of ABX testing), it is much more easy to just encode in 2-Pass mode, at the same bitrate, and then decide which "flavor" looks better (if any).

LigH
28th May 2017, 18:27
x265 2.4+27-e9e574bbed93 (https://www.mediafire.com/file/406er6d04ob964k/x265_2.4%2B27-e9e574bbed93.7z) (merge with stable): more fields in rcStats and CSV file

Atak_Snajpera
28th May 2017, 18:30
x265_2.4+27-e9e574bbed93 (https://www.mediafire.com/file/406er6d04ob964k/x265_2.4%2B27-e9e574bbed93.7z) (merge with stable): more fields in rcStats and CSV file

Thanks. I have been waiting for your builds.

x265_Project
28th May 2017, 18:53
Back in Sept 2016 when we encoded our videos with x265 - took a bit of experimenting and we settled on pretty simple set-up with 2.0 build (slow preset, CRF26), 1080 60 fps footage at 6-8mbps.

Now, 9 months later with 2.4 build, exact same footage (same slow preset, CRF26 settings) encodes at around 10-15% higher bitrate - previously encoded 6000 kbps video is now in 6800-6900 kbps range.

Expectations were, of course, that given same CR we should see lower bit rate OR higher CR at same bit rate, so it's quite a disappointment to say the least.
Understandably presets have changed - but still one should expect improvements for the same CR.

What am I missing here ? Please advice ! :thanks:

As others have pointed out, the new lambda tables have changed the quality and bit rate you will achieve for a given QP or CRF value, with a given video title. To hit the same bit rate as before, you would have to adjust your QP or CRF value up a bit. We're confident, however, that you will achieve higher subjective quality at identical bit rates to your older encodes.

Boulder
28th May 2017, 19:02
IMO, the right method would be to adjust the CRF values until both - the "new" and the "old" lambda tables - produce the exactly same quality. Then, and only then, a comparison of the resulting bitrates would be meaningful.

But, because establishing "exactly same quality" is very difficult to do (probably would require a lot of ABX testing), it is much more easy to just encode in 2-Pass mode, at the same bitrate, and then decide which "flavor" looks better (if any).
That's why I trust the developers (and their QA people) and just adjusted the CRF to compensate. It was already enough work to initially find out the CRF level which will produce a good result with x265 without the bitrate skyrocketing :)

pingfr
28th May 2017, 20:07
As others have pointed out, the new lambda tables have changed the quality and bit rate you will achieve for a given QP or CRF value, with a given video title. To hit the same bit rate as before, you would have to adjust your QP or CRF value up a bit. We're confident, however, that you will achieve higher subjective quality at identical bit rates to your older encodes.

CRF 18 was mostly considered as the "sweet spot" with the 2.3 base, what would be it's equivalent now with 2.4?

eclipse98
28th May 2017, 22:43
As others have pointed out, the new lambda tables have changed the quality and bit rate you will achieve for a given QP or CRF value, with a given video title. To hit the same bit rate as before, you would have to adjust your QP or CRF value up a bit. We're confident, however, that you will achieve higher subjective quality at identical bit rates to your older encodes.

OK, that makes sense, we'll adjust CRF accordingly to hit similar bitrates. Appreciate everybody's input, keep up the good work !

Cheers !

eclipse98
28th May 2017, 23:36
Yes. But it's more fundamental: If the user expects a certain fixed CRF value to result in a certain bitrate, then the user hasn't understood how CRF mode works. And, if the user thinks that comparing the bitrates that result from a certain fixed CRF value between different encoder configurations - may it be different lambda tables or something else - is meaningful (without considering how quality has changed as well!) hasn't understood how CRF mode works either.

Thank you for the lesson! There was never an expectation that same CRF will result in same bitrate for different sources. Our goal was to maintain similar video quality across multiple (100+) videos. So CRF, rather than pre-defined bitrate, was an obvious (and faster) choice.

We observed bitrates from 2-10 mbps since our sources have quite significant variety, from wooded forests to almost desert-like conditions. Which is fine, as long as quality is "similar" (I understand it is very subjective).

Going forward we need to maintain that same "comparable" video quality. Clearly, recent changes in lambda tables (I have no clue what it is :)) did result in better quality and higher bitrates (for same settings) when compared to older encodes. So, it's back to the drawing board to find out which new CRF value will allow us to meet our goals.

Thanks again for all your help, Cheers !

nakTT
29th May 2017, 21:18
Hi NakTT,
here are the params I used.... Although I use low bitrate, I dont use low res... not necessary...

set param=--y4m --crf 28 --psy-rd 0.3 --limit-modes --limit-refs 3 --preset slow --b-intra --ref 5 --bframes 5 --max-merge 5 --nr-intra 400 --nr-inter 400 --sar %sar% --no-open-gop --min-keyint 23 --keyint 288 --deblock -1:-1

Note this is a year old, so not optimised for latest x265 but it still works great. For phone and tablet encodes only!! I havent tried 12 bit.
Cheers,
Divxmaster
Thanks for the reply.

I will give it a try and see if it works with the latest version of x265.

Winston_Smith_101
4th June 2017, 20:44
At 4.5.-8.5.2017 there were some speed optimizations in areas of the codec. Are there still more to be expected for the future?

Midzuki
5th June 2017, 10:15
x265.exe 2.4+36-de49a722b256

https://forum.videohelp.com/threads/357754-%5BHEVC%5D-x265-EXE-mingw-builds?p=2487738&viewfull=1#post2487738

benwaggoner
5th June 2017, 17:32
At 4.5.-8.5.2017 there were some speed optimizations in areas of the codec. Are there still more to be expected for the future?
x264 is still getting speed optimizations. x265 has years more ahead of it, I am sure. AVX-512 hardware is only just rolling out!

Thunderbolt8
5th June 2017, 18:38
arent there any real profiles or gui options to specify for x265 yet aside from the command line? at least in MeGUI there is nothing like that which is available for x264.

benwaggoner
5th June 2017, 18:40
arent there any real profiles or gui options to specify for x265 yet aside from the command line? at least in MeGUI there is nothing like that which is available for x264.



MeGUI just hasn't implemented a full GUI for x265 yet. Other products have much richer GUI options. It's all available via API.


Sent from my iPhone using Tapatalk

x265_Project
5th June 2017, 19:37
Apple adds HEVC support to iOS and MacOS ...https://www.cnet.com/news/apple-answers-iphone-storage-woes-with-smaller-photos-videos/

LigH
6th June 2017, 00:30
x265 2.4+36-de49a722b256 (https://www.mediafire.com/file/lrq9h0eb2jsdej6/x265_2.4%2B36-de49a722b256.7z)

New parameters:

--scale-factor <int> Specify factor by which input video is scaled down for analysis save mode. Default 0
--[no-]refine-intra Enable intra refinement for load mode. Default disabled
--[no-]refine-inter Enable inter refinement for load mode. Default disabled

pradeeprama
6th June 2017, 10:48
arent there any real profiles or gui options to specify for x265 yet aside from the command line? at least in MeGUI there is nothing like that which is available for x264.

You can give this consumer application a spin and see if it works out for you: https://x265.com/create-hevc-video/what-is-hevc/

troica
6th June 2017, 12:55
Is this x265 encoder using a C++ language (Microsoft Visual Studio)?

sneaker_ger
6th June 2017, 13:01
Yes, it's mostly written in C++. You can compile it using Visual Studio. For source code and compile instructions see: https://bitbucket.org/multicoreware/x265/wiki/Home

troica
7th June 2017, 09:33
Thank you!

Another question. If I want to know which source code lines do a specific thing (e.g. intracoding and intercoding mode of HEVC in the Encoder side), how do I run or debug each line? Is there a single step command? Thank you. It's for my thesis by the way.

LigH
7th June 2017, 10:05
Please read the documentation of your Visual Studio about how to use its debugger, how to set breakpoints on source lines, how to run a debugging session of a CLI application with command line parameters. That's just not the topic of this thread...

troica
7th June 2017, 11:21
I already know how to do that, what I mean is, is there some a way for us debuggers to see the actual modifications (e.g. in a video sequence) or do you really need to guess what parameters are being modified per line?

LigH
7th June 2017, 13:28
Debuggers usually allow to "watch expressions", so when a breakpoint is caught, you can usually inspect the value of specific variables at this point. And x265 is commercial-grade software with quite clean, verbose, and well documented sources, so you should find most variable and function names telling you something about their purpose.

Natty
8th June 2017, 07:13
in order to use --refine-mv we must have analysis = load and refine level = 10, but to use them we must disable mutlipass-opt-rps, multipass-opt-analysis and distortion. am i right ? :readrule:

benwaggoner
8th June 2017, 18:14
in order to use --refine-mv we must have analysis = load and refine level = 10, but to use them we must disable mutlipass-opt-rps, multipass-opt-analysis and distortion. am i right ? :readrule:
That sounds right. I'd like to better understand the pros/cons of each option.

One drawback to Refine Level 10 is HUGE log files. Typically a lot bigger than the encoded bitstream.

Natty
9th June 2017, 07:10
That sounds right. I'd like to better understand the pros/cons of each option.

One drawback to Refine Level 10 is HUGE log files. Typically a lot bigger than the encoded bitstream.

i get huge log (analysis) file even with refine level 5 to 9. i use 9. i cant use 10 though (along with refine-mv) because it needs new multipass options disabled. so i would like to know if those 3 multipass commands would produce a better result or refine-mv alone.

Barough
11th June 2017, 00:04
x265 v2.4+37-e75d5f5eeae3 (http://www23.zippyshare.com/v/4kIvr4MD/file.html) (MSYS/MinGW, GCC 6.3.0, 32 & 64bit 8/10/12bit multilib EXEs)

x265 [info]: HEVC encoder version 2.4+37-e75d5f5eeae3
x265 [info]: build info [Windows][GCC 6.3.0][32 bit/64 bit] 8bit+10bit+12bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2

https://bitbucket.org/multicoreware/x265/commits/branch/default

LigH
12th June 2017, 14:24
x265 2.4+41-82ba8c85f8e9 (https://www.mediafire.com/file/papx661ixcl4cgn/x265_2.4%2B41-82ba8c85f8e9.7z)

AVX2 speedup for integral4h; add support for hdr-opt even when aq-mode is disabled; moved CSV feature into libx265; fix slicetype mismatch between analysis save and load modes

LigH
13th June 2017, 09:35
x265 2.4+61-28bbc349d170 (GCC 6.3.0) (https://www.mediafire.com/file/g6ix29o274vg6tm/x265_2.4%2B61-28bbc349d170.GCC630.7z)
x265 2.4+61-28bbc349d170 (GCC 7.1.0) (https://www.mediafire.com/file/ck8xpa432nk29cr/x265_2.4%2B61-28bbc349d170.GCC710.7z)

major overhaul of x86inc assembler routines (in sync with those in x264)

pingfr
13th June 2017, 10:53
Wow! Impressive.

If I'm not mistaken the commits between 2.4+41 and 2.4+61 are more or less all about code cleanup and optimization thus yielding (at least in theory) speedup gains. :)

Kudos to the devs, hope we get to see even more improvements in that grey area soon enough. :)

Boulder
13th June 2017, 11:21
Too bad it's only x86 :)

LigH
13th June 2017, 11:49
I'd assume changes to be relevant for x86 as well as x86-64. Which architecture do you prefer instead, PowerPC or ARM big.LITTLE? ;)

This set of patches is intended update x86inc.asm file. This synchronises x86inc with that of x264.

Boulder
13th June 2017, 11:59
I'd assume changes to be relevant for x86 as well as x86-64. Which architecture do you prefer instead, PowerPC or ARM big.LITTLE? ;)Hehe, I'm spoiled so I usually expect x86 or x64. Read too many times that x86 assembly is not the same as x64 :)

LigH
13th June 2017, 12:06
Of course, there are differences between "legacy" x86 and x86-64 a.k.a. AMD64 (e.g. twice as many and twice as wide registers); and in fact, using assembler optimizations is disabled for 32 bit builds with High Bit Depths because it would be inefficient to spend development time on a quite restricted platform (already FullHD resolutions will probably hit RAM limits for 32-bit processes). But I believe a few routines still exist in both variants.

nevcairiel
13th June 2017, 14:50
The entire point of the "x86inc.asm" framework developed for x264 and used by x265 as well as ffmpeg is to make it easier to write ASM code that works on both x86_32 and x86_64, as well as on various platforms (ie. Linux/Unix and Windows), because calling conventions also vary. That of course doesn't mean that all ASM code automatically works on both 32-bit and 64-bit, since 64-bit offers twice the amount of registers its often much easier to write complex ASM for 64-bit with double the registers to use.

Magik Mark
14th June 2017, 00:50
Just a clarification on "Analysis Mode"

If I want to to reuse the analysis data writen by an earlier encode of the same sequence, I have to execute "--analysis-mode load"?

Are there any other prerequisites? In "--multi-pass-opt-analysis" and "--multi-pass-opt-distortion", "cu-tree" needs to be off. I might be missing something. Just want to be sure

Natty
14th June 2017, 21:52
Just a clarification on "Analysis Mode"

If I want to to reuse the analysis data writen by an earlier encode of the same sequence, I have to execute "--analysis-mode load"?

Are there any other prerequisites? In "--multi-pass-opt-analysis" and "--multi-pass-opt-distortion", "cu-tree" needs to be off. I might be missing something. Just want to be sure
yes u need to turn them off sadly, even refine-mv requires those options to be disabled :(

Kavitha
16th June 2017, 05:11
Just a clarification on "Analysis Mode"

If I want to to reuse the analysis data writen by an earlier encode of the same sequence, I have to execute "--analysis-mode load"?

Are there any other prerequisites? In "--multi-pass-opt-analysis" and "--multi-pass-opt-distortion", "cu-tree" needs to be off. I might be missing something. Just want to be sure


-analysis-load isn't going to provide any benefit in pass 2 unless you use --analysis-save. Both the analysis modes require cutree, pmode to be off. Even if these options are 'on', x265 internally turns them off with a warning.

santhoshini
16th June 2017, 05:25
Just a clarification on "Analysis Mode"

If I want to to reuse the analysis data writen by an earlier encode of the same sequence, I have to execute "--analysis-mode load"?

Are there any other prerequisites? In "--multi-pass-opt-analysis" and "--multi-pass-opt-distortion", "cu-tree" needs to be off. I might be missing something. Just want to be sure

To use multi-pass-opt-analysis/multi-pass-opt-distortion the first pass must include --multi-pass-opt-analysis/multi-pass-opt-distortion. These
options do not rely on --analysis-save (it's a different type of analysis that is saved in the 1st pass) and they do not work in conjunction with analysis-save/analysis-load modes. multi-pass-opt-analysis/multi-pass-opt-distortion does not require cu-tree to be off but requires pmode/pme to be turned off.

We'll clarify the online documentation about these options.