26

Re: First x264 encoding test doesn't look great.

Selur wrote:

Just set the "Preset" to "Medium".. got It..

and press the 'Apply'-button next to it otherwise nothing will change.

smile Cheers.> i spotted that, as the string didn't change at the bottom until I did it....

27

Re: First x264 encoding test doesn't look great.

Oh yes!!! Thats done it.. Medium Preset does not have the blocking!!!

Does this mean that If I went to "very slow" it could be even better?

Good work.. Where do we go from here? Should I just use Medium from now on, or do you think there is something here for you to develop/fix?

If you want me to do any tests using specific switches/options, please let me know!!


Jon

28

Re: First x264 encoding test doesn't look great.

Where do we go from here? Should I just use Medium from now on, or do you think there is something here for you to develop/fix?

If you want me to do any tests using specific switches/options, please let me know!!

"--no-fast-pskip --trellis 0 --weightp 1 --aq-mode 2" are the main differences between Hybrids defaults and the x264 defaults.
Would be cool if you could test if one of these features is the culprit of the problem (starting from the x264 defaults):

  • x264->Quantization->Advanced Quantization Settings->Adaptive quantization:

    • x264 default: 'manual'

    • Hybrid default: 'automatic'

  • x264->Quantization->Advanced Quantization Settings->Trellis quantization:

    • x264 default: 'MBs only'

    • Hybrid default: 'disabled'

  • x264->Frames->General settings->Fast p-frame skip:

    • x264 default: enabled

    • Hybrid default: disabled

  • x264->Frames->General settings->Weighted P-frame prediction:

    • x264 default: 'refs+dupl'

    • Hybrid default: 'refs'

Depending on which feature is the culprit I would adjust the Hybrid defaults to avoid this problem in the future.

Does this mean that If I went to "very slow" it could be even better?

yes, but to be sure it might be good to check out which feature is the culprit.

Cu Selur

29 (edited by jweaver 2014-02-27 18:42:49)

Re: First x264 encoding test doesn't look great.

Hang on a sec.. I have just spotted something.. Perhaps this is user error..

When Hybrid loads, the window at the bottom of the x264 window shows:

x264 --pass 1 --bitrate 1500 --profile high --level 4.1 --direct auto --qcomp 0.5 --weightp 1 --aq-mode 0 --qpfile GENERATED_QP_FILE --non-deterministic --stats "PATH TO THE .stats FILE" --fps 25000/1000 --input-res 48x48 --output NUL -

x264 --pass 2 --bitrate 1500 --profile high --level 4.1 --direct auto --qcomp 0.5 --partitions i4x4,p8x8,b8x8 --no-fast-pskip --subme 5 --trellis 0 --weightp 1 --aq-mode 0 --vbv-maxrate 62500 --vbv-bufsize 78125 --qpfile GENERATED_QP_FILE --non-deterministic --colormatrix undef --stats "PATH TO THE .stats FILE" --fps 25000/1000 --input-res 48x48 --output OUTPUTFILE -

As you change things like the bitrate, the numbers increase in real time.. But after you mentioned the "x264 Hybrid Default" I noticed the arrow and when you click on it, the box changes to:

x264 --pass 1 --bitrate 1500 --profile high --level 4.1 --direct auto --lookahead-threads 1 --sync-lookahead 15 --qcomp 0.5 --weightp 1 --aq-mode 0 --qpfile GENERATED_QP_FILE --non-deterministic --stats "PATH TO THE .stats FILE" --fps 25000/1000 --input-res 48x48 --output NUL -

x264 --pass 2 --bitrate 1500 --profile high --level 4.1 --direct auto --lookahead-threads 1 --sync-lookahead 15 --qcomp 0.5 --partitions i4x4,p8x8,b8x8 --no-fast-pskip --subme 5 --trellis 0 --weightp 1 --aq-mode 0 --vbv-maxrate 62500 --vbv-bufsize 78125 --qpfile GENERATED_QP_FILE --non-deterministic --colormatrix undef --stats "PATH TO THE .stats FILE" --fps 25000/1000 --input-res 48x48 --output OUTPUTFILE -


I take it that this means I havn't been encoding using "The Hybrid Defaults"? Should I be? Am I ment to hit this arrow to load the "default" config before I add the job to the queue?

I will do another test after clicking the arrow to see if this makes any difference.

Jon

30

Re: First x264 encoding test doesn't look great.

I will setup a bunch of jobs tonight and test out all of these options, as well as trying with teh "Hybrid Default" loaded.. I will have an answer for you by the end of the night.. Bear with me.

Thanks for your help with this.. I REALLY do appreciate it.

Jon

31

Re: First x264 encoding test doesn't look great.

Nope, you should be fine, "--lookahead-threads 1" and "--sync-lookahead 15" get calculated and should not really cause a problem.

32

Re: First x264 encoding test doesn't look great.

Cool. So I will do 8 jobs tonight (9 actually as I will load the Hybrid defaults just for my curiosity) and will let you know the outcome...

Fingers crossed one of the options is to blame...

Jon

33 (edited by jweaver 2014-02-27 19:03:56)

Re: First x264 encoding test doesn't look great.

Actually. This has given me justification to ask for a 'change/feature' request.. could you make the Generate: box "dynamic" so you can type in it?

During these tests, I have been naming my output to something meaningful like "Test at 2500K with DTS to AC3 at 384K".. Then I have been changing my settings and want to simply change this to "Test at 2000K etc etc etc"...

It would be nice to be able to edit the filename in the box by simply typing.. But instead I have to click on the arrow and then type it into the output file screen, with no way to edit what I chose before...

Its not urgent, but it would be nice for cases like this where you want to change the name of the output file.

Jon

34

Re: First x264 encoding test doesn't look great.

Could you make the Generate: box "dynamic" so you can type in it?

Nope, the 'Output File' specification will never be directly editable.
To many strange things can be done in a cross plattform environment and parsing and validating all of them is simply to much of a hassle. (in example named pipes under Windows, different network mounting syntaxes -> I prefer to let the OS native file dialog handle this wink)
Generate can be modified through Config->Output->Filename generation" or alternatively simply do not enable generate and set the output manually by pressing the 'Output File'-button, selecting a folder and typing in a name.

35 (edited by jweaver 2014-02-28 11:45:12)

Re: First x264 encoding test doesn't look great.

Selur wrote:

Could you make the Generate: box "dynamic" so you can type in it?

Nope, the 'Output File' specification will never be directly editable.
To many strange things can be done in a cross plattform environment and parsing and validating all of them is simply to much of a hassle. (in example named pipes under Windows, different network mounting syntaxes -> I prefer to let the OS native file

Makes perfect sense.. Disappointing, but I get what you are saying.. Last nights tests highlighted how useful this would be,  as I had to cancel many jobs and twice start from scratch, because I had got confused with my naming.

But it doesn't matter.. Its not a big deal..

OK.. So the tests.. I am not sure what conclusion that I can draw and I hope this means something to you, but ALL of the options that I tried created acceptible output.. I need to scrutinize them closes, but all of the videos I created did not have the blocking.

I set each option.. Created a "job" and then unset it again and tried another.. So each of the 9 videos I did, enabled each option you wanted in turn (rather than leaving them switched on). I am starting to doubt my own test so I want to do a few more.

But from what I saw last night.. If I "Open File.. Set Bitrate to 2500.. Output to file.. Start job", I  get the blocking

But. if I "Open file.. Set bitrate to 2500.. Set one of the options you wanted.. Start job", then I DO NOT get the blocking.

So the conclusion is either every one one of the option solves the blocking.. OR there is a big which is fixed by toggling an option.. This is why I want to do a few more tests..

Can you draw any conclusions or theories from this?

I am going start at the beginning again.. Create a 'bad' outut using the default settings.. Then turn something on (i.e Adaptive quantization) and see if the output is good.. And then disable it again and make sure that it goes back to being bad...

So the 3 jobs I have setup now are:

1. Default settings 2500kbs - Should produce blocky output
2. Toggle Adaptive Quantization to Auto - Should produce acceptible output
3. Toggle Adaptive Quantization back to Disabled (effectivly settings back to default) - I would assume this would create a blocky output again.

Will report in a few hours once its done (I think I should start going to 1 pass to speed this up).
.
Jon

36

Re: First x264 encoding test doesn't look great.

But. if I "Open file.. Set bitrate to 2500.. Set one of the options you wanted.. Start job", then I DO NOT get the blocking.

So the conclusion is either every one one of the option solves the blocking.. OR there is a big which is fixed by toggling an option.. This is why I want to do a few more tests..

Can you draw any conclusions or theories from this?

May be there is something wrong with the x264 binary that I added to the build, try if anything changes if you replace the x264.exe with a 'clear' one from http://komisar.gin.by/.

1. Default settings 2500kbs - Should produce blocky output
2. Toggle Adaptive Quantization to Auto - Should produce acceptible output
3. Toggle Adaptive Quantization back to Disabled (effectivly settings back to default) - I would assume this would create a blocky output again.

if the theory is correct that either "Adaptive Quantization" is the problem or any option change fixes the problem.

Will report in a few hours once its done

nice

(I think I should start going to 1 pass to speed this up).

yes smile

Makes perfect sense.. Disappointing, but I get what you are saying.. Last nights tests highlighted how useful this would be,  as I had to cancel many jobs and twice start from scratch, because I had got confused with my naming.

How about simply enabling 'Generate' and simply changing the 'Suffix' for each encode? (this is how I normally do things if I do such tests and want to keep 'Generate' enabled.

37

Re: First x264 encoding test doesn't look great.

It looks like it might be a bug...

1. I loaded the file. Set the Audio to Ignore and the Video to x264 and the Biterate to 2500kbs and did the job.. The output is blocky.

2. I then changed the Adaptive Quantization to Automatic and left all the other settings the same.. The output is acceptible (no blocks)

3. I then changed the Adaptive Quantization back to "disabled", effectivly making the test the same as 1, and the output is also fine.

It seems that changing any setting fixes this.. .But I don't know how why......

I am now going to do a few more tests and will look to get that 'clean' version of the x264 binaries too.. Hold on.

What is depressing is that my work laptop is about 4x faster than my home PC, so I am actually able to do more tests at work, than I am at home smile

38

Re: First x264 encoding test doesn't look great.

I have looked at the binaries and am not sure what I am looking at.

In your install folder the x264 binaries are 1292K (64bit) and 1464 (32bit)

But the ones on the download site are all 8000+K

So they are different.. But properties shows they are the same verison... Can I use them? I am going to do a test to see what happens.

39

Re: First x264 encoding test doesn't look great.

Can I use them?

Yes, the version from Komisar just also include some additional extensions which make the binary larger.

on a 64bit system you need to download:
x264.2389.x86_64.exe and rename it to x264.exe
x264.2389.10bit.x86_64.exe and rename it to x264-10bit.exe
and then move them into the Hybrid folder

on a 32bit system you need to download:
x264.2389.x86.exe and rename it to x264.exe
x264.2389.10bit.x86.exe and rename it to x264-10bit.exe
and then move them into the Hybrid folder

If switching out the x264 binaries does not remove this anomaly, please redo:

1. I loaded the file. Set the Audio to Ignore and the Video to x264 and the Biterate to 2500kbs and did the job.. The output is blocky.

2. I then changed the Adaptive Quantization to Automatic and left all the other settings the same.. The output is acceptible (no blocks)

3. I then changed the Adaptive Quantization back to "disabled", effectivly making the test the same as 1, and the output is also fine.

but create 3 separate debug output files (you have to rename the HybridDebugOutput.txt after each job), zip them and attach them (or upload them somewhere and send me a link or send them to me via email; see Contact).
Comparing the three debug outputs I should be able to see if there are some unexpected changes between the passes.

Cu Selur

40

Re: First x264 encoding test doesn't look great.

I had already downloaded/renamed the x264 binaries and used them for a test and its the same. So there is nothing wrong with the Binaries.

I have now been working through a series of tests, trying to find out exactly what triggers this, and it simply seems that as soon as you enable any of the options you mention in Post 28, it fixes the problem, even if you disable them after.

I did have a theory that simply clicking on the 'advanced' button did this, as a couple of extra options are added to the config, but I have proved that its not the case.

Now I am doing as test, where I toggle "Adaptive Quantization" to Auto adn then back to disabled and try again.. I want to work out whether you need to add a job with it set to 'auto', or whether simply toggling this on the GUI does it.

I will report my findings shortly, and then I will set about doing the debug for you.

Jon

41

Re: First x264 encoding test doesn't look great.

I will report my findings shortly, and then I will set about doing the debug for you.

Nice, that should help figure out what changes. Something with the encoder call or the decoder call should change, if not the only 'random' feature I can thing of is "x264->Misc->Main->Restrictions->Non-deterministic encoding", but normally it should not change the quality in such a way as we see it here.

42 (edited by jweaver 2014-02-28 19:04:53)

Re: First x264 encoding test doesn't look great.

Ok. I have finally been able to reproduce it.. Frankly, it was obvious and easy based on what I saw last night and I didn't do of the following tests to get there.. Infact this just re-affirms what we have already learned..

So let me just show you what I did today. I exited Hybrid between most tests (except 2 and 3) as I wanted to make sure that nothing was carried over.

1. Select video file and encode - Blocky
2. Adaptive Quantization = Auto - Not blocky
3. Adaptive Quantization back to disabled - Not blocky
4. New x264s EXEs doing a load and encode - Blocky
5. Select video file. Click arrow next to 'x264 Hybrid Defaults' - Blocky
6. Selected 'Advanced' x264 radio button - Blocky

So at this point, it seems that its got everything to do with changing things on the Advance tab, so as a final test

7. Select video.. Set Adaptive Quantization from Disabled -> Auto.. Set Adaptive Quantizatio from Auto -> Disabled.. Encode


This final test produces a NON blocky output.. So the very fact that you enable an advance feature, and the disable does something. And this applies to all of the things you asked me to do (i.e Fast Frame Skip, Weighted P-frame,  adaptive quantization, etc).. I just seems that toggling them has an effect on the final output, even if the setting you leave it on is default.

Looking at the config when you do the tests, you see this:

Initially

x264 --pass 1 --bitrate 2500 --profile high --level 4.1 --direct auto --qcomp 0.5 --weightp 1 --aq-mode 0 --qpfile GENERATED_QP_FILE --non-deterministic --stats "PATH TO THE .stats FILE" --fps 25000/1000 --input-res 48x48 --output NUL -

x264 --pass 2 --bitrate 2500 --profile high --level 4.1 --direct auto --qcomp 0.5 --partitions i4x4,p8x8,b8x8 --no-fast-pskip --subme 5 --trellis 0 --weightp 1 --aq-mode 0 --vbv-maxrate 62500 --vbv-bufsize 78125 --qpfile GENERATED_QP_FILE --non-deterministic --colormatrix undef --stats "PATH TO THE .stats FILE" --fps 25000/1000 --input-res 48x48 --output OUTPUTFILE -

Setting AQ to Auto

x264 --pass 1 --bitrate 2500 --profile high --level 4.1 --direct auto --qcomp 0.5 --weightp 1 --aq-mode 2 --qpfile GENERATED_QP_FILE --non-deterministic --stats "PATH TO THE .stats FILE" --fps 25000/1000 --input-res 48x48 --output NUL -

x264 --pass 2 --bitrate 2500 --profile high --level 4.1 --direct auto --qcomp 0.5 --partitions i4x4,p8x8,b8x8 --no-fast-pskip --subme 5 --trellis 0 --weightp 1 --aq-mode 2 --vbv-maxrate 62500 --vbv-bufsize 78125 --qpfile GENERATED_QP_FILE --non-deterministic --colormatrix undef --stats "PATH TO THE .stats FILE" --fps 25000/1000 --input-res 48x48 --output OUTPUTFILE -

Setting AQ back to Disabled

x264 --pass 1 --bitrate 2500 --profile high --level 4.1 --direct auto --qcomp 0.5 --no-mbtree --weightp 1 --aq-mode 0 --qpfile GENERATED_QP_FILE --non-deterministic --stats "PATH TO THE .stats FILE" --fps 25000/1000 --input-res 48x48 --output NUL -

x264 --pass 2 --bitrate 2500 --profile high --level 4.1 --direct auto --qcomp 0.5 --no-mbtree --partitions i4x4,p8x8,b8x8 --no-fast-pskip --subme 5 --trellis 0 --weightp 1 --aq-mode 0 --vbv-maxrate 62500 --vbv-bufsize 78125 --qpfile GENERATED_QP_FILE --non-deterministic --colormatrix undef --stats "PATH TO THE .stats FILE" --fps 25000/1000 --input-res 48x48 --output OUTPUTFILE -



So changing AQ from Disabled -> Auto -> Disabled sets --aq-mode 0 to --aq-mode 2 to --aq-mode 0, but I notice that when you go back to Disabled again, it also adds "--no-mbtree"

Could this mean anything?

As you said the next steps are debug files.. So I will run the tests tonight, capture the debugs and mail you... Hopefully you will be able to work out whats going wrong.

Jon

43

Re: First x264 encoding test doesn't look great.

Could this mean anything?

yes, it could.
And I can reproduce the behavior. smile
-> have to check the code why Hybrid adds "--no-mbtree".

Please check setting x264->Rate Control->Macroblock tree rate control to "disabled" produces non-blocky output.

Cu Selur

44

Re: First x264 encoding test doesn't look great.

Okay, I know what happens.

MB-tree requires adaptive quantization to be set to 'auto', but adaptive quantization 'auto' does not require mb-tree.
So what happens is, when adaptive quantization get's disables it also disables mb-tree.
So when you switch adaptive quantization to 'auto', Hybrid does not re-enable mb-tree since adaptive quantization doesn't require it. smile
-> So Hybrid is behaving logically and '--no-mbtree' really might be the culprit
(to be frank I thought Hybrid defaults had is disabled wink)

45

Re: First x264 encoding test doesn't look great.

I did a series of tests last night, encoded with and without "Macroblock Tree Rate Control".. I went back and forth between Enabled and Disabled, without restarting Hybrid in between, just to be 100% I could see the effect.

And the conclusion is that:

Active = Blocky
Deactive = Not-Blocky

I guess this is inline with what we have discovered.

So if I am understanding you correctly.. By default, MBTRC is Disabled.. And you get blocks

Then if you turn on Adaptive Quantization, MBTRC is still disabled, but you don't get blocks

But then when you turn off AQ, MBTRC gets enabled, and this introduces the blocks.


So either by using AQ or by turning MBTRC off, solves this.. Out of interest, do you know which would produce the best output?

I guess this is something you will fix.. But for now, whats the recommendation? Just turn MBTRC on?

Jon

46

Re: First x264 encoding test doesn't look great.

"Macroblock Tree Rate Control"
...
Active = Blocky
Deactive = Not-Blocky
I guess this is inline with what we have discovered.

Yes, it is. smile

So if I am understanding you correctly.. By default, MBTRC is Disabled.. And you get blocks

Then if you turn on Adaptive Quantization, MBTRC is still disabled, but you don't get blocks

But then when you turn off AQ, MBTRC gets enabled, and this introduces the blocks.

No, you are mixing things up now.

  • By (Hybrids) defaults: MB-tree and AQ mode 2 are on (and you get blocks).

  • When you turn AQ mode off (change it to anything but: mode 2 <> 'auto'), starting from Hybrids defaults, MB-tree gets disabled (and you get no blocks).

  • If you turn AQ mode (from off) to something else MB-tree doesn't get enabled again (so you still get no blocks).

  • If you turn MB-tree on (you get blocks). Turning on MB-tree automatically also sets AQ mode to 2 (<> 'auto').

So either by using AQ or by turning MBTRC off, solves this..

No, from what you reported so far, only disabling MB-tree removes the blocking.

Out of interest, do you know which would produce the best output?

constant quality 0 aka. lossless encoding.

I guess this is something you will fix..

Normally mb-tree isn't a problematic option, but I will think about disabling it in the Hybrid defaults.

But for now, whats the recommendation? Just turn MBTRC on?

No, turning MB-tree off, should be the solution or you really mixed up a lot of stuff.


Cu Selur

Ps.: If you want to better see all the side effects an option has, you can turn off 'x264->Misc->Adjustments->Minimize command line'.

47 (edited by jweaver 2014-03-01 15:02:34)

Re: First x264 encoding test doesn't look great.

Perhaps I am just getting things round the wrong way.. The reason for my conclusions is this.

When you first load Hybrid, the intial config does not mention "--no-mbtree"  and "--aq-mode = 0" and this gives a blocky output.

When you set AQ to auto, --aq-mode is now 2, but --no-mbtree is still not set.. And in this mode the output is fine.

When you finally set AQ back to 'default' ---aq-mode goes back to 0, but --no-mbtree is added and the output is also fine.

So in my tests ,either setting aq-mode to manual/auto gave a good output, OR seteting mbtree (see post 37).

So my conclusion was that if either --aq-mode was set,OR --no-mbtree was added, the output would be fine.. Its only when you don't explicetly set --no-mbtree and aq-mode is 0 this happen.
Jon

48

Re: First x264 encoding test doesn't look great.

Okay, I try to sum this up again. We need to get some overview, this gets more and more confusing.
Especially since you get confused and I don't have any DebugOutputs to check anything. hmm

From what I gather so far (I only look at the 2nd pass calls):

A. Hybrid default:

x264 --pass 2 --bitrate 1500 --profile high --level 4.1 --direct auto --lookahead-threads 1 --sync-lookahead 15 --qcomp 0.5 --partitions i4x4,p8x8,b8x8 --no-fast-pskip --subme 5 --trellis 0 --weightp 1 --aq-mode 0 --vbv-maxrate 62500 --vbv-bufsize 78125 --qpfile GENERATED_QP_FILE --non-deterministic --colormatrix undef --stats "PATH TO THE .stats FILE"  --fps 25000/1000 --input-res 48x48 --output OUTPUTFILE -

if I disable 'minimize command line', this is:

x264 --pass 2 --bitrate 1500 --profile high --level 4.1 --ref 3 --keyint 250 --min-keyint 0 --scenecut 40 --bframes 3 --b-bias 0 --b-pyramid normal --direct auto --b-adapt 1 --lookahead-threads 1 --sync-lookahead 15 --cplxblur 20 --qcomp 0.5 --qblur 0.5 --mbtree --rc-lookahead 40 --ipratio 1.4 --pbratio 1.3 --chroma-qp-offset 0 --qpmin 0 --qpmax 69 --qpstep 4 --partitions i4x4,p8x8,b8x8 --8x8dct --no-fast-pskip --me hex --merange 16 --mvrange -1 --subme 5 --cabac --trellis 0 --weightp 1 --aq-mode 0 --vbv-maxrate 62500 --vbv-bufsize 78125 --nr 0 --deadzone-inter 21 --deadzone-intra 11 --cqm flat --threads auto --sar 1:1 --qpfile GENERATED_QP_FILE --deblock 0:0 --non-deterministic --colormatrix undef --stats "PATH TO THE .stats FILE" --output-csp i420 --fps 25000/1000 --input-res 48x48 --output OUTPUTFILE -

this settings result in blocking (right?)

B. When you change AQ to 'auto' (based on A.), you got:

x264 --pass 2 --bitrate 1500 --profile high --level 4.1 --ref 3 --keyint 250 --min-keyint 0 --scenecut 40 --bframes 3 --b-bias 0 --b-pyramid normal --direct auto --b-adapt 1 --lookahead-threads 1 --sync-lookahead 15 --cplxblur 20 --qcomp 0.5 --qblur 0.5 --mbtree --rc-lookahead 40 --ipratio 1.4 --pbratio 1.3 --chroma-qp-offset 0 --qpmin 0 --qpmax 69 --qpstep 4 --partitions i4x4,p8x8,b8x8 --8x8dct --no-fast-pskip --me hex --merange 16 --mvrange -1 --subme 5 --cabac --trellis 0 --weightp 1 --aq-mode 2 --aq-strength 1 --vbv-maxrate 62500 --vbv-bufsize 78125 --nr 0 --deadzone-inter 21 --deadzone-intra 11 --cqm flat --threads auto --sar 1:1 --qpfile GENERATED_QP_FILE --deblock 0:0 --non-deterministic --colormatrix undef --stats "PATH TO THE .stats FILE" --output-csp i420 --fps 25000/1000 --input-res 48x48 --output OUTPUTFILE -

Changes in respect to A:

  • --aq-mode: changed from 0 to 2

  • '--aq-strength 1' got added

the output has no blocking (right?)

C. When you change AQ to 'disabled' (based on B.), you got:

x264 --pass 2 --bitrate 1500 --profile high --level 4.1 --ref 3 --keyint 250 --min-keyint 0 --scenecut 40 --bframes 3 --b-bias 0 --b-pyramid normal --direct auto --b-adapt 1 --lookahead-threads 1 --sync-lookahead 15 --cplxblur 20 --qcomp 0.5 --qblur 0.5 --no-mbtree --rc-lookahead 40 --ipratio 1.4 --pbratio 1.3 --chroma-qp-offset 0 --qpmin 0 --qpmax 69 --qpstep 4 --partitions i4x4,p8x8,b8x8 --8x8dct --no-fast-pskip --me hex --merange 16 --mvrange -1 --subme 5 --cabac --trellis 0 --weightp 1 --aq-mode 0 --vbv-maxrate 62500 --vbv-bufsize 78125 --nr 0 --deadzone-inter 21 --deadzone-intra 11 --cqm flat --threads auto --sar 1:1 --qpfile GENERATED_QP_FILE --deblock 0:0 --non-deterministic --colormatrix undef --stats "PATH TO THE .stats FILE" --output-csp i420 --fps 25000/1000 --input-res 48x48 --output OUTPUTFILE -

Changes in respect to A:

  • "--mb-tree" changed to "--no-mtree"

Changes in respect to B:

  • "--mb-tree" changed to "--no-mtree"

  • --aq-mode: changed from 2 to 0

  • '--aq-strength 1' got removed

the output has no blocking (right?)

So to sum it up:
A: "--mbtree" + "--aq-mode 0" => blocking
B: "--mbtree" + "--aq-mode 2" + "--aq-strength 1" => no blocking
C: "--no-mbtree" + "--aq-mode 0" => no blocking

so the conclusion so far would be that either disabling just mbtree (C) or setting AQ-Mode to 2 fixes the problem and only the combination of "mbtree" and "--aq-mode 0" produces blocking with your source (right ?).


Cu Selur

49 (edited by jweaver 2014-03-01 16:22:03)

Re: First x264 encoding test doesn't look great.

You are right.. This is getting confusing and its certainly my fault... First of all, do you still want the Debug files? I didn't bother as I though you had this reproduced but I will gladly get them for you.

If I can take a minute and go back to the start, in summary..

1. If I load Hybrid.. Open the video and change the Bitrate to 2500 I get blocking.

The config at this point shows

x264 --pass 1 --bitrate 2500 --profile high --level 4.1 --direct auto --qcomp 0.5 --weightp 1 --aq-mode 0 --qpfile GENERATED_QP_FILE --non-deterministic --stats "PATH TO THE .stats FILE" --output-csp i420 --fps 25000/1000 --input-res 48x48 --output NUL -

x264 --pass 2 --bitrate 2500 --profile high --level 4.1 --direct auto --qcomp 0.5 --partitions i4x4,p8x8,b8x8 --no-fast-pskip --subme 5 --trellis 0 --weightp 1 --aq-mode 0 --vbv-maxrate 62500 --vbv-bufsize 78125 --qpfile GENERATED_QP_FILE --non-deterministic --colormatrix undef --stats "PATH TO THE .stats FILE" --output-csp i420 --fps 25000/1000 --input-res 48x48 --output OUTPUTFILE -

NB. --no-mbtree not mentioned and --aqmode=0

2. I then quit (just to reset everything and now load Hybrid again, open the file.. Change the bitrate and this time put AQ to Auto, I do not get blocking

The config now reads:

x264 --pass 1 --bitrate 2500 --profile high --level 4.1 --direct auto --qcomp 0.5 --weightp 1 --aq-mode 2 --qpfile GENERATED_QP_FILE --non-deterministic --stats "PATH TO THE .stats FILE" --output-csp i420 --fps 25000/1000 --input-res 48x48 --output NUL -

x264 --pass 2 --bitrate 2500 --profile high --level 4.1 --direct auto --qcomp 0.5 --partitions i4x4,p8x8,b8x8 --no-fast-pskip --subme 5 --trellis 0 --weightp 1 --aq-mode 2 --vbv-maxrate 62500 --vbv-bufsize 78125 --qpfile GENERATED_QP_FILE --non-deterministic --colormatrix undef --stats "PATH TO THE .stats FILE" --output-csp i420 --fps 25000/1000 --input-res 48x48 --output OUTPUTFILE -

NB- Still --no-mtree mentioned, but --aq-mode = 2

3. Finally, if I again quit.. Load Hybrid.. open the file.. Change the bitrate.. Change AQ to Auto and then back to disabled, I do not get blocking

The config now reads:

x264 --pass 1 --bitrate 2500 --profile high --level 4.1 --direct auto --qcomp 0.5 --no-mbtree --weightp 1 --aq-mode 0 --qpfile GENERATED_QP_FILE --non-deterministic --stats "PATH TO THE .stats FILE" --output-csp i420 --fps 25000/1000 --input-res 48x48 --output NUL -

x264 --pass 2 --bitrate 2500 --profile high --level 4.1 --direct auto --qcomp 0.5 --no-mbtree --partitions i4x4,p8x8,b8x8 --no-fast-pskip --subme 5 --trellis 0 --weightp 1 --aq-mode 0 --vbv-maxrate 62500 --vbv-bufsize 78125 --qpfile GENERATED_QP_FILE --non-deterministic --colormatrix undef --stats "PATH TO THE .stats FILE" --output-csp i420 --fps 25000/1000 --input-res 48x48 --output OUTPUTFILE -

NB. --aq-mode back to 0, but now --no-mbtree mentioned

So my conclusion was that either AQ or MB was fixing this, but perhaps I am just misunderstanding everything.. I should also point out that I had the same behavior with all of the options you tried me to test.. But I stuck with AQ just because it was constantly reproducible.  And my reason for this is marked in Bold above.

Since test one was the only one to give blocking, my conclusion is that either aqmode = 2 or  --no-mbtree stops the blocking.. Tests 3 and 1 should be idential, but in 3, the --no-mbtree has been added.

Is this any clearer? If you want the debugs, just shout.

Jon

50

Re: First x264 encoding test doesn't look great.

Is this any clearer? If you want the debugs, just shout.

the summary I did before:

So to sum it up:
A: "--mbtree" + "--aq-mode 0" => blocking
B: "--mbtree" + "--aq-mode 2" + "--aq-strength 1" => no blocking
C: "--no-mbtree" + "--aq-mode 0" => no blocking

so the conclusion so far would be that either disabling just mbtree (C) or setting AQ-Mode to 2 fixes the problem and only the combination of "mbtree" and "--aq-mode 0" produces blocking with your source (right ?).

matches your post, so the main question is:

Is it only "--mb-tree" and "--aq-mode 0" which cause the problem or does the problem also occur with:
"--mb-tree" and "--aq-mode 1"?