This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

[HELP] AOMEnc Disscusion
#1
When i change from standard settings under base: Encoder mode to constant quantizer, contrained or average bitrate and back, noise reduction under frame becomes grayed out, if i choose average bitrate at least, rate control cbr/ vbr frame adjustment and section min/max becomes greyed out in advanced tab.
Reply
#2
Doesn't seem like a bug, afaik, all those option required 2pass encoding, so it's correct that they are grayed out if 2pass isn't used.

Cu Selur
Reply
#3
no --arnr-maxframes= and --arnr-strength=1 doesnt need 2-pass, its bugged out, if i go back from constant quantizer as example. going back to 2-pass, its still greyed out.


I use this settings in Staxrip and its working fine.

--passes=1 --cq-level=19 --verbose --bit-depth=10 --ivf --threads=12 --end-usage=q --buf-sz=6 --buf-initial-sz=4 --buf-optimal-sz=5 --enable-fwd-kf=1 --kf-min-dist=250 --kf-max-dist=250 --cpu-used=4 --auto-alt-ref=1 --static-thresh=0 --tile-columns=2 --tile-rows=1 --enable-tpl-model=1 --arnr-maxframes=3 --arnr-strength=1 --enable-cdef=0 --enable-restoration=0 --min-partition-size=4 --max-partition-size=128 --enable-qm=1 --qm-max=9 --coeff-cost-upd-freq=0 --mode-cost-upd-freq=0 --mv-cost-upd-freq=0 --aq-mode=1 --enable-dnl-denoising=0 --disable-warning-prompt

Otherwise Staxrip gives me an error window and doesnst proceed.
Reply
#4
I thought aomenc only used alternative reference (alt ref) frames in 2pass encoding, thus changing the noise reduction for alternative reference frames would require two pass too.
-> got any documentation that this isn't the case anymore?

Cu Selur
Reply
#5
Quote:if i go back from constant quantizer as example. going back to 2-pass, its still greyed out.
That's correct, since using constant quantizer enforces '--auto-alt-ref=0', but 2pass does not enforce '--auto-alt-ref=1' or similar, so alternate references get disabled when switching to constant quantizer and not enabled when switching to 2pass.
-> this is as expected (given the assumption that altrefs require 2pass)

So the only question is: Do alt refs require 2pass or not?
Calling:
ffmpeg -y -loglevel fatal -noautorotate -nostdin -threads 8 -i "G:\TestClips&Co\files\test.avi" -map 0:0 -an -sn -vf zscale=rangein=tv:range=tv -pix_fmt yuv420p -vsync 0 -f yuv4mpegpipe - | aomenc --passes=1 --pass=1 --end-usage=q --cq-level=10 --profile=0 --cpu-used=8 --undershoot-pct=0 --overshoot-pct=0 --buf-sz=6 --buf-initial-sz=4 --buf-optimal-sz=5 --drop-frame=0 --kf-min-dist=0 --kf-max-dist=250 --auto-alt-ref=0 --sharpness=0 --static-thresh=0 --noise-sensitivity=0 --denoise-noise-level=0 --tune-content=default --tile-columns=0 --tile-rows=0 --mtu-size=0 --frame-boost=0 --min-gf-interval=0 --max-gf-interval=2 --gf-min-pyr-height=0 --gf-max-pyr-height=5 --threads=64 --width=640 --height=352 --input-bit-depth=8 --bit-depth=8 --denoise-noise-level=0 --min-partition-size=4 --max-partition-size=128 --fp-mt=1 --sb-size=dynamic --max-reference-frames=7 --disable-trellis-quant=0 --enable-tpl-model=1 --enable-keyframe-filtering=0 --force-video-mode=1 --reduced-tx-type-set=1 --use-intra-dct-only=0 --use-inter-dct-only=0 --use-intra-default-tx-only=0 --quant-b-adapt=1 --coeff-cost-upd-freq=0 --mode-cost-upd-freq=0 --mv-cost-upd-freq=0 -o "G:\output\without.ivf" -
and
ffmpeg -y -loglevel fatal -noautorotate -nostdin -threads 8 -i "G:\TestClips&Co\files\test.avi" -map 0:0 -an -sn -vf zscale=rangein=tv:range=tv -pix_fmt yuv420p -vsync 0 -f yuv4mpegpipe - | aomenc --passes=1 --pass=1 --end-usage=q --cq-level=10 --profile=0 --cpu-used=8 --undershoot-pct=0 --overshoot-pct=0 --buf-sz=6 --buf-initial-sz=4 --buf-optimal-sz=5 --drop-frame=0 --kf-min-dist=0 --kf-max-dist=250 --auto-alt-ref=1 --sharpness=0 --static-thresh=0 --noise-sensitivity=0 --denoise-noise-level=0 --tune-content=default --tile-columns=0 --tile-rows=0 --mtu-size=0 --frame-boost=0 --min-gf-interval=0 --max-gf-interval=2 --gf-min-pyr-height=0 --gf-max-pyr-height=5 --threads=64 --width=640 --height=352 --input-bit-depth=8 --bit-depth=8 --denoise-noise-level=0 --min-partition-size=4 --max-partition-size=128 --fp-mt=1 --sb-size=dynamic --max-reference-frames=7 --disable-trellis-quant=0 --enable-tpl-model=1 --enable-keyframe-filtering=0 --force-video-mode=1 --reduced-tx-type-set=1 --use-intra-dct-only=0 --use-inter-dct-only=0 --use-intra-default-tx-only=0 --quant-b-adapt=1 --coeff-cost-upd-freq=0 --mode-cost-upd-freq=0 --mv-cost-upd-freq=0 -o "G:\output\with.ivf" -
(only difference are the output file names and '--auto-alt-ref' value)
For three short clips I used, the output of these two was identical for each clip.

the same happens when I compare:
ffmpeg -y -loglevel fatal -noautorotate -nostdin -threads 8 -i "G:\TestClips&Co\files\test.avi" -map 0:0 -an -sn -vf zscale=rangein=tv:range=tv -pix_fmt yuv420p -vsync 0 -f yuv4mpegpipe - | aomenc --passes=1 --pass=1 --end-usage=cq --cq-level=20 --target-bitrate=15000 --profile=0 --cpu-used=8 --min-q=1 --max-q=63 --undershoot-pct=0 --overshoot-pct=0 --buf-sz=6 --buf-initial-sz=4 --buf-optimal-sz=5 --drop-frame=0 --kf-min-dist=0 --kf-max-dist=250 --auto-alt-ref=1 --sharpness=0 --static-thresh=0 --noise-sensitivity=0 --denoise-noise-level=0 --tune-content=default --tile-columns=0 --tile-rows=0 --mtu-size=0 --frame-boost=0 --aq-mode=1 --min-gf-interval=0 --max-gf-interval=2 --gf-min-pyr-height=0 --gf-max-pyr-height=5 --threads=64 --width=640 --height=352 --input-bit-depth=8 --bit-depth=8 --denoise-noise-level=0 --min-partition-size=4 --max-partition-size=128 --fp-mt=1 --sb-size=dynamic --max-reference-frames=7 --disable-trellis-quant=0 --enable-tpl-model=1 --enable-keyframe-filtering=0 --force-video-mode=1 --reduced-tx-type-set=1 --use-intra-dct-only=0 --use-inter-dct-only=0 --use-intra-default-tx-only=0 --quant-b-adapt=1 --coeff-cost-upd-freq=0 --mode-cost-upd-freq=0 --mv-cost-upd-freq=0 -o "G:\Output\crf_with.ivf" -
and
ffmpeg -y -loglevel fatal -noautorotate -nostdin -threads 8 -i "G:\TestClips&Co\files\test.avi" -map 0:0 -an -sn -vf zscale=rangein=tv:range=tv -pix_fmt yuv420p -vsync 0 -f yuv4mpegpipe - | aomenc --passes=1 --pass=1 --end-usage=cq --cq-level=20 --target-bitrate=15000 --profile=0 --cpu-used=8 --min-q=1 --max-q=63 --undershoot-pct=0 --overshoot-pct=0 --buf-sz=6 --buf-initial-sz=4 --buf-optimal-sz=5 --drop-frame=0 --kf-min-dist=0 --kf-max-dist=250 --auto-alt-ref=0 --sharpness=0 --static-thresh=0 --noise-sensitivity=0 --denoise-noise-level=0 --tune-content=default --tile-columns=0 --tile-rows=0 --mtu-size=0 --frame-boost=0 --aq-mode=1 --min-gf-interval=0 --max-gf-interval=2 --gf-min-pyr-height=0 --gf-max-pyr-height=5 --threads=64 --width=640 --height=352 --input-bit-depth=8 --bit-depth=8 --denoise-noise-level=0 --min-partition-size=4 --max-partition-size=128 --fp-mt=1 --sb-size=dynamic --max-reference-frames=7 --disable-trellis-quant=0 --enable-tpl-model=1 --enable-keyframe-filtering=0 --force-video-mode=1 --reduced-tx-type-set=1 --use-intra-dct-only=0 --use-inter-dct-only=0 --use-intra-default-tx-only=0 --quant-b-adapt=1 --coeff-cost-upd-freq=0 --mode-cost-upd-freq=0 --mv-cost-upd-freq=0 -o "G:\Output\crf_without.ivf" -
where I use '-end-usage=cq --cq-level=20 --target-bitrate=15000'

=> Would need some example calls in which one can see the difference altrefs are used in 1pass, or some documentation that shows that alternative references are not only used in 2pass, since I can't show that they are used using 1pass even with --auto-alt-ref=1.

Cu Selur
Reply
#6
No, i dont have any documented state about if alt refs need 2-pass, i have only that here found that from a previous vp9 function

https://groups.google.com/a/webmproject....HDLZ-FuywJ

https://av1.fandom.com/wiki/Alternate_reference_frames


but if will try it on a clip 
Reply
#7
If you can show on a clip that enabling it in 1pass does make a difference I'll enable it . Smile

Cu Selur
Reply
#8
Her you can clearly see the Difference on maxframes=3_Strength=1 to maxframes=7_Strength=5 using --end-usage=q

https://drive.google.com/drive/folders/1...sp=sharing

EDIT: https://imgsli.com/MTQ2NDQ4
Reply
#9
Okay, the link stats:
Also known as AAR (auto-alt-ref), lets encoder pick different keyframe. Only works with two pass encoding.
File show a difference in size.
=> will look into it after work today
You can confirm that maxframes&strength only works if auto-alt-ref is > 0 right?
Reply
#10
That samples was with auto-alt-ref 1
I upload you one in that folder with auto-alt-ref 0

it doenst seem to work with maxframes=7_Strength=5 and auto-alt-ref 0

EDIT2: auto-alt-ref 0 seems to work and dont affect ARNR in any way, auto-alt-ref 0 is temporal filtering ref frames or something, there Options should not belong or disabled together.

anyways ARNR is not working properly on all Scenes, there is some noise in areas where are no noise in others (its no temporal degrain/denoise), but it is very effective in combination with external filter according to my tests i made.

AV1 has made some improvements and i dont know how old this article from fandom is, but clearly alt ref and/ or arnr doesnt rely on using 2 pass.

Using maxframes 7 and strength 5 is not good, you may get artefacts sometimes, thats the reason why better going to maxframes 3 and strength 1

look here: https://imgsli.com/MTQ2NTAy

EDIT: 

Uploaded also 2 clips for own comparison for a friend to see how ARNR affects denoising with extern filters activated using our settings maxframes=3_Strength=1 you may be interested in.

auto-alt-ref 0 is about 0.7 - 0.9 fps faster in encoding than auto-alt-ref 1 with maxframes=3_Strength=1 on 976x720 and is keeping very little details better, but lacks cleaning leftovers of noise.

So ARNR is a very good thing.

Please add neo_f3kdb.Deband to hybrid, i have tested it several times after you changed the grain thing, where i can disable grain.
neo_f3kdb is still a bit better then Flashf3kdb for whatever Reason. I have also uploaded the .dll in the Folder if you think about to include it someday.

[Image: zJXfKy7.png]

Standardsetting; clip = core.neo_f3kdb.Deband(clip, y=64, cb=64, cr=64, grainy=0, grainc=0)


Greetings
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)