JpegSource

From Avisynth wiki
Revision as of 08:13, 20 April 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.


Contents

Description

An advanced JPEG decoder for AviSynth 2.6 which decodes JPEGs in its native colorspace. In addition, JpegSource does a reconstruction pass
on the data 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
- SSSE3 capable CPU


Syntax and Parameters

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


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


int  rec = 1
Number of reconstruction passes.


int  channel = -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)


int  length = 1000
Clip length in frames.


float  fps_num = 24
FPS numerator.


int  fps_den = 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