mirror of
https://github.com/gpac/gpac.git
synced 2026-01-12 00:05:22 +08:00
1034 lines
65 KiB
Plaintext
1034 lines
65 KiB
Plaintext
# On-going: GPAC 1.1-DEV
|
|
## Protocols
|
|
- support for HTTP/2 (client and server) through nghttp2
|
|
- ROUTE muxer and support for low-latency ROUTE mux and demux
|
|
|
|
## Adaptive Streaming
|
|
- support for LL-HLS (dashing, playback and server side)
|
|
- support for various forwarding modes of DASH reader, allowing for example to encrypt/decrypt a live DASH/HLS session
|
|
- DASHing now possible using inband cues (generated by flist, dashin or dasher filters)
|
|
- Cue-generation only mode for dasher
|
|
- HLS/DASH signaling of intra-only representations
|
|
- playback improvements for SRD (HEVC tiling and independent streams)
|
|
- CMAF-compatible signaling
|
|
- support for PPS injection for inband param set modes
|
|
- improved SmoothStreaming support
|
|
- DASH period continuity support (from playlists or reframer)
|
|
- DASH MPD Chaining support
|
|
- support for text segments in their native format (WebVTT, TTML) in dasher
|
|
- user tags injection for HLS master and variant playlists
|
|
|
|
## Image File Format (HEIF)
|
|
- support for grid creation and other derived images
|
|
- support for encryption
|
|
- support for time range in -add-image
|
|
- support for item to sample data reference (no copy)
|
|
- support for item to item data reference (no copy)
|
|
- support for generic aux image tagging
|
|
- support for image replacement
|
|
- AV1 (AVIF) and VVC support
|
|
|
|
## MP4Box
|
|
- in-place editing support for MP4Box (no file remux)
|
|
- improved splitting in MP4Box, including sample-accurate split
|
|
- ISOBMFF edit lists modification through MP4Box :edits and -edits
|
|
- support for track extraction from non ISOBMF sources in MP4Box
|
|
- most import options can now be applied on an existing ISOBMF file
|
|
- support for multiple filter chains per source in MP4Box dash or add syntax
|
|
- chunk interleaving dumper
|
|
|
|
## Filters
|
|
- simplified gpac command line (backward compatible syntax)
|
|
- added avmix, a playlist based audio video mixer/compositor
|
|
- Python bindings for filter session
|
|
- NodeJS bindings for filter session
|
|
- support for custom HAS adaptation algorithms (JS, Python and NodeJS)
|
|
- support for custom remotery callbacks (JS, Python and NodeJS)
|
|
- added avgen counter generation
|
|
- splicing support in playlists: raw and compressed domain, vod and live splicing
|
|
- tile splitting as a filter
|
|
- stream restamper filter
|
|
- compressed bitstream spliter and aggregator filters
|
|
- aspect ratio support in rescaler
|
|
- raw options for flist and reframer
|
|
- flip and rotate in vout
|
|
- simple UI for vout to test seeking and speed modes
|
|
- improved color space support in rendering (OpenGL only)
|
|
- improved round-trip audio decode
|
|
- improved audio resampler
|
|
- added back old arch compositor features (TEMI support, HEVC tiling JS monitoring, MPEG-4 SegmentDescriptor)
|
|
- support for reading back frame interface data (GPU, decoder mem) in JS or Python sink filters
|
|
- support for memory storage in httpout server file sink
|
|
- FileIO wrapper available in QJS, Python and NodeJS
|
|
|
|
## Media Formats
|
|
- improved support for MPEG-H audio mux/demux/dashing
|
|
- VVC parsing, inspecting, mux/demux (ISOBMFF, M2TS), RTP, DASH and encryption
|
|
- VUI color info rewrite for AVC, HEVC and VVC (mp4box and bsrw filter)
|
|
- support for Dolby TrueHD
|
|
- DolbyVision 'dvvC'
|
|
- improved multichannel AAC (>=8) support
|
|
- improved raw video in ISOBMFF support
|
|
- improved bitstream dumping for inspect analyze mode
|
|
- better TTML support: metrics, image embedding (IMSC1), TTML sample merging while exporting, subtitle zero in TTML
|
|
- support for youtube VR meta-data
|
|
- yuv4mpeg format read/write
|
|
|
|
## Encryption
|
|
- support for multi-key per sample encryption
|
|
- support for HLS full segment encryption (demux and mux)
|
|
- support for per-segment or per-period key roll
|
|
- support for master/leaf key schemes
|
|
|
|
## Misc
|
|
- improved HTTP rate limiter and chunk-transfer rate estimator
|
|
- reworked mod-dirs and js-dirs usage, JSFilters can now be included in the default available filters
|
|
- support for windows long path
|
|
- moved to latest QuickJS (2021-03-27)
|
|
- added QJS-libc modules, support for exec/waitpid/kill and Workers on most platforms
|
|
- support for FFmpeg 4.4
|
|
- many bug fixes, improvements and security patches
|
|
|
|
|
|
# 10/09/2020: GPAC 1.0.1
|
|
This release fixes build and installation issues in 1.0.0, as well as various bugs introduced during the migration to the filters architecture.
|
|
|
|
It also adds several small features:
|
|
- better ttml import
|
|
- better support for MPEGH audio
|
|
- support fur DASH UTCTiming
|
|
- manifest generation from pre-fragmented DASH/HLS mp4
|
|
- speed optimization in isobmf reading (normal and fragmented)
|
|
- improved JS API for the filter session
|
|
- core tools exposed as JS module (file io, bitstream, etc ...)
|
|
- android fixes
|
|
|
|
# 16/06/2020: GPAC 1.0
|
|
- Complete rewrite of GPAC streaming core:
|
|
* addition of a filter-based architecture, used by MP4Client and MP4Box.
|
|
* moving all decoders and demuxer plugins of MP4Client and most of MP4Box import/export code as filters for this new architecture,
|
|
* moving DASH/HLS segmenter to a filter
|
|
* moving MP4Client compositor and most of the GF_Terminal internals to a filter
|
|
* addition of a new application gpac, whose only purpose is to create and run filter chains
|
|
* removal of MP42TS and DashCast applications since these functionalities are provided by gpac
|
|
* deprecation of some features (widget management, MSE draft implementation for SVG media, UPnP, TEMI player support).
|
|
- Profile system allowing to override through a static file default options of all filters and libgpac core
|
|
- Alias system for gpac app to simplify your command lines
|
|
- Enhanced DASHer:
|
|
* Support for HLS and dual HLS / DASH generation
|
|
* Support for any input
|
|
* True low-latency mode for DASH
|
|
* Support for multiple periods
|
|
* Support for other segment formats (raw, mkv, webm currently tested)
|
|
- Input and outputs
|
|
* Generic pipe, TCP, UDP, and Unix Domain socket input and output
|
|
* RTSP server output
|
|
* HTTP output (client and server), supporting low latency DASH access
|
|
* Ad-hoc stream format called GSF to allow serialization to file, pipe or socket of a session (for distributed filter chains), supporting AES-128 CBC encryption.
|
|
- Raw audio (PCM) and video (RGB, YUV) reframers and exporters
|
|
- HEVC tile splitting and merging filters
|
|
- Compositor is a standalone filter (SVG/BIFS/VRML graphics in a filter chain)
|
|
- Image encoding support through libjpg and libpng
|
|
- Full FFMPEG support:
|
|
* Encoding/decoding through FFMPEG libavcodec
|
|
* Multiplexing/demultiplexing through FFMPEG libavformat
|
|
* Device grabbers through FFMPEG libavdevice
|
|
* Raw audio and video filters through FFMPEG libavfilter
|
|
- Support for QuickJS (ES2002) and bindings for:
|
|
* Complete filter API
|
|
* GPAC software rasterizer (EVG)
|
|
* WebGL 1.0 Core
|
|
* XmlHttpRequest and uDOM APIs
|
|
* Storage
|
|
- Inspect and analyze filter
|
|
- MPEG-2 TS splitter
|
|
- Video cropper filter with zero-copy mode
|
|
- Video flip filter
|
|
- Source concatenator filter
|
|
- Simple audio and video output filters
|
|
- Experimental audio and video rewinder filter
|
|
- Encryption
|
|
* On-the-fly encryption and decryption, now available as filters
|
|
* Segment-based encryption and decryption
|
|
- ISOBMFF
|
|
* box customization
|
|
* Better QT support, prores parsing and dumping
|
|
* Support for raw media (QT style or ISOBMFF for audio)
|
|
* Simplify HEIF batch conversion through item to track mapping
|
|
* Reading from pipes (fragmented or progressive files)
|
|
* Writing to packets rather than files
|
|
* Fast interleaved file creation mode with less storage requirements
|
|
- FileIO wrapper for cases where files are not stored in a file system known by GPAC
|
|
- Testing and Documentation
|
|
* Live doc generation (man and wiki)
|
|
* Improved coverage
|
|
* Split test suite as dedicated repo
|
|
* Moved all resource to https://wiki.gpac.io
|
|
* Started howto pages on wiki
|
|
* Many bug fixes
|
|
|
|
27/06/2019: GPAC 0.8.0
|
|
- General
|
|
* Many security fixes (static compile and fuzzing through AFL, always ongoing).
|
|
* Many bugs fixes
|
|
* Added :ncl option in log levels to disable color logs
|
|
* More tests and coverage
|
|
- File Formats
|
|
* Better support of QTFF / ProRes files
|
|
* Support for AV1
|
|
- import and export
|
|
- source formats: OBUs (Section 5), IVF and AnnexB
|
|
- AV1 in HEIF
|
|
* Support for color (nclc, nclx and ICC profiles) in HEIF and ISOBMFF
|
|
* Support for HDR (mdcv, clli) info in HEIF and ISOBMFF
|
|
* Support for alpha in HEIF
|
|
* Support for enforcing pasp presence even for 1:1 ratios
|
|
* HEVC temporal sublayer split in MP4Box
|
|
* Allow meta storage before mdat for meta-only files (heif and co)
|
|
* Added option to keep AU delimiter in isobmff samples
|
|
* Support for opus import
|
|
* Support for pixi and ccst in HEIF
|
|
* DolbyVision 'dvcC' and partial 'dvhe' boxes for HDR
|
|
* Support for VP9 import and playback
|
|
* Sample dependency in avc and hevc importers, and track thinner for non-refs images
|
|
* Support for audio_roll signaling
|
|
* New audio import mode to control AudioSampleEntry creation (v0, v1 ISOBMFF, v1 QTFF)
|
|
* xHE-AAC import with detection of sync samples
|
|
* Added support for MPEG-H 3D audio boxes (no import yet)
|
|
* Handle Vobsub empty SPU packets
|
|
* Added auxv and pict support
|
|
- Common Encryption
|
|
* Fully compliant CENC supporting cenc, cens, cbc1 and cbcs
|
|
* CENC for AV1
|
|
* Improved DASH+CENC support, pssh in MPD
|
|
* ForceClear mode for CENC to skip encryption without sample groups
|
|
* Made senc in movie fragments always stored before truns
|
|
* Added default values handling for cbcs and possibility to set protection system per track
|
|
* Compatibility with OpenSSL 1.1.x
|
|
- Streaming and Adaptive Streaming
|
|
* Support for ATSC3.0 both US and Korean versions !
|
|
* Support for for live splices (xlink period insertions) in DASH client
|
|
* Automatic period continuity in DASH when no codec change between periods
|
|
* Added DASH cue-base segmentation (XML based) and -dsap option to generate cue files from source
|
|
* Support for BBA-0 and BOLA implementations
|
|
* Write fragment defaults in trex even when not using them
|
|
* Support for simple ssix for keyframe data byterange at the start of a segment
|
|
* Moved segment template at AdaptationSet level if only one representation
|
|
* Changed default bsmode in dasher if single input file
|
|
* Added init-seg-ext option
|
|
* Added -mvex-after-traks option to MP4Box when dashing for CMAF
|
|
* Added segmentation option to insert a tfdt per traf
|
|
* Added -closest mode for DASH segmentation
|
|
* Added -bound option to use audio segmenting method for video
|
|
* Renamed -dash-run-for to -run-for
|
|
* Added '=' in dash templates
|
|
* Improved bandwith estimation when using HTTP 1.1 chunk transfer
|
|
* Add option to force moof base offsets
|
|
- MP4Box
|
|
* Added -catpl to concatenate from playlist in MP4Box
|
|
* Added options to set movie timescale at import and dash time
|
|
* Added mpd rip option and top-level box compressor in MP4Box
|
|
* Made -dts skip timing check and added -dtsc for that
|
|
* Made force-cat option more agressive
|
|
* Support for MovieFragmentRandomAccess using -mfra option
|
|
* Added -dtsx to dump timing without offset
|
|
* Added -dnalc opt for nal CRC dump
|
|
* Added chunk extraction up to time until end
|
|
* ISOBMFF single track import now removes references by default
|
|
- Decoders
|
|
* Updated ffmpeg to 4.0.2
|
|
* Moved to openHEVC 3.0 API
|
|
* Added nvdec support (windows, linux) with reuse of decoder context for tiled VR
|
|
* Added HEVC support to mediacodec on android
|
|
* AV1 playback through ffmpeg
|
|
* Opus playback through ffmpeg
|
|
- 3D, VR and 360
|
|
* Added vrhud for multiviewpoint 360
|
|
* Added forced visibility mode of tiles in VR
|
|
* Added tile visibility debug mode
|
|
* Added forced stereo output for openhevc
|
|
* Disable face nav if mouse grabbed
|
|
* Added simple face tracking vr navigation based on udp commands
|
|
* Added PSVR support
|
|
* Added mouse move emulation at window border to force sphere rotation when inactive
|
|
* Changed tile visibility algo to sample points in mesh
|
|
- Players (Mobile and Desktop)
|
|
* Added about extension
|
|
* Added multiple audio objects in dynamic scene
|
|
* Added addon splicing of main content
|
|
* Added mosaic://v1:.:vN url support
|
|
* Added gaze simulation through mouse and gaze-sphere visibility test
|
|
- Subtitles
|
|
* Allow * as argument of -srt|ttxt to dump all possible tracks (#925)
|
|
* Improved support for WebVTT import
|
|
* Improved support for WebVTT DASHing/fragmentation
|
|
- Misc
|
|
* OSX install now done through PKG and modify PATH env in/etc/paths
|
|
* Added initial PMT version and disc marker to TS muxer
|
|
* Moved dektec output to matrix API, added SDI clipping
|
|
* Added temi periodic toggle and manual toggle in MP42TS
|
|
|
|
# 26/04/2017: GPAC 0.7.1
|
|
- Full changelog at https://github.com/gpac/gpac/wiki/GPAC-0.7.0
|
|
- Many security fixes (static compile and fuzzing through [AFL](http://lcamtuf.coredump.cx/afl/), always ongoing)
|
|
- Colorized log.
|
|
- Fix pkg-config Private.libs.
|
|
- Changed default audio volume to 100% instead of 75%.
|
|
- Expose more experimental options through the [documentation](http://htmlpreview.github.io/?https://github.com/gpac/gpac/blob/master/doc/configuration.html).
|
|
- Improved GLES renderer on mobile platforms
|
|
- YUV422 and YUV444 8 and 10 bit support in GLES renderer
|
|
- Improvements on AVI dump.
|
|
- SAT>IP modified RTSP client.
|
|
- Added L-HEVC File Format support (SHVC/MV-HEVC tracks and HEVC Tile Tracks).
|
|
- Added MPEG IFF (image File Format) support.
|
|
- Range extension support for AVC and HEVC.
|
|
- SHVC and MV-HEVC importers and playback: moved to final spec version (SHM6+).
|
|
- Support of HLS with fragmented MP4 playback.
|
|
- APIs: gf_mpd_() functions and new segmenter API.
|
|
- Improved alternate groups.
|
|
- More support for PIFF PSEC and Smooth Streaming ( file format & playback).
|
|
- DASH client: pluggable algorithms + improvements with scalable contents.
|
|
- The counter source from the DASH sequences added to the public content.
|
|
- HLS and DASH playback minor fixes.
|
|
- Cleanup of DASH client logs.
|
|
- Added support for DASH SRD in 360 for independent videos videos (NxM partial spheres) [more](https://gpac.wp.imt.fr/2016/05/25/srd/)
|
|
- Added support for DASH SRD in 360 for HEV Ctiled videos (NxM tiles on one sphere) - [checkout tuto](https://gpac.wp.imt.fr/2017/02/01/hevc-tile-based-adaptation-guide/)
|
|
- Apple VideoToolBox hardware decoding support for OSX and iOS for AVC|H264.
|
|
- Android hardware decoding hardware acceleration for AVC|H264 (HEVC on its way).
|
|
- Android build is based on Android Studio.
|
|
- Android: new File Manager.
|
|
- Import of TTML via NHML according to MPEG-4 part 30 improved.
|
|
|
|
# 19/02/2016: GPAC 0.6.0
|
|
Many things added, improved and fixed - see https://github.com/gpac/gpac/releases/tag/v0.6.0
|
|
|
|
# 25/05/2012: GPAC 0.5.0
|
|
- MPEG-DASH and Apple HLS support in GPAC Clients
|
|
- MPEG-DASH segmenter for ISO files and MPEG-2 TS in MP4Box
|
|
- MP42TS generator now supports HLS output
|
|
- Support for MPEG-U and W3C widgets
|
|
- UPnP and DLNA support in the player through Platinum libraries, interfaced in JavaScript
|
|
- Better support for AVC and SVC muxing in MP4
|
|
- Support for OpenSVC decoder
|
|
- Stereo and Multi-view renderer for auto-stereoscopic screens
|
|
- iOS and Android support (but Symbian support has been dropped)
|
|
- Camera input through "camera://default" URLs on Windows, OSX 32bit, Linux V4L v1 and Android
|
|
- experimental audio filters
|
|
- Better T-DMB support
|
|
- experimental DVB-MPE and DSM-CC support
|
|
- BIFS ExtendedCore2D profile support
|
|
- more work on GUI
|
|
- and many many fixes and improvements in players and MP4Box
|
|
|
|
# 02/12/08: GPAC 0.4.5
|
|
- Support for AC3 in ISO Media, AC3 decoder (liba52) RTP hinting
|
|
- Support for MediaAccessEvent (spec still under development ??)
|
|
- Added support for user extensions (global class only) in JS through modules - cf gpac_js for sample code.
|
|
- Initial support for 3GPP DIMS (file creation and dumping + playback)
|
|
* Currently only SVG as overlay is supported for DIMS files, we are not sure about the specification on this topic
|
|
* RTP hinting /playback is not supported yet
|
|
- Support for SVG foreignObject - all GPAC supported content can be played in a foreign object
|
|
- Added automatic switch between 2D and 3D context for VRML/BIFS Inline node
|
|
- Basic support for DCCI queries:
|
|
* the DCCI object is exposed in scripts as 'DCCIRoot'
|
|
* the related document can be specified in GPAC configuration file in the [General] section with the 'EnvironmentFile' key
|
|
pointing to an XML file to use as the ontology context
|
|
* DCCI's propertyFilters are NOT supported yet.
|
|
- Added support for YCbCr OpenGL texturing (only tested with GL_MESA_ycbcr_texture)
|
|
- Fixed bugs in OSS audio (100% CPU usage when no audio to play) and ALSA (broken playback)
|
|
- Initial support for YUV overlays on Win32 and Linux (Needs XVideo)
|
|
* only one overlay at the moment
|
|
* Vector graphics /images can be drawn above the overlay if the video output supports dest color keying
|
|
- Changed 3D mesh object to be slightly more compact (colors and normal)
|
|
- Unified focus model for SVG and MPEG-4. MPEG-4 focus can only be used through tab/-tab (no north/east/.. navigation)
|
|
* The MPEG-4 focus is based on the groups (2D/3D) presenting interactive features (sensors)
|
|
* keyboard mapping for sensors is:
|
|
isOver triggered when focus moves in(isOver=TRUE) and out (isOver=FALSE)
|
|
isActive triggered when ENTER key is pressed (isActive=TRUE) and released (isActive=TRUE)
|
|
direction keys with or without SHIFT to simulate mouse move
|
|
* Layout node is considered as a sensor when scroll_rate is 0, so that the user can scroll the layout
|
|
* The focus is by default on the UA (GPAC), not on the content.
|
|
- Added support for inplace text edition in SVGT and in MPEG4
|
|
* support for clipboard paste at current caret pos (win32, wxWidgets - no WinCE/symbian yet)
|
|
* VRML/MPEG4/X3D: this is not standard, enabled with "EDITABLE" present in text->fontStyle->styles.
|
|
Added because StringSensor does not allow for in-place editing of the string
|
|
- Added support for text selection in MPEG4 (non standard) / SVGT with clipboard copy (win32, wxWidgets - no copy for text+tspan - no WinCE/symbian yet)
|
|
- Better support for SVG <animation>, added support for SVG->svg linking (ElementID and svgView) and many svg fixes
|
|
- Added support for MPEG-4 over MPEG-2 TS in mp42ts (MPEG-4 SL in MPEG-2 PES)
|
|
- Added support for MPEG-4 AAC/LOAS/LATM/ over MPEG-2 TS for import in ISO Media and in the player.
|
|
Only basic DVB config is supported for LATM
|
|
- Fixed support for AVC/H264 over MPEG-2 TS import in ISO Media and in the player. Only one PPS/SPS is allowed
|
|
- Added support for offscreen GL rendering on symbian using PBuffers
|
|
- SVG fonts should now be quite stable, but does not support kerning
|
|
- Moved all Font modules to the new glyph-based architecture
|
|
- Moved SVG text to new glyph-based renderer, added support for OpenGL drawing and textured mode
|
|
- Added support for AVC/H264 in mp4_streamer
|
|
- Added support of MPEG-4 systems over MPEG-2
|
|
- Added extended version of "-node" switch in MP4Box, to get the list of possible nodes. For insatnce, "MP4Box -node Anchor.children"
|
|
- New glyph-based font manager
|
|
- Misc fixes in SVG rendering with OpenGL
|
|
- Renderer modules have been removed from GPAC. The new integrated 2D+3D renderer has been moved to libgpac and is now
|
|
called "compositor". Some renaming has been done in the process to clarify a bit some functions.
|
|
NOTE: EVC3 and MSVC8 projects have not been updated yet
|
|
- added support for TrackSelection (tsel) - (c) 2007 ENST & RresonateMP4 - cf MP4Box -h general
|
|
- added support for PASP in ISO files
|
|
- misc fixes in render_full module
|
|
- committed patch fixing VobSub extraction bug
|
|
- added support for http playback in ffmpeg demuxer
|
|
|
|
# 31/05/07: GPAC 0.4.4
|
|
- Added support for XMLHttpRequest for both VRML/MPEG-4 and SVG. All methods should be supported, but only GET/HEAD have been tested
|
|
- Added a basic subset of DOM Core for xml doc (XMLHttpRequest, SVG) and moved the uDOM implementation in it.
|
|
- Added support for SVG focus & navigation in 2D renderer
|
|
- new SVG scene graph implementation with much lower memory usage
|
|
- Updated LASeR to new SVG implementation and fixed many bugs in codec
|
|
current LASeR binary version should now be in sync with the latest spec (IS+COR, AMD still to be done)
|
|
- Added support for some LASeR tools:
|
|
- conditional
|
|
- clipBegin/clipEnd and syncReference on audio/video elements
|
|
- WARNING:
|
|
* other LASeR (non-SVG) v1 elements and all v2 elements are NOT supported
|
|
* LASeR save/restore and sendEvents are NOT supported
|
|
* SAF handling is likely not conformant yet
|
|
- Moved default SVG implementation to dynamic attribute allocation
|
|
- ALSA output module
|
|
- DVB support for Linux - connection URL is dvb://ChannelName, cf doc/configuration.html
|
|
- Moved ISMA decryption to run-time module for basic DRM tests
|
|
- Added support for NAT Keep Alive (RTP streaming only)
|
|
- Two new test apps:
|
|
mp4_streamer: RTP unicaster/mulitcaster
|
|
mp42ts: MPEG-2 TS sample gateway, can output to file or to RTP. Supports ISO file and SDPs (RTP only, no RTSP) as input.
|
|
- Changed default behavior in MP4Box when adding AAC-SBR with explicit signaling: full SBR Samplerate is now used in media track.
|
|
- Added JP2 and MJP2 support for mux/demux and playback - latest version of openjpeg (1.1) used for decoding (Win32 only).
|
|
Win32 user: if you don't want to install openjpeg, remove GPAC_HAS_JP2 from img_in project settings
|
|
- large code rewrite in scenegraph and 2D renderer to lower memory usage
|
|
- added support for OMA DRM2 packaging in MP4Box (doc to come)
|
|
- Symbian OS now supported. Build instructions are in doc/INSTALL.symbian. Network is NOT working on symbian yet
|
|
- Major speed improvement of XML SAX parser
|
|
- added unthreaded mode in MP4Client (-no-thread switch) to test behavior on symbian
|
|
- added fullscreen startup mode in MP4Client (-fs switch)
|
|
- better handling of iTunes tags in MP4Box (set/get) and in players (title display)
|
|
- added support for multiple RTSP sessions in an SDP description
|
|
- added support for faked broadcast mode in SDP (forbids any timeline control by player except initial play/final stop)
|
|
syntax is (in media SDP section, per stream): a=gpac-broadcast:1
|
|
- added ffmpeg support for WinCE devices (ffmpeg for WinCE is available in gpac_extra_libs)
|
|
- added GPAC log system
|
|
|
|
- moved key/mouse event subsystem to DOM3 model
|
|
- Fixed handling of QT V1 and V2 audio descriptions
|
|
- Misc source code reorganization for RTP (depacketizers now in libgpac, no longer in plugins)
|
|
- Fixed support for IPV6 and for multicast (IPV4 and IPV6). Some issues remain with IPV6 on Win32 XP, so IPV6 is disabled by default on Win32
|
|
- Fixed handling of negative delays when adding/appending media tracks with MP4Box
|
|
- moved ffmpeg headers to latest CVS version (05/01/2007).
|
|
- fixes in MPEG2 TS import and demuxer
|
|
- added detection of FPS for raw AVC import when present
|
|
- fixed a display freezing bug in osmo4 for PocketPC 2003.
|
|
- added support for svg animation and svg use with external resources
|
|
- cleanup of MPEG-4 RemoteOD + support for segment identifiers at scene level
|
|
- some workarounds for iPod file producing (special UUID needed) (-ipod option, auto on for .m4a and .m4v extensions)
|
|
- added windowless mode on Win32: transparent background color is defined in the config file ( [Rendering] ColorKey )
|
|
- major speed improvements in MPEG-4/VRML scripts and SVG uDOM regarding node creation
|
|
- and a lot more bug fixes...
|
|
|
|
# 21/07/06: GPAC 0.4.2
|
|
- commit of GPAX (GPAC ActiveX) - controller only works in IE and ActiveX control tester for now.
|
|
- API changes to Osmozilla to keep in sync with GPAX. Sample html file can be found in applications/GPAX.
|
|
- both plugin now support browser navigation (ie link to html within MPEG-4 content)
|
|
- Plugins can be used to modify the presentation from a parent HTML doc
|
|
- check sample files in regression tests for more details
|
|
- iTune tagging support, (patch from Andrew Voznytsa with slight modif). Tagging can be done with MP4Box -itags option. The tags are passed in a single string, separated by ':', formatted as 'tag_name=tag_value'. Supported tags names are: album, artist, comment, compilation, composer, created, disk, encoder, genre, name, tempo, track, tracknum, writer.
|
|
NOTE: to make sure you mp4 is importable on an iPod, you must:
|
|
- use .m4a extension
|
|
- specify the right brands: MP4Box -brand "M4A " -ab mp42
|
|
This process is automated in MP4Box for all file with extension .m4a
|
|
- added MPEG-1/2 raw importing (extensions: .m1v and .m2v).
|
|
- cleanup of all Makefiles:
|
|
no more recursive makes for libgpac
|
|
gpac can now be compiled outside the main source tree with gcc, eg $ ~/cvs/test>../gpac/configure
|
|
- Support for VobSub import and export (.idx) thanks to a great patch from Falco !
|
|
- initial version of MPEG-2 TS demuxer (MP4Box and client plugin)
|
|
program-based import for MPEG-2 TS streams (MP4Box -add file.ts#program=ProgName).
|
|
- initial IPV6 support
|
|
- MP42AVI is now deprecated. MP4Client can now be used to produce uncompressed bmp/raw/AVI, dumping the complete presentattion rather than just BIFS scenes (audio is currently not extracted). Usage:
|
|
MP4Client -bmp 1-2.5-3 file.mp4 take screenshots of file.mp4 aty T=1, 2.5 and 3 seconds
|
|
MP4Client -avi -fps 15.0 -size 176x144 file.mp4 produces an uncompressed AVI of resolution 176x144, framerate 15
|
|
MP4Client -avi 4-10 file.mp4 produces an uncompressed AVI of the scene between 4 and 10 seconds
|
|
Check MP4Client man page for more details.
|
|
- added support for major brand versioning in MP4Box: "-brand GPAC:2" will set the major brand to GPAC, with a version of 2.
|
|
- regression tests (.bt and .x3dv) are now part of GPAC source tree
|
|
changed all audio and video media in regression tests.
|
|
- added 2D/3D selection param for osmozilla: use3d="true" or use3d="false" to force renderer used.
|
|
- added support for importing AMR/SMV/EVRC file missing their magic number
|
|
- moved all language handling to both ISO 639-1 (2 char code) and 639-2 (3 char code), as 639-1 is used in SVG.
|
|
- removed old XML parser, all parsing now relies on a new GPAC SAX parser (avoid dependency on libxml when unneeded).
|
|
- support for progressive loading support for XMT and X3D files.
|
|
- new svg_in module using gpac sax parser (supports progressive loading too)
|
|
- cf configuration.html or man gpac for more info on progressive loading control
|
|
- added 'define' support in BT - to use it just do:
|
|
#define symbol blab labl a
|
|
and reuse the symbol in the BT text. This may be quite buggy, but it can be useful
|
|
- support for Scene Carousel in hinters, core and rtp reassembler. Currently only BIFS and BIFS+AV can be use the scene carousel, carouseling of
|
|
static data (eg images) is not supported. The OD data must be embedded in the IOD a la ISMA.
|
|
- added FPS and size info dumping for MPEG and AVI file import (MP4Box -info file.mpg)
|
|
- improved 3D renderer while checking the X3D conformance suite
|
|
- changed MPEG-4 SP -> AVI to add VOSH before each I-frame
|
|
- Experimental support for LASeR (encoder, decoder and decoder module).
|
|
- Far from behing complete or usable at this time, binary syntax not 100% safe and COR to standard is in edition stage...
|
|
- LASeR RAP generation in MP4Box
|
|
- added SAF (LASeR Simple Aggregation Format) support: mux and demux (MP4Box) + SAF input plugin.
|
|
Basic LASeR usage:
|
|
encoding: MP4Box -mp4 file.svg, MP4Box -saf file.svg
|
|
decoding: MP4Box -svg file.mp4, MP4Box -xsr file.mp4 (dumps to LASeRML format)
|
|
- added patch from FT R&D for simple anim mask encoding needed for FAP/BAP streams on FDT/BDP nodes.
|
|
- added patch for drift-controled interleaving (interleaves while trying to keep chunk synchronized). This is now the storage mode of MP4Box, old interleaving is possible with -old-inter option.
|
|
- added support for tight interleaving without hinting in MP4Box.
|
|
- added support for delayed concatenation (-cat file.mp4:delay=2000 test.mp4)
|
|
- added "-name" option to MP4Box (track import and general cmd line opt) for setting the track handler name
|
|
- More SVG improvements and features:
|
|
- support for SVG scripting (ecmascript through SpiderMonkey) - a good subset of microDOM is supported (!! presentation traits are missing).
|
|
- support for SVG events (DOM)
|
|
- support for SVG scene dumping
|
|
- SVG Tiny 1.2 gradients + gradient matrix (1.1 feature)
|
|
- SVG.preserveAspectRatio support
|
|
- system color paint
|
|
- basic conditional processing (switch)
|
|
- SMIL anim events (begin, end, restart)
|
|
- added PAR modification support to MP4Box (import time and file based)
|
|
- improved precision of IsoMedia file splitting
|
|
- added NHML import/export. NHML is an XML representation of the NHNT file, with add-ons and a more flexible way of integrating media. Doc to come on web site
|
|
- clean-up of 2D direct rendering mode:
|
|
* no more bounds tracking for less memory usage
|
|
* automatically mode switch to direct rendering when using slide navigation (pan&zoom)
|
|
- clean-up of soft raster:
|
|
* removed all bezier curbs handling, let gpac core handle those
|
|
* paths are now always flatten to reduce rastering times
|
|
* misc optimizations of scanline converter (no more Y-sorting, only X-sorting used)
|
|
- speed improvements in BT/WRL loader
|
|
- updated makefiles for compilation under GPE
|
|
- made FreeType plugin log unknown fonts in general cfg file to speed up font selection.
|
|
- changed module naming - all modules are now prefixed with "gm_", and module is loaded/unloaded at run-time
|
|
- changed isomedia file open API for better support of temporary directories
|
|
- simplified 2D blitter for non DirectX output: no more in-middle surface used, direct stretch, blit and yuv conversion to back buffer
|
|
- added software and hardware support for MaterialKey in 2D renderer
|
|
- Support for SP2003 and PPC2003
|
|
- added all project files for evc4
|
|
- added osmophone to gpac/applications, demo player for Smartphone devices (tested on SPV C500 and PocketPC)
|
|
- support for GDI drawing on WinCE to avoid weird menu behaviour in windowed mode
|
|
- added support for OpenGL-ES in 3D renderer, in DX and in GAPI plugins
|
|
* tested with Hybrid Graphics and Vincent3D implementations
|
|
* Klimt could compile but no decent results
|
|
* Result tested on PocketPC/SmartPhone 2003 and regular windows
|
|
- added LASeR XML to SVG loader
|
|
- improved SRT -> 3GPP convertion - now accepts any number of <b>, <i>, <u> tags at random places.
|
|
|
|
- fixed AVC/H264 parsing (pic size detection on interleaved stream and cropping were broken)
|
|
- fixes on X3D scene parsing and dumping
|
|
- fixed mp4 root OD creating when fragmenting file (PLs were not copied over)
|
|
- fixed bug in large MP4 file (> 4GB) writing (chunk offset table was corrupted)
|
|
- fixes in InputSensor handling.
|
|
- fixes in XMT proto+script parsing
|
|
- fixed ISOMedia track duration in case of ctts table
|
|
- fixed PAR issus at import time setting wrong track sizes for visual media.
|
|
- fixed handling of 64-bit timing in GPAC (clients and MP4Box). Impacts on a few APIs (libisomedia, scene manager and terminal).
|
|
- fixed bugs in BIFS RAP generation (BT and XMT-A loaders)
|
|
- fixed support for node insert and delete in laser
|
|
- fixed AVC import bug with multiple PPSs per stream
|
|
- fixed stts bug in file concatenation (first inserted sample had a wrong duration)
|
|
- fixed v5 and v7 MPEG-4 node templates
|
|
- fixed ttxt extraction (fontID was missing in styles)
|
|
- fixed MP4Box -add file1 -cat file2 use case (broken CTTS compute)
|
|
- fixed 3GP brand when using AVC (3GP6 shall be used)
|
|
- fixed misc issues with text import/info display on track sizes and 3GP text track importing.
|
|
- fixed bug in gradient raster (spread/pad/repeat modes were broken)
|
|
- fixed bevel stroking bug and many SVG rendering ones
|
|
- fixed bug in MP4Box track concatenation of MPEG-4 user streams
|
|
- fixed bug in meta items storage (existing items were corrupted on file rewrite)
|
|
- fixed splitx option to support end times larger than file duration
|
|
- fixed globalQP context loading issues
|
|
- fixed display bug when switching between MPEG-4 and SVG scenes
|
|
- fixed absolute URLs handling on WinCE devices
|
|
- fixed redraw bug in 2D renderer for simple video drawing (background was always repaint regardless of video transparency)
|
|
- fixed UTF8 vs Win-CP text handling (BT and XMT parsers, subs->bifs and subs->ttxt converters)
|
|
- fixed bug in unknown stsd boxes handling
|
|
- fixes for gpac compilation on 64 bits platforms
|
|
- fixed bugs related to cache in file downloader
|
|
|
|
# 03/08/05: GPAC 0.4.0 RC2
|
|
- fixed Invalid versioning of previous release (was still 0.4.0-DEV...)
|
|
- fixed MinGW compilation
|
|
- fixed MP4Box handling of full MSDOS paths (C:\)
|
|
- fixed GCC 4 compilation issues
|
|
- added MacOS X (DARWIN) compilation patches
|
|
- fixed OSS audio compilation (seems to perform perfectly on 50% of systems tested and dramatically fail on the rest...)
|
|
- fixed MP4A-LATM support at client side
|
|
- fixed X11 module in embedded mode (should work well with both Osmo4/wx and Osmozilla)
|
|
|
|
# 28/07/05: GPAC 0.4.0 release
|
|
** GPAC is now licensed under LGPL. **
|
|
Massive code rewrite and repository reorganization in order to comply to some base coding style (cf gpac/doc/CODING_STYLE) have taken place
|
|
since previous release. Documentation is still a work in progress.
|
|
APIs are not backward compatible, but should now be in a frozen state/spelling for the most common tools (utils, MPEG-4 OD, IsoMedia and terminal APIs)
|
|
|
|
- Fixed FAAD multichannel support with latest FAAD CVS version (bug due to FAAD inner channel creation). Latest version should
|
|
support both multichannel and AAC radios.
|
|
- added support for normal drawing (for debug purposes) in 3D renderer
|
|
- adedd support for single instance of Osmo4/w32
|
|
- changed audio configuration options to "Number of buffers" and "TotalDuration"
|
|
- fixed old bug in audio renderer screwing up the audio from time to time
|
|
- moved ffmpeg to latest CVS version (25/07/05). THIS VERSION IS NO LONGER COMPATIBLE with previous ones used in GPAC, update
|
|
your binaries!! Also updated ffmpeg plugin to new ffmpeg API
|
|
- moved all fullscreen handling to dedicated windows, refinement of wxOsmo4.
|
|
- more work on x11 plugin (events handling, 3D support) - THIS IS EXPERIMENTAL AT THIS RELEASE LEVEL, CHECKOUT CVS FOR BETTER SUPPORT...
|
|
- fixed anamorphic video handling in GPAC, both playing (2D and 3D) and MP4Box parsers (only done for MPEG-4 Visual, not AVC). Video is
|
|
now only rescaled at blit time
|
|
- changed ';' separators to ':' seprators in MP4Box (meta options and track import options) for linux prompt compatibility.
|
|
- misc fixes in tx3g track import, tx3g bt dump and couple of issues introduced in 0.3.0->0.4.0 migration
|
|
- misc cleanup of GF_VideoOutput interface.
|
|
- started doc manager using doxygen (doxyfile added in gpac/doc). APIs may be slightly reworked during the documentation phase.
|
|
Documentation will only be produced for libgpac, eg all exported headers in gpac/include/gpac
|
|
Development APIs documentation (gpac/include/gpac/internal) will come later.
|
|
- cleaned up IsoMedia reading for more efficient and more reliable parsing
|
|
- misc fixes in MP4Box option parsing, in RTP multicast setup
|
|
- Osmozilla should now be much more stable on Win32 - Linux version to come.
|
|
|
|
|
|
# 20/06/05: GPAC 0.3.0 release
|
|
- fixed bug in 4GB file writing in interleaving mode
|
|
- fixed bug in absolute path usage in MP4Box
|
|
- added -cat file*.mpg syntax support
|
|
- added support for mass encryption in ISMACrypt drm_file (trackID="*" means all tracks get encrypted with the desired key)
|
|
- fixed compilation of wxOsmo4 with wxWidgets+Unicode
|
|
- fixed bug in 3GPP text layout when not fully contained in video
|
|
- added mapping between OD.ESD.GF_Language and MP4.MediaHeader.Language (BT/XMT <-> MP4)
|
|
- fixed bug in SDP playback without RTSP session attached (live casts)
|
|
- added language and delay selection at import time (cf MP4Box -h import)
|
|
- made -lang able to change all tracks languages by default !erase language specified at import time!
|
|
- added -lang option to MP4Box to change track language
|
|
- added -delay option to MP4Box to change initil media delay - ALTHOUGH 100% STANDARD, THIS MAY NOT BE SUPPORTED BY SOME PLAYERS
|
|
- updated configure for opengl disabling and fixed-point configuration
|
|
- misc fixes in ffmpeg decoder and MP4Box ISMA for PAR - this is disabled by default due to some unsolved crashes, cf gpac/doc/configuration.html or man gpac.s
|
|
- misc updates in MP4Box meta handling for item extraction.
|
|
- fixed MPEG-2 aac importing and info dumping
|
|
- fixed 3GPP text display bug when stopping and changing an animationStream using a 3GPP text object.
|
|
- fixed AVC/H264 HP parsing
|
|
- added BIFS track visual size info at BT/XMT encoding stage
|
|
- MOVED FFMPEG INCLUDE FILES TO LATEST CVS VERSION to support AVC/H264 HP decoding
|
|
- added meta self reference item for dual-headed files
|
|
- commit MPEG-4 LATM Audio hinting patch and added rtp aggregation. RTP reassembler NOT UPDATED YET
|
|
- fixed bugs in TeXML parser
|
|
- fixed bt/xmt to MP4 encoding for IOD with single BIFS ESD.URLString set
|
|
- fixed SVG outline handling and SVG/SMIL anim on appearance/geometry
|
|
- fixed svg_loader compilation on winCE (ARM binaries and include to follow in next release of gpac_extra_libs)
|
|
- commit of SVG fixed-point version
|
|
- Fixed MP4Box spliter crash introduced by MetaBox support.
|
|
- Merged MP21 and MP4 handling, added meta support in MP4Box (creation/extraction - cf MP4Box -h meta)
|
|
|
|
FROM THIS DAY ON, ALL WORK ADDED TO GPAC IS COPYLEFT ENST
|
|
|
|
# 15/05/05:
|
|
- Updated makefiles and configure for MacOSX support
|
|
- commit of GPAC fixed-point version - may not be completely stable yet :)
|
|
- changed all project files location for soon-to-come EVC4 and Visual .NET support
|
|
- changed 2D path object to directly support cubic and quadratic bezier (outliner do support them too), inspired from FreeType.
|
|
- MSVC Users: moved to wxWidgets 2.6.0 !!
|
|
- more fixes on CTTS in H264/AVC importer (p-frame reorder and some I/B sequences with neg POC)
|
|
- fixed last sample duration in mp4 for BIFS/OD/Text
|
|
- completely rewrote AVC CTS computing to handle b-refs properly
|
|
- fixed improper instanciation of externProto with VRML files not declaring default field values in externProtos
|
|
- reworked file splitter to support duration and size based splittings
|
|
- fixes in file concatanation
|
|
- support for "self" parameter in Anchor to replace only inline scenes on anchors
|
|
- fixed H263 raw importer (frame boundary detection and frame size) - changed default H263 frame rate to 15 fps (more used than 25 in 3GP).
|
|
- added support for new chaper format: CHAPTERX=HH:MM:SS[:ms or .ms] and CHAPTERXNAME=string
|
|
- committed AVC parser patch from bobolobo (SEI parsing and recovery points)
|
|
- added support for nero chapters in MP4 ('chpl' box), in MP4Box (-chap file.chp) and selection in players (chapters mapped to MPEG-4 SegmentDescriptors).
|
|
note regarding chp files: not sure about file syntax, currently support for (one chapter entry per line):
|
|
ZoomPlayer syntax: AddChapter (-fps for import framerate selection), AddChapterBySecond and AddChapterByTime
|
|
Regular time code … la SRT: HH:MM:SS[:ms or .ms] [Chapter Name]
|
|
SMPTE time code: HH:MM:SS;fr/fps [Chapter Name] - if fps is omitted, use '-fps' if specified or 25 fps default.
|
|
|
|
- fixed avi packed bitstream flag removal bug with beta versions of DivX.
|
|
- fixed bugs in AVC CTTS compute
|
|
- wxOsmo4 now single-windowed on win32 with DirectX output driver (SDL one buggy).
|
|
- fixed bugs in media exporter for non-MPEG4 streams (AMR & co).
|
|
- added '-dts' option to MP4Box - dumps samp num, DTS and CTS for all tracks and performs sanity check of CTS offsets.
|
|
- added '-split time_sec' option to MP4Box - splits a simple AV IsoMedia file (no systems, only ONE VIDEO stream supported) into several movies of time_sec duration.
|
|
- added '-cat' option to MP4Box - concatenates several input file (IsoMedia or not) to a single IsoMedia file. Same options as -add.
|
|
** Streams with different sample descriptions are imported as distinct tracks **
|
|
- fixed bugs in OD and IPMPX parsers (ipmpDescrPtr and IPMP_ToolID)
|
|
|
|
# 30/03/05: GPAC 0.2.4 release
|
|
- Added TeXML import (QT XML format for 3GPP text)
|
|
- Added SRT extraction for text tracks.
|
|
- Added SUB subtitles support (SUB->3GPP text, SUB->BIFS)
|
|
- New lifting for MP4Box - nicer progress notifications and help screens.
|
|
- changed MP4Box to OVERRIDE FILES BY DEFAULT if '-out' is not specified.
|
|
- changed MP4Box to use 0.5sec interleaving storage by default on all operations.
|
|
- added file associations for Osmo4/Win32 (not for wx version)
|
|
- added volume control and playlist restoring (Osmo4_w32 and Osmo4_wx) as well as fullscreen restoring when changing file through playlist
|
|
- added '-unhint' option in MP4Box to remove all hinting from file.
|
|
- many rewrite and fixes in WinCE version (Osmo4 and gapi), much more stable and usable player.
|
|
- changed SBR import in MP4Box: -sbr for backward compatible HE-AAC (implicit) signaling, -sbrx for non-backward compatible (explicit) signaling.
|
|
- added bandwidth signaling in SDP (b=AS:X) for some players compatibility
|
|
- added H263 and MPEG4 Visual(CMP) importers in MP4Box
|
|
- added extra SDP lines support in MP4Box - PLEASE refer to rfc2327 before complaining :)
|
|
- added hinters for QCELP (RFC 2658) and EVRC/SMV (RFC 3558). Not tested (no decoder available) - QCELP hinter works with QT6.5.
|
|
- added QCP importer/export in MP4Box and raw EVRC and SMV importers (not tested)
|
|
- added support for 3GPP2 extensions in IsoMedia (EVRC, QCELP and SMV config)
|
|
- added basic media cache for stream recording (rtp, internet radios). Only MP4 cache available, but other formats possible (plugin)
|
|
- added raw samples export and avi track to raw export in MP4Box
|
|
- More H264: import/export/rtp hinter in MP4Box, rtp reassembler
|
|
- Basic ISMACryp support in client (RTP and file)
|
|
- ISMACryp hinter in MP4Box
|
|
- ISMACryp support in MP4Box - cf "MP4Box -h crypt" for more details. Selective encryption (sample-based) is supported but not key switching (only one key at this time).
|
|
- added smaller version of libmcrypt to M4Systems library for ISMA AES-128 CTR (but kept other algos for future IPMPX usage)
|
|
- added simple converter from cubic QTVR to MP4
|
|
- added 3GGP AMR NB and WB (float code) plugin (Fixed Point AMRWB is just so slow ....)
|
|
- moved 3GGP AMR NB decoder to 600 release (old lib should still be compatible)
|
|
- moved to latest official ffmpeg tarball for AVC B-frames decoding support (older ffmpeg versions should still work despite some API changes)
|
|
- added IPMPX base code (read/write and BT/XMT dump/parse)
|
|
- added chunk encoding in MP4Box (uses 2 input files, one with base scene, one with BIFS updates only)
|
|
- changed OGG muxing in MP4 - one single OTI (0xDD) used for all OGG streams - DSI format same as before.
|
|
- Fixed bug in CTTS computing in MPEG4 Video import caused by consecutive I frames.
|
|
- fixed MPA hinter RTP agregation mode (was always on).
|
|
- misc updates in importers, exporters and ISMACryp APIs
|
|
- cleaning of ISMA and 3GP related stuff in m4systems, forced 3GP file to be branded '3GP5' for QT compatibility...
|
|
- rewrote AMR hinter for RTP agregation, added maxptime hint param for speech rtp payloads (AMR/QCELP/EVRC/SMV).
|
|
- Fixed MediaControl/Inline URL changing
|
|
- fixed video RTP timescale in hinters for QT compatibility
|
|
- fixed language-based alternate stream selection in ODs
|
|
- cleanup of m4_config.h (removing all unneeded includes, misc cleanup for FreeBSD port)
|
|
- brought XMT-A in line with spec regarding MFString/MFURL/MFScript (parsers and dumpers)
|
|
- added support for "od://" in XMT-A urls according to XMT spec
|
|
- fixed raw aac export bug
|
|
- fixed DIV5 import issues with PLs
|
|
|
|
# 05/01/05: GPAC 0.2.3 release
|
|
- new regression tests (X3D and some other features)
|
|
- MPEG-4 playback from BT/XMT now supports proper startTime/stopTime behaviour
|
|
- found a port of XVID for WinCE/ARM, removed OpenDivX from distribution (seemed no longer maintained). This XviD port is BTW much faster & more reliable than old OpenDivx
|
|
- split codec_pack in xvid_dec, img_in and mp3_in plugins
|
|
- fixed ffmpeg H264 support
|
|
- scene time for VRML/X3D now complies with spec (VRML uses absolute UTC timing since 1970)
|
|
- fixed 3D spot/point lighting bug
|
|
- added support for raw AMR file format (AMR and AMR-WB, multichannel AMR not supported) in MP4Box (import/extract) and reader plugin.
|
|
- added MP4Box '-tmp directory': forces temp file creation to given directory rather than OS-specific temp file storage.
|
|
- integrated the very nice mpeg ps parser from MPEG4IP - MP4Box now supports MPEG PS import to MP4 (ATM only one audio, one video, and only MP3 audio)
|
|
- added basic MPEG 1/2 Video RTP hinter and reassembler, checked MPEG files hinted to MP4 compatibility with QT player.
|
|
- fixed color transform and texturing issues.
|
|
- various fixes due to "dynamic scenes" in RTP stack and ESM module
|
|
- fixed copy/paste in Osmo4 address bar, mp4 on http issues, MP4Box -add pbs with IsoMedia
|
|
- Freezing TTXT format version 1.0 - documentation avail on gpac.sf.net
|
|
- Updated MP4Box documentation on gpac.sf.net to 0.2.3 version.
|
|
- Changed NetClientPluggin API (got rid of status query, status handled internally in ESM and in plugin if needed)
|
|
- Updated evc3 projects, made M4Systems READ/WRITE on CE to enable timedtext parsing (and future streaming cache, who knows ...).
|
|
- Added 3GPP text hinting in MP4Box and 3GPP text reassembler in rtp plugin.
|
|
- Bug fixes and testing of 3GP timed text with some 3GP files
|
|
- GF_InlineScene now supports MediaControl with mediaStartTime and mediaStopTime
|
|
- AAC SBR import now uses backward compatible decoder config.
|
|
- 3GPP/MPEG4 timed text decoder - supports everything except soft wrap & dynamic highlighting (karaoke) - vertical text not fully tested
|
|
- new "ttxt" format (for "timed text"): XML representation of 3GPP/MPEG4 timed text streams - importer (from ttxt and from srt) and dumper (to ttxt only) support.
|
|
- MP4Box "-ttxt" option: converts an SRT file to a TTXT one.
|
|
- Input plugin for ttxt and srt files.
|
|
- Support for "dynamic scenes", eg gpac will now generate on the fly a scene description when none is found, and allows stream selection in GUI.
|
|
- Modified Osmo4 & wxOsmo4 GUI: stream selection & subtitle adding
|
|
- Changed MP4Box "-import" to "-convert" ("-import" is kept for backward compatibility).
|
|
- Added MP4Box -nosys (removes all MPEG-4 systems streams and writes an empty IOD)
|
|
- Added MP4Box "-add": adds any supported format to an mp4 file (same input conventions as -convert). Several input can be specified (ex: -add audio1.aac -add sub1.srt video.mp4 -out full_movie.mp4)
|
|
- fixed a nasty bug in RTSP stack screwing up all mediaControl & rtsp session.
|
|
- 3D NonLinearDeformer (AFX) support (taper, twister and bender)
|
|
- Completed X3D geometry set: LineSet, (Indexed)TriangleSet, (Indexed)TriangleStripSet, (Indexed)TriangleFanSet
|
|
- Full multichannel audio mixing and resampling (and better audio speed support). Multichannel->stereo conversion (not configurable atm).
|
|
- Yet Another Announcement of a stable ffmpeg demuxer - stable with avi & mpeg, still sync issues with some QT files (same issues with ffplay).
|
|
- added SBR mode for aac importing ('-sbr' switch) in MP4Box.
|
|
- fixed: MP4Box hinters (empty tracks), SDL -> BIFS coord mapping in fullscreen, rounding segmentDescriptor.startTime pbs in seeking with mp4menu
|
|
- Added Playlist and brower-like navigation to Osmo4 and wxOsmo4
|
|
- AAC/ADTS file & streaming input (radios) - FAAD decoder moved to aac_in plugin
|
|
- ADTS import/extraction in MP4Box
|
|
- fixed OD XMT-A for ESD.OCR_ES_ID and ESD.dependsOn_ES_ID (now use IDREFs and not binary IDs)
|
|
- integrated ogg lib in gpac (<gpac/m4_ogg.h>), and added ogg/vorbis and ogg/theora importers to mp4 - THIS IS NOT STANDARD AT ALL.
|
|
The current syntax is to put needed headers in the MPEG-4 DecoderSpecificInfo, with the following syntax:
|
|
u16 sizeof_header;
|
|
char *header_data;
|
|
for each header (quite similar to what is found in qtcomponents). Vorbis ObjectTypeIndication is 0xDE, theora ObjectTypeIndication is 0xDF.
|
|
Need some more testing before filing a request to mp4ra.org.
|
|
Streaming possible as MPEG-4 streams, Vorbis RTP packetizer still to be done.
|
|
|
|
# 09/11/04: GPAC 0.2.2 release
|
|
- Xiph OGG demuxer: supports file, http download (not tested) and icecast servers.
|
|
- Xiph Vorbis decoder
|
|
- Xiph Theora support (should work with fluendo but I can't get any data from the server...)
|
|
- Better FFMPEG support (moved to latest ffmpeg cvs tarball).
|
|
- all file associations in client are made through mime types, and changed handling of service (mime type query if possible before loading plugin)
|
|
- network stats & changed all UIs for that.
|
|
- decoder stats & changed all UIs for that.
|
|
- nicer Osmo4/wxGTK
|
|
- shoutcast support in mp3 reader
|
|
- Install doc cleanup
|
|
- MP4Box "-single" option now work for 3GP files
|
|
- MP4Box "-rem TrackID" option to remove a track
|
|
- made 3GP hinter produce QT-compatible streams (as usual QT only accepts specific RTP timescales)
|
|
- moved M4Systems to a dynamic lib (static is still first built & used for MP4Box)
|
|
- moved all scene decoders (bifs, OD and context loader) to real plugins
|
|
- moved BT & XMT parsers from stdio to ZLIB io, in order to support GZIPed VRML & X3D (and consequently, BT and XMT-A ;). GPAC CAN NO LONGER COMPILE WITHOUT ZLIB
|
|
- massive cleanups in scenegraph & MPEG-4 node naming convention
|
|
- !!!scene graph no longer customizable without code hacking!!!
|
|
- X3D scene graph generator (decided NOT TO SUPPORT VRML 97 extensions, since they are in X3D and with a different format...)
|
|
- updated vrml tools for X3D support (Double precision coords & RGBA colors)
|
|
- culling of AABB tree against frustum at draw stage in 3D renderer - greatly speeds up large meshes & terrains rendering
|
|
- support for weird cyclic graphs in scenegraph (mainly to support encoding of conditionals). Works with nodes as well, configurable through scenegraph but this can
|
|
likely crash a renderer other than GPACs (tested with blaxxun & old GPAC versions, crash works each time:)
|
|
- lighting and transformations now properly set in 3D renderer
|
|
- improved gravity (ground detection) and added jump in walk mode (right click or 'j')
|
|
- support for streams without systems timing knowledge (non MPEG4), eg streams where timing is computed after decoding (and not given by transport layer) for simpler ogg support.
|
|
- support for multiple URL in VRML nodes (including remote script)
|
|
- '#Viewpoint' and 'URL#Viewpoint' support in Anchor and Inline - #segment_name is not supported and should not be used (not standard IMHO)
|
|
- ColorRGBA support for X3D
|
|
- texture generator (only "SPHERE-LCOAL" and "COORD" supported for now)
|
|
- XML scene dumper now supports X3D (scene dumping API has changed)
|
|
- X3D support in BT and XMT-A loader
|
|
- updated 3D renderer & ESM for X3D support
|
|
- added X3D geometry2D nodes in 3D renderer
|
|
- Anchor.activate now works with no children
|
|
- plethora of bug fixes
|
|
|
|
|
|
# 15/10/04: GPAC 0.2.1 release
|
|
- massive fixes in javascript (assignment was only 50% working), new faster, less memory-hungry implementation (and Othello reg test now passes!!)
|
|
- CreateVrmlFromScript support for VRML content.
|
|
- collision detection
|
|
- gravity (not really working)
|
|
- Layer3D fully supported (including navigation!)
|
|
- InputSensor in non-encoded scenes (bt/xmt)
|
|
- aabb tree in 3D meshes for faster picking/collision - needs more cfg options though
|
|
- user input in composite texture 2D/3D, and completed TouchSensor (hitNormal & texCoords event out) in 3D renderer
|
|
- added full blending support in 3D renderer (depth sorting)
|
|
- fixed handling of clipers (layout/form) and layer2D.
|
|
- added text change checking in spidermonkey to avoid rebuilding text
|
|
- support for usual coords in 2D renderer (window top-left in 0, 0 and decreasing y) for SVG integration
|
|
- 3D normal renormalization for GL when scaling (eg now there's a proper lighting)
|
|
- 4/3 and 16/9 aspect ratio modes now work as expected
|
|
- interactions with fullscreen SDL now happen where they should
|
|
- LinearGradient and RadialGradient in 3D renderer
|
|
- hide all scene context importing through a single ContextLoader object to get first frame and progress info for swf loading in player
|
|
- added Orbit navigation mode (orbit around the user look point) & updated interfaces
|
|
- massive cleanup of scene handling & decoders to enable run-time modules for scene decoding. APIs have changed, 2 new ones for scene decoders and media decoders
|
|
- finished BT/XMT/WRL scene handler and added support for SWF.
|
|
- added toolbar for Osmo4_w32 (_wx one to come)
|
|
- added PlanarExtrusion hardcoded proto (2D shape extruded by 2D shape)
|
|
- added bt/wrl support in MP4Client, update scene graph accordingly to use a single graph & lots of related fixes in ESM
|
|
- added texture text support in 3D renderer (graphics plugin being now loaded by main renderer)
|
|
- upgraded avilib to latest version from ogmtools (should support OpenDML 2.0)
|
|
- updated configure, Makefiles, & EVC3 project files
|
|
- textured text support (eg render to texture then blit) in 2D renderer
|
|
- ElevationGrid, Extrusion, VisibilitySensor, LOD support
|
|
- Sound support (stereo spatializer only) and reworked generic audio renderer for Sound/Sound2D support
|
|
- MPEG-4 V5 animators (not complete)
|
|
- reworked hardcoded proto mechanism to comply with VRML recommendations - some doc to come soon
|
|
- hardcoded proto PathExtrusion for any 2D shape extrusion except Bitmap and PointSet2D - eg EXTRUDED TEXT SUPPORT :)
|
|
- fixed Win32 large file support in GPAC, needs testing of AVI importer...
|
|
- cleaned up multichannel support, fixed faad channel reordering
|
|
- added background support: sky & ground dome, cube image (6 sides)
|
|
- added navigation support (WALK/FLY/EXAMINE/ + extra modes a la blaxxun) and user selection in Osmo4/wxOsmo4 and MP4Client
|
|
- added animation between viewpoints
|
|
- changed handling of empty boundable stacks according to VRML: no more default backColor, and real 3D scenes (top=Group or Layer3D) no longer may use orthographic projections
|
|
- normal smoothing for IFS.
|
|
- full lighting support (spot, point and directional)
|
|
- fog and billboard support.
|
|
- basic AVC support in MP4 (only AVCSampleEntry and child atoms)
|
|
- VRML/MPEG-4 interaction sensor support (added ProximitySensor, SphereSensor, PlaneSensor and CylinderSensors). still some work to do on TouchSensor hitNormal & hitTex
|
|
- SWF parser updates: PlaceObject2 and defineShape2.NewStyle bugs, support for soundStream
|
|
- added user interaction in 3D renderer (ray casting) in both ortho and projection modes
|
|
- frustum is now only recomputed when change in size or viewpoint
|
|
- viewport/viewpoint selection to osmo4/wxOsmo4 GUIs
|
|
- BT parser supports basic VRML (uncompressed .WRL should now be imported fine)
|
|
- plethora of bug fixes
|
|
|
|
# 02/09/04: GPAC 0.2.0 release
|
|
- updated cfg file doc man pages & makefiles
|
|
- massive re-arch of renderer(s) to be able to load at run-time either 2D or 3D renderer, instead of static linking
|
|
- new 2D and 3D renderers
|
|
- re-organized development headers
|
|
- added basic file<->plugin association by file extension (cf doc)
|
|
- Osmo4/wxWidgets version in Applications/Osmo4_wx
|
|
- put zoom & pan back in place in 2D render plugin
|
|
- fixed V4Studio (upgrade to wxWidgets 2.5.2)
|
|
- MP42AVI supports 3D scenes duming
|
|
- updated templates for v5 & v6. WARNING: it seems that some nodes will be removed from v5 (AFX COR) which will invalidate v6 bitstreams
|
|
- still more fixes related to scenegraph arch changes
|
|
- reworked importers & exporters
|
|
- updated new regression test suite (no 3D yet)
|
|
- bug fixes in MediaControl, MediaSensor & inline scene control
|
|
- more fixes related to scenegraph arch changes
|
|
- cleanup of SWF importer:
|
|
* shape importing is OK, gradient so-so (wrong matrix mapping), no bitmap fill
|
|
* font & text OK.
|
|
* sprites should work
|
|
* sound work - sound stream not done yet
|
|
there will likely not be any new SWF feature supported, ActionScript & buttons are out of scope for GPAC.
|
|
- added swf support from MP4Box (cf -swf switch)
|
|
- fixed XMT-A syntax of script and proto SF/MFNode field, and BIFS/XMT UTF-16 support
|
|
- fixed avg/max rate compute on large files for AVI and MP3 importers
|
|
- Background2D texturing uses hw blitter when possible (2D renderer only)
|
|
- better inline scene & segment descriptors handling
|
|
- encoding of IOD extra descriptors now supported
|
|
- configure script fixes
|
|
- changed all 3D handling, encapsulating all GL calls in a single file
|
|
- moved all primitives in 3D renderer to use a single mesh object (rendering done through vertex arrays)
|
|
- added IFS, ILS, Sphere
|
|
- optimized AVI importer, fixed vbr mp3 in avi import
|
|
- changed scenegraph:
|
|
* all nodes now keep track of their parents in order to signal sub-tree changes for frustum culling
|
|
* no more "SimulationTime" used in scenegraph, using node modif flags instead
|
|
* updated 2D and 3D renderer accordingly
|
|
- added support for rectangular textures in GL (most graphic cards support this, at least on win32)
|
|
- added frustum culling
|
|
- added SFTime->SFString formatting in valuator (current MPEG-4 COR)
|
|
- plethora of bug fixes
|
|
|
|
# 11/05/04: JLF: dev version 0.1.9
|
|
- changed source code architecture: rendering code is now in a dedicated static link outside libm4systems
|
|
- intergated draft 3D renderer:
|
|
- Most 2D features have been ported to the new renderer (missing: viewport, colorTransform and gradients)
|
|
- no user interaction, no viewpoint, no background, no lighting, NO ETC !!!!
|
|
- Box, cylinder, cone working
|
|
- texture mapping working (still images and video)
|
|
- changed video plugin API accordingly
|
|
- changed graphics API: all path handling (building & flatening , outlining & dashing) moved to authoring subproject
|
|
- changed font API: no more graphics driver used to get font outline
|
|
- cf install documentation to recompile.
|
|
- updated all node tables to COMPLETE BIFS (eg all nodes from v1 to v6)
|
|
- updated v6 template & code to final amendment version
|
|
- fixed inline scene start/stop when modifying inline URL.
|
|
- updated TODO :)
|
|
- uploaded ultra basic SWF convertor (so that it doesn't get lost on my hard drive:)
|
|
- plethora of bug fixes
|
|
|
|
# 28/04/04: GPAC Release 0.1.4
|
|
- MP4Box avi import fixes (key frames, VOL removal, n-VOP handling)
|
|
- Fixed MP4 and NHNT importers (visual tracks sizes)
|
|
- MP4Box avi extractor for visual tracks
|
|
- XMT-A parser fixes (unicode, DEF routes, proto namespaces)
|
|
- better ExternProto resolving
|
|
- added VRML addressing (eg url "protolib#protoName" and "protolib#protoID")
|
|
- added pause/resume in Layout scrolling
|
|
- fixed rendering of layout nodes (layout, Form and Layer2D) in layout nodes
|
|
- fixed port reuse bug: 2 instances of the client may now use RTP streaming (UDP or TCP) at the same time
|
|
- fixed video Profile and Levels handling (was old 2000 spec version)
|
|
- added -merge option in MP4Box (merges 2 files into a single AV file)
|
|
- Fixes in SDL surfaces handling
|
|
- better "end of presentation" support
|
|
- plethora of bug fixes
|
|
|
|
# 18/04/04: JLF: GPAC Release 0.1.3 rc2
|
|
- MP4Box default hinting is now QT compatible - b-frame hinting support
|
|
- DecodingBuffer and CompositionMemory occupancey in ODInfo
|
|
- layout text splitting (word boundaries only)
|
|
- linux install and man pages
|
|
- OCR stream support in (authoring/playing) - only tested with MP4. MediaControl supported on OCR
|
|
- MP4Box B-frame import now works with data referencing
|
|
- fixed many seeking and buffering issues
|
|
- multi-framed audio units (needed for most formats understood by ffmpeg demux)
|
|
- multiplexed input streams now properly setup
|
|
- networking under linux (http and rtp)
|
|
- fixed udp streaming on win32/winCE, rtp reordering (was never on), default udp buffer size.
|
|
- changed config file for reordering
|
|
- changed audio driver interface (retrieve the HW config on setup for SDL) + some audio resync addons
|
|
- support for console events detection in MP4Client linux (a la win32 kbhit())
|
|
- anchor (mp4 navigation only) support in MP4Client
|
|
- uploaded linux version of extra libs
|
|
- added non-system SDL support in GCC configure script (cf --sdl-cfg)
|
|
- default font handling in freetype plugin: some text will be diplayed if at least one font is present
|
|
- better MPEG-4 video import (B-frame and packed bitstream)
|
|
- updated MP4 with full trackHeader (was old v1) and fixed MP4Box compatibility issues with 3ivx splitter
|
|
- moved all windowing architecture to the video output plugins (keyboard and mouse events, WM messages) in order to support SDL, moved old input functions to new event model
|
|
- modified jconfig.h to support both win32 and MinGW.
|
|
- updated V4Studio to work with new event/windowing architecture (work with SDL and DX)
|
|
- UDP autoconfig option (if no UDP traffic is received, restart with TCP)
|
|
- moved to FAAD2.1 (CVS), fixed faad2 compil on MinGW & winCE
|
|
- cleaned up install docs
|
|
- added support for SDL with software YUV->RGB and software stretching
|
|
- fixed ffmpeg audio support
|
|
- added ffmpeg JPEG support
|
|
- moved to FreeType 2.1.7
|
|
- moved to libmad 0.15.1b
|
|
- MinGW support in all extra libs
|
|
- MinGW compilation supported - including DirectX under mingw
|
|
- added support for xvid 1.0.0
|
|
- plethora of bug fixes
|
|
|
|
# 28/01/04: GPAC Release 0.1.2
|
|
- codec selection in Osmo4 GUI
|
|
- PocketPC installer
|
|
- OpenDivx plugin
|
|
- clean-up extra lib package, install notes and added missing libs
|
|
- FFMPEG demuxer done (synchro not good and seeking pbs). GPAC now supports all FFMPEG-supported formats.
|
|
- new NSIS script for complete install
|
|
- fixed hang on PocketPC WavOut and misc cleanups for PocketPC compilation
|
|
- H263 in 3GP files (use FFMPEG dec)
|
|
- H263 streaming (RFC 2429)
|
|
- B-frame parsing and CTS reconstruction in AVI importer (needs debug).
|
|
- muxInfo.duration parameter is now in milliseconds (was in seconds)
|
|
- '-node' options to MP4Box to get a given node syntax (fields default value and QP info)
|
|
- relative time stamps in BT ('AT D1000 ' means 'at last AU TS + 1000')
|
|
- FFMPEG decoder plugin now working with latest CVS snapshot
|
|
- MediaControl switching (several MC on single object)
|
|
- separate file downloader API and streaming client API / cleanup of plugins and ESM module
|
|
- base support for non-MPEG4 URLs in the scene (eg, url "http://whatever/resource")
|
|
- loader (local/network) for JPEG and PNG files
|
|
- loader (local/network) for MP3 files. Would be nice to add SHOUTCAST/ICECAST too...
|
|
- support for ESD URLs and non-inline OD URLs (supports any service, local file, download and streaming)
|
|
- MP4Box no longer needs SpiderMonkey
|
|
- added MatteTexture support (needs testing and debug)
|
|
- cleanup of exported headers (install in <gpac/m4_xxx.h>)
|
|
- move all config info to a single include file <gpac/m4_config.h> and updated some compil macro to avoid touching the file
|
|
- persistant associations font name / file name for freetype in GPAC.cfg
|
|
- support for conditional in proto creating node interfacing with the proto
|
|
- complete XMT-A parser (script, proto, externProto and extendedUpdates)
|
|
- edit list support in MP4 reader plugin
|
|
- BT->XMT-A and XMT-A->BT in MP4Box
|
|
- support for MP4 track start offset in BT/MP4Box (edit Lists)
|
|
- BIFS random access point generation in MP4Box (sync shadow or regular RAP) for cartoons
|
|
- AMR NB support (payload parsing and 3GP codec plugin)
|
|
- plethora of bug fixes
|
|
|
|
# 20/11/03: GPAC Release 0.1.1
|
|
- 3GP rtsp streaming support
|
|
- GPAC uses latest stable extra libs: faad2 2.0rc3, FreeType 2.1.5 and mad 0.15.0b, and dev version (20031117) of xvid
|
|
- support for MediaSegment ranges ("#seg+" and "#seg1-seg2") in MediaControl/MediaSensor
|
|
- flow control for RTP over RTSP and session restart when RTSP TEARDOWN not acknowledged
|
|
- 3GPP hinting (AMR NB and H263) contribution by Andrew Voznytsa
|
|
- playback support for basic 3GPP files (that is only MPEG-4 visual and AAC audio)
|
|
- support for MPA payload format - RFC 2250 (hinting and playback)
|
|
- support for mode detection (CELP and AAC) in hinting since QT6 understands only these modes
|
|
- support for several mediaSensors per OD
|
|
- AudioBuffer
|
|
- removed DirectDraw display resolution changes when switching to fullscreen
|
|
- BIFS Extended Updates from AFX/MU amendment (integrated in GF_SceneGraph, dumping, memory decoding and encoding)
|
|
- BT parser completed - complete BIFS syntax is now supported except PMF
|
|
- SRT importer through BT (converts SRT file to a BIFS animationStream)
|
|
- better audio playback/sync
|
|
- ffmpeg plugin, decoder seems OK (MPEG1 and MPEG4 visual tested), demuxer not working yet.
|
|
- added AVI/mp3/MP4/NHNT import to mp4box
|
|
- BIFS encoder initial release (missing: PMF, BIFS extended Updates), bt parser almost done, bt->mp4 working
|
|
- exporters in MP4Box (cmp, aac, mp3, jpg, png and nhnt)
|
|
- mp4 XML reports for hint tracks and atoms in MP4Box
|
|
- merged old soft rasterizer with charcoal + freetype (using ftgrays standalone raster) - better quality, faster ...
|
|
- added BIFS stat tools in MP4Box
|
|
- lots of updates in dirty rect algo.
|
|
- changed GraphicsDriver2D API
|
|
- scene graph dumper in Osmo4 win32
|
|
- New app MP42AVI for BIFS to video (AVI, BMP, RAW) conversion, single-frame dump support
|
|
- MP4 dumping to XMT-A and bt (BIFS, OD and OCI) - cf MP4Box
|
|
- PredictiveMFField support (only IPPPPPPP...)
|
|
- segment descriptors in MediaControl
|
|
- ported wav audio for WinCE - TEST AND FIXING NEEDEED , DOESN'T WORK ON ALL IPAQs
|
|
- support for hardcoded proto testing
|
|
- WinCE port + GAPI video renderer (for iPaq only)
|
|
- externProto support (only tested with local proto libs)
|
|
- InputSensor (keySensor, Mouse and StringSensor)
|
|
- plethora of bug fixes
|
|
|
|
# version 0.1.0:
|
|
initial release
|