Welcome Guest ( Log In | Register )


Important

The forums will be closing permanently the weekend of March 15th. Please see the notice in the announcements forum for details.

Pages: (3) [1] 2 3  ( Go to first unread post )
Fairly Quick Filter Multiadjust, Brightness, contrast, saturation, hue...
« Next Oldest | Next Newest » Track this topic | Email this topic | Print this topic
dloneranger
Posted: Jul 14 2010, 03:21 AM


Moderator


Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07



Here's my first finished filter+ full sourcecode (142k)

V0.2.3
[29-12-2013]
https://sourceforge.net/projects/multiadjust/
MultiAdjust V0.2.3

Lookup based adjustment of
Brightness
Contrast
Saturation
Hue

There are 5 types of brightness adjustment
Normal
Low level
Low level + boost
Flatten
Flatten + boost

Use YUV 16-239 or 0-255 levels

Video formats accepted
Y8
YUV422_UYVY (UYVY)
YUV422_YUYV (YUY2)
YUV444_Planar (YV24)
YUV422_Planar (YV16)
YUV420_Planar (YV12)
YUV411_Planar
YUV410_Planar (YVU9)



Routines use either SSE, X86
(SSE won't be used unless the cpu supports it)

There isn't actually much difference in speed between SSE and X86 though


----------------------------------------------------------
Full source code is included, feel free to use as you like

History

V0.2.3
Added
Show out of spec input levels in preview window
Fix small error in scaling

V0.2.1
Added
Colourspace 601<>709 conversion

V0.2.0
Added
Combined contrast/brighness checkbox
Adjust brighness-before-contrast/contrast-before-brightness checkbox
Minor bugfixes

V0.1.9
Checkbox for saturation only to affect red's

V0.1.8
Added
Experimental Hilight reduction

V0.1.7
Bugfix
Silly mistake(after moving preview options around) saved jobs had the filter disabled - my bad

V0.1.6
Added
Icons for reset buttons
Help button
About button
Moved some of the buttons about

V0.1.5
Remove preview button and open preview window automatically

V0.1.4
Added for JohnI
Preview window - disable effects
Preview window - only show effect on half of image
Individual slider reset buttons

V0.1.3
Bugfix - for YUV values <16

V0.1.2
Modified configuration dialog
Added YUV levels option 16-239 or 0-255

V0.1.1
Code cleanup
Removed sse/x86/c++ switch that was there for testing

V0.1
Initial release
----------------------------------------------------------

Karl
dloneranger67@gmail.com

--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
jpsdr
Posted: Jul 14 2010, 07:06 AM


Advanced Member


Group: Members
Posts: 335
Member No.: 20490
Joined: 23-December 06



Euh... constrat should ajust only Y.
What's doing the same thing that constrat on U/V is saturation.
 
     Top
dloneranger
Posted: Jul 14 2010, 07:31 AM


Moderator


Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07



http://msdn.microsoft.com/en-us/library/ff...28VS.85%29.aspx

Just following the formulas at MSDN
I've made it optional now though

It doesn't really make much difference one way or the other on an adjustment filter though
The user moves the sliders around to get a picture they like




--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
jpsdr
Posted: Jul 15 2010, 07:45 AM


Advanced Member


Group: Members
Posts: 335
Member No.: 20490
Joined: 23-December 06



I said this with TV adjustment in mind : Adjusting contrast on TV act only on Y (at least, on the TV i've seen until now).
 
     Top
dloneranger
Posted: Jul 15 2010, 09:17 AM


Moderator


Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07



There seem to be 2 views on it spread around the net :-)
While looking for formulas I found lots, but settled on the msdn one , for the look it gave

Just altering Y seems to wash out the saturation, so I guess it makes sense

But... it's an adjustment filter and if it doesn't look right, you just move some sliders a bit more ;-)

TBH this was just 'my first attempt at assembler' since my old atari, and my first plugin filter as well
I was just glad it worked, but the speed is quite pleasing as it's the kind of adjustment I make all the time


--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
dloneranger
Posted: Jul 16 2010, 02:11 AM


Moderator


Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07



Updated to V0.11
(Code cleanup + removal of test code)

--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
rjisinspired
Posted: Jul 16 2010, 07:06 AM


Advanced Member


Group: Members
Posts: 1256
Member No.: 20008
Joined: 12-October 06



Thanks for your work with your new filter. One question though: When saturation and contrast is linked what happens?

I first expected that either the sliders for saturation and contrast would move in relation to one other when that option was checked or that moving say contrast will keep the color intact?

I like the brightness options. The brightness options work the opposite if brightness is lessened which is pretty neat.

Update:
Ahhhhh - I see what the linking of contrast and color does. I was playing with the saturation slider but didn't get it until I worked with the contrast slider. That is cool.
 
       Top
dloneranger
Posted: Jul 16 2010, 09:46 AM


Moderator


Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07



Just explaining in case anyone else wants to know

Linking the saturation and contrast means that when you increase the contrast, the saturation is boosted as well

The four brightness methods:
Normal, Boost (gives more 'pop' to the image) and 2 that affect darker areas more (it's fairly subtle though)


-----------

I did a speed test on another thread, but I'll repost the results here


QUOTE
Testing with 1 hour 30 minutes clip, full processing, uncompressed output, no audio, then run analysis to check speeds

No filters
4 mins 20 seconds (to get a baseline)

Built in Brightness/contrast filter
7 mins 53 seconds

Built in hsv filter
25 mins 40 seconds

This brightness/contrast/hue/saturation filter
5 mins 5 seconds


Extra time added by filters
Built in Brightness/contrast filter
3 mins 33 seconds
Built in hsv filter
21 mins 20 seconds
MultiAdjust
45 seconds


--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
dloneranger
Posted: Jul 18 2010, 04:43 PM


Moderator


Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07



Updated to v0.1.2

Added YUV levels selection 0-239 or 0-255
Changed number of brightness adjustment methods

--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
dloneranger
Posted: Jul 30 2010, 08:26 AM


Moderator


Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07



Bugfix for levels <16 (blacker-than-black)

--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
John I.
Posted: Jul 31 2010, 06:10 AM


Advanced Member


Group: Members
Posts: 36
Member No.: 27193
Joined: 13-March 10



dloneranger,
Having all these controls in one filter and performing at this speed is really wonderful.
Are you considering adding gamma ?

Also, if you don't mind some suggestions that maybe you would like to consider:
- An additional reset button for each control, instead of resetting them all.
- An 'Enable filter' button to to allow comparing the filtered and unfiltered states in the filter preview instead of having to go out of filters and do that in virtualdub's two windows. In cases of subtle changes, it is hard to tell the difference between the two windows. (I wish all filters have this button. it will save so many going in and out of the filters module.)

This filter is definitely becoming one of the most used filters for me.
Keep the good work.

 
     Top
dloneranger
Posted: Jul 31 2010, 11:52 AM


Moderator


Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07



Thanks :-)

Interesting suggestions
When I fully wake up I'll take a look

QUOTE
An 'Enable filter' button

Yeah, I'll add that and probably a 'only affect the left half of the image' option for comparisons

QUOTE
Reset button for each control

Not a problem

QUOTE
Gamma

I haven't found a formula that doesn't look awful yet
The best I've found looked worse than altering the brightness/contrast manually
But I do keep looking when I have spare time
(Most of this is a 3am 'I'm bored' project)

The brightness modes do something similar though
Each one affects different brightness ranges more than others



--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
dloneranger
Posted: Jul 31 2010, 01:37 PM


Moderator


Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07



Updated to V0.14

Added for JohnI
Preview window - disable effects
Preview window - only show effect on half of image
Individual slider reset buttons


--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
John I.
Posted: Jul 31 2010, 06:36 PM


Advanced Member


Group: Members
Posts: 36
Member No.: 27193
Joined: 13-March 10



The filter is becoming more practical and user friendly. smile.gif

And you have also added an extra bonus 'Full/Half preview'.

I have one comment. I see that maybe because you don't want to clutter the screen, you have included all the preview options in one drop list.

Is it possible to have this as two tick boxes, one for enable, and the other for full/half preview ? (The comparison will be quicker at one mouse click.)
 
     Top
dloneranger
Posted: Jul 31 2010, 07:04 PM


Moderator


Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07



Yeah, it's getting large

What I do is just put the mouse cursor over comboboxes and roll the mousewheel

If that's not acceptable I'll look at 2 checkboxes

--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
0 User(s) are reading this topic (0 Guests and 0 Anonymous Users)
0 Members:
39 replies since Jul 14 2010, 03:21 AM Track this topic | Email this topic | Print this topic
Pages: (3) [1] 2 3 
<< Back to VirtualDub Filters and Filter Development