3ivx MPEG-4 Video & Audio
News Technology Download Store Company Company

Technical Background Document: 3ivx D4 4.5

New Modules

3ivx DirectShow Media Muxer
* New DirectShow Media Muxer allows you to mux video+audio streams into MOV or MP4 files
* Header Compression can be used to dramatically decrease the overhead associated with mov files
* Make streamable allows you to optimize the video and audio streams and prepare the file for streaming
* Write System Tracks to make fully compliant MP4 files
* AAC and MP3 audio can be muxed
* In combination with the 3ivx Core can repair some malformed MP4V streams while muxing, ensuring playback in a wide variety of MP4 players, such as Apple QT6, EnvivioTV and Philips Platform4, as well as 3ivx D4

3ivx DirectShow Audio Encoder
* New DirectShow Audio Encoder (Powered by FAAC) allows you to easily encode or transcode audio streams into a format which can be muxed into MP4 files using the DS Muxer.


New Features

Core
* Massively improved QPel decoding
* Massively improved Single Pass Average Bitrate Mode
* Dual Pass Encoding
* Dual Pass Credit Suppression
* Dual Pass Constant Bitrate Curve
* Dual Pass Best Quality Curve
* QPel Encoding (Not Available in release codec)
* Adaptive Quantization Encoding
* MPEG Quantization Encoding
* Configurable Keyframes
* Min/Max QP Values for ABR and CBR mode
* Expanded QP range for CQ mode (1..31)
* You can now output video during the first pass, if you wish
* Forward compatible encoder preferences
* Decodes MPEG-4 Aspect Ratio
* Encodes MPEG-4 Aspect Ratio
* PureMP4 mode (non AVI compatible)
* CBR Mode for Live Streaming

3ivx DirectShow Video Decoder
* Force Overlay mode
* Supports MPEG-4 Aspect Ratio from compliant MP4 files

3ivx DirectShow Media Muxer
* Now automatically uses MP4 mode when writing to .mp4 files
* Now automatically uses MOV mode when writing to .mov files
* Now muxes VFR (Variable Frame Rate) video streams
* Now corrects packed b-vops
* Now corrects 'delay' frames
* Now writes compliant b-frame compliant MP4s
* NVop Removal
* Now writes ISMA Compliant System Tracks

3ivx DirectShow Media Splitter
* Fast Seeking or Accurate Seeking
* Multiple Audio Track Support
* MP3 audio in MP4 files is supported
* Preliminary meta-data support

3ivx DirectShow Audio Encoder
* Optionally specify Bitrate Per Channel (ABR encoding)
* Optionally specify Quality (VBR encoding)
* Optionally specify Cutoff Frequency (lowpass)
* Temporal Noise Shaping
* Mid/Side Stereo Coding
* see: http://www.audiocoding.com/wiki/index.php?page=FAAC

3ivx DirectShow Audio Decoder
* Decodes MC-AAC (Multi-Channel) Audio
* Decodes LC-AAC (Low Complexity) Audio
* Decodes LTP-AAC (Long Term Prediction) Audio
* Decodes HE-AAC (High Efficiency) Audio (aka AAC+, SBR)
* Realtime Audio Statistics in the DS Properties dialog
* Multi-Channel -> Stereo Downmix option

3ivx DirectShow Filters
* COM Properties API

3ivx Video for Windows (VfW) Codec
* Pixel Aspect Ratio can now be set. Must remux to MP4 or MOV format for the decoder to handle PAR correctly
* Min & Max QP can be set for ABR and CBR
* Suppressed frames and suppression ratio can be set for dual-pass
* Output first pass can be set for dual-pass
* New Tabbed user interface
* Many Many more encoder options

3ivx QuickTime Video Codec
* New Tabbed user interface
* Min & Max QP can be set for ABR and CBR
* Dual Pass (aka 2 Pass Encoding, 2 Pass VBR)
* Can specify Dual-Pass Goal (Best Quality, Constant Bitrate)
* Suppressed frames can be set for dual-pass, second pass
* Suppression Ratio can be set for dual-pass, second pass
* Output first pass can be set for dual-pass, first pass
* Can now decode pre-standard Sorenson MPEG-4
* New Advanced Options
* Can specify maximum delta span
* Can enable/disable Inter4v
* Can enable/disable HPel
* Can enable/disable MPEGQuant
* Can use the full MPEG-4 QP range (1..31)
* Can now write Pass-Through compatible MPEG-4 bitstreams
* Can now write PureMP4 bitstreams (not AVI compatible)
* OS9 codec
* YUV420 Input By Reference is now supported
* YV12 input is now supported

Win Config
* New Config App allows easy configuration of all filters

Win Installer
* MP4 is now associated with mplayer2/wmplayer
* M4A is now associated with mplayer2/wmplayer
* MOV is now possibly associated with mplayer2/wmplayer
* Associated filetypes have appropriate icons
* Now properly uninstalls previous 3ivx versions (4.1 alphas upto and including a13 aren't uninstalled )

OSX Installer
* Installs into either /Library/QuickTime or ~/Library/QuickTime depending on user permissions
* Uninstalls legacy and previous versions
* Includes an uninstaller
* No Restart required
* No Authentication required
* DMG based installer


Improvements

GUIs
* Min QP can no longer be equal to Max QP in ABR mode (use CQ encoding instead)
* Improved QP -> Quality %ge scale
* Renamed Dual-Pass Constant Quality to Dual-Pass Best Quality
* Redesigned User Interface
* Suppress slider disabling behaviour improved

3ivx QuickTime Video Codec
* GUI is now connected to Core
* Codec no longer displays a green screen when breaking into a live stream
* Instant Filtering

3ivx QuickTime Video Codec for Mac OS
* Defaults to saving log files in the users preference folder
* QP1..31 can now be encoded in CQ mode

3ivx DirectShow Media Splitter
* Splitter now is a preferred filter
* Greatly improved seeking
* Splitter now correctly handles MS-MPEG4v1
* Splitter now correctly handles both positive and negative track offsets
* Splitter now correctly handles Variable Frame Rates

3ivx DirectShow Media Muxer
* Dialog labels were improved
* Now performs dynamic de-jitter when using unreliable demuxers
* VBR MP3 muxing works much better (not perfect)
* Optimally interleaves all samples in one pass
* Now immediatly aborts while maintaing finishing sync when stopped
* Muxer now correctly handles both positive and negative track offsets
* Muxer now correctly handles Variable Frame Rates

3ivx DirectShow Video Decoder
* Increased maximum priority

3ivx DirectShow Audio Decoder
* New AAC Decoder now supports Multi-Channel AAC, LTP Profile, and HE-AAC (SBR/AAC+)
* More Error tollerant

3ivx DirectShow Audio Encoder
* Updated to libfaac 1.23.3
* Added "Default" button
* Added FAAC version display

3ivx Video for Windows (VfW) Codec
* Advanced options tab
* Input restrictions are now communicated to VfW applications

Win Installer
* Now uses NSIS2 with ModernUI
* New MP4, M4A and MOV icons
* Registers popular Media Players for MP4 types
* Registers MIME types with popular Web Browsers
* 20% smaller

Windows
* All filters now use the HKCU (CurrentUser) registry hive for their preferences

Core
* Encoder quality improvements
* Encoder efficiency improvements
* Accelerrated Motion Search
* Full MPEG-4 Video syntax
* More QPel MMX/MMXEXT optimizations
* Superfluous console trace messages were removed
* inter4v accuracy/efficiency has been improved
* Adaptive Quantization is no longer used with Dual-Pass
* New encoding mode Constant Bitrate, produces an extremely tight datarate with the possibility of dropped frames. Ideal for live streaming with extreme datarate constraints.
* AltiVec MPEG Dequantizer
* Passive IDCT Mismatch prevention prevents the appearance of some large and very visible IDCT mismatches
* Active IDCT Mismatch prevention prevents common systemic idct mismatches
* More encoder quality improvements
* New more efficient dual-pass log format
* MMX Optimized RGB output
* Optional NVop output (efficient duplicate/dropped frame encoding)


Bugs Fixed

3ivx QuickTime Video Codec
* Preference handling bugs were fixed
* QT MPEG-4 Stream Hinter can not process NVops resulting in a -5402 error from QuickTime.

3ivx QuickTime Video Codec for Windows
* Indeo Video can now be exported to 3ivx
* Unscaled DV video can now be exported to 3ivx
* Fixed crash when displaying the encode preview

3ivx QuickTime Video Codec for Mac OS 9
* Fixed 'Smalle' and 'Norma' gui label glitch
 
3ivx Video for Windows (VfW) Codec
* Default button on mode tab now changes mode
* Default button on advanced tab now works
* Default button on experimental tab now works
* No longer advertises inaccurate compression input formats
* No longer limited to encoding multiples of 16 (any even dimension can be used)
* Fixed crash when encoding with an undefined framerate
* Default button now switches back to basic options
* All tabs correctly update when switched to/from
* RGB 24bpp input with a width not a multiple of 4 now works
* No longer crashes some applications at exit
* Fixed Advanced Options descriptive warning
* ABR and CBR panes now match each other
* Fixed tab order

3ivx DirectShow Media Muxer
* Registry Bugs
* Integer Division by Zero fixed
* fixed a bunch of race conditions
* fixed an EndOfStream bug
* fixed a stall when muxing an audio stream + video encode
* muxer now writes the last .5 seconds of video/audio
* muxing video+aac into an mp4 with the same graph twice in a row now works
* Buffer overflow fixed
* some jitter bugs were fixed
* muxer now works when source stream doesn't have MediaTimes
* Can now connect muxer in reverse order
* Can now mux video+audio re-encoded from a DV stream
* Eliminated producer/consumer deadlocks
* Muxer now can be paused
* Muxer now correctly muxes live encodings
* Muxer no longer truncates movie header in some situations
* If you connect the muxer to an .mp4 or .mov file writer, and then change the extension of the target file to neither .mov nor .mp4 the muxer will no longer behave weirdly. Graphedit still has display issues in this situation. So don't do it.
* MP4/MOV output is now compatible with Apple QuickTime Export
* Zero duration frames no longer cause problems during muxing
* NVops at the end of a stream are no longer lost

3ivx DirectShow Media Splitter
* MP3 in MP4 now works
* MP3 in MP4 file no longer crashes mplayer2.exe
* If you connect the input pin of the splitter and then delete the splitter the graf no longer crashes.
* Trying to demux the video track from a 3IV2.mov into an .avi no longer crashes
* Multiple audio track MP4s produced with DS Muxer no longer crash the demuxer at the end of the stream
* Sync is no longer lost after seeking, even for VFR (Variable Framerate) mov/mp4s
* Seeking on MPEGable encoded MP4s works correctly
* Scrubbing to the end of a movie in mplayer2.exe no longer deadlocks
* No longer crashes when demuxing AAC in Director's cast property window
* Track offsets no longer cause sync problems
* Splitter no longer deadlocks if played with no renderers, and then deleted.
* Fixed crash with Nero 6.0.0.19 aac.mp4 files
* Splitter no longer drops the last audio chunk in a file
* Splitter now can be reused without rerendering a graph once the end of a stream has been reached.
* Fixed a large memory leak
* Can now play backwards

3ivx DirectShow Audio Encoder
* Registry Bugs
* Stream Restart Bugs
* Reusing the graf produced a corrupt MP4
* Reusing the filter introduced a buzzclick sound at the start of the stream
* libfaac 1.17 problems were fixed
* Audio Encoder can now be used with multiple instances
* No longer uses LTP mode when directly connected to DS Audio Decoder
* Now correctly maps multichannel audio
* Fixed a threading problem
* Fixed a memory leak

3ivx DirectShow Audio Decoder
* The audio decoder now handles mono sound tracks
* Fixed a crash on psytel encoded audio
* Decoder now stops/starts cleanly
* Fixed a crash on buggy Apple aac encoded audio
* Implicit SBR no longer plays at 50% speed
* Now correctly maps multichannel audio
* 5.1 channel SBR now plays
* Fixed a bug where some channels weren't decoded sometimes
* Fixed a bug where some mono streams were decoded as stereo

3ivx DirectShow Video Decoder
* Registry Bugs
* IMediaDet bug was fixed
* State transition bugs were fixed
* Deadlock in EOF was removed
* Some spelling/grammatical errors were fixed
* Fixed corrupt registry FilterData bug
* Even non-multiple of 4 source now decodes correctly when outputting to RGB24
* Fixed a crash on some corrupted files
* Fixed a crash on some non MP4 streams
* Fixed a bug when the first frame was not a keyframe

Core
* Encoder could crash some P4 systems using some applications (eg VDub P4 Edition)
* QPel mismatch was fixed
* DivX5 movies with b-frames, no longer cause divide by zero when seeking
* DivX5.0.3+ QPel decoding was fixed
* Adaptive Quantization and Dual-Pass can now be used together
* Adaptive Quantization Encoder mismatch bug fixed
* Adaptive Quantization ABR bug fix
* QPel encoding crash fixes
* Dual-Pass was producing constant offsize output no matter what bitrate was chosen. The bug was dependant on the source video.
* Certain XviD encodes no longer exhibit a buildup of a subtle green hue
* Chronic IDCT Mismatches are now prevented.
* Unavoidable IDCT Mismatch Video Noise in various modes has been reduced significantly
* CBR mode works again
* Fixed some memory leaks

Windows
* Filters should now remember their preferences for non super-users

Win Config
* Fixed icon

Win Installer
* Now verifies found media players actual existance
* Correct embedded installer behaviour was restored
* 3ivx installed folder no longer opens for embedded installations
* Now removes the QuickTime directory on deinstallation if its empty


Known Bugs

3ivx DirectShow Audio Encoder
* Property Dialog's Edit fields do not have any effect, sliders work fine

3ivx QuickTime Video Codec
* The QT codec does not encode correctly with Adobe Premiere. The resulting video only shows keyframes. Work-arounds, configure 3ivx for all keyframes, or preferably use the 3ivx VfW codec.

3ivx QuickTime Video Codec for Windows
* When one movie has two or more video tracks, each encoded with 3ivx there may be problems playing the video when DirectDraw Acceleration is enabled in the QuickTime settings control panel. Work-arounds, disable DirectDraw acceleration, or DirectDraw.


Non Issues

3ivx DirectShow Media Muxer
* The muxer will not connect to a filewriter which does not have an .mp4 or .mov extension.
* The muxer can not be connected to the splitter.


Permanent Issues

Core
* XviD streams prior to build0000 (ie up to and including 0.9 stable series) with non-multiples of 16 are not MPEG-4 compliant and exhibit occasional glitches. There is no work-around.
* NVops (not coded PVops) can be used to more efficiently represent dropped frames or frames which are identical to the previous frame. NVops are not correctly handled by the QuickTime MPEG-4 Stream hinter and will cause a -5402 error when attempting to hint a file which contains NVops. The solution is to not use NVop coding. There is no tool currently available to remove NVops from an already coded bitstream. (This is currently still an issue with QT6.4)
Jump to...
Windows Decoding
Windows Encoding
Mac OS Decoding
Mac OS Encoding
Bitrate Calculator
Other Sections
The 3ivx Store - FAQ
Glossary of Terms
File Types: Video
File Types: Audio
Corporate Licensing


Support > TBD: 3ivx D4 4.5

Google
Site Map  |  Contact Us  |  Job Opportunities

Copyright © 2011 3ivx Technologies Pty. Ltd. All rights reserved.