Hallo zusammen
Ich hab hier ein sehr merkwürdiges Verhalten der Dither-Tools bei der Ausgabe von 16bit Material.
Ich entrausche den org-Clip und ziehe is nochmal mit GradFun3 glatt damit kein Banding entstehen sollte (!!)
Setzt man nur dfftest + Gradfun ein, so entstehen selbst bei einem CRF von unter 20 noch deutliches Banding auf dem TV.
Daraufhin habe ich das Beispiel aus den "man-pages" von dither genutzt das Rauschen teilweise wieder zurückführt.
Ich encode grundsätzlich in 10-bit HEVC ... daher darf/sollte der Avisynth Output ebenfalls lsb sein. Ich habe also das ursprüngliche Script etwas abgeändert:
LoadPlugin("C:\Program Files (x86)\Video Tools\LSMASHSource-AviSynth-plugin-r929-msvc-64bit\LSMASHSource.dll")
LoadPlugin("C:\Program Files (x86)\Video Tools\mvtools-2.7.41-with-depans\x64\mvtools2.dll")
LoadPlugin("C:\Program Files (x86)\Video Tools\dfttest-v1.9.4.3\x64\dfttest.dll")
Import("C:\Program Files (x86)\Video Tools\dither-1.27.2\dither.avsi")
LWLibAvVideoSource("L-cut.mp4")
denoised = dfttest(Sigma=2,tbsize=1,lsb=false)
# Restores a bit of noise
mt_lutxy (last, denoised, expr="x y < y 1 - x y > y 1 + y ? ?", y=3, u=3, v=3)
super = last.MSuper ()
super_a = denoised.MSuper ()
# You could also reuse the vectors found in a previous processing stage
vf1 = super_a.MAnalyse (isb=false, delta=1, overlap=4, blksize=16)
vb1 = super_a.MAnalyse (isb=true, delta=1, overlap=4, blksize=16)
# Turns remaining noise into 16-bit gradients
cf1 = MCompensate (super, vf1, thSAD=200)
cb1 = MCompensate (super, vb1, thSAD=200)
Interleave (cf1, last, cb1)
dfttest (sigma=1.0, tbsize=1, lsb=true)
SelectEvery (3, 1)
# Additional smoothing pass and back to 8 bits
#GradFun3 (lsb_in=true, thr=0.35)
GradFun3(lsb=true, lsb_in=true, thr=0.35)
#Dither_Convert_8_to_16()
Dither_out()
return(last)
Alles anzeigen
Hier das x265 Script dazu:
"C:\Program Files (x86)\Video Tools\avs2pipemod-1.1.1\avs2pipemod64.exe" -rawvideo "01.avs" | "C:\Program Files\x265\x265-3.2_34.exe" --preset slow --crf 21 --psy-rd 2.0 --rd 5 --psy-rdoq 10.0 --aq-mode 3 --me star --no-open-gop --no-sao --input-res 1920x1080 --input-depth 16 --fps 24000/1001 --output "01.h265" --input -
Wie schon gesagt sind hier deutliche Banding Artefekte auf dem TV zu sehen ...
Nun also wieder zurück zur "Original-Version" jedoch mit einem kleinen Zusatz um das Ganze in den 10-bit x265 zu bekommen:
[...]
Interleave (cf1, last, cb1)
dfttest (sigma=1.0, tbsize=1, lsb=true)
SelectEvery (3, 1)
# Additional smoothing pass and back to 8 bits
GradFun3 (lsb_in=true, thr=0.35)
Dither_Convert_8_to_16()
Dither_out()
return(last)
Alles anzeigen
siehe da, die Bandings sind weg ... Aber wieso ? Was ist der Unterschied zur obrigen Vorgehensweise ?
Ich hab hier mal alles angehängt:
Pass: forum.gleitz.info
Expires: 15 days