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. |
21st January 2007, 23:19 | #1 | Link |
Registered User
Join Date: Nov 2001
Posts: 291
|
Perfomance of alternative Tweak codes
Perfomance of alternative Tweak codes
I have compared the performance of C++/MMX/ISSE/SSE2 implementations for Tweak ((C)Donald Graft) across a range of hardware. IanB's contributions and suggestions had made this test possible. Thanks IanB! ............................................................................ To use: YV12Tweak and YUY2Tweak work like Tweak original (C)Donald Graft's Tweak filter plus coring param. Syntax: YV12Tweak(param1,param2,param3,param4,param5); Syntax: YUY2Tweak(param1,param2,param3,param4,param5); which are: hue (float), sat (float), bright (int), cont (float), coring (bool) you can also use param names for example: YV12Tweak(hue=5,bright=-2). For more details read Tweak's docs. ............................................................................ Four options have been tested (tests were done between oct 2005 and march 2006) 1. Tweak version in Avisynth 2.56 2. Tweak version mapped by Sh0dan included in levels.cpp for future avisynth 2.6. From now onward Tweak2_60 or (c++)Shodan mapped version 3. Tweak version mapped by IanB included in this level.cpp http://www.iespana.es/Ardaversions/levels.7z It is an experimental code for this benchmark. From now onward Tweak2_60IanB or (c++)IanB unrolled mapped version 4. YV12Tweak (SSE2 and ISSE) and YUY2Tweak (ISSE) modified versions Based on dividee's and Milan's ISSE assembler codes of the original (C)Donald Graft's Tweak filter. ............................................................................ TEST METHOD 6000 frames an average every 1500 frames DebugView http://www.microsoft.com/technet/sys...debugview.mspx Avstimer By (Kassandro) ............................................................................ SCRIPT USED FOR BENCHMARK #MPEG2Source("mysource) #ConvertToyuy2() #for test purpose AvsTimer(frames=1000, name="anyone",quiet=true) #FILTER AvsTimer(frames=1500, name="anyone",difference=1) ............................................................................ Direct Stream copy. (Ctrl-F5) Preview output from start. VirtualdubMod 1.5.10.2 (build 2542/release) ............................................................................ Comparations were made in four machines Processor : AMD Turion 64 ML-37 Processor : Intel Pentium M Processor : P4 HT Intel Processor : AMD Athlon More details about machines in the BENCHMARK SUMMARIZE http://www.iespana.es/Ardaversions/B...K_SUMMARIZE.7z ............................................................................ Links to full benchmark files Full AMD Turion 64 ML-37 benchmark http://www.iespana.es/Ardaversions/B...RKTWEAKML37.7z Full Intel Pentium M benchmark http://www.iespana.es/Ardaversions/BENCHMARKDOTHAN.7z Full P4HT Intel benchmark http://www.iespana.es/Ardaversions/benchmarkstweakp4.7z Full AMD Athlon benchmark http://www.iespana.es/Ardaversions/T...AKBENCHMARK.7z ............................................................................ Links to my versions YUVTWEAK.DLL http://www.iespana.es/Ardaversions/YUVTweak.dll YUVTWEAK SOURCE http://www.iespana.es/Ardaversions/YV12Tweakcpp.7z ............................................................................ Fast first conclusions: 1. Under YV12 seems that SSE2 and ISSE optimitations are the fastest ones; at least in machines I've tested. 2. Under YUY2 there are different behaviours depending on architeture and machine configuration. I would appreciate your comments, suggestions and bug reports. Once more I hope you find this work usefull. Thanks. ARDA. |
24th January 2007, 02:14 | #3 | Link |
Registered User
Join Date: Nov 2001
Posts: 291
|
@Pookie
Thanks for your words. You shouldn't expect any special features from this plugin except for perfomance I would appreciate you could do some benchmark in your machine and post it here so I could confirm results with my own ones. @moderator move this thread to avisynth development if you consider appropiate. Thanks ARDA |
|
|