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.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 22nd October 2009, 02:14   #1  |  Link
Archimedes
Registered User
 
Join Date: Apr 2005
Posts: 213
Fritz Photo

In 2007 i was thinking about a tool based on AviSynth for batch processing still images. The basic idea was, loading images, filtering with AviSynth scripts (e. g. resizing and sharpening) and saving the images. A very basic idea.

The result was Fritz Photo.

In the meanwhile there are a lot of improvements. May be someone find it usefull.

The program supports two languages (german and english) and should be self-explanatory. However, here are some very basic instructions.


Requirements:

- AviSynth+
- Fritz Photo 2020.07.08 (templates from: 07/08/2020)

If you add the following user environment variables, you are able to read and write more graphic formats (see Immaavs for more details):
- MAGICK_HOME = <Fritz Photo program directory>\dll\ImageMagick
- MAGICK_CODER_MODULE_PATH = <Fritz Photo program directory>\dll\ImageMagick


Processing still images are divided into five steps.


1. Images

You can read BMP, JPG, PNG, PPM, TGA und TIF images with ImageSource as start script. There are two start scripts at the moment: ImageSource and ImmaRead.


2. Crop

In front of any filtering you can rotate and crop an image.


3. AviSynth Scripts

With a double click on a template you load that template to the job list (removing a template from the job list can also be done with a double click). Drag and drop operations are also supported. All scripts have nearly the same structure. On the top of each script you will find the necessary parameters. You can change the parameters directly in the scripts or you can use the script inspector. With "Add..." you can load templates (scripts) outside of the template directory. With "New" you can delete the entries in the job list and start a new selection. "Reload" read the selected template again, so you can start with the default values.


4. Preview

By pressing "Refresh" you start the preview. With the cursor keys you can switch between the before and after image. You will see the image, that is selected on the page "Images". If no image is selected, you will see the first image in the list box. If you have selected a filter in the job list, you can see a before and after image of exactly this filter. If no filter is selected, then you will see the source image (loaded with the start script) and the target image (all filters are applied) as preview. With a right mouse click you can refresh each preview window separately. "Synchronize Preview Windows" means, that the before and after window will show exactly the same area of the image (if possible).


5. Settings

File Size means, that you can define a maximum file size. Fritz Photo will then calculate the optimal jpg quality for the given file size. With "Find" and "Replace" you can change the file names. You can use regular expressions to do that. If "Suffix" is activated, output file names will have the following pattern: <Original name>_<Width>x<Height>.<ext>. If "Suffix" is deactivated, the output file names will be the same as the input file names. If no directory is given, the program writes the images to the same directory where the sources are. All start settings can be changed in the program ini file.


How do i create my own Fritz Photo script?

A Fritz Photo script is nothing else than a structured AviSynth script with additional comments. These comments are the properties for the script inspector. Each script support one of the following color formats: (double sized) YV12, YV24 or RGB32. Look at the Rotate script below for further explanation.

Code:
# ==============================================================================
# http://avisynth.org.ru/rotate/rotate.html
# ==============================================================================
angle  = 0.0
color  = 0
width  = 0
height = 0
# ==============================================================================
# angle  = True, False, Beginner, Rotation angle in degrees clock wise | float
# color  = True, False, Intermediate, Ellipsis, ColorDialog, Background color of part of image | int
# width  = True, False, Intermediate, Width of the destination output image | int
# height = True, False, Intermediate, Height of the destination output image | int
# ==============================================================================

LoadPlugin("plugins\Rotate\Rotate.dll")

isYV12() ? YV12ToYV24() : isYV24() ? NOP() : NOP()

Rotate(angle=angle, color=color, width=width, height=height)
A Fritz Photo script contains of 4 sections.

- Information about the plugin
- Parameter
- Script inspector properties
- The script itself

The first section contains information about the plugin, mostly it is a link to the AviSynth homepage with a description of the plugin. You can add as many lines, as you want.

The second section contains the parameter used in the script. This parameter will also be shown in the script inspector in the GUI.

The third section contains the settings for the script inspector, with the meaning in the following order: "Visible, Read only, Level, Hint for the parameter | Hint for the value". You can also define a picklist with predefined values (see SSSharp.avs for an example). If you don't define script inspector properties for a parameter, the parameter will be treated as "True, False, Beginner".

The fourth section is the script itself. It begins with a LoadPlugin section, followed by the Import section. The next line checks, wether the input clip is one of the following color formats: (double sized) YV12, YV24 or RGB32. All scripts have a similar line to check the incoming color format of the image. If a conversion is necessary, it will be done. In our example, we only accepted the YV24 and RGB32 color format for the Rotate plugin. So nothing is to do, if the image is already in the YV24 or RGB32 color format.

Thats all.

If you need a template for a new YV12 plugin, look in the template directory and take a template which you can use as a working base. For example take the TNLMeans.avs script as a working base for a new YV12 plugin. If you need a RGB32 only script, take a look at RGBAdjust.avs.

Last edited by Archimedes; 31st January 2022 at 15:40.
Archimedes is offline   Reply With Quote
Old 22nd October 2009, 07:08   #2  |  Link
buzzqw
HDConvertToX author
 
Join Date: Nov 2003
Location: Cesena,Italy
Posts: 6,552
seems very insteresting

i use avisynth too for some image manipulation (basic denoise/sharpening)

thanks!

BHH
__________________
HDConvertToX: your tool for BD backup
MultiX264: The quick gui for x264
AutoMen: The Mencoder GUI
AutoWebM: supporting WebM/VP8
buzzqw is offline   Reply With Quote
Old 22nd October 2009, 09:08   #3  |  Link
Leak
ffdshow/AviSynth wrangler
 
Leak's Avatar
 
Join Date: Feb 2003
Location: Austria
Posts: 2,441
Quote:
Originally Posted by buzzqw View Post
seems very insteresting
Agreed.

Quote:
i use avisynth too for some image manipulation (basic denoise/sharpening)
Don't forget NNEDI2 for resizing...
__________________
now playing: [artist] - [track] ([album])
Leak is offline   Reply With Quote
Old 22nd October 2009, 13:41   #4  |  Link
patul
Registered User
 
Join Date: Sep 2005
Posts: 130
Am a happy customer of it
Good job Archimedes...
patul is offline   Reply With Quote
Old 22nd October 2009, 14:35   #5  |  Link
Archimedes
Registered User
 
Join Date: Apr 2005
Posts: 213
Thanks for your friendly words.

There is one problem with ImmaRead (if you used it as a start script) at the moment. ImmaRead doesn't free up memory after finishing. Better, you use it only for loading one picture or so. If you do a batch processing with a lot of pictures and ImmaRead is used as the start script, your memory will decrease after each conversion. Wilbert knows about the problem.
Archimedes is offline   Reply With Quote
Old 23rd October 2009, 01:47   #6  |  Link
linyx
Un-Registered User
 
linyx's Avatar
 
Join Date: Mar 2008
Location: Audio Stream - 0x80
Posts: 341
This is going to be very useful, I have been "in the market" for an avisynth based photo editor for a while now.
linyx is offline   Reply With Quote
Old 23rd October 2009, 15:49   #7  |  Link
Archimedes
Registered User
 
Join Date: Apr 2005
Posts: 213
I've made a small cosmetic update. I have changed some captions and the batch processing page a little bit.

Normally, the program do not need any installation routine. The installation routine only copy the files to the selected progam directory. There will be no files copied to system32 folder or so on. No registry entries are needed. Fritz Photo itself is portable.
Archimedes is offline   Reply With Quote
Old 23rd October 2009, 17:47   #8  |  Link
LaTo
LaTo INV.
 
LaTo's Avatar
 
Join Date: Jun 2007
Location: France
Posts: 701
Seems very good, but it doesn't works on Win7 x64 for me... Someone can confirm?
LaTo is offline   Reply With Quote
Old 24th October 2009, 02:32   #9  |  Link
eslave
Registered User
 
Join Date: Dec 2008
Location: reviving a dead thread
Posts: 31
Is there some special trick to downloading this? I've tried with Opera 10/1750, Firefox 3.0.14 (ABP=Off), IE6, disabled my HOSTS file, etc. All I get is a 0-byte file.

It looks like a good idea and I'd like to give it a try.

Thanks in advance.

-eslave
eslave is offline   Reply With Quote
Old 24th October 2009, 03:42   #10  |  Link
Keiyakusha
契約者
 
Keiyakusha's Avatar
 
Join Date: Jun 2008
Posts: 1,576
Firefox 3.5.3, works fine.
Keiyakusha is offline   Reply With Quote
Old 24th October 2009, 11:16   #11  |  Link
Leak
ffdshow/AviSynth wrangler
 
Leak's Avatar
 
Join Date: Feb 2003
Location: Austria
Posts: 2,441
Quote:
Originally Posted by Keiyakusha View Post
Firefox 3.5.3, works fine.
Well, FF3.5.3 at least doesn't work here, I'm afraid:

Quote:
http://www12.file-upload.net/data.ph...2009.10.23.exe

POST /data.php?id=1964236&name=FritzPhoto2009.10.23.exe HTTP/1.1
Host: www12.file-upload.net
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://www.file-upload.net/download-...10.23.exe.html
Content-Type: application/x-www-form-urlencoded
Content-Length: 25
valid=69100856880&load6=+

HTTP/1.x 200 OK
Date: Sat, 24 Oct 2009 10:13:39 GMT
Server: Apache/2.2.3 (Debian) PHP/5.2.0-8+etch15
X-Powered-By: PHP/5.2.0-8+etch15
Content-Disposition: attachment; filename="FritzPhoto2009.10.23.exe"
Content-Length: 0
Pragma: no-cache
Expires: 0
Keep-Alive: timeout=3
Connection: Keep-Alive
Content-Type: application/octet-stream
Note the reported content length of 0 bytes...

np: Tocotronic - Pure Vernunft Darf Niemals Siegen (Leak - Quer Durch Den Gemüsegarten Mix)
__________________
now playing: [artist] - [track] ([album])
Leak is offline   Reply With Quote
Old 24th October 2009, 15:14   #12  |  Link
Keiyakusha
契約者
 
Keiyakusha's Avatar
 
Join Date: Jun 2008
Posts: 1,576
Oops, sorry. I just started download but didn't click "save" button. Yes, I have the same thing too.
It was fine few days ago...
Keiyakusha is offline   Reply With Quote
Old 24th October 2009, 21:49   #13  |  Link
eslave
Registered User
 
Join Date: Dec 2008
Location: reviving a dead thread
Posts: 31
Thanks for the confirmation. After failing again with my freshly updated Firefox I tried a few other machines as well, just to make sure I didn't have bad mojo in my browser or a blocked IP. At least now I don't have that disenfranchised feeling. Maybe the download bandwidth has been exhausted or the server ate the file, because I got the 0-byte data.php as well (several copies in fact), with the same headers Leak posted above.

-eslave
eslave is offline   Reply With Quote
Old 24th October 2009, 23:20   #14  |  Link
Who Am I ?
x264 Fanatic !
 
Who Am I ?'s Avatar
 
Join Date: Mar 2009
Location: Earth I guess ?
Posts: 36
I cannot download it as well . gives exactly the same problem as reported

It indeed does seem pretty interesting , sehr gut !
Who Am I ? is offline   Reply With Quote
Old 25th October 2009, 08:11   #15  |  Link
buzzqw
HDConvertToX author
 
Join Date: Nov 2003
Location: Cesena,Italy
Posts: 6,552
well.. that's strange..

i was able to donwload it, but now .. isn't possible..

i will upload on my site tomorrow

BHH
__________________
HDConvertToX: your tool for BD backup
MultiX264: The quick gui for x264
AutoMen: The Mencoder GUI
AutoWebM: supporting WebM/VP8
buzzqw is offline   Reply With Quote
Old 25th October 2009, 15:15   #16  |  Link
Archimedes
Registered User
 
Join Date: Apr 2005
Posts: 213
There was a problem with uploading. I have uploaded the file again. Direct download link are now in the first post. Sorry for the circumstances.

Last edited by Archimedes; 25th October 2009 at 15:20.
Archimedes is offline   Reply With Quote
Old 25th October 2009, 15:29   #17  |  Link
DarkZell666
aka XaS
 
DarkZell666's Avatar
 
Join Date: Jun 2005
Location: France
Posts: 1,122
Quote:
Originally Posted by Archimedes View Post
There was a problem with uploading. I have uploaded the file again. Direct download link are now in the first post. Sorry for the circumstances.
Link fixed indeed, thx !
__________________

Q9300 OC @ 3.2ghz / Asus P5E3 / 4GB PC10600 / Geforce 8600 GTS

Last edited by DarkZell666; 25th October 2009 at 17:35. Reason: typo
DarkZell666 is offline   Reply With Quote
Old 25th October 2009, 17:25   #18  |  Link
Archimedes
Registered User
 
Join Date: Apr 2005
Posts: 213
Not mentioned it yet. The scripts takes care about the full chroma information of an image if a YV12 filter is used.

If you look inside the scripts, you will see, that an image is processed either in the RGB or YV12 color format (depending on the used AviSynth filter). If the YV12 color format is used, luma and chroma channels are filtered independently (because of the double sized YV12 image).
Archimedes is offline   Reply With Quote
Old 25th October 2009, 18:02   #19  |  Link
anyone23
Registered User
 
Join Date: Sep 2008
Posts: 17
Does this program support windows vista?

It looks like this on my vista sp2 pc:


Nevertheless it works.

Edit: And is there an option so that Fritz Photo doesn't rename files?

Last edited by anyone23; 25th October 2009 at 18:07.
anyone23 is offline   Reply With Quote
Old 26th October 2009, 11:33   #20  |  Link
Archimedes
Registered User
 
Join Date: Apr 2005
Posts: 213
Quote:
Originally Posted by anyone23 View Post
Does this program support windows vista?
Normally it should work. Doesn't it?

Quote:
Originally Posted by anyone23 View Post
And is there an option so that Fritz Photo doesn't rename files?
Use regular expressions to do that. The program always add "_<Width>x<Height>" as an extension to the file name. If AviSynth creates the output (this is the case for all graphic formats except JPG), it additionally added the string "_000000" to the file name. The default string "_000000$" in Find and the empty field in Replace will delete this AviSynth extension.

If you want to delete both extensions (Fritz Photo and AviSynth) do something like this (for all graphic formats except JPG):

Code:
Find: _\d{4}x\d{4}_000000$
Replace:
As JPG is created internally, you only have to remove the program extension:

Code:
Find: _\d{4}x\d{4}$
Replace:
But be carefull with that, because of the danger of overwriting the source files. If you want to delete the extensions completely and the output format is the same as the input format (source file name = target file name), select a different output directory, where all files are written to.

Last edited by Archimedes; 26th October 2009 at 11:56.
Archimedes is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 06:15.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.