# WritePNG node¶

This documentation is for version 1.0 of WritePNG (fr.inria.openfx.WritePNG).

Write PNG files.

## Inputs¶

Input Description Optional
Source   No

## Controls¶

Parameter / script name Type Default Function
Output Components / outputComponents Choice RGBA
Map the input layer to this type of components before writing it to the output file.
RGB
RGBA
File / filename N/A   The output image sequence/video stream file(s). The string must match the following format: path/sequenceName###.ext where the number of # (hashes) will define the number of digits to append to each file. For example path/mySequence###.jpg will be translated to path/mySequence000.jpg, path/mySequence001.jpg, etc. %d printf-like notation can also be used instead of the hashes, for example path/sequenceName%03d.ext will achieve the same than the example aforementioned. there will be at least 2 digits). The file name may not contain any # (hash) in which case it will be overridden everytimes. Views can be specified using the “long” view notation %V or the “short” notation using %v.
Overwrite / overwrite Boolean On Overwrite existing files when rendering.
Format Type / formatType Choice Project Format
Determines which rectangle of pixels will be written in output.
Input Format (input): Renders the pixels included in the input format
Project Format (project): Renders the pixels included in the project format
Fixed Format (fixed): Renders the pixels included in the format indicated by the Format parameter.
Format / NatronParamFormatChoice Choice HD 1920x1080
The output format to render
PC_Video 640x480 (PC_Video)
NTSC 720x486 0.91 (NTSC)
PAL 720x576 1.09 (PAL)
NTSC_16:9 720x486 1.21 (NTSC_16:9)
PAL_16:9 720x576 1.46 (PAL_16:9)
HD_720 1280x720 (HD_720)
HD 1920x1080 (HD)
UHD_4K 3840x2160 (UHD_4K)
1K_Super_35(full-ap) 1024x778 (1K_Super_35(full-ap))
1K_Cinemascope 914x778 2.00 (1K_Cinemascope)
2K_Super_35(full-ap) 2048x1556 (2K_Super_35(full-ap))
2K_Cinemascope 1828x1556 2.00 (2K_Cinemascope)
2K_DCP 2048x1080 (2K_DCP)
4K_Super_35(full-ap) 4096x3112 (4K_Super_35(full-ap))
4K_Cinemascope 3656x3112 2.00 (4K_Cinemascope)
4K_DCP 4096x2160 (4K_DCP)
square_256 256x256 (square_256)
square_512 512x512 (square_512)
square_1K 1024x1024 (square_1K)
square_2K 2048x2048 (square_2K)
OCIO Config File / ocioConfigFile N/A   OpenColorIO configuration file
Input Colorspace / ocioInputSpaceIndex Choice   Input data is taken to be in this colorspace.
File Colorspace / ocioOutputSpaceIndex Choice   Output data is taken to be in this colorspace.
key1 / key1 String
OCIO Contexts allow you to apply specific LUTs or grades to different shots.
Here you can specify the context name (key) and its corresponding value.
Full details of how to set up contexts and add them to your config can be found in the OpenColorIO documentation:
value1 / value1 String
OCIO Contexts allow you to apply specific LUTs or grades to different shots.
Here you can specify the context name (key) and its corresponding value.
Full details of how to set up contexts and add them to your config can be found in the OpenColorIO documentation:
key2 / key2 String
OCIO Contexts allow you to apply specific LUTs or grades to different shots.
Here you can specify the context name (key) and its corresponding value.
Full details of how to set up contexts and add them to your config can be found in the OpenColorIO documentation:
value2 / value2 String
OCIO Contexts allow you to apply specific LUTs or grades to different shots.
Here you can specify the context name (key) and its corresponding value.
Full details of how to set up contexts and add them to your config can be found in the OpenColorIO documentation:
key3 / key3 String
OCIO Contexts allow you to apply specific LUTs or grades to different shots.
Here you can specify the context name (key) and its corresponding value.
Full details of how to set up contexts and add them to your config can be found in the OpenColorIO documentation:
value3 / value3 String
OCIO Contexts allow you to apply specific LUTs or grades to different shots.
Here you can specify the context name (key) and its corresponding value.
Full details of how to set up contexts and add them to your config can be found in the OpenColorIO documentation:
key4 / key4 String
OCIO Contexts allow you to apply specific LUTs or grades to different shots.
Here you can specify the context name (key) and its corresponding value.
Full details of how to set up contexts and add them to your config can be found in the OpenColorIO documentation:
value4 / value4 String
OCIO Contexts allow you to apply specific LUTs or grades to different shots.
Here you can specify the context name (key) and its corresponding value.
Full details of how to set up contexts and add them to your config can be found in the OpenColorIO documentation:
OCIO config help… / ocioHelp Button   Help about the OpenColorIO configuration.
Input Premult / inputPremult Choice PreMultiplied
Input is considered to have this premultiplication state.
If it is Premultiplied, red, green and blue channels are divided by the alpha channel before applying the colorspace conversion.
This is set automatically from the input stream information, but can be adjusted if this information is wrong.
Opaque (opaque): The image is opaque and so has no premultiplication state, as if the alpha component in all pixels were set to the white point.
PreMultiplied (premult): The image is premultiplied by its alpha (also called “associated alpha”).
UnPreMultiplied (unpremult): The image is unpremultiplied (also called “unassociated alpha”).
Clip Info… / clipInfo Button   Display information about the inputs
Frame Range / frameRange Choice Project frame range
What frame range should be rendered.
Union of input ranges (union): The union of all inputs frame ranges will be rendered.
Project frame range (project): The frame range delimited by the frame range of the project will be rendered.
Manual (manual): The frame range will be the one defined by the first frame and last frame parameters.
First Frame / firstFrame Integer 0
Last Frame / lastFrame Integer 0
Compression / compression Choice Default
Compression used by the internal zlib library when encoding the file. This parameter is used to tune the compression algorithm.
Filtered data consists mostly of small values with a somewhat random distribution. In this case, the compression algorithm is tuned to compress them better. The effect of Filtered is to force more Huffman coding and less string matching; it is somewhat intermediate between Default and Huffman Only. RLE is designed to be almost as fast as Huffman Only, but give better compression for PNG image data. The strategy parameter only affects the compression ratio but not the correctness of the compressed output even if it is not set appropriately. Fixed prevents the use of dynamic Huffman codes, allowing for a simpler decoder for special applications.
Default (default): Use this for normal data
Filtered (filtered): Use this for data produced by a filter (or predictor)
Huffman Only (huffman): Forces Huffman encoding only (nostring match)
RLE (rle): Limit match distances to one (run-length encoding)
Fixed (fixed): Prevents the use of dynamic Huffman codes, allowing for a simpler decoder for special applications
Compression Level / compressionLevel Integer 6
Between 0 and 9:
1 gives best speed, 9 gives best compression, 0 gives no compression at all (the input data is simply copied a block at a time). Default compromise between speed and compression is 6.
Depth / bitDepth Choice 8-bit
The depth of the internal PNG. Only 8bit and 16bit are supported by this writer
8-bit (8u)
16-bit (16u)
Dithering / enableDithering Boolean On When checked, conversion from float input buffers to 8-bit PNG will use a dithering algorithm to reduce quantization artifacts. This has no effect when writing to 16bit PNG
libpng Info… / libraryInfo Button   Display information about the underlying library.