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. |
24th May 2011, 22:41 | #181 | Link |
Registered User
Join Date: Nov 2009
Posts: 2,361
|
-Is this version faster than previous v.1.74? edit: yeah, tests indicate ~1.35x faster : D
-If I were to process a TV range yuv source (almost most of sources) the proper starting point for smoothcurves for example would be "0-16;16-16;127-127;235-235;255-235"? (Like in your first picture of the 2nd post)
__________________
i7-4790K@Stock::GTX 1070] AviSynth+ filters and mods on GitHub + Discussion thread Last edited by Dogway; 25th May 2011 at 03:50. |
25th May 2011, 06:10 | #182 | Link |
Registered User
Join Date: Apr 2011
Posts: 51
|
@Lato
Gamma above 1.17 already mess up some bright scenes. This is why I want gamma to collapse to very near 1.0x ish. Loosely speaking, with gamma above 1.17, 5 to 15% of the frames suffer some contrast washout. I tried all Lmodes weeks ago. Constant gamma ,or brightness(using tweak) just won't work no matter how one tweak existing parameters. Knowing autogain and autolevels also failed in many scenerios. That was the main reason leading me to figured out the "refined" luma average which came out to be very good at brightness detection and mighty useful when moderate gamma. Given any clips that has all 3: dark, normal and bright scenes,"constant gamma" will always fail partially either at the dark or the bright scenes. Its constantness will never allow it to work in all 3 scenes. DarkSTR, BrightSTR are good features, but being constants also limit its usefulness. For clips that have dark to bright scenes. I use rlav, Ymedian and testing some Ymax(loose) in YLevelss lately. rlav, with Ymedian together is even better at brightness detection, thus give great result when controlling gamma and brightness. I surely like to use at least these 2 variables with SmoothLevels. That being said, It is wasteful seeing all these useful variables, Gamma, DarkSTR, BrightSTR,rlav, Ymedian not used to their full potentials. Please consider adding these functionalities in your future releases. The good news is, calculating rlav and median are extremely fast using 1/14 or 1/16 size of the clip if it is large. It will not slow down SmoothLevels if implemented. |
25th May 2011, 08:34 | #183 | Link | |||
LaTo INV.
Join Date: Jun 2007
Location: France
Posts: 701
|
Quote:
The stacked 16bits is linear? Because I will assume that it is. Quote:
- Q1: It should be more or less the same speed as the old Smode=2. (I will make some benchmark with the next release) - Q2: Yes, the starting & ending are good for TV range Quote:
@EVERYONE: Nobody for testing the AVX part??? Last edited by LaTo; 25th May 2011 at 14:50. |
|||
25th May 2011, 12:15 | #184 | Link | |
͡҉҉ ̵̡̢̛̗̘̙̜̝̞̟̠͇̊̋̌̍̎̏̿̿
Join Date: Feb 2009
Location: No support in PM
Posts: 712
|
Quote:
By the way, how would you expect linear YUV to be encoded? Just by undoing the sRGB curve on the luma, leaving the chroma channels unchanged? Or by applying a regular sRGB->YUV conversion matrix on linear RGB data?
__________________
dither 1.28.1 for AviSynth | avstp 1.0.4 for AviSynth development | fmtconv r30 for Vapoursynth & Avs+ | trimx264opt segmented encoding |
|
25th May 2011, 12:52 | #185 | Link | |
LaTo INV.
Join Date: Jun 2007
Location: France
Posts: 701
|
Quote:
But it's much slower than a simple Uint16(Uint8(YUV)<<8). For now you're right, it's better to stuck with the simple solution (no gamma correction) until avisynth choose about linear vs gamma encoded for 16 bits. Maybe informations are in the avisynth 2.6.x thread, I haven't checked. Last edited by LaTo; 25th May 2011 at 15:08. |
|
25th May 2011, 13:42 | #186 | Link | |
Registered User
Join Date: Sep 2009
Posts: 378
|
Quote:
|
|
25th May 2011, 13:43 | #187 | Link | |
Registered User
Join Date: Dec 2005
Location: Germany
Posts: 1,795
|
Quote:
My Results: Code:
SmoothLevels(gamma=2.22,Lmode=0,useOPT=0) # no crash SmoothLevels(gamma=2.22,Lmode=1,useOPT=0) # no crash SmoothLevels(gamma=2.22,Lmode=0,useOPT=2) # no crash SmoothLevels(gamma=2.22,Lmode=1,useOPT=2) # no crash If I try it without the lmode parameter: SmoothLevels(gamma=2.22) # crash at startup, immediately by the way, the crash occures also on my other pc (Q9550 CPU). Maybe you can suggest another tool for benchmarking
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth VapourSynth Portable FATPACK || VapourSynth Database |
|
25th May 2011, 13:51 | #188 | Link | |
LaTo INV.
Join Date: Jun 2007
Location: France
Posts: 701
|
Quote:
Sound really strange, are you sure that only one dll is loaded? EDIT: I found the bug, a stupid copy/paste error... It's also why useOPT doesn't work on your PC. Thanks! Last edited by LaTo; 25th May 2011 at 14:14. |
|
25th May 2011, 14:48 | #189 | Link | |
LaTo INV.
Join Date: Jun 2007
Location: France
Posts: 701
|
Update 2011/05/25
Quote:
@ChaosKing: Should be OK now, can you make FPS measurement on your 2500K between useOPT=0/1/2 please? Last edited by LaTo; 25th May 2011 at 15:34. |
|
25th May 2011, 22:17 | #191 | Link |
Registered User
Join Date: Apr 2011
Posts: 51
|
@Lato, no problem, Rome wasnt built in days. Actually, you don't need to use any scene change
algorithm at all. This is why varying gamma is so useful. A simple gamma=1.xx - b*RAVL already smooth out everything. I never once encounter jitterness watching complex dancing scenes with light beams flying all over the places, Dancing with the stars for example, bright foreground and dark background panning during dances if that not complicate enough :-). RAVL(0,255) almost = traditional luma average, may fail at such difficult scenes. RAVL(25,200) will ignore all bright lights or dancing in the dark. Voila, problem solved. I like to clarify how RAVL work(numerically), With a very very bright scene, the old luma average can read 190, RAVL(25,200) will read about 95. On a bright scene, the old luma average read 130, RAVL(25,200) will read about 80. Now use it to regulate gamma, it will slightly darken a frame, On the other hand, a "raw" luma average of 190 will crush the frame into darkness. Ravl works as well in the very dark to dark scene by the same principle. Very effective. A conditionfilter of if luma average < 45 do this, > 110 dont do that, will get jitters, and one have to have very good scene change algorithm too. This is another reason why I use varing gamma, to avoid scene change detection (slow, somewhat inaccurate). Awhile ago, I used the old luma average in levels to regulate output_low and _high, did not experience jitterness either, from what I remember. I hope I can save you lot of time, by not going into the route of scene change detection. It is not needed. For RAVL(25,200), Users still need to specify gamma=1.xx - b*RAVL to their taste, video sources and settings nevertheless. One final thought, I know you are quite busy working on 2.0beta, Any chance of a Ecurve = Ylevelss type only if it is not too time consuming in the future. |
25th May 2011, 22:28 | #192 | Link | |
Kid for Today
Join Date: Aug 2004
Posts: 3,477
|
Quote:
but: Code:
MT(""" SmoothLevels(preset="tv2pc",multithread=0,Smode=0) """,4) Code:
MT(""" SmoothLevels(preset="tv2pc",useMT=0,smooth=0) """,4) that's on an o/c Q9650, XPSP3, Avisynth 2.6 |
|
25th May 2011, 23:29 | #193 | Link |
Registered User
Join Date: Sep 2009
Posts: 378
|
Could you elaborate regarding approach and in what way compatible.
The external app I'm considering is Blender, it has a 32bit float, linear space nodal compositor that includes image and video import nodes, splitting / combining channels etc. Blender uses ffmpeg to import video and on Windows ffmpeg is built with avisynth support so it is possible to work with .avs scripts directly in Blenders nodal compositor and/or video sequence editor (a layer based approach). It can take multiple .avs imports and combine them. So in theory would I use two scripts for any given video file, one for LSB the other MSB and recombine them in blender if it turns out to be compatible? I've been using yesgreys yCMS for YCbCr to RGB conversion using the option to go from 8bit YCbCr to 16bit linear, then dither to 8bit gamma encoded RGB for export from Avisynth. But 16bit would be very useful. :-) Maybe just better to hang on a while longer if beta2 is slated for higher bit depth support? Last edited by Yellow_; 25th May 2011 at 23:42. |
26th May 2011, 06:20 | #194 | Link |
Registered User
Join Date: Oct 2009
Posts: 16
|
It crashes whenever I change the gamma setting to anything other than 1.0, same for brightnes, contrast and saturation.
using SmoothAdjust v2.00 beta1 *edit*It only crashes when I enable useOPT=2 avx, using i5 2500k Last edited by ninja_racoon; 26th May 2011 at 06:23. |
26th May 2011, 07:21 | #195 | Link | |
LaTo INV.
Join Date: Jun 2007
Location: France
Posts: 701
|
Quote:
|
|
26th May 2011, 07:35 | #196 | Link | |
Registered User
Join Date: Oct 2009
Posts: 16
|
Quote:
SmoothLevels(gamma=1.1,Lmode=2,protect=16,useMT=4,useOPT=2) avisynth 2.5.8, x86 |
|
26th May 2011, 07:58 | #198 | Link | ||
Registered User
Join Date: Oct 2009
Posts: 16
|
Quote:
Quote:
|
||
26th May 2011, 08:32 | #199 | Link | ||
LaTo INV.
Join Date: Jun 2007
Location: France
Posts: 701
|
Quote:
Quote:
And, SmoothTweak crashes too? Last edited by LaTo; 26th May 2011 at 08:35. |
||
26th May 2011, 08:54 | #200 | Link | |
Registered User
Join Date: Oct 2009
Posts: 16
|
^I've tried the beta2, it still giving me error
(gamma=1.1,Lmode=2,protect=16,useMT=0,useOPT=2) beta2 <-- error (gamma=1.1,Lmode=2,protect=16,useMT=4,useOPT=2) beta2 <-- crash error message Quote:
|
|
|
|