2010-11-18 Andy Qiu <junhai.qiu@intel.com>
		* Changed version number to 0.1.24

2010-11-17 Weian Chen <weian.chen@intel.com>
		* Support dynamic frame rate change in MI-X

2010-11-16 Weian Chen <weian.chen@intel.com>
		* Change to use one API to set AIR parameters
		* Support to set AIP dynamically

2010-11-15 Weian Chen <weian.chen@intel.com>
		* Support to set slice number for I and P frame seperately

2010-11-12 Tao Tao <tao.q.tao@intel.com>
		* Added new error codes to MI-X video and changed some return values in mixvideoformat_h264.c

2010-11-12 Andy Qiu <junhai.qiu@intel.com>
		* Changed version number to 0.1.23

2010-11-11 Weian Chen <weian.chen@intel.com>
		* Add new feature (VCM, MTU, etc)

2010-11-10 Andy Qiu <junhai.qiu@intel.com>
		* Support color matrix, video range, aspect ratio.
		* Support h264 dynamic stream detection
		* Support H264 RTSP streaming
		* Changed version number to 0.1.22

2010-10-25 Andy Qiu <junhai.qiu@intel.com>
		* H.264 error robust improvement
		* MPEG-4/H.263 partial frame support
		* MPEG-4/H.263 RTSP stream support
		* Changed version number to 0.1.21

2010-09-29 Andy Qiu <junhai.qiu@intel.com>
		* Supported FLV playback
		* Re-factored frame manager
		* Changed version number to 0.1.20

2010-09-15 Tao Tao <tao.q.tao@intel.com>

		* Merged the changes for Android

2010-09-02 Andy Qiu <junhai.qiu@intel.com>
		* Refactored h.264 decoder to support partial frame and byte stream handling and delayed decoder configuration.
		* Supported MPEG-4 video decoding with "video/x-xvid" mime type.
		* Rolled version number to 0.1.19

2010-07-29 Andy Qiu <junhai.qiu@intel.com>
		* use high profile for baseline H.264 contents
		* Rolled version number to 0.1.18

2010-06-30 Tao Tao <tao.q.tao@intel.com>

		* Added G_BEGIN_DECLS and G_END_DECLS to all header files

2010-06-09 Weian Chen <weian.chen@intel.com>

		* convert DOS line end format to Unix

2010-06-04 Tao Tao <tao.q.tao@intel.com>

		* Rolled version number to 0.1.17

2010-06-01 Tao Tao <tao.q.tao@intel.com>

		* Added va_display to MixVideoFrame
		* Made changes in several MI-X video source files to reflect the MixVideoFrame change.

2010-05-28 Weian Chen <weian.chen@intel.com>

		* Make changes to H.264/H.263/MPEG-4 encode to align with the data structure change of coded buffer in LibVA
		* Link encode to libva-tpi

2010-05-07 Tao Tao <tao.q.tao@intel.com>

		* Added gtk-doc support to the project

2010-05-03 Tao Tao <tao.q.tao@intel.com>

		* Removed mixdrmparams.h/c files and made related changes.

2010-04-21 Chris Pearson <christopherx.c.pearson@intel.com>
		
		* Added null-pointer check to mixvideoformat_h264 to fix shutdown crash.

2010-03-25 Tao Tao <tao.q.tao@intel.com>
		
		* Changed mixvideo and mixframemanger to handle last frame correctly.

2010-03-22 Tao Tao <tao.q.tao@intel.com>

		* Rolled version number to 0.1.16


2010-03-09 Weian Chen <weian.chen@intel.com>

		* lots of defects fix for mixvideo encode


2010-03-09 Weian Chen <weian.chen@intel.com>

		* Change to use Cleanup convention for mixvideoenc (all	mixvideformatenc derived Object, H.264/MPEG-4:2/preview)
		* remove some unnecessary comments

