JpegSource

From Avisynth wiki
Revision as of 14:37, 12 May 2014 by Reel.Deal (Talk | contribs)

Jump to: navigation, search
Abstract
Author SEt
Version 2014.4.19
Download JpegSource_20140419.7z
Category Source filters
License Free for non-commercial use, closed source.
Discussion


Contents

Description

An advanced JPEG decoder for AviSynth 2.6 which decodes JPEGs directly in their native colorspace. In addition, JpegSource
has an optional reconstruction pass that can only be done during the decoding stage. This process can accurately suppress
common JPEG artifacts (blocking, ringing/mosquito noise, etc). The reconstruction pass is harmless on high quality JPEGs but
can produce excellent results on highly compressed JPEGs. This technique yields better results than other post-processing methods.


Supported Formats

JpegSource supports just about every kind of JPEG file, but due to lack of colorspace support in AviSynth some formats
need additional steps to load:
  • YUV440 JPEGs - channels have to be loaded individually.
  • CMYK/YCCK JPEGs - channels have to be loaded individually.
  • RGB encoded JPEGs - to load correctly see the examples below.


Requirements:

- AviSynth 2.6.0 Alpha5 or later
- Supported color formats: Y8, YV12, YV16, YV24, YV411
- SSE2 capbale CPU / SSSE3 capable CPU for reconstruction pass only


Syntax and Parameters

JpegSource (string file, int "rec", int "channel", int "length", float "fps_num", int "fps_den")


file string =
Path to image file. Path can be omitted if the script is in the same folder as the image file.


rec int = 1
Number of reconstruction passes; set to 0 to disable.


channel int = -1
Load only one image channel with specified index (zero based).
-1 : load all channels
0 : load 1st channel
1 : load 2nd channel
2 : load 3rd channel
3 : load 4th channel (only for CMYK/YCCK JPEGs)


length int = 1000
Clip length in frames.


fps_num float = 24
FPS numerator.


fps_den int = 1
FPS denominator.


Examples

JpegSource with default settings:

JpegSource("image.jpg", rec=1, channel=-1, length=1000, fps_num=24, fps_den=1)


Correctly display an RGB encoded JPEG:

JpegSource("RGBimage.jpg")
MergeRGB(last, UToY8(), VToY8(), "RGB24")


Changelog

Version        Date            Changes
2014.4.19 04/19/2010 - Added single-channel mode, so you can load pretty much every JPEG you can encounter even when Avisynth doesn't have an appropriate colorspace.
2014.4.18 04/18/2014 - Support JPEGs with arithmetic compression. - No longer locks files after first frame was decoded. - Added MT and cache hints for AviSynth+. - Changed compiler to VS2013.
2014.1.5 01/05/2014 - Initial release


External Links





Back to External Filters

Personal tools