Technical Background Document: 3ivx MPEG-4 5.0.1
New Modules
- Mac QT MP4 Exporter
* Media Exporter now support MP4 export
* Supports Apple MPEG-4 AAC encoded audio
* Supports 3ivx MPEG-4 enncoded video
* iPhone Compatible
* DataHandler based allows encoding from in memory media as well as
from network and file based formats
* iMovie Compatible
New Features
- DirectShow Filter Suite
* Now supports QuickTime Transformation Matrices. Transformation Matrices are
used in QuickTime, Apple iPhone and AppleTV to represent Aspect Ratios.
- QT Media Exporter
* AVI Exporter now supports uLaw audio compression
Improvements
- Core
* MMX Deblocker now works with intel-macs.
* MMX YUV420 to YUV422 routines now work with intel-macs.
* Added AltiVec routine for YUV420 to YUV422 conversion.
* Now supports Apple QuickTime 7's new SoundDescription V2 atom.
* Now always switches to MPEG4v2 syntax when using MPEG4v2 features, defaults to MPEG-4v1 syntax if only v1 features are used and no ASP features are used.
* Now detects SSSE3, SSE4.1 and SSE4.2 presence
* Completely new frame management system which can dynamically allocate buffer frames.
* Internal re-factoring makes modifcations simpler, more reliable and reduces crashes.
* Frame accurate rewinding
* Now reuses hot frames automatically allowing higher cache hit ratios.
* Reduced total memory requirements (Approx. reduction 2-3x.)
- DS Media Splitter
* Reads Transformation Matrices in mov and mp4 files
* Outputs VIH2 Aspect Ratio
- DS Media Muxer
* Writes Transformation Matrices in mov and mp4 files
* Accepts aspect ratio information from VIH2
* Uses PAR from ES/VOSH in preference to VIH2 AR
- DS Video Decoder
* Accepts aspect ratio information from VIH2
* Accepts aspect ratio information from ES/VOSH attached to VIH2
* ES/VOSH Par overrides VIH2 aspect ratio
- DS Video Encoder
* Sets VIH2 aspect ratio to encoder's PAR or source video's PAR
- Open QuickTime
* Now supports reading/writing float64
* Now supports reading/writing Fract data
* Now supports reading/writing Transformation Matrices
- GUIs
* All GUIs now display version number in gui, including build when necessary
- QT Codec
* Reduced fast forward startup lag
* Significant decoder performance improvements on Intel
* Decoder blitting accelerated dramatically which should help with slow "transitions"
* Codec startup memory usage reduced by a factor of 80
- DS Splitter
* Uses AAC2 decoder to get a more accurate sample rate directly from the aac2 audio stream.
- Register
* Added multichannel support.
- Win Installer
* ReadMe's are now IE Web Archives for Vista compatibility
Bugs Fixed
- Core
* Fixed a bug in the NASM deblocker which caused corrupted output
* Increamented all component versions to 5.0.1
* Now correctly decodes odd width planes
* Now dynamically allocates frames, avoiding circular buffer crashes
* Can now handle large amounts of contiguous b-frames
* Fixed a timestamp bug for frame accurate rewind
* Fixed bframe mis-prediction during the switch to delayed output (bframe) mode
* Now keeps reference frames for longer to fix potential mis-prediction
- DS Splitter
* Now correctly detects sample rate of audio stream
* Fixed crash if splitter is passed a invalid file handle
* Fixed crash if splitter is passed a file without any tracks
* Fixed crash if splitter is passed a file with invalid data
- QT Video Codec
* No longer allocates unnecessarily large amounts of frames
* No longer has circular buffer race conditions
* Fixed mis-predited frames after a window resize
* Fixed render preview image in the export settings panel
* Now displays correct version
- QT Importer
* Now displays correct version
- QT Exporter
* Now adjust duration of video track if audio track is longer.
* Now displays correct version
* Works with iMovie 3.0.3 again
- Register
* Added extra day issue date for serials to account for serial server time
zone differences
* Fixed an issue with invalid serials being displayed
- Windows Installer
* Added a flag to force installation.
* Fixed installer failing if previous version's uninstaller is missing
- Mac Installer
* Now uses correct version information for upgrading packages
* To solve finder bug, now updates finder windows after install
- MP4tifier
* Default output type is now MP4.
Known Bugs
- Core
* Multiple packed b-frames (XviD Jambo) have issues
- DS Video Decoder
* Windows Media Player 11 does not post process and ignores
"Auto-Select for Video Filter Level" in the configuration pane
- QT Codec
* Sometimes does not report any format description for video tracks.
* Sometimes cannot render preview image in the export settings panel.
* Rewinding/Fastforwarding on complex and high resolution video can sometimes result in mis-predited frames being displayed.
- Win QT Codec
* 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.
- DS Muxer
* The muxer is currently limited to muxing streams no more than
approximately 9.942 hours in length. If you attempt to mux a stream
longer than this the resulting MP4 will be corrupt.
- 3ivx Installer
* Requires computer administrator to install.
Unknown Bugs
- DS Muxer
* The DS Muxer probably can't mux streams over 4GB in size
Missing Features
- Core
* Interlaced decoding is not implemented for S-frames (GMC)
- DS Media Muxer
* Fragmented Muxing is not ISO compliant and has been disabled.
- Mac QT Media Importer
* Media Importer is not release quality. You can install it via a Custom Install on Mac OS X
* Media Importer is PowerPC only.
Non Issues
- DS Muxer
* The splitter can not be connected to the output of the muxer.
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. The 3ivx DirectShow Media Muxer can be used to remove NVops from an already coded bitstream. (This is currently still an issue with QT6.5)
- QT Codec
* QuickTime 7's native datarate setting is now in kilobits/sec. There are
1000 bits in a kilobit, and 1024 bytes in a kilobyte, according to the
QuickTime Player. Due to a work-around for an error in QT7's kilobit->byte
conversion, third party applications which do not use the QT7 codec
selection dialog to obtain a datarate from the user (in kilobits/sec) may
end up undershooting by a factor 1.024 (roughly 2.5%). In order to correct
for this multiply the datarate you enter into affected applications by
1.024. This is only an issue when using QT7.
For further information see TBD:3ivx MPEG-4 5.0
|
|
Jump to...
|
|
Other Sections
|
|
|
|