|
|
| 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 |
 |
| 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. |
 |
| 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 |
 |
| 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). |
 |
| 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 |
 |
| 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 |
 |
| 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. |
 |
| 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 |
 |
| 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 |
 |
| 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 |
 |
| 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.
|
 |
| 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
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 |
 |
| 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 |
 |
| 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. 
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.) |
 |
| 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 |
 |