For the new SER Player
application, please see the SER Player page
From v2.2.0 onwards, PIPP uses DLLs from the excellent FFmpeg licensed under the LGPLv2.1. The FFmpeg source can be downloaded here.
Note that this code does not need to be installed separately and all the required components are contained in PIPP's installer.
2.5.9 07 Jan 2017
Fixed issue where PNG format calibration frames crashed PIPP.
Fixed issues with PIPP running on Windows XP.
Added NeuQuant neural-net colour quantisation algorithm for improved GIF generation.
2.5.8: 21 Nov 2016
Fixed issues when creating animated GIFs while 'Input Frame Dropping' is enabled.
2.5.7: 15 Nov 2016
Fixed issue with raw image format calibration files.
Fixed handling of zero value pixels in flat frames.
Fixed error message when generating Animated GIFs.
Fixed bug where broken TIFF files were generated.
Fixed issue with gain and gamma controls on computers using languages that use a ',' for a decimal point.
Created a 64-bit version of PIPP as well as the old 32-bit version.
Improved Animated GIF generation by using GIF code from SER player instead of using FFmpeg.
Added function to resize frames to a smaller size.
Added support for summation binning as well as average binning.
Allowed surface stabilisation to function without actually moving frames.
2.5.6: 27 May 2016
Fixed bug where reading PNG files would fail after around500 files.
Fixed bug where writing PNG files would fail after around 500 files.
Fixed bug when saving colour images split into RGB channels as PNG files.
Fixed colour cast bug when opening .dng files generated by Magic Lantern.
Fixed support for Magic Lantern .MLV video.
Fixed start-up crash caused by corrupted PIPP data file.
Fixed bug when calculating total brightness of colour images for 'quality' estimation.
Added support for keeping original image filenames when saving images.
Updated DCRaw to version 9.27 (Improves support for raw images from cameras).
Updated FFMpeg to v3.0 (Improves read support for video formats).
Improved surface feature image stabilisation code to be more tolerant to changes of brightness.
2.5.5: 20 Feb 2016
Updated handling of AVI files so as to not misidentify codec.
Added support for reading and writing PNG image files.
Fixed bug where quality weighting did not work when output format was an image format.
Added missing support for colour C_32_BIT_FLOAT FITS images.
Various updates to surface stabilisation code to make it more sensitive and more robust.
2.5.4: 05 Sep 2015
Fixed surface stabilisation bug when cropping to AOI.
2.5.3: 06 Jul 2015
Added support for pixel binning.
2.5.2: 06 May 2015
Fixed bug when surface stabilised frames were quality sorted when Area Of Interest is not enabled.
Fixed crash when planetary processing a video with multiple completely black frames at the start.
Fixed filename bug when writing RGB-split image files with quality value in filenames.
Fixed 'Cannot open codec' bug when generating MPEG4 AVIs with large frames and high quality.
Updated RAM buffer usage to ensure more memory is always available for other operations.
Added ability to specify generated output subdirectory name.
Added support for setting non-integer frame rates for output AVIs and animated GIFs.
Added 'Optimise Options for Planetary Animation GIF' option.
2.5.1: 17 Feb 2015
Fixed crash when processing more than 1 file in batch mode.
v2.5.0: 16 Feb 2015
Fixed broken WinJUPOS compatible filename generation.
Fixed bug when multiple raw images are processed without 'Debayer Raw Image Files' enabled.
Added frame stabilisation for solar/lunar surface videos.
v2.4.3: 29 Dec 2014
Re-added video file extensions that got lost during recent changes to filter list (.mkv, .mts, .m2ts and .m2t).
v2.4.2: 16 Dec 2014
Fixed colour cast bug when using flat frame correction with raw colour and colour data.
v2.4.1: 05 Dec 2014
Fixed "Error: Unknown Argument '-'" crash reported in Windows 8.1.
v2.4.0: 06 Nov 2014
Fixed bug where raw image file extension list is missing for new PIPP installs.
Fixed bug where frames cropped to a size larger than the original frames and quality sorted using RAM buffers caused PIPP to crash. Mainly seen when processing full frame solar videos because the default crop size is larger than the original frame size.
Fixed broken 'Save Rejected Frames' functionality.
Added support for dark, flat and flat-dark calibration frames.
v2.3.8: 15 Aug 2014
Fixed crash when generating animated GIF files.
Added the ability to include the quality level for each frame in the output image filenames.
Added support for reading (8-bit and 16-bit) FITS files.
v2.3.7: 04 Jun 2014
Fixed bug where all video FPS values were reported as 10 fps for videos decoded by FFmpeg.
FIxed bug where FPS value in generated AVI files could not be forced if video files used as input.
Fixed obscure bug where PIPP could crash if badly corrupted videos files were added.
Fixed potential divide by zero bug in bayer pattern detect code.
Updated FFmpeg to version 2.2.2 (Required as part of a bug fix).
v2.3.6: 24 Apr 2014
Fixed RAM buffer bug when colour frames are processed with quality weighting.
Fixed RAM buffer bug which sometimes caused crashes when quality sorting frames.
Added support for writing animated GIF files.
Added support for writing FITS files.
Added control to allow disabling of leading zeros in image filename numbers.
Now automatically does a test run when the first source file is added.
Added bayer detection for mono AVI files, now works similar to SER files with a bayer pattern.
Modified Bilinear and Smooth Hue debayer algorithms to reduce smoothing of the green channel.
Updated FFmpeg to version 2.1.3.
Extended noise filter to work with raw colour data (monochrome data with a bayer pattern).
v2.3.5: 05 Apr 2014
Speeded up quality sorting by saving temp images in RAM buffers (when available) instead of on the hard drive.
Changed the way debayering of SER files with bayer pattern and AVI files with BY8 codec is controlled. It should hopefully be more intuitive now.
Improved automatic threshold level calculation for object detection.
DCRaw version updated from 9.17 to 9.20.
Moved 'Bayer Pattern Protection' control to 'Colour Debayer' control group.
Changed default size of cropping from 450x450 to 448x448 as some programs incorrectly handle AVI widths that not a multiple of 4.
v2.3.4: 16 Mar 2014
Added check for updated version of PIPP on start up.
Improved 'Test Detect Threshold' functionality.
v2.3.3: 06 Mar 2014
Increased maximum number of input frames that quality sorting can handle from 65536 to 4294967296.
Added code to handle incorrect timestamps in SER files created by PlxCapture_ARRANDALE.
v2.3.2: 24 Feb 2014
Fixed mono SER file generation when input files are not SER files (COLOR_ID field was set incorrectly).
Minor updates to GUI design.
v2.3.1: 21 Feb 2014
Fixed local to UT time conversion that was broken in last version.
Fixed ignoring of part minute field when decoding WinJUPOS format time in header.
Added HQ Linear Interpolation debayer algorithm.
Updated design to handle international characters in file names and file paths - Please report any issues with this as I wont see them!
v2.3.0: 14 Feb 2014
Fixed obscure temp file deletion bug with quality selection, TIFF/BMP output, split RGB channels and output frame dropping.
Fixed bug where Setting SER Pixel depth to 16 or 15 forced colour detection to mono or colour.
Fixed SER debayering when bayer pattern is specified in the SER header.
Fixed renumbering of output images when quality selection is disabled.
Fixed crash when Smooth Hue debayering was used with 16-bit data.
Fixed bug where debayer pattern was incorrect when image height was an odd number of lines.
Support for reading and writing 8/16-bit colour SER (V3) files.
Monochrome conversion function updated to allow any 2 colour channels to be used.
Offset function can now be used when object is centred but cropping is not enabled.
Modified order of quality weighted frames so duplicate frames are not output one after another in AVI or SER files.
SER file to SER file processing now keeps timestamps if present in source file.
SER file to SER file processing now keeps header strings (Observer, Instrument & Telescope) from source file.
Added AVI & SER file details boxes, accessed by right-clicking the files list.
v2.2.21: 08 Dec 2013
Fixed bug where incorrect framerate was displayed for some AVI files with audio.
Fixed bug when generating FMP4 codec AVI file from AVI file with framerate denominator > 65535.
Fixed crashes when planet not detected during animation video generation.
Added Filesize column to Source File List.
Increased quality levels for generating MP4 video files (at the cost of filesize). Level 6 is now the same as the old level 10.
Allowed reversal of frame order with animation options.
Added code to catch situation when processing is started with quality estimation and animation options enabled together.
v2.2.20: 16 Nov 2013
Fixed bug where the last few frames of videos with inter-frames were not read.
Added support for extra video formats which need to be scanned to get framecount (.mts/m2ts/m2s, .mpg/mpeg, mkv & wmv).
v2.2.19: 08 Nov 2013
Fixed bug in bayer pattern protection algorithm.
Quality progress bar label updated to indicate type of quality algorithm used.
v2.2.18: 06 Oct 2013
Fixed colour (RGB) channel splitting when outputting AVI file with Ut Video codec.
v2.2.17: 29 Sep 2013
Updated the format of the 'Old Format' AVIs generated by PIPP so that they are accepted by AviStack 2.
Added a control to select whether 'Old Format' AVIs are split at 4GB or 2GB.
Added option to only generate DIB codec AVI files with 'safe' frame widths to work around buggy software such as VLC Media Player and AviStack 2.
v2.2.16: 25 Sep 2013
Fixed bug where image files duplicated by quality weighting were output in the wrong directory.
v2.2.15: 07 Sep 2013
Fixed bug where processing multiple MP4 AVI files failed.
Added front page option to 'Optimise Options For AVI Archive'.
Added option to generate output files in the same directories as the source files.
Added option to set the output filename suffix rather than always using '_pipp'.
v2.2.14: 29 Aug 2013
Added functionality to flip and rotate frames.
Added support applying gamma correction to each frame.
Removed use of C# XmlSerializer object that caused PIPP to crash on start up on some machines.
v2.2.13: 08 Jul 2013
Histogram stretch function updated to stretch black point to zero as well as white point to a fixed position.
Updated object detection threshold algorithm to work with bright backgrounds (daytime moon).
Added function to display pixels above the object detect threshold. Helps when manually setting the threshold value.
Added more information to the image viewer.
Added the ability to save the frame in the image viewer as an image file.
Added support for reading BMP and TIFF files with alpha channels.
Added support for reading and writing AVI files with non-integer FPS values.
Improved error reporting when all frames are discarded.
Fixed bug where video files decoded by FFmpeg ignored the last few (4 usually) frames.
Fixed animation functionality when input frame range is limited.
v2.2.12: 04 Jun 2013
Fixed bug introduced in v2.2.11 where files processed in batch mode could have half of their frames discarded.
v2.2.11: 30 May 2013
Added experimental median noise reduction filter (supports monochrome files only).
Added option to use individual colour channels for converting colour to monochrome as this can produce better results for lunar and solar imaging.
AS!2 alignment issues fixed by changing the colour of off-frame pixels (these are generated when objects are centred) from black to the average background colour of the frame.
v2.2.10: 17 May 2013
Corrected build option that caused PIPP to crash because of missing DLLs on machines without MSVCP100.dll installed.
v2.2.9: 16 May 2013
Changed minimum value of 'Minimum Object Size' from 10 to 4.
Regenerated FFmpeg DLLs to be smaller.
Disabled all tabs except the 'Do Processing' tabs while processing is happening.
Modified image preview window ready for more changes to come.
Added option to install Ut Video Codec to PIPP's installer.
Fixed bug in writing Ut Video and MPEG4 codec AVIs that could theoretically cause crashes.
v2.2.8: 21 Apr 2013
Re-writes of critical code sections to make PIPP faster.
Fixed bug in the structure of generated large DIB codec AVI files (Though no software seemed to notice this error in the files).
v2.2.7: 01 Apr 2013
Added input gain control to apply a fixed gain to all frames prior to processing.
Added maximum pixel value data to test image viewer window.
Added a hot pixel filter for Raw images.
Added ability to accurately align lunar images with part of the disc in shadow to prevent alignment errors in RegiStax 6.
Fixed bug which caused broken 'Ut Video' or 'MPEG-4' AVI videos to be generated with 16-bit source data.
Fixed bug in histogram stretching 16-bit colour data.
Adjusted gain for raw image files to match previous CR2 only version.
v2.2.6: 20 Feb 2013
Fixed bug where file extensions for RAW image files were not recognised the first time PIPP was ran after being installed.
v2.2.5: 18 Feb 2013
Better handling of obscure AVI formats.
Added FPS (frames per second) column to source files list.
Fixed memory leak when encoding AVI files with Ut Video codec.
v2.2.4: 15 Feb 2013
Added support for generating AVI files with Ut Video codec (lossless compression suitable for stacking).
Added support for generating AVI files with MPEG-4 part 2 codec (lossy compression for generating animations and videos to upload to YouTube).
Upgraded and improved Animation generation.
Fixed crash caused by DLL dependency on some Windows 7 64-bit installs when file was added or Help->About viewed.
v2.2.3: 07 Feb 2013
Added a processing complete sound.
Updates to Options menu.
Fixed colour detection for AVI files that are only handled by FFmpeg.
v2.2.2: 03 Feb 2013
Added code to split generated AVI files before they get too large to be valid.
Removed some unused functions from FFmpeg DLLs to reduce size.
Fixed YUY2 encoding codec for 16-bit data (It was just generating all black frames with 16-bit data).
v2.2.1: 01 Feb 2013
Fixed number of frames calculation for .MOV files and possibly other video types.
v2.2.0: 01 Feb 2013
Added code to use FFMPEG DLLs for opening video files. This means most video formats and codecs can now be opened.
Added DCRAW code so that all (well most) image raw files formats can be supported instead of just Canon CR2 files.
Added support for generating new format AVI files (odml) so that 2GB (or 4GB) limit no longer applies (new limit > 120GB).
Added option to limit the input frames to the centre frames of the input AVI/SER file.
Added option to specify the number of best quality frames as a percentage of the total frames rather than a fixed number.
Added support for generating WinJUPOS compatible filenames using date/time in the input filenames.
Added support for moving selected items up and down in the source file list.
Updated object detection algorithm to ignore artefacts at the border of the frames.
Added check for attempts to write different sized frames to an AVI or SER file.
Fixed histogram stretch bug when 16-bit data (colour or monochrome) is used.
Fixed strict decoding of Y800 codec AVI frames - not that I can imagine this mode ever being useful!
v2.1.9: 17 Nov 2012
Added option to use YUY2 codec for output AVI files (for planetary animations).
Added 'Optimise Options For Planetary Animation' control to simplify use when generating planetary animations.Bug fix: 'Number of last frame playbacks > 1' broke output AVI file when 'Number of complete playbacks = 1'.
'Input Options->Input Frame Colour/Monochrome' not being set to 'AutoDetect' caused crash for non-video input files.
v2.1.8: 15 Nov 2012
Added function to repeat last frame in generated AVI file. This allows repeating animations to 'pause' at the end of each playback.
v2.1.7: 10 Nov 2012
Slight update to output AVI format so YouTube now correctly plays the repeats.
v2.1.6: 09 Nov 2012
Added AVI playback repeat functionality for output AVI files (for generating animation presentations rather than stacking).
v2.1.5: 30 Oct 2012
Improved handling of AVIs from wxAstroCapture with inconsistent header fields.
Changed behaviour when reading AVI frames with bad lengths, now skips frames rather than issuing a fatal error.
v2.1.4: 20 Oct 2012
Added input frame dropping control (Drop X frames after each input frame).
Moved 'Limit Frames' control to 'Input Options' tab.
Added control to specify whether source frames are colour, mono or auto-detected.
Added icons to each option group to aid navigating the options.
v2.1.3: 12 Oct 2012
Fixed bug where opening bitmap files with image data size field set to 0 would crash PIPP's core.
v2.1.2: 11 Oct 2012
Added new control to GUI to set start and end frames that are processed from input files.
Fixed handling of SER files with little endian data.
Added support to automatically debayer SER frames with bayer pattern (uses SER header data).
Added control to set pixel depth of input SER file overriding value from SER file header.
- Thanks to Grischa Hahn for his help with these SER file bugs -
v2.1.1: 06 Oct 2012
Fixed bug that stopped image viewer working when 'Split RGB Channels' option was enabled.
Fixed bug that could cause long output SER files with cropped frames to be corrupted.
v2.1.0: 15 Sep 2012
Added support for reading TIFF files (8-bit and 16-bit).
Added support for writing TIFF files (8-bit and 16-bit).
Added support for reading Canon RAW (.CR2) files.
Added support for processing 16 bits per pixel samples.
Added option to convert colour frames to monochrome.
Added option to maintain colour balance when stretching colour frames' histograms.
Modified the options selected when selecting 'Optimise Options for Full Solar/Lunar disc imaging'.
Added option to protect bayer pattern when centring/cropping frames but not debayering.
Fixed bug where finding object with hard edge could cause crash.
v2.0.2: 02 Jul 2012
Added support for loading jpeg files.
Added zoom control to viewer window.
Added average pixel value quality algorithm for detecting cloud on full disc solar/lunar images.
Modified 'Optimise Options' to support Solar/Lunar Close-up and Solar/Lunar Full Disc imaging.
v2.0.1: 22 Jun 2012
Changed capitalisation of some control labels for consistency.
Fixed crash when Save Options dialogue is cancelled.
v2.0: 12 Jun 2012
A huge update on the previous command line versions of the program, hopefully much more usable.
GUI project added to control command line code and display output.
Added installer to check for .NET Framework 4 and install all required components.
Fixed bug in minimum pixel estimation.
v1.8: 01 May 2012
Added histogram based quality algorithm.
Fixed generated mono AVI files compatibility with QuickTime Player and possibly other video software.
Changed default operation so that rejected frames are not saved.
Added option to save rejected frames if required.
v1.7: 13 Apr 2012
Reordered help output text.
Updated -histostretch option accept % values or use default value (80%).
Added support for writing AVI video files (supports colour or monochrome images).
Fixed bug where processing multiple .bmp files (no quality) created multiple .avi/.ser files.
Fixed bug where source images with mixed case file extensions are not processed.
Changed the default output file type to match the first input file type.
Fixed bug where -norenumber option did not work for AVI and SER output files.
Updated generated directory structure and filenames.
Updated output text.
Now works in batch mode by default with new option '-join' ('-j') to treat multiple input files as a single file.
Fixed SER and AVI generation with quality enabled and RGB split enabled.
Added option to use the original quality algorithm (as taken from Ninox).
v1.6: 27 Feb 2012
Added support for writing SER video files (Does not support colour images).
Removed '-delete' command line option.
Added check to ensure qmax >= qmin.
v1.5: 21 Feb 2012
Image filename indexing begins at 1 instead of 0.
Rejected frames are saved in a rejected directory.
Added support for reading SER video files.
Added option to not renumber frames into quality order.
Added quality sorting log file generation.
Fixed bug in planet detection algorithm.
Histogram stretch updated to accept stretch value.
Added quality weighting support.
v1.4: 06 Feb 2012
Updated output directory name creation to create unique directory names.
Planet detect threshold calculated from first frame's histogram instead of using a constant.
Fixed bug in both types of debayer algorithms.
Added histogram stretching functionality.
v1.3: 30 Jan 2012
Added support for BY8 video codec.
-nocheck and -nocentre options changed to -check and -centre options.
Fixed overexposed frame rejection.
v1.2: 29 Jan 2012
Added support for quality estimation non-planet type objects such as the moon.
Fixed handling of short output directory names.
Added handling for 0 length data chunks in AVI files.
v1.1: 29 Jan 2012
Fixed blank frame bug when no crop is specified.
v1.0: 28 Jan 2012