02/09/04: JLF: 0.2.0 release

31/08/04: JLF:
	- misc fixes on 2D renderer aspect ratio
	- committed Osmo4/wxWidgets version in Applications/Osmo4_wx
	- fixed 3GP -> MPEG-4 emulation in rtp client (scene size was broken)
	- fixed ffmpeg decoder (decoded frame size was just tooo big)
	- put zoom & pan back in place in 2D render plugin
	- fixed V4Studio (upgrade to wxWidgets 2.5.2)
	- added basic file<->plugin association by file extension (cf doc)
	
	
22/08/04: JLF:
	- removing all conflicting symbols between 2D and 3D renderers plugins (screw up the linux versions)
	- committing 2D and 3D renderers
	- MP4Box fixes
	- updated cfg file doc man pages & makefiles
	
18/08/04: JLF
	- preparing 0.2.0 release:
	- massive re-arch of renderer(s) to be able to load at run-time either 2D or 3D renderer, instead of static linking
	- fixes related to above (removed shared vars amoung new plugins and core render)
	- re-organized development headers
	- fixed mem leaks in PNG decoder
	- MP42AVI can now dump 3D scenes
	
22/07/04: JLF:
	- 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
	- complete regression testing done
	- updated new regression test suite (no 3D yet)
	
07/07/04: JLF
	- 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)

20/06/04: JLF
	- more fixes on BIFS/XMT UTF-16 support
	- fixed XMT-A syntax of script and proto SF/MFNode field
	- fixed avg/max rate compute on large files for AVI and MP3 importers
	- made Background2D texturing use hw blitter when possible (2D renderer only)
	- fixed inline scene & segment descriptors handling
	- fixed encoding of IOD extra descriptors
	- configure script fixes
	
10/06/04: JLF:
	- 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 basic support for UTF-16 (LE and BE encoding) format for input BT and XMT
	- added SFTime->SFString formating in valuator (current MPEG-4 COR)
	- fixed scalable BIFS parsing (updates where by default in base layer)
	- fixed nasty video reordering bug - default version currently doesn't have spatial reordering (no codecs using it)

12/05/04: JLF:
	- fixed SDL plugin (openGL part) under linux / w32
	- fixed makefiles for 2D and 3D
	- fixed config file typo: section "System" is now more appropriately called "Systems"
	- fixed BIFS decoder bug (was discarding remaining commands in an AU after a REPLACE SCENE BY NULL)
	
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 :)
	
30/04/04: JLF:
	- fixed JPEG/PNG import (track width and height were not set)
	- DirectDraw plugin resize bug
	- uploaded ultra basic SWF convertor (so that it doesn't get lost on my hard drive:)

28/04/04: JLF: GPAC Release 0.1.4
	- MP4Box avi import fixes (key frames, VOL removal, n-VOP handling)
	- Fixed MP4 and NHNT importers (visual tracks sizes)
	- added avi extractor for visual tracks
	- fixes in XMT-A parser (unicode, DEF routes, proto namespaces)
	- fixes in URLs handling
	- fixes in ExternProto resolving, added VRML addressing (eg url "protolib#protoName" and "protolib#protoID")
	- fixed AnimationStream deativation
	- fixed MediaSensor deativation on segment (was sending wrong mediaTime info)
	- 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
	- added better end of presentation support
	- removed "movie texture not deactivating with MediaControl" fix - still NEEDS FURTHER DISCUSSION 
	- done with all regression testing (ouf)
		
18/04/04: JLF: GPAC Release 0.1.3 rc2
	- fixed hinter timescale and b-frame bug
	- fixed seeking rounding bug (making very high clock drift)
	- added DecodingBuffer and CompositionMemory occupancey in ODInfo
	
16/04/04: JLF
	- fixed MP4Box import crash
	- fixed RTP streaming of systems (OD was blocking)
	- fixed RTP reorderer timeout
	- fixed movie texture not deactivating with MediaControl - NEEDS FURTHER DISCUSSION 
	- more ffmpeg fixes (pb with wma)
	
14/04/04: JLF: GPAC Release 0.1.3
	- fixed linux hang (SDL cleanup)
	- fixed makefiles (clean broken)

13/04/04: JLF
	- misc linux fixes
	- cleanup of OD browsing tools
	 
12/04/04: JLF
	- fixed path layout text rendering
	- added layout text splitting (word boundaries only)
	- fixed DirectX char event.
	- misc fixes in XMT parser.
	
07/04/04: JLF
	- fixed FFMPEG decoder crash (yet another padding pb)
	- misc cleanups of WCE version

02/04/04: JLF
	- fixed DirectXound notification pb
	- added linux install and man pages

30/03/04: JLF
	- added OCR stream support in (authoring/playing) - only tested with MP4. MediaControl supported on OCR
	- fixed B-frame import with data referencing
	- fixed packed bitstreams remaining flag in AVI video import
	- fixed some seeking and buffering issues
	- fixed compilation with empty node tables
	
23/03/04: JLF
	- added support for multi-framed audio units (needed for most formats understood by ffmpeg demux)
	- fixed multiplexed input stream setup

19/03/04: JLF
	- fixed some ffmpeg demuxer and seeking issues
	- fixed SDL plugin (constantly recreating surfaces, wrong fullscreen sizes)
	- fixed 3GP track export in MP4Box
	- fixed linux threading bug

17/03/04: JLF
	- fixed 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
	- added support for console events detection in MP4Client linux (a la win32 kbhit())
	- added anchor (mp4 navigation only) support in MP4Client
	- uploaded linux version of extra libs
	- fixed ffmpeg plugin (compil break btw w32 and linux)
	- misc fixes.

15/03/04: JLF
	- added non-system SDL support in GCC configure script (cf --sdl-cfg)
	- fixed freetype detection on linux (using freetype-config)
	- modified default font handling in freetype plugin so that there is text diplayed if at least one font is present
	- cleaned-up 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

10/03/04: JLF
	- fixed read-only compil
	- simplified event mode and user callbacks
	- 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)
	- added UDP autoconfig option (if no UDP traffic is recieved, restart with TCP)
	- moved to FAAD2.1 (CVS), fixed faad2 compil on MinGW & winCE
	- cleaned up install docs
		
09/03/04: JLF
	- moved all windowing architecture to the video output plugins (keyboard and mouse events, WM messages) in order to support SDL.
	- serious clean up of MP4Client
	- fixed support for 32-bits RGB in GDIPlus rasterizer
	- fixed audio deadlock with self-threaded audio plugins
	- fixed rgb->rgb24 convert
	- 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
	- moved to FAAD2 final release
	- added support for MinGW in all extra libs except FAAD2 (doesn't work)
	- cleanup all plugin makefiles for MinGW support including DirectX under mingw
	

02/03/04: JLF
	- added support for xvid 1.0.0
	
28/01/04: JLF: GPAC Release 0.1.2
	- added codec selection in Osmo4 GUI
	- added amr_dec project for eVC
	- committed PocketPC installer
	- committed OpenDivx plugin
	- clean-up extra lib package, install notes and added missing libs
	
27/01/04: JLF:
	- FFMpeg demuxer done (still some pbs with seeking from time to time). GPAC now supports all FFMPEG-supported formats.
	- fixes in RTSP stack (omitted "rtp-info" from servers now supported)
	- fixes in MP4Box parsing (BT and XMT) of scalable descriptions and animationStream

20/01/04: JLF:
	- fixed SceneGraph Reset bug when using unreferenced nodes due to parsing errors
	
19/01/04: JLF:
	- clean up of NSIS script, new script for complete install
	- fixed hang on PocketPC WavOut and misc cleanups for PocketPC compilation
	- added support for H263 in 3GP files (use FFMPEG dec)
	- added support for H263 streaming (RFC 2429)

16/01/04: JLF:
	- added support for node replacement with same ID in BT/XMT parser - eg REPLACE N1 BY DEF N1 NewNode {}	
	- added B-frame parsing and CTS reconstruction in AVI importer.
	- moved muxInfo.duration parameter to milliseconds (was in seconds)

15/01/04: JLF:
	- fixed some MatteTexture bugs and workaround Gdiplus bug when loading texture from existing memory
	- added '-node' options to MP4Box to get a given node syntax (fields default value and QP info)

13/01/04: JLF:
	- added relative time stamps in BT ('AT D1000 ' means 'at last AU TS + 1000')
	- fixed 32 bit color (ARGB and XRGB) handling in PNG dec, m4_rend and gdip_rend

09/01/04: JLF:
	- finally fixed FFMPEG decoder plugin (works with latest CVS snapshot)
	- added MediaControl switching (several MC on single object)

08/01/04: JLF:
	- separate file downloader API and streaming client API and simplify things a bit in plugins and ESM modules
	- continue plugin management cleanup
	- added base support for non-MPEG4 URLs in the scene (eg, url "http://whatever/resource")
	- added loader (local/network) for JPEG and PNG files
	- added loader (local/network) for MP3 files. Would be nice to add SHOUTCAST/ICECAST too...
	- added support for ESD URLs and non-inline OD URLs (supports any service, local file, download and streaming)
	
29/12/03: JLF:
	- rewrote SpiderMonkey interface to remove dependencies from JS when not needed (MP4Box)
	- added MatteTexture support (needs testing and debug)
	- end of 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
	- cleaned up plugin management
	- added persistant associations font name / file name for freetype in GPAC.cfg
	- fixed conditional.buffer replacement encoding
	
16/12/03: JLF:
	- fixed bug in rtsp URL parser
	- added support for conditional in proto creating node interfacing with the proto (ARGHHH !!!)
	
12/12/03: JLF:
	- fixed duplicated ID bugs in non-linear BT parsing
	- completed XMT-A parser (script, proto, externProto and extendedUpdates)
	- added edit list support in MP4 reader plugin
	- added bt->xmt and xmt->bt in MP4Box
	- added support for start offset in BT/MP4Box
	- added BIFS random access point generation in MP4Box (sync shadow or regular RAP) for cartoons
	- fixed startTime <0 handling in time-dependent nodes
	
02/12/03: JLF:
	- added AMR NB support (payload parsing and 3GP codec plugin)
	- rewrote parts of MP4 lib for lower memory usage
	- initial XMT-A parser (no script, no proto) added
	- massive cleanup of exported headers
		
20/11/03: JLF: GPAC Release 0.1.1 
	- added 3GP rtsp streaming support, fixed SDP fetching and other bugs in RTSP client
	- fixed bug in AnimationStream URL change
	- fixed bug in MediaControl restarting (was restarting even non playing ODs)
	- moved to latest stable extra libs faad2 2.0rc3, FreeType 2.1.5 and mad 0.15.0b, and dev version (20031117) of xvid
	- added support for MediaSegment ranges ("#seg+" and "#seg1-seg2") in MediaControl/MediaSensor
	- added flow control for RTP over RTSP and session restart when RTSP TEARDOWN not acknowledged
	
16/11/03: JLF
	- added 3GPP hinting (AMR NB and H263) contribution by Andrew Voznytsa 
	- added playback support for basic 3GPP files (that is only MPEG-4 visual and AAC audio)
	- added support for MPA payload format - RFC 2250 (hinting and playback)
	- added support for mode detection (CELP and AAC) in hinting since QT6 understands only these modes

14/11/03: JLF
	- fixed media processing bug (was not always reseted when seeking)
	- fixed video green-frame bug when seeking/resuming/restarting
	- fixed vicious bug in dirty rect
	- small MP4 changes to support broken ESDS atoms (philips)
	- cleanup of win32 NSIS installer, added w32 ffmpeg plugin installer
	- added support for several mediaSensors per OD
		
05/11/03: JLF
	- added AudioBuffer support
	- heavy testing/debug of non-ISMA streaming, updates in MP4Box hinter
	- removed DirectDraw display resolution changes when switching to fullscreen
	- fixed SFTime (startTime and stopTime) offseting in proto code and proto interface...
	- and other fixes (unicode in MP4Box, dynamix URL switches in media nodes, ...)
	
29/10/03: JLF
	- got rid of field change tracking in scene graph - whenever a field is modified, the object is considered as changed
	- Done with extended BIFS Commands (integrated in SceneGraph, dumping, memory decoding and encoding)
	- finished BT parser - Complete BIFS syntax is now supported except PMF
	- added SRT importer through BT (converts SRT file to a BIFS animationStream)
	- updated all makefiles and eVC3 project files, moved to 0.1.1 release an dstarted regression testing
	
24/10/03: JLF
	- rewrote mp4 and bt importers, scene dumper , scene stats to work with a common object (M4SceneManager)
	- some more opt in the dirty rect algo
	- rewrote audio sync: audio frames are no longer skipped but the OTB is adjusted -> better audio playback/sync
	- fixed YUV -> RGB alignment bug
	- for the curious: added ffmpeg plugin, decoder seems OK (MPEG1 and MPEG4 visual tested), demuxer not working yet.
	
19/10/03: JLF
	- added AVI/mp3/MP4/NHNT import to mp4box
	- cleanup of BIFS decoder
	- BIFS encoder initial release (missing: PMF, BIFS extended Updates), bt parser almost done, bt->mp4 working
	- added exporters in MP4Box (cmp, aac, mp3, jpg, png and nhnt) 
	- added mp4 XML reports for hint tracks and atoms in MP4Box
	
03/10/03: JLF
	- merged old soft rasterizer with charcoal + freetype (using ftgrays standalone raster) - better quality, faster ...
(the old version is no longer available unless requested for ...)
	- added BIFS stat tools in MP4Box
	- lots of updates in dirty rect algo.
	- changed Graphics driver logics -> new API

25/09/03: JLF
	- added scene graph dumper in Osmo4 win32
	- clean up/opts of dirty rect algo
	- fixes in audio plugins block alignment

21/09/03: JLF
	- New app MP42AVI for BIFS to video (AVI, BMP, RAW) conversion, single-frame dump support
	- added MP4 dumping to XMT-A and bt (BIFS, OD and OCI) - cf MP4Box

19/09/03: JLF
	- fixed templates and source on IndexedFaceSet2D and IndexedLineSet2D 
	- PredictiveMFField support (only IPPPPPPP...)
	- bug fixes in proto quantization
	
15/09/03: JLF
	- fixed bugs in proto ISed fields initialization
	- added support for segment descriptors in MediaControl
	
11/09/03: JLF
	- ported wav audio for WinCE - TEST AND FIXING NEEDEED , DOESN'T WORK ON ALL IPAQs
	- added support for hardcoded proto testing
	
05/09/03: JLF
	- added WinCE port + GAPI video renderer (for iPaq only)
	
26/08/03: JLF
	- modified decoder API to signal objectTypeIndication to plugin
	- fixed bug in proto/BIFS v2 setup
	- added BIFS Extended Updates from AFX/MU amendment
	- added externProto support (only tested with local proto libs)

29/07/03: JLF
	- added InputSensor (keySensor, Mouse and StringSensor)

version 0.1.0:
	initial release
	