|
|
| phaeron |
| Posted: Nov 20 2007, 04:19 AM |
 |
|

Virtualdub Developer
  
Group: Administrator
Posts: 7773
Member No.: 61
Joined: 30-July 02

|
Video popping out sounds like a video driver problem. Trying GDI mode in Options > Preferences > Display sometimes helps; otherwise, just getting another video card may do the trick. |
 |
| videofred |
| Posted: Nov 20 2007, 02:52 PM |
 |
|
Newbie

Group: Members
Posts: 8
Member No.: 22432
Joined: 14-November 07

|
Hello Phaeron,
Thanks a lot for VD! (I could not live without it anymore)
Realy no way you could add a RGB histogram to VD? It should be in a separate window, visible all the time. It should be linked to the right 'results' window. This way we could realy fine tune lots of filters.
This realy should lift up VD to a higher level! It already is of cource , but it would be even better.
Greetings from Belgium, Fred. |
 |
| phaeron |
| Posted: Nov 21 2007, 08:59 AM |
 |
|

Virtualdub Developer
  
Group: Administrator
Posts: 7773
Member No.: 61
Joined: 30-July 02

|
Funny thing... it actually used to have this feature. I pulled it because it was complicating the code and because it couldn't work with the displays in YCbCr mode. Might be some way I can put this back in. |
 |
| videofred |
| Posted: Nov 21 2007, 09:17 AM |
 |
|
Newbie

Group: Members
Posts: 8
Member No.: 22432
Joined: 14-November 07

|
That would be great!
Fred. |
 |
| rjisinspired |
| Posted: Dec 28 2007, 08:16 PM |
 |
|

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

|
Nice! This plugin is working in my new computer |
 |
| Loadus |
| Posted: Jan 20 2008, 03:42 PM |
 |
|

Advanced Member
  
Group: Members
Posts: 352
Member No.: 10881
Joined: 1-July 04

|
Just out of curiosity and slightly offtopic,
Does anyone know where trevlac disappeared? Haven't heard from him in ages.
-------------------- deviantART behance |
 |
| foxidrive |
| Posted: Jan 20 2008, 03:50 PM |
 |
|
Advanced Member
  
Group: Members
Posts: 918
Member No.: 16996
Joined: 21-October 05

|
He has an email address in his profile - or send him a PM. |
 |
| ^rooker |
| Posted: Jan 17 2012, 05:21 PM |
 |
|

Advanced Member
  
Group: Members
Posts: 36
Member No.: 20823
Joined: 7-February 07

|
Sorry for reviving this ancient thread, but the only available version of trevlac's Color Tools plugin (clrtools.vdf) crashes with VirtualDub 1.9.11 when trying to playback the video while the filter is loaded. The error message displayed is as follows:
| CODE | An out-of-bounds memory access (access violation) occurred at 002d05b2... ...writing address 00B9B820... ...while
|
I've tried with older versions of VirtualDub, back to 2007, and all of them crash with this plugin, so I'm assuming it might be related to Windows7? Any hints on this, or a link to a different version of clrtools?
I hope it's ok to post this here...
Thanks for any hints! |
 |
| dloneranger |
| Posted: Jan 17 2012, 07:35 PM |
 |
|
Moderator
  
Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07

|
Try this version of colourtools to see if it crashes http://dl.dropbox.com/u/17024916/ColourTools.vdf
(It's his source code recompiled with a few fixes)
-------------------- MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask Windows7/8 Codec Chooser All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3 |
 |
| ^rooker |
| Posted: Feb 26 2012, 10:13 PM |
 |
|

Advanced Member
  
Group: Members
Posts: 36
Member No.: 20823
Joined: 7-February 07

|
I didn't do extensive tests, but a quick check shows that your version seems to work. Didn't crash so far 
Thank you very much!
Did you have to change something within the sourcecode? If so, is the source available somewhere for download?
Then I'd mirror it for future use. |
 |
| dloneranger |
| Posted: Feb 26 2012, 10:53 PM |
 |
|
Moderator
  
Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07

|
I just did a quick hack to see where the crash occurred
main.cpp
| CODE | int histoEndProc(FilterActivation *fa, const FilterFunctions *ff) { MyFilterData *mfd = (MyFilterData *)fa->filter_data; //commented out to stop a/v //should be fixed properly //delete[] mfd->tab; //delete[] mfd->chart; return 0; } |
-------------------- MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask Windows7/8 Codec Chooser All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3 |
 |
| ^rooker |
| Posted: Feb 27 2012, 08:55 AM |
 |
|

Advanced Member
  
Group: Members
Posts: 36
Member No.: 20823
Joined: 7-February 07

|
Great to see once again how robust and sustainable Free Software is: This thread started 8 (!) years ago - and even though the original binary would be dead, ColorTools can now happily be used for another decade, thanks to your hack/change. 
Thanks again! |
 |
| phaeron |
| Posted: Mar 3 2012, 05:00 AM |
 |
|

Virtualdub Developer
  
Group: Administrator
Posts: 7773
Member No.: 61
Joined: 30-July 02

|
I wonder if nulling out the pointers after the deletes might fix it. EndProc() is supposed to handle being called multiple times, even if StartProc() fails. |
 |
| dloneranger |
| Posted: Mar 3 2012, 08:13 AM |
 |
|
Moderator
  
Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07

|
They're defined as
| CODE | typedef struct ChartData { unsigned long Histogram[272]; Pixel32 color; int min; int max; } ChartData;
typedef struct MyFilterData { ....... ChartData chart[4]; unsigned int tab[3][3][256]; /* multiply lookup table */ ... }
then mfd is assigned in the procs with MyFilterData *mfd = (MyFilterData *)fa->filter_data;
the origional endproc is int histoEndProc(FilterActivation *fa, const FilterFunctions *ff) { MyFilterData *mfd = (MyFilterData *)fa->filter_data;
delete[] mfd->tab; delete[] mfd->chart; //mfd->tab = NULL;
return 0; }
And mfd's initialized with BOOL CALLBACK histoConfigDlgProc(HWND hdlg, UINT msg, WPARAM wParam, LPARAM lParam) { MyFilterData *mfd = (MyFilterData *)GetWindowLong(hdlg, DWL_USER);
HWND hwndItem; int i;
switch(msg) { case WM_INITDIALOG: SetWindowLong(hdlg, DWL_USER, lParam); mfd = (MyFilterData *)lParam; ..... }
struct FilterDefinition filterDef_histo = {
NULL, NULL, NULL, // next, prev, module "Color Tools [1.4]", // name "Histogrms, Hot Pixels, WFM, VectorScope", // desc "trevlac", // maker NULL, // private_data sizeof(MyFilterData), // inst_data_size
MyInitProc, // initProc NULL, // deinitProc histoRunProc, // runProc histoParamProc, // paramProc histoConfigProc, // configProc histoStringProc, // stringProc histoStartProc, // startProc histoEndProc, // endProc
&histo_obj, // script_obj histoFssProc, // fssProc
};
|
So, it was being nulled once upon a time, and then he changed it to delete I'm unsure about C++ and virtualdub's memory handling, but I haven't seen any arrays in strucs just deleted like that before without some kind of matching 'new' to allocate them
The origional source code is here if it's any interest to people http://trevlac.us/colorCorrection/colorTools.html
-------------------- MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask Windows7/8 Codec Chooser All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3 |
 |
| phaeron |
| Posted: Mar 11 2012, 08:45 PM |
 |
|

Virtualdub Developer
  
Group: Administrator
Posts: 7773
Member No.: 61
Joined: 30-July 02

|
Ouch... okay, yeah, those shouldn't be deleted as they're embedded within the main filter data struct. |
 |