Changelist 25-26
From Avisynth
[edit] Changes from 2.5 series to 2.6.0 Alpha
13/04/08 (by Sh0dan)
- ColorYUV: Added all adjustment parameters as conditional variables "coloryuv_SETTING". Enable by setting conditional=true. [undocumented]
- ColorYUV: Removed (unused) debug information code.
- Resize: Use SSE3 (SSSE3 ??) loads for unaligned memory access.
- Resize: Free aligned horizontal resizers.
- Resize: Added SSSE3 horizontal unpacker.
- Resize: Moved GetResampleFunction into Resamplefuntion, to allow overrides.
- ConditionalReader: Added offset keyword to offset all frame numbers after the keyword. [undocumented]
- TCPClient: Fixed uncompressed client not passing correctly through.
- TCPServer: GetFrame is now ensured to only be called by a single thread, if client should request frames.
- TCPDeliver: Update avisynth.h.
22/02/08 (by Sh0dan)
- Fixed transfer errors in TCPClient.
- Removed some redundant blitting.
30/01/08 (by Sh0dan)
- Added SincResize(). Optional taps parameter (default is 4). [undocumented]
16-12-07 (by Sh0dan)
- Added dynamic horizontal MMX resizer.
- Added dynamic SSSE3 horizontal resizer ~ twice as fast as MMX.
- Fixed Softwire SSE2 bugs.
- Removed dead code from horizontal resizer
- Commented dynamic vertical resizer better.
- TCPDeliver: Fixed VC8 compilation on latest SDK.
- TCPDeliver: Image decompression is now done in client fetch thread to enable better multithreading.
- Added Custom band setting to SuperEQ to allow all 16 bands to be set from script. Usage: SuperEQ(clip,band1, band2, band3....) values are dB in float.
- Optimized horizontal SSSE3 resizer; approx 2.5 x speedup (38.1fps vs 14.2fps on test)
25-11-07 (by Sh0dan)
- Softwire: Fixed encoding of instructions that are >2 opcodes (SSSE3+4).
- Fixed SSSE3 CPU detection.
- Resampler: Removed dead stlf code.
- Cosmetics in textoverlay to avoid compiler error.
23-10-07 (by IanB)
- v2.58 syncing.
- AsFloat() returns float instead of double.
14-10-07 (by IanB)
- Work in progress VideoInfo, rework VideoFrame structure - remove pixel_type.
- Y16 (4:0:0 16bit), YV48 (4:4:4 16bit), PRGB (planar 8 bit RGB), RGB48 (planar 16 bit RGB).
- I420 (YV12 with swapped chroma), YUV9 (YUV 4:1:0 planar).
- text-overlay: Fix halo scan order. Rewrite interlaced halo code. Add gamma correction.
30-09-07 (by IanB)
- Work in progress, Refactor use PixelClip to do cliping, Raise issue of wrong 709 formulae
- Work in progress, Add fast 0-1-0 kernel YV24 back to YUY2.
- core: Update CoUninitialize() logic from v2.58.
- Add "ConvertAudio(cii)" for plugins to Invoke(), Fix PLANAR_UV_ALIGNED to return 0 for Y8
- Parser:
- Report unhandled C++ exceptions;
- Tuneup/refactor Spline() code;
- Trap orphan comment closing tokens.
- planeswap: Set luma padding to 50% grey, 126.
- Subtitle: Fix scanning upper 3 halo neighbours upsidedown, interlaced mode also blur halo.
- DirectShowSource:
- Refactor GetFrame, ConvertFPS now only relies on get_sample.GetSampleStartTime;
- fix jitter problems with recent M$ asf spliter giving bogus SampleEndTime values.
29-09-07 (by Sh0dan)
- Downgrade flac to v1.2.0 to produce compatible 24 bit files (was previously: v1.2.1b).
- Updates from .vcproj, set "Language Neutral", minimize libraries searched, suppress default library errors due to incompatible .LIB builds (TCPDeliver.dsp).
22-09-07 (by IanB)
- Convert: Fix splint64 to Spline64.
17-09-07 (by Sh0dan)
- TCPServer: Removed Secure printf's for VC6
- SoundOut:
- Updated FLAC.
- Fixed FLAC files larger than 2GB.
- Fixed overwrite options.
- Faster 3DNOW Float to 24 bit conversion.
19-08-07 (by Sh0dan) - SoundOut (docs should be updated)
- Added WavPack output module.
- Added Sample type selection to WAV Output.
- Added aften, twolame, lame as source code, instead of static libraries.
- Better debug info.
- Fixed leaks.
- Updated to v 1.1.0
03-08-07 (by IanB)
- Add SoundTouch and PFC as dependancy libraries
02-08-07 (by Sh0dan)
- Added "chromaplacement" parameter to all conversions, can be "MPEG2" (default) "MPEG1" and "DV".
- Added "chromaresample" parameter to all conversions, can be all resamplers, default is "bicubic".
- Link time code generation was producing invalid code (VC8), disabled.
31-07-07 (by Sh0dan)
- Added SSSE3 and SSE4.x definition and detection.
- Removed obsolete files.
28-07-07 (by IanB)
- Make softwire build as a subproject
28-07-07 (by Sh0dan)
- Updated VC8 build to include compilation of Softwire.
- Added complete SoundTouch code, removed library
- Added complete ptc code, removed library.
- Cleanup of VC8 solution.
18-07-07 (by Sh0dan)
- Updated Soundtouch to 1.31
- Made VC8 project files.
- Minor tweaks for VC8 compile. All changes should be compatible with VC6 - there are two Soundtouch libraries for the same reason.
15-07-07 (by Sh0dan)
- Planar horizontal resizer now works with any destination resolution.
- Fixed bug in vertical resizer with Y8 planes.
- TCPDeliver: Updated huffman to newer (and faster) version. - TCPDeliver: Added RLE compression.
03-07-07 (by Sh0dan)
- avisynth.sln added
28-05-07 (by IanB)
- fix MaskHS
01-05-07 (by IanB)
06-04-07 (by IanB)
- Ported v2.57 changes to v2.6.
31-12-06 (by Sh0dan)
- Larger buffer for normalize and EnsureVBRMP3Sync
- internal: DrawString/DrawDigit* (info.h)
- Added mode="audiolevels" to histogram. This will show vu-meters for each channel as overlay. (undocumented yet ...)
- Fixed compiler warning in Tweak.
- ShowSMPTE: Implemented fallback to hh.mm.ss.ms. To force this, use fps = 0 as argument.
- Updated DSS with YV24 and YV411 input support.
- SoundOut plugin (undocumented yet ...)
19-12-06 (by Sh0dan)
- TCPDeliver: Added Status console for Server.
- TCPDeliver: Optimized Server prefetching.
- TCPDeliver: Updated LZO to v 2.02.
- Clients are now disconnected more nicely, if server quits.
- Nicer disconnects of clients from server.
- Merged IanB's 2.5 fixes.
16-11-06 (by Fizick)
- masm8 compatibility (convert_a.asm)
07-10-06 (by Sh0dan)
- Changed TCP buffer sizes on client and server.
- Server never prefetches frame, when data is pending.
new: 19-07-06 (by IanB)
- Carry fix from 2.5.7 stream forward (avi_source.cpp)!
new: 18-07-06 (by Sh0dan)
- Updated Soundtouch to 1.31
- Made VC8 project files.
- Minor tweaks for VC8 compile. All changes should be compaible with VC6 - there are two Soundtouch libraries for the same reason.
- Made VC8 projects for DirectshowSource and TCPDeliver.
- Threading in TCPDeliver does not use AFX anymore.
new: 06-06-06 (by Sh0dan)
- Updated TCPDeliver for AviSynth 2.6, including new colorspaces.
- Protocol revision bumped.
- Using TCP_NODELAY, this will kill latency on client request packets, and server replies
new: 23-05-06 (by Fizick)
- 8 bpp for CS_UNKNOWN (as cs_metadata)
new: 13-01-06
- Fixed bug in ```ScriptEnvironment::SetMTMode```.
new: 02-01-06
- Added framerate fractions to Info.
new: 10,14,18-12-05
- Histogram Color2 mode (a vectorscope).
new: 09-12-05
- Removed ConvertToYUY2 code from convert.cpp
- Remade RGB to YUY2 conversion using softwire assembler. 10% faster.
- Added align(16) to branch points in resampler and matrix.
- Cosmetic change in Levels.
new: 28-11-05
- Fix forced type AviSource parsing, re-order format priority.
- Fix $Plugin<name>Params$ global - thx Fizick
new: 19-11-05
- Made Tweak UV processing a single lookup per UV-pair. 128k table.
new: 17-11-05
- New "Tweak" functionality (options TweakColor from Trevlac):
- It enables you to adjust the hue and/or saturation in a specific hue range [startHue,endHue] and/or in a specific saturation range [maxSat,minSat]. Some interpolation to the prescribed saturation range is added to prevent color banding. The interpolation can be set with "p" (p=0 won't interpolate, p=4 is maximal).
- Added planar support.
- SSE code removed. It's not being used since it's slower, and there were many conditions in which it wasn't used. Parameter is still present for script compatibility, but simply ignored.
new: 13-11-05
- Planar support for Histogram.
new: 29-10-05
- Add Y8 for DevIL, planarize EBMP.
new: 26-10-05
- PSWAPD is 3DNow!, Make pure MMX, Set Alpha=255 for RGB32, minor tuning.
- Add YUY2 to subsampling width/height methods.
- Don't feed user string thru printf, is useless as they can't provide args (in Assert).
- ShowFiveVersions() all planar support.
- Subtract(), Invert() all planar support.
- Subtitle() all planar support.
- Crop() all planar support.
- Fix chroma resampling calc for rectangular planar turn left/right.
- Memory leak (AVIReadHandler).
- Fix drop frame handling for direct input (AviSource).
new: 23-10-05
- Zero chromacity is 0x80.
- Update copyright, unstuff chroma placement defs.
- Update rev stamp.
- Teach turn to do rectangular planar i.e. YV16 & YV411.
new: 22-10-05
- Put dynamic matrix conversion into separate file.
- Checked and fixed bugs in Planar output.
- Planar alignment was off on new frametypes. Too much was being allocated.
- Fixed compile warning in MT code.
- Added new formats to AviSource.
- Order of attempts: YV12, YV411, YV16, YV24, YUY2, Y8, RGB32, and RGB24 in turn.
- Fixed crash bug in AviSource error reporting.
- Fixed greyscale not working on new planar formats.
- Video was NOT converted on RGB -> YV12.
- Fixed CPU reporting in Info().
- Added time indicator on audio length and video (current frame & total).
- Fixed Y8 issue in resizer.
- Added specific error reporting when requesting subsampling on Y8.
- Fixed YV16 resizing.
new: 13-10-05
- Added IanB's much better unpacker.
- Changed YV12<->RGB to go through YV24 instead of YUY2.
- Updated interlaced handling in Generic Planar conversion.
- Moved chroma subsampling to image_type section.
- Fixed Y8 BMPSize().
new: 12-10-05
- Optimized YUV24-> RGB conversion with IanB's suggestion.
new: 11-10-05
- Oops - wasn't resturning after MMX code in YUY2->YV16 conversion, so C code was still being run.
- Ensure dest buffer is large enough for unpacker.
- Removed 1 pixel/loop mattrix converter.
- Removed failed attempt at MMX YUV packer.
new: 10-10-05
- Allow all planar to do Turn180.
new: 09-10-05
- Added 2pixel per loop 3x3 matrix multiplier. Not much faster here.
- Fixed last pixel kept on 24bpp output in matrix multiplier.
- Added dynamic MMX planar to interleaved convertion.
new: 05-10-05
- Fixed memoryleak with MTMode 2 and 4.
- Added a synchronization class IClipLocalStorage and smartpointer PClipLocalStorage to handle synchronisation between class instances when using MTMode 2 and 4.
- Increment sequencecount in MakeWritable to avoid crash when calling GetFrame between MakeWritable() and GetWritePtr().
- Added generic planar input to Overlay.
- Fixed VC6 scoping in multithread code.
- Throw error on unsupported colorspaces in Turn*.
new: 04-10-05
- Added MMX YUY2 <-> YV16 from DGDecode.
- Added MMX YUY2 -> Y8 conversion.
- Added Generic Planar -> YUY2 through intermediate YV16.
new: 02-10-05
- Added dynamicly compiled MMX/iSSE for RGB<->YV24 conversions. Speed is approx 200% of C-code.
new: 30-09-05
- Added generic planar to rgb conversion.
- Added YV16 to YUY2 conversion.
new: 29-09-05
- Added RGB to planar conversion (all formats - all matrices).
- Added YUY2 to Planar conversion (all formats).
- Fixed border issue in text renderer for generic planar formats.
new: 21-09-05
- Added MultiThreading support, including ScriptEnvironment::SetMTMode and ScriptEnvironment::GetMTMode.
new: 14-09-05
- Split up merge and plane Swappers.
- Split up Plane transfers into separate classes.
- Plane splitters working on all internal colorspaces.
- Added UtoY8 and VtoY8.
- Added automatic destination colorspace detection on planar YtoUV.
- Begun Planar convertion. ConvertToY8 implemented, but not yet activated.
- Updated TcpDeliver to current CVS version.
- Took out GreyScale and RBB32<->RGB24 from convert.cpp and placed them in separate files.
- Added new FOURCC's to AviSource.
- Added new colorspaces to BlankClip.
- Added more info to Info().
new: 05-09-05
- Added preliminary general planar support:
- Formats added to avisynth.h.
- NewVideoFrame can produce general planar images.
- PVideoFrame should return correct values for rowsize, pitch, height.
- Cache behaves correctly on new format.
- All code assuming UVwidth = Ywidth/2 an similar should be gone.
- So far old plugins behave nicely!
- Added SSE3 to CPU detection. Not tested.
- Overlay can convert to/from YV24 and Y8 (used as simple converter).
- Resize handles arbitrary resizes.
- Fixed SubFrame to new formats. Since VFB now hass pixel_type it is able to calculate missing values.
- ColorYUV works on all formats.
- Blur/Sharpen works on all formats.
- Crop works on all formats.
- Levels, TemporalSoften works.
Back to main Changelist page.

