diff options
Diffstat (limited to 'DOCS/ChangeLog.mpeg')
-rw-r--r-- | DOCS/ChangeLog.mpeg | 232 |
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?) |