Technical Background Document:
3ivx MPEG-4 5.0.4
Important Changes
- General
- Windows 7 Compatibility
- Mac OS X Lion Compatibility
- Core
- New frame resource manager
- New frame reference manager
- QT Video Codec
- Can correctly play CTTS mp4 videos
- Mac OS X 3ivx Preference Pane
- Added native x86_64 support for Lion and Snow Leopard
Improvements
- Core
- Can now handle large b-frame spans after a packed P/B frame
- Can now handle more then one warp point GMC videos
- Significantly re-written frame management and referencing systems
- Significant modification of timing systems
- Decoder delay has been reduced by 1 frame.
- Improved B frame decoding.
- Core now allows optional b-frame delay.
- Core now allows optional frame-reordering
- Improved Mach-O Position Independent Code support
- Improved Watermark diagnostics
- QT Video Codec
- Significant front end rewrite so we can correctly play CTTS mp4 videos
- Now support fully asynchronous decoding for CTTS enabled clips in QuickTime Player 7.5 or later
- Mac QT Video Codec
- Mac OS X Lion Compatibility
- QuickTime X Compatibility
- Finder QuickLook Compatibility
- iMovie '08 Compatibility
- iMovie '11 Compatibility
- iPhoto 9.2 Compatibility
- PhotoBooth 4.0 Compatibility
- Aperture 3.2 Compatibility
- QuickTime Plugin Compatibility with Chrome, Safari and FireFox
- QT Exporter
- iMovie 08 Compatibility
- iMovie 11 Compatibility
- Mac OS X Lion Compatibility
- 3ivx Configurator
- Now uses XP visual styles
- Mac Installer
- Redunadant files were removed from packages
- Meta-packages now share script resources
- Hide the extension of the main meta-package inside the disk image more reliably
- Updated CpMac with the universal version
- Mac OS X Lion Compatibility
- 3ivx Media Splitter
- Decreased opening time of some long clips.
- Windows Installer
- Now uses NSIS version 2.46
- Fixed an issue where previous installs would fail to uninstall
Bugs Fixed
- Core
- Fixed QPel-enabled crash while encoding
- Fixed BlockAll0_MMX and BlockAll0_MMXEXT bugs
- Fixed decoding packed b-frames with spans over 1
- Fixed GMC 2-3 warp point prediction
- Fixed skipped b-frames after GMC frames
- Fixed b-frame prediction after GMC frames
- Fixed GMC frame reconstruction after GMC frames
- Fixed IntraDC too small to contain error code
- Fixed DC clipping bug
- Fixed compatibility issue with Mac OS X Lion
- Fixed a crash with expired Trial
- DS Video Decoder
- Fixed RGB 15bpp output regression
- Fixed upstream spitter detection
- Fixed glitch when randomly seeking AVI files
- Fixed first 30 frames black base class bug when using the VR Renderer with AVI files
- Added 0x706D tag for AAC
- Fixed input pin reconnection bug
- Fixed a problem when stop/playing a directshow graph more then 2 times with a b-frame video
- Sometimes the decoder would not flush all frames which caused a spin-lock if an encoder was waiting
- Fixed the decoder not resetting correctly after a flush
- Fixed an incorrect display issue for clips with Pixel Aspect Ratio not equal to 1
- DS Audio Decoder
- Fixed audio decoder input pin reconnection bugs
- Fixed configuration setting bug for audio down-mixing
- OpenQuicktime
- Rounding bugs with get frame time and get frame duration are fixed, which makes the splitter behave more accurately
- Fixed an esds memory leak
- Fixed compatibility issue between iPhone/iPod and 3ivx encoded clips
- DS Splitter
- Based on the fix above of OpenQuicktime, timestamps in splitter were rewritten, which fixed the following problems:
- slow playback
- wrong detection of the end
- frame step forward and backward
- improper synchronisation of audio and video when playback rate is changed
- restart delay after playback rate is changed was reduced significantly
- IMediaSeeking interface was implemented in 3ivx media splitter, so multi-streams rendered by VMR could be stopped/seeked correctly
- Fixed an esds memory leak
- Fixed a video/audio synchronisation bug
- Fixed the wrong determination for clips with non-zero track offset in the beginning
- Fixed dead-lock when stopping a remux
- Fixed VMR seeking bug, which occurred when two active sources were connected to the VMR
- Fixed buffer mis-allocation for videos with presentation width or height of 0
- DS Encoder
- Fixed force key-frame bug
- DS Audio Decoder
- Mac Installer
- Now quits any instance of QuickTime Player before install so our codec is available straight away
- Fixed trial to registered upgrade path
- Re-wrote installer to use /tmp
- Fixed a bug where the 3ivx folder would not be displayed after install, now forces finder refresh
- Fixed silent installer from displaying dialog box
- Fixed silent installer defaults for current user
- Updated CpMac for Snow Leopard/Lion compatibility
- Mac Register
- Fixed plist non UTF-8 issue
- Fixed potential bug where all licenses would be removed
- Fixed pop-up registration application appearing alongside LoginWindow in Mac OS X Tiger PPC
- QT Video Codec
- Playing all frames in QuickTime Player would temporarily leak frames until decoder reset
- Now support fully asynchronous decoding for CTTS enabled clips in QuickTime Player 7.5 or later
- Fixed crash while receiving video stream from network
- Fixed dropped frames while exporting from b-frame videos
- QT Exporter
- Now correctly displays version in configuration pane
- Fixed possible broken m4v output which could not be played by native QuickTime m4v decoder
- Fixed m4v compatibility issue with QuickTime Player 7.7
- VFW Codec
- VFW Ghosts now register correctly.
- Windows Installer
- Installer now supports NTFS mounts points on the directory page (NSIS patch)
- Now detects and terminates any running old support application versions before install
- Fixed a Windows 7 compatibility issue
- Fixed non-removed shortcut issue
- 3ivx Configurator
- Now correctly stores component configuration instead of applying the configuration to the current component instance only
- Windows Register
- Muxer would only be available when encoder licenses are installed.
Known Bugs
- 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.
- Adobe Premiere Elements 3.0.2 sometimes crashes.
- If QuickTime Player is playing an MP4 file during a new 3ivx installation, it will stop the current file but the seek bar will keep moving.
- 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
- When using an Apple File Share, you probably can't mux streams over 2GB in size
- 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.
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)
- As decoder delay has been reduced by 1 frame, if the clip playing does not correctly indicate low_delay field - the first B span will jitter.
- 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.
- Quicktime does not allow decoding GMC in mp4 files, error 2010 dialog would generally pop out
- In certain versions of QuickTime Player, if using a CTTS enabled MP4 file, the first frame displayed will be black.
- If the first frame produced is black, the last frame displayed will be mis-predicted.
- Direct Show Splitter
- Windows Media Player 11 does not allow seeking when opening mov or mp4 files from within a library. The Solution is to open these files directly.
For further information see TBD:3ivx MPEG-4 5.0.2
|
|
Jump to...
|
|
Other Sections
|
|
|
|