removed - old, unmaintained stuff

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1614 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
arpi 2001-08-21 21:40:18 +00:00
parent c10396e50f
commit ce793cff06
2 changed files with 0 additions and 729 deletions

View File

@ -1,497 +0,0 @@
ChangeLog:
~~~~~~~~~~
v0.18 "BugCounter" :
- all known bugs fixed
- thousands of changes, updates, code cleanups, features etc.
v0.17a "IdegCounter++" :
- first 0.17 release failed - buggy files outdated docs etc :(
it's (hopefully) fixed now.
v0.17 "IdegCounter" :
- thousands of changes, updates, code cleanups, features etc.
* jumped to 0.17 *
v0.11-pre27-CVS:
- updated libmpeg2 source to libmpeg2-0.2.1-CVS version
- updated OpenDivX encore/decore to 4.0 alpha48
- cmdline/configfile handler by szabi
- added DirectShow support (now DivX-only)
- bugfix: stream.c/stream_new() uninitialized variables
v0.11-pre26-CVS:
- updated libmpeg2 source to libmpeg2-0.2.0 version
- small fixes
v0.11-pre25-CVS: yeah, we moved to SourceForge CVS!
- DOCS updated (email address changed from arpi@* -> maillist)
- LIRC fix, mplayer_lirc changed back to mplayer [Andreas Ackermann]
- stream.c: unsigned int fixes, required for some strange .asf files
- asfheader.c: using w=h=b=1 for audio_concealment_none
- VCD-related stuff moved from stream.c to vcd_read.c
- added DGA driver by Andreas Ackermann
- added debian/ subdir for the debian package makers... see DOCS/DEBIAN
- new Makefile/dependency system
- added check_events() to libvo, x11 stuff moved to x11_common.c
v0.11-pre24: small fixes again :(
- DOCS/LIRC changed: users *must* enable lirc support manually, it is
not autodetected yet. (./configure --enable-lirc)
- the {prefix} bug fixed by Gabucino
- added manpage by Gabucino
- manpage -vo fixes by A'rpi
v0.11-pre23: lirc support, text updates, mailinglists
- added "-ni" option to force usage of the non-interleaved AVI parser
- DOCS/* updated by Gabucino
- new homepage by Gabucino
- mplayer users & announce mailing lists by Dariusz Pietrzak (see README)
- LIRC support by Andreas Ackermann (see DOCS/LIRC)
enable with ./configure --enable-lirc
TODO: ./configure should detect LIRC installed and better Makefile handling
- added AVI_NINI parser for broken (no index) non-interleaved files
v0.11-pre22: last fixes, release is coming soon!
- non-interleaved avi EOF bug fixed [thanks to DC-1 for help]
- "You" strings in Makefile after make dep bug fixed... [thx to DC-1]
- SDL disabled by default. You have to ./configure --enable-sdl to enable.
- homepage updated by Gabucino
- homepage updated by A'rpi
- FAQ updated by A'rpi
fork() -> 0.12pre1
v0.11-pre21: mpeg1 pp, stereo fix
- "Skip chunk xxxx" messages moved from -v to -v -v -v debug level...
[thanks to Christoph H. Lampert]
- divx postprocess filter works for mpeg1 files too! (-divxq 1/3/7/31)
- mpeg layer-2 audio fixed - it's stereo again!!!
- audio select() detection: if detected audio buffer size == 0, then
exit with message "recompile mplayer with #undef HAVE_AUDIO_SELECT"...
- syncfb driver added to the source tree, under drivers/
(it's very similar to mga_vid, but has syncronization to screen and
de-interlace features)
- draw_slice in syncfb finished for G400 cards (plays mpeg 1/2, opendivx)
(de-interlacing has been disabled, because it's buggy now)
v0.11-pre20: NI-AVI support, small fixes & patches...
- asf parser: flag 0x40 (explicit packet size) implemented [Marvin]
- new option to select DSP device: -dsp (default: /dev/dsp) [Pontscho]
- option -o changed to -vo
- ./configure: applied patches [LGB,Ian Kumlien,Magnus Pfeffer]
- avi chunk_id->ds mapper moved to demux_avi_select_stream()
- added non-interleaved .AVI parser
- added non-interleaved .AVI detection (if a_pos-v_pos distance > 1MB)
v0.11-pre19: small fixes...
- vo_xmga.c: G200 draw_slice fixed
xmga + mga: common part (draw_frame & draw_slice) moved to mga_common.c
- some independent code (asfinfo.c and GL-test) moved to the new TOOLS subdir
- movinfo.c added to TOOLS (small util to dump .mov file structure)
- AVI & ASF stream id detection changed: now using IDs from the header
(but still can be overriden by -aid or -vid) [Christoph H. Lampert]
- native MS-GSM audio codec ported from avifile source (-afm 6)
[thanks for the testfile to Christoph H. Lampert]
- README updated (input & codec lists)
- implemented .asf audio descrambling [Dirk Vornheder & Einon]
-> that weird_al_yankovic asf is not so weird now :)
- AUTHORS file changed
v0.11-pre18: patch release :)
- skip broken .asf fragments (for better seeking)
- seeking code cleanup in sources (now it's in a switch(){})
- opendivx encoding bitrate option changed from -divxq to -br
(for the divx -> divx re-encoding)
- TO DO section moved to file TODO
- applied ./configure and Makefile changes patch from LGB
- libvo function changes by Pontscho: x11 (with -fs), xmga (bugfixed!)
- libvo: driver sources renamed from video_out_*.c -> vo_*.c
- libvo: added uninit() function to drivers
- libvo: fork()'ed X11 eventhandler for x11 and xmga drivers [me & Pontscho]
(gl and xv version is coming soon!)
- libvo: sdl driver now closes SDL at QUIT...
- small english fixes (docs & messages) [Balazs Tibor]
v0.11-pre17: fixes
- asf "missing video stream" fixed (stream id & 0x7F) [Christoph H. Lampert]
- added GL-test directory, it contains source and compiler script of a
very simple open-gl texture updating (glTexSubImage) test program.
if it runs well, then mplayer -o gl should work too.
it works on G400+Utah-GLX, but segfaults in the G400 driver of X 4.0.2/DRI.
try it with different cards/drivers, and please report me the results.
- benchmarking in gltest.c: calculate fps and process times
- .asf seeking v0.01-pre0.1 :)
v0.11-pre16: ACM fixed
- Win32/ACM audio codec fixed (most important for asf with divx audio):
There was an output buffer size problem with the Win32/ACM audio codec
at low bitrates (usually used for .asf files with divx audio)
Input and output buffer sizes are now queryed, problem solved :)
- SDL support compiling hint by Michael Durller added to the FAQ
- opendivx support in .asf files [Gérard Lantau]
- ./configure & Makefiles patch by Aaron Hope applied.
(adds --with-win32libdir and fixes --with-x11libdir)
- ./configure fixed, now it defaults to /usr/lib/win32 if detection failed
v0.11-pre15: asf sync fixed
- asf parser: now supports other than 0x5D segments [Dirk Vornheder]
- new asf PTS reading: sync works now, including fps...
(-fps no longer required!) [thanks again to Eugene Kuznetsov for docs!]
v0.11-pre14: small fixes, asf sync v0.1 :)
- version number incremented :)))
- libvo / Xv driver swapped Red-Blue fixed
- asf timestamps implemented - now asf A-V should be in sync if you
specify the correct fps at commandline (-fps), +-1 fps allowed...
[i haven't yet found method to get fps out from asf headers :(((]
- some error and consistency checking into demux_asf
if you see many warning! messages playing an .asf file, then contact
me and upload the file (first 1MB is enough if it represents the problem)
Don't forget: there is no public doc about the .asf file format, so
everything we know is suspected and can be wrong... without your help
we never will have working .asf player...
- asf fragment offset checks disabled for grouping...
v0.11-pre13: libvo changes, mpeg bitrate, vcd fix, asf grouping
- libvo: draw_slice() interface changed, now it has src stride[3] and
destination rect dimension (w,h,x,y)
It's able to blit whole frames, not only 16-pixel slices...
- libmpeg2 and opendivx codec changed to use new draw_slice()
-> opendivx extra 64-pixel width band at right disappeared!
- mpeg bitrate fix: if picture->bitrate==0x3FFFF (means "unspecified" ?)
then using standard VCD bitrate (75*2324 bytes/sec)
-> fixed seeking for those mpegs with "16MBit/s" bitrate...
- drivers/sis_vid: video4linux interface disabled
- broken VCD playing fixed: stream_reset shouldn't seek to 0x0...
[bugreport: Kang Sun]
- asf_parser: grouping implemented! [test file provided by Gabucino :))]
v0.11-pre12: ./configure fixes, improved odivx-encoding, streaming fixes
- ./configure: using /tmp/main$$.c instead /tmp.main.c, and
remove file after tests [SaPe]
- ./configure: trying the gcc optimize options and fallback to 'pentium'
if fails (useful for people with old gcc and new cpu :))
- removed -fomit-frame-pointer from OPTFLAGS at config.mak
- version number incremented [Gabucino]
- odivx encoder fix: allow long (longer than xxxx.avi) destination filenames
(sizeof() changed to strlen()...) [Gabucino]
- avi writer - overwrite disabled (exits with error message if destination
file already exists...) [Gabucino]
- use -divxq to set encoding bitrate (in bits (no kbits!) default: 780000)
- no audio decoding if -encode option is used
- audio streaming disabled if -nosound specified (setting audio_id to -2)
- fast Mpeg-ES detection (doesn't read the whole Mpeg-PS file)
- compile-time option to disable using soundcard driver's select()
(requires for some people with buggy/pre-alpha/etc sound driver...)
v0.11-pre11: streaming fixes, asf support pre, indeo5 fix
- asf/asfinfo.c improved: now it dumps streams to files - need testing!
(it's ready to be converted to asf demuxer and intergated into MPlayer)
- stream.c / stream_reset() fix: now it really seek back to 0 position!
- .asf file format detection added (no .asf reading yet!!!)
- .asf demultiplexer added, changes in demuxer.c to handle fragmented packets
> it plays .asf video well, but still has problems with divx/wma audio. :(((
- indeo 5 playing fixed (removed ICDECOMPRESS_UPDATE from flags)
- xmga resizing problems with some window managers, so default order is
changed xmga,xma... to mga,xmga,...
- found gcc bug: compiling MPlayer with flags
OPTFLAGS=-O -g -march=i686 -mcpu=i686 -pipe -fomit-frame-pointer -ffast-math
cause image sizes negating -> mga_vid kernel driver Oops... :(((
- runaway.bride.sample.avi seeking segfault discovered: AC3 resync fails :(
- improved signal handling: module name is now printed. audio_resync added.
- RGB opendivx encoding implemented, now AVI->opendivx is possible.
v0.11-pre10: OpenDivX encoding, streaming fixes, avi seek fixes
- new libvo driver: odivx (OpenDivX File Writer)
- AVI file writting support, new option: -encode filename
to encode an mpeg/vob/vcd to opendivx:
mplayer file1.mpg -encode file2.avi -o odivx -nosound
(sound encoding/copy is not yet supported)
- libvo: default driver priority changed to: xmga,mga,syncfb,3dfx,xv,x11,gl
- avi writer: index support
- small fixes in avi writer to be compliant (adjusted chunk/list lengths)
- demuxer.c: stream buffering fixes:
- missing {} in mplayer.c occuring audio reads when has_audio=0
- reordered packet reader and pack count checks -> no more unwanted EOF
- added 4MB buffer memory usage limit to demuxed streams
- CPU flags in ./configure changed:
k7 -> k6 (current stable gcc doesn't supports k7)
386,486 -> i386,i486 [Balazs Tibor]
- demux_avi: index check now accepts (raw.len+1)==idx.len [Balazs Tibor]
- FAQ added
** Now we are ready with planned features & urgent fixes, **
** it's time to final testing and then the 0.11 release!! **
v0.11-pre9: OpenDivX fixes,speedup
- solved OpenDivX width problem (stride=width+(Quality?0:64))
now -divxq 0 works, and 0 is the default
- libvo call moved out from my_convert_yuv() so it can be measured (cpu %)
- IDCT code ported from libmpeg2 -> much faster OpenDivX decoding
v0.11-pre8: SDL fixes, OpenDivX support
- added -I/usr/X11R6/include to libvo CFLAGS
- (removed later: applied libvo SDL driver fixes by Jeffrey Boser)
- OpenDivX support, initial hack, maybe not work for you...
(I need testfiles, I have just only one)
use -divxq option to adjust quality (1..29 works), 1=default
v0.11-pre7: SDL support
- ported SDL driver from mpeg2dec/libvo (currect CVS)
(it's slower than internal X11 driver, but supports software scaling!)
- fixed SDL driver to support -fs and pass keyboard events
- SDL driver changed to support YV12 and YUY2 formats instead of IYUV
(now works with DivX files too)
- 'q' (Quit) disabled in SDL fullscreen mode (because it's impossible
to restore screen before exiting so it gets unusable state now)
v0.11-pre6: audio fix
- fixed video_out_xv.c compiling problems [bugreport: Kalle Mellerup]
- modified audio playing: always keep buffer (both internal and card's)
filled using select() -> -alsa audio delays should be fixed.
- updated DOCS/AUTHORS and DOCS/README
v0.11-pre5: xmmp audio support, applied Pontscho's libvo patch
- xmmp audio driver support by Arthur Kleer
- new video_out driver by Pontscho: xmga (Matrox G200/G400 only!)
It does same under X 3.3.x what Xv extension does under X 4.0.x!
(you will have a moveable/resizeable window but see an YUV video
overlay in it using color keying)
- added keyboard event support in X11 windows [Pontscho]
(using mplayer_[put|get]_key() in codecctrl.c)
v0.11-pre4: x11 driver fixes, 15/16bpp support
- version in version.h fixed :))) [Pontscho]
- inttypes.h moved to DOCS/ (copy back to the root if you need it)
- depth calculation in vo_init() changed (Pontscho's version couldn't
make difference between 15 and 16bpp)
- x11 driver now uses vo_init() instead of get_depth()
- yuv2mmx: 15bpp not really supported -> removed from list, now
conversion is done (well) by the C code -> MPEG play in 15bpp works!
- avi playing support added in 15bpp (memcpy)
- avi playing support added in 16bpp (C 15->16 converter by me)
- avi playing support added in 16bpp (MMX 15->16 converter by Strepto)
- libvo/x11: yuv2rgb used MMX code on non-MMX CPUs too!!! fixed...
- all x11 modes tested (and mpeg/24bpp byteorder fixed):
MPEG: AVI/VfW:
15bpp C convert memcpy
16bpp MMX/C convert MMX/C convert
24bpp C convert memcpy
32bpp MMX/C convert memcpy / C conv.
=> now all the movie types are viewable using the -o x11 driver!
v0.11-pre3: mpeg fixes, fullscreen support
- vertical.mpg serious libvo (x11,gl) segfaults fixed:
yuv2rgb_mmx requires one more lines that vertical image size...
fixed (allocating memory for width*(height+1)). [bugreport: Gabucino]
- Pontscho's fullscreen patch applied!
Using option -fs will maximize window size (for all resizeable drivers
including mga!) and disable window decorations (x11,Xv,gl only)
- simple inttypes.h included for libc5 (and glibc2.0 too?) users
- homepage updates (links changed ftp->http)
v0.11-pre2: better user messages, mp3 codec selection, demuxer changes
- w32codec.zip restored at the FTP site (somehow it damaged...)
- added version.h, and used its content everywhere
- 'premature end-of-file' problem fixed: freeing audio buffers and
setting d_audio->id=-2 if has_audio==0 [bugreport by Dmitri Pogosyan]
- some more messages added if verbose>=1
- demuxer.c: error message printed if A or V chunk buffer is full
'mplayer test.avi -aid -2' still not works without option '-nosound'
- adding new config.h option to set default MP3 audio codec (mpg123/l3codeca)
./configure selects mp3lib only if you have 3Dnow [idea: Gabucino]
- automatic fallback to mp3lib/mpg123 if l3codeca.acm can't be loaded/inited
v0.11-pre1: AVI sync fixes
- AVI audio seeking improvements: now using nBlockAlign value to seek
inside the chunk, so divx audio works without big delays!!!
- AVI PTS calculation modified: counting video PTS when skip_video_frames>0
so new audio PTS values will be correct. Solved many sync probs!
- A-V sync with AVI files fixed!
Now only the Desperado-trailer has 1.0 sec delay after seeking.
- fixed AVI sync in -bps mode too! :) (perfect except that Desperado avi)
v0.10: The new year release!
- testing
- docs changed
- it's time to release and remove the old buggy 0.09 version...
- release!!!
v0.10-pre8: libvo/x11 changes
- libvo: x11/xv driver separated to x11 and xv drivers
- libvo: DUMMY_VO_FUNC removed from driver sources
- libvo: default driver order changed, because some users with software-only
opengl though that this 'slow' player can only play at 1-3fps :)
v0.10-pre7: libmpeg2 interface changes, display size/area changes, AVI fixes
- libmpeg2/decode.c modified:
- removed unused OMS and mpeg2dec stuff
- decode_data rewritten, now works like parse_es.c
=> doesn't copy any data -> faster and less memory usage
- mplayer.c sends code 0x1FF after every frame, so libmpeg2 knows
when has to display it
- mplayer.c: in_frame flag fixes, didn't work well with mpeg2 streams
(because there is a 0x1B2 chunk between 0x100 and 0x101)
- 'picture' changed from static to shmem-allocated
-> better picture after codec restart (tested with JapAd.mpg)
-> keep information of the header changes (after init)
- mpeg image size changed, now only the real part of frame is displayed
(no more green strip at the bottom)
- picture struct: new fields: display_picture_width/height
- image buffer allocation (shmem) is done by decode.c instead of libvo
- new option: -xy <value> (resize both x/y direction)
if value<=8 -> x_scale = y_scale = value
else -> x_size=value y_size=aspectratio*x_size
- mplayer.c: video output moved out from avi/mpg init sections and
now it's common code (added movie_size_x/y variables and out_fmt global)
- new keys:
ESC => quit
+ and - => adjust audio delay +- 0.1 second
k => kill/restart the mpeg codec process (for testing)
- codec control interface changed: wait for syncword after (re)start
to avoid receiving old frames => it's stable again!
- removed (now unused) allocate/free image buffer code from libvo
- mplayer: new internal variable for video format: has_video
0 = none (unused yet)
1 = mpeg 1/2 video
2 = win32/VfW video codec
- config.h has defaults for bps-based AVI sync and ALSA timer code options:
#undef AVI_SYNC_BPS => now it's disabled by default!!! use -bps to enable
#define ALSA_TIMER => now it's enabled by default!!! use -noalsa to dis.
- help updated
- prints max compressed framesize at exit (both avi & mpeg)
- AVI audio seeking fixed: some ACM codecs (divx audio and ms-adpcm)
can't seek inside a chunk, they are only able to play whole chunks.
Current audio seeking has changed to seek inside the chunk only if the
codec supports it (only internal codecs and ACM/mp3 allows it).
- AVI: audio delay correction if can't seek inside the chunk
v0.10-pre6: mpeg signal & EOF fixes
- ./configure: k6_mtrr (2.4.test11+) added [Pontscho]
- `term destroys if mplayer (mpg) called from mc.ext` bug fixed:
added sighandler to the 3rd process (mpeg codec) to avoid sig. recursion
- better output at exit (handled now by exit_player())
- mpeg EOF problem (codec restart) fixed: added EOF detection to parse_es.c
- internal flag 'current_module' added to get more info at segfaults
(contains module number where the segfault occured)
- audio detection changed: using afm=4 (Win32/ACM) for MP3 audio (AVI files)
(you MUST have l3codeca.acm at /usr/lib/win32, or you have to use '-afm 1')
v0.10-pre5: flipping fixed
- AVI image flipping reworked:
- new flag: avi_header.flipped, TRUE if upside-down
- image flipping code removed/disabled from libvo modules
- duplicate flip_page() calls removed (overload with x11 and mga)
- aLaw audio codec (AVI id 0x06) added (uses code from xanim source)
v0.10-pre4: test release, small fixes
- video_out driver <-> codec incompatibility message changed
- fixed the config.format bug in drivers/mga_vid_test, so it works again!
[thanks to David Whysong]
- libmpeg2 upgraded
v0.10-pre3: test release, verbose mode, new docs
- new option: -v = increment verbose level
(debug printf's changed to verbose level-dependent)
- default level: 0, only some informal output
- init debug: 1, some basic debug infos, avi header, function values
- player debug: 2, print avi indexes, chunk inputs, more debug infos
- parser debug: 3, prints everything related to input parsers
to increment verbose level, use multiple -v options (-v -v -v for level-3)
- bitrate calculation for AVI files
- README rewritten, added Troubleshooting and Bugreports sections
- TVout directory added (only the scripts)
v0.10-pre2: bugfix test release, bps-sync enabled
- avi: supporting both 0-based and movi-based index types (autodetect)
- avi: tested with VBR audio: plays well with -mc 0 option, seek doesn't
work yet [thanks to Alan Chen for testfile]
- avi: A-V sync to avg. byte/sec implemented (again) and enabled by default
(disable with -nobps if you want)
- ./configire: 3rd name ('kni') of the P3 added. Where is the compatibility?
- useless '\' removed from libac3/Makefile [Otvos Ferenc]
v0.10-pre1: test release, players merged!!!
- avip and mpegp has been merged to a single binary called 'mplayer'
- file type detection (AVI/MPEG-PS/MPEG-ES/Other)
- no redundant code (common code for common jobs)
- big format-dependent codes moved to functions (separated files)
- better error messages, removed some debug stuff, code cleanups
- old libmpeg2 version removed from source tree
- help texts merged (help_avi+help_mpg -> help_mp)
- new options: -x <x> -y <y> = scale image (if selected driver supports)
if value<=8 then image size will be multiplied by value, otherwise
image size will be scaled to <value> pixels.
For example:
2x ZOOM: mplayer -x 2 -y 2 test.mpg
800x600: mplayer -x 800 -y 600 test.mpg
[default values are still configurable at compile-time, see config.h]
- TV project (not finished) codebase added (see tvision.c, or: make tvision)
v0.09: Beta release [same as 0.09-pre3]
- version changed in the files
- docs updated
v0.09-pre3: bugfix test-release, X11 support testing
- fixed the if [ -z $pparam ] bug in ./configure [Christian Birchinger]
- many changes in AVI seek code, resulting near-perfect seeking now!
current method calc absolute audio position, so with VBR audio it
doesn't work yet...
- avip: Xv support (YUY2 image format)
- avip: X11 support (24 & 32 bpp only, BGR format)
I need a very fast 15->16bpp converter for 16bpp support... anyone helps?
v0.09-pre2: bugfix test-release
- removed unnecessary code from libmpeg2/header.c
Walken told me that standard mpg/vob streams must NOT use framerate
and bitrate extension... and the ext. id check is done by the caller.
- CRC support to mp3lib's mpeg audio layer-2 decoder
thanks for bugreport & testfile to Samson
v0.09-pre1: bugfix test-release
- imported new libmpeg2 files (under testing...)
- GL renderer flickering bug fixed (MMX missing emms() between yuv2rgb and
glTexSubImage(), bug triggered by new Utah-GLX code)
[thanks for Christian Birchinger]
v0.08: Index support, avi seeking, DLL loader fix, compilation fixes
- Added support for chunk index usage (disable with -noidx option)
- Removed code optimization flags from loader/Makefile because
it segfaults if compile optimized code (it does some hacks with
pointers, maybe the reordered code confuses it)
- added new tool called aviparse (read and check avi file structure)
- indexed and raw chunk info comparing, bad chunks dropped
- termcap usage is optional (for those debian users without termcap)
- #if HAVE_* fixed (to #ifdef HAVE_*)
- ./configure supports new /proc/cpuinfo (2.4.0-test11)
- sse is called 'sse' again
- 'flags' field renamed to 'features'
- Xv benchmark results added to DOCS/SPEED
- avi seeking (and other goodies, pause etc) implemented
no PTS resync after seek yet.
- default video_out driver changed from 'mga' to the first available driver
new driver priority: mga_vid, opengl, x11
v0.07: Easier compile
- Added Pontscho's ./configure script (it's modified a lot)
- Updated makefiles, and tested a lot :)
- Updated DOCS/INSTALL
v0.06: Better codec selection
- avi audio&video codec selection moved to new codecs.c file,
loader/driver.c and loader/afl.c modified for this
- yuv support fixed, codecs.c setup flags to handle yuv properly
yuv works fine with divx, mpeg4, cvid, and upside-down iv50
- DOCS/INSTALL updated
- DOCS/SPEED updated, DivX benchmarks added
v0.05: Merged with MPEGplayer 0.90pre6, first public release of AVI player
- code merged with mpegplayer, new Makefile, some small modifications
- docs updated and moved to DOCS
v0.04: YUV support, some code cleanup, preview-release
v0.01: first version based on new MPEGplayer's codebase.

View File

@ -1,232 +0,0 @@
ChangeLog:
~~~~~~~~~~
v0.2: [first public release]
- parser: add support for VOB files (audio format still has problems...)
- libmpeg3: improvements in file-type detector, supporting mpegs with RIFF hdr
- libmpeg3: improvements on mpeg3_read_program() to handle damaged files better
- libmpeg3: new functions for separated PTS access: mpeg3_audio_pts() and
mpeg3_video_pts(), they return timestamp in seconds, format: double
- play: new audio-video sync method, using timestamps from streams.
much better, even on very damaged files!
- play: measuring of audio buffer size instead constant hard-wired value
- libmpeg3: more improvements to handle better strange files...
- play: drop timestamp correction if > 2 seconds (good for concatenated files)
v0.3:
- much better audio-video sync, using limited timestamp correction
- TVout directory added, with tools & scripts to setup TVout on Matrox cards
(it is able to play mpegs fullscreen on TV without using X)
v0.5:
- integrating dvdview for video decoding
(still using libmpeg3 for system stream parsing and audio decoding)
-> not works... some variable randomly changes (uninitialized pointers
in dvdview??? c++/c mixing problem?)
v0.6:
- new player from scratch, using my mp3lib for audio, parser.c for demuxing.
integrated dvdview is still buggy...
v0.7: [second edition]
- dvdview as separated process, using FIFOs for communication.
- some fixes in dvdview/system/sysdec1.cc, improved re-syncing on reset
- double-buffering support into dvdview's mga_vid class (and some
changes in the mga_vid kernel module too!)
- EOF problem solved
- background playing option (using MGA Color-Keying and xsetroot)
- rebuild README, added Standard Disclaimer section
v0.71:
- better missing-stream detection (counting only the real packets)
- check for file and missing streams before fork()
- fixed ugly byteorder bug when reading header dword
- new system stream sync method (doesn't requires SYSTEM_HEADER_START_CODE)
- seeking (byte or second pos), works *only* with streams with immediate
SYSTEM_HEADER frames.
v0.8: [seeking works]
- implementing own video packet reader -> disabling the whole streaming part
of dvdview.
- saving system headers, and re-sent after starting dvdview (seeking/resync)
-> allow seeking in single-header mpeg files (contact2.mpg)
- advanced resync and seek_sec method, using video-packet type-checks
- fix read() problem, when not enough bytes available in fifo (see man 2 read)
- removed unused objects (postproc,options,streaming) from dvdview's Makefile
(smaller executable, faster compile)
- sec. and bytepos seek fixed, works well now.
- simple console gui, using my getch2 (from mailer3 source) for keyboard.
allows seek,pause,quit functions (for testing only)
it's time to begin develop some nice GUI with skins, plugins etc :)
- improved runtime seeking, added force_redraw variable, and PTS audio
correction after every seek.
v0.81:
- fps fixed (other than 25fps supported again)
- EOF handling fixed again
- nosound support (currently only system streams supported, not video-only)
also see -nosound commandline option
- mga_vid: changed mmap() to allow double buffering in 704x528
- mga_vid: double buffering is optional from now (dvdview option -db )
* it successfully plays .VOB files (without sound)
- PTS/DTS support in mpeg-2 system streams (.vob files)
- PCM audio (48kHz stereo, unsigned, swapped byteorder) playing implemented
* it "plays" .VOB files with PCM sound, but it's too sloooooow :(((
- some optimization of dvdview's bitstream handler (see FillBits & GetBitsFast)
v0.82: [VOB support]
- updated dvdview from current CVS version (1.2.0-pre) -> about 25% faster!!!
* it's now fast enough for VOB playback
- AC3 audio support (using Aaron Holtzman's libac3 from ac3dec package)
- new, simpler Makefile for libac3
- re-organized text files (README splitted to ChangeLog and AUTHORS)
v0.83: [ALSA support]
- some timing code to fix audio syncing with ALSA drivers (test it! I can't)
use -alsa cmdline option to enable this experimental code!
- cmdline option (-abs) for overriding audio buffer size (default: measured)
why is it needed? some audio drivers has bad implementaion of select(),
so measuring buffer size gives false result.
if you hear sound before picture window appears, then you should use this!
v0.84:
- multiple DVD audio channels/streams support (use -aid option to select chn.)
- cmdline option for maximum PTS time correction (-mc <value>)
- PTS sync code moved to frame display loop -> more precise timing
now it sync audio after every 5 decoded frames
- cmdline option for override frame rate (-fps <rate>)
some .VOB files has bad frame rate value in headers (why? any ideas?)
- ac3 audio seeking works (some hack in libac3's parse.c)
v0.85: [first non-experimental release]
- directory structure changed
- better documentation, added new INSTALL
- every Makefile uses OPTFLAGS environment variable, see INSTALL
- help (run mpg12play without any parameters or with -h/--help)
- fixed byte seeking (-sb)
- allow selecting mpeg audio channel, see -aid (streams 0x1C0-1DF)
- allow selecting video channel, see -vid (0x1E0-1EF)
- allow audio format override, see -afm
- new streaming system (with 4k buffering)
- initial VCD (Video CD) support, use -vcd to select track, and give
device name as filename (e.g.: mpg12play -vcd 2 /dev/cdrom)
Problems with dual streaming, it's very slow! reads every sectors twice...
- VCD cache system... -> solved dual (A+V) streaming slowdown
v0.86: [cleanup]
- last_frame_* thing removed + control fifo read() fixed -> better and
linear (no seek-back) resync if dvdview dies
- better nosound timing (uses -alsa timer), seeking works
- resync_to_pts eliminated (using new max_pts_correction)
- cleanups, error checks, small fixes in the whole player.c
- removed some unused old code
- exit code moved to exit_player(), removed redundancy, fixed kill order
v0.87:
- i've found the reason of bad fps value with some vob files...
the fps is correct, but the dvdview doesn't decode all the frames
(reads repeat_first_field flag but don't rely on it)
- new demuxer code: read & demux input stream only at once, and uses two
memory FIFO-s for packages. also new reader code, everyting named ds_*()
The new demuxer can autodetect video and audio stream ids, if not
specified with -aid / -vid option, and better implementation of -afm
- vcd cache is optional (and disabled by default), because unneccesary with
new demux/streaming code
v0.90pre:
- new codec added: mpeg2dec by Aaron Holtzman
after doing some fixes (see at bottom), it's able to play mpeg1/mpeg2 video
- FIFO API changed: after frame_complete command (0x0) the codec must
send the fps*10000 and the length*100 value. length is 1.00 for a simple
frame, and >=1 for mpeg2 fields (eliminates the fps problem)
Now, using mpeg2dec we are able to play .vob files with correct fps timing!
- better AC3 resync after seek (new func. in libac3: ac3_bitstream_reset())
using ac3_decode_frame() instead ds_fill_buffer() when syncing PTS
v0.90pre2:
- mpeg2dec integrated into player binary
- using pipe() instead of named pipes
- using shared memory (mmap(...MAP_ANON...)) for packet transfer to codec
- stream_select() thing removed
- some optimization in demuxer code
- measuring codec CPU usage (relative to video time!!!, so it can be >100%
on a slow system) This value must be <=100% for continous video playback.
v0.90pre3:
- ugly bug fixed causing packet loss at codec restarting
(i wrote control_fifo instead of control_fifo2 into codec controller)
- video init part moved to the player
- using shared memory for image buffers to avoid green flashes when
codec restarted...
- new shared memory allocation code (the mmap() thing worked only with
kernel 2.4.x). thanx to LGB for the info and help... see linux/shmem.[ch]
- config.h moved, Makefiles changed a bit (added libvo path, thanx to LGB)
you may select CPU extensions (3Dnow/MMX/SSE) *only* at config.h
- meaningfull error messages if video stream cannot be synced
(many user asked about "missing video stream" error...)
v0.90pre4:
- included new mpeg2dec source (with SSE idct code)
v0.90pre5:
- libvo: OpenGL video renderer code by me
- included new mpeg2dec and ac3dec from today CVS snapshot
- new docs: SPEED and MTRR
- seq. head processing and video init code moved into player.c, just
before fork()'ing, so the child inherits all this info!
- removed all sequenceheader[] code, it's unneeded now
- source cleanup, removed some debug printf()'s, old comments
- EOF problem seems to be solved (maybe at the cleanup???)
- implemented bitrate (and free framerate) reading into mpeg2dec/header.c
- seeking skip times are better, based on bitrate
Changed in libac3 source:
~~~~~~~~~~~~~~~~~~~~~~~~~
- ac3.h replaced with the old version from v0.6.0
- decode.c modified to fit my interface
- stats.h: use stats_* functions only if DEBUG defined
Changed in libmpeg2 source:
~~~~~~~~~~~~~~~~~~~~~~~~~~~
- header.c: implemented repeat_first_field thing (see picture.repeat_count)
- HACK_MODE set to 1 (default is 0, which works only with mpeg2 streams)
- decode.c: some changes added, active only if MPG12PLAY #defined
- header.c: implemented bitrate (and free framerate) reading
Changed in libvo source:
~~~~~~~~~~~~~~~~~~~~~~~~
- fixed bug in mga_vid vo module: used dest_width/height instead src_*
(dst is important only for the card, we need (for memory, etc) the src size!)
- added OpenGL video renderer (based on x11 rendere and Pontscho's opengl code)
Changed in DVDview source:
~~~~~~~~~~~~~~~~~~~~~~~~~~
main.cc: replaced with my code
Makefile: removed unneccesary objects, added optimization flags
output/out_mgavid.cc & .hh: added double-buffering and color-keying support
system/userpack.cc & .hh: new code, by me (interface to my packet reader)
video12/vdecoder.hh: added GetSeqHeader() function (for accessing FPS value)
video12/vdecoder.cc: commented out calls to PrintDataBin() (debug info only)
TODO:
~~~~~
- multiple video packets (whole frame) transfer to codec - DONE
- B-frame skipping (DVD for slow systems)
- VCD support - DONE
- DVD Audio downsampling (for 44kHz cards)
- SEEKing in VOB files with AC3 sound (some hack needed in libac3) - DONE
- own AC3 frame reader -> better resync after seek - DONE
- player source is really ugly now... it's time to some cleanup - DONE?
- seek/resync without immediate SYSTEM_HEADER frames. - DONE
- end of file detecion !!! - DONE - NOT done (see matrix.vob!) - DONE
- other than 25fps movies - DONE
- test with mono sound - DONE (currently playing as stereo)
- nosound (no audio card or no audio stream) - DONE
- .vob support (non-crypted DVD/mpeg2 stream) - DONE
- AC3 and PCM audio support - DONE
- audio-only and video-only file support
- nice GUI (something new written in gtk or modify xmovie's gui)
- Xv support - DONE (libvo has it)
- easier compile, maybe new ./configure and makefiles - DONE?
- decss support (encrypted dvd)
- test speed with pgcc (does it worth?)