summaryrefslogtreecommitdiffstats
path: root/DOCS/ChangeLog.mpeg
diff options
context:
space:
mode:
Diffstat (limited to 'DOCS/ChangeLog.mpeg')
-rw-r--r--DOCS/ChangeLog.mpeg232
1 files changed, 0 insertions, 232 deletions
diff --git a/DOCS/ChangeLog.mpeg b/DOCS/ChangeLog.mpeg
deleted file mode 100644
index 265a57c16b..0000000000
--- a/DOCS/ChangeLog.mpeg
+++ /dev/null
@@ -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?)