Sam Hocevar [Wed, 9 Jan 2002 02:01:14 +0000 (02:01 +0000)]
* ./include/modules_inner.h: replaced _X with __VLC_SYMBOL because _X was
already a system macro under MacOS X.
* ./plugins/dummy/dummy.c: fixed vlc:loop, vlc:quit, etc. entries.
* ./plugins/glide/glide.c: activated double buffering.
* ./plugins/mga/xmga.c: started writing an xmga plugin; doesn't work yet.
* ./src/input/input.c: fixed the input memory leak, and the insane thread
spawning we got with vlc:loop.
* ./src/misc/intf_eject.c: disc ejection routine courtesy of Julien Blache,
currently Linux-only.
Cyril Deguet [Wed, 9 Jan 2002 00:33:37 +0000 (00:33 +0000)]
- better communication between audio decoder and output: aout plugins
are now opened directly in the right mode (works with mpeg_adec and
ac3_adec, not tested with mad)
- first attempt to implement mono output (doesn't work yet)
Sam Hocevar [Mon, 7 Jan 2002 02:12:30 +0000 (02:12 +0000)]
* ./plugins/mga/mga.c: removed the mgammx module and put the code in
the chroma_i420_ymga module instead. This introduces a slight
performance issue as we now need to memcpy() the Y plane, but I have
some vout4 enhancements on their way which make this point moot.
* ./debian/changelog: imported official Debian changelog.
* ./debian/control: activated the vlc-mad and vlc-arts packages; package
builds should now work again.
* ./plugins/dvd/dvd.c: solved a symbol resolution issue when vlc was
compiled without libdvdcss which overflowed the return stack.
* ./plugins/ggi/ggi.c: ported the GGI plugin to vout4.
* ./plugins/glide/glide.c: ported the Glide plugin to vout4 (untested).
* ./src/input/input.c: prepared everything for multi-input mode; since
no interface is yet prepared to handle this, I changed them so that
they just use the first available input for now. This may break other
things, but I promise I'll eventually repair everything :-)
Sam Hocevar [Sat, 5 Jan 2002 18:25:48 +0000 (18:25 +0000)]
* ./src/audio_output/aout_s16.c: fixed a segfault. It may have unexpected
side effects because I don't know this part of the code, but at least
it doesn't crash anymore.
* ./plugins/beos/beos.cpp: first attempt at porting the BeOS plugin to the
new video output and module systems. Doesn't work nor even compile yet.
* ./configure.in: we now check the gtk-config version.
Sam Hocevar [Sat, 5 Jan 2002 16:09:49 +0000 (16:09 +0000)]
* ./plugins/mga/mga.c: we use the MGA_VID_FSEL ioctl to select the
frame to be displayed. Unfortunately, increasing the number of
frames doesn't seem to work and makes the picture stutter...
Sam Hocevar [Sat, 5 Jan 2002 15:17:12 +0000 (15:17 +0000)]
* ./Makefile: fixed a bug when no builtins were selected.
* ./plugins/mga/mga.c: ported the MGA video output to vout4. Only does YV12
for the moment, and there is a strange bug with some streams which gives
only a green image. Needs to be looked at.
* ./plugins/x11/xcommon.c: fixed a few typos.
Sam Hocevar [Sat, 5 Jan 2002 03:49:18 +0000 (03:49 +0000)]
* ./configure.in: fix for obscure architectures like hppa where target_os
isn't properly detected.
* ./include/video_output.h: got rid of pf_setpalette; I'll find a nicer way.
* ./plugins/mga.c: fixed MGA module compilation. Doesn't work yet, though.
Sam Hocevar [Sat, 5 Jan 2002 02:22:03 +0000 (02:22 +0000)]
* ./include/common.h: hton64 is now an inline function.
* ./src/video_output/vout_pictures.c et al.: vout4 now automatically
detects when two chroma formats are the same, such as UYVY/Y422, or
roughly equivalent, such as I420/YV12. Plugins need not worry about
conversion anymore.
Sam Hocevar [Fri, 4 Jan 2002 14:01:35 +0000 (14:01 +0000)]
* ./BUGS: added a list of known bugs. Please add your findings!
* ./MODULES: added a short description of each module. Maybe we should
add more details to make this file really useful.
* ./doc/bugreport-howto.txt: wishful thinking...
* ./Makefile: added a workaround for the fact that .c files don't depend
on <videolan/vlc.h>.
* ./plugins/memcpy/memcpy.c: all memcpy modules are now built from the same
single file.
* ./src/interface/main.c: added the --nommx, --no3dnow, --nommxext, --nosse
and --noaltivec options to vlc.
* ./configure.in: removed the --disable-mmx option, now useless because
of the vlc --no* options.
* ./src/interface/main.c: fixed a crash caused by the memcpy module
being released too early.
* ./include/video.h: more vout4 changes, including margin support, more
FOURCC formats recognized, transparent support of identical or almost
identical FOURCC formats.
* ./include/video_output.h: added a vout_Render function to video output
modules which is to be executed before vout_Display.
* ./include/common.h: this header is back.
* ./plugins/chroma/i420_rgb.c: planar YUV 4:2:0 to packed RGB conversion
functions, mostly taken from vout3's yuv functions, but heavily modified
to use FAST_MEMCPY and to handle image dimensions which are not multiples
of 16. Not all functions have been written yet, though.
* ./plugins/chroma/i420_yuy2.c: planar YUV 4:2:0 to packed YUV conversion
functions, various targets such as 4:2:2 YUYV, YVYU, UYVY, or 2:1:1 YUYV,
with accelerated MMX versions.
* ./plugins/chroma/i422_yuy2.c: same as i420_yuy2.c but takes planar YUV
4:2:2 pictures in input. With accelerated MMX versions as well. This plugin
makes it possible to display 4:2:2 files on most video cards without the
quality loss of 4:2:0 downsampling.
* ./plugins/filter/*: thanks to the vout_Render function, all filters now
output their data perfectly in sync.
* ./plugins/dvdread/Makefile: fix to prevent unnecessary target rebuilds.
* ./plugins/sdl/vout_sdl.c: support for YV12, UYVY, YUY2 and YVYU overlays.
* ./plugins/x11/xcommon.c: support for I420, YV12, YUY2 and Y211 overlays.
Sam Hocevar [Wed, 2 Jan 2002 14:37:42 +0000 (14:37 +0000)]
* ./ChangeLog: imported the 0.2.92 changes, unrolled current CVS changes.
* ./include/config.h et al.: this file is no longer generated.
* ./include/video.h: we use the FOURCC definition of a chroma format to
describe picture types (see http://www.webartz.com/fourcc/).
* ./plugins/dvdread/input_dvdread.c: compilation fix by Eyal Lebedinsky.
* ./plugins/x11/xcommon.c: fixed the XShm operations order.
Sam Hocevar [Mon, 31 Dec 2001 04:53:33 +0000 (04:53 +0000)]
* Fixed detection of the esd plugin.
* Fixed the ts plugin's input type detection.
* Fixed the BadCursor error in the x11 and xvideo plugins. For real this
time (unlike my 2001/08/03 fix :p).
* Made the wall filter work a bit better. It now spawns a 3x2 mosaic,
but this will eventually be configurable, � la `--filter wall:3x3'.
Sam Hocevar [Sun, 30 Dec 2001 07:09:56 +0000 (07:09 +0000)]
Some heavy changes today:
* Removed duplicate function checks from configure.in.
* Added extra magic to Makefile.modules so that the module Makefiles
are now ridiculously simple. And I mean *simple*. Check it! This will
make a possible switch to full autoconf/automake a lot easier.
* Added the vlc version name to the plugin symbols, to be sure we only load
plugins with the same version number. A nasty consequence is that you
need to rebuild your tree after midnight if you are using a CVS tree :-)
* Got rid of modules_export.h by #defining exported functions in the same
header as their prototype.
* Added modules_inner.h and other commonly used .h files to common.h so
there are less and less files to include, and renamed common.h to
<videolan/vlc.h>.
* First modifications to the module handling system towards my ultimate
goal to get rid of the *_Probe functions. Got rid of TestMethod and
TestCPU, as well as src/misc/tests.c.
* Wrote the chroma plugin handling functions. No YUV functions have been
ported yet because it'ls a lot of work, but the core system works, I
tried it with a naive yv12->rgb16 plugin (which will disappear when the
real functions are ready).
* Made a lot of functions in dvd_summary.c one-liners to avoid wasting
too many output lines.
* Fixed a segfault in input_dvd.c:DVDInit.
* Added a fixfiles.sh script in plugins/gtk to be run after Glade has
generated its C files.
* Did some work on the KDE interface to make it suck a bit less. It still
segfaults, but at least it runs and it looks less ugly.
* RGB SDL rendering works again, though in 16bpp only.
* Made plugins/vcd/linux_cdrom_tools.c independent of any vlc structure
so that it'll be easily put in a library. Maybe libdvdcss?
* Fixed VCD date display.
* Merged vout_xvideo.c, vout_x11.c and vout_common.c into xcommon.c.
* Wrote non-Shm XVideo output.
* Made X11 output work again. Still pretty unstable, only works for 16bpp.
* Additional french translation in po/fr.po. Any taker for the rest?
* Fixed a segfault in video_output.c when the allocated pictures were
not direct buffers.
* If $DISPLAY isn't set, don't try to run the Gtk+ interface.
* Replaced 48x48 .xpm images with 32x32 ones to conform to Debian policy
(Closes Debian bug #126939).
* Removed the automatic ./configure launch when running `make all' for
the first time.
Stuff currently more broken than it ought to be:
* The wall filter. Being fixed.
* x11 and sdl plugins for depth != 16bpp.
* Software YUV.
* gvlc, gnome-vlc, kvlc shortcuts. Use --intf instead for the moment.
Sam Hocevar [Sun, 30 Dec 2001 05:38:44 +0000 (05:38 +0000)]
* Put ErrorThread() in input_ext-dec.h because it was the same function
in all decoders. Called it DecoderError() instead.
* All decoders enter DecoderError() in case of error, even if they
haven't allocated all their data. This prevents the input from getting
stuck if a decoder has failed its initialization.
* Namespace fixes through the decoder files.
Sam Hocevar [Sun, 30 Dec 2001 04:26:53 +0000 (04:26 +0000)]
* Fixed a segfault at EOF in input_es.c and input_ts.c (when i_read == 0).
* Improved error recovery and avoided memleaks in the various input plugins.
* Fixed a deadloop inserted by someone else into input_vcd.c :-)
Sam Hocevar [Wed, 19 Dec 2001 18:14:23 +0000 (18:14 +0000)]
* Fixed compilation with dvdcss disabled.
* Fixed compilation with plugins disabled.
* Removed useless variables in the VCD and DVD plugins.
* Fixed a function which was returning "struct foo" in the VCD plugin.
* Fixed the old � XVideo eats more and more CPU � bug I mistakenly
reintroduced in my first vout4 commit.
Sam Hocevar [Wed, 19 Dec 2001 03:50:22 +0000 (03:50 +0000)]
* Initialize SDL before opening the SDL audio output.
* Prevent two SDL video outputs or audio outputs to be spawned at the
same time to avoid ugly crashes.
* The SDL plugin now says whether we are using software or hardware YUV
in its window title.
* We now stop at the first ':' when looking for a module name, to easily
pass information to the modules. Possible example: --vout sdl:software,
implementation of such an option is left as an exercise.
* Merged filter_bob and filter_bob422 into filter_bob. Use --filter bob
to deinterlace 422 into 420 as well.
* Factorized code common to most filters and the video output, optimized
a few filters by aligning data and reading 64 bits at a time.
* Two new absolutely useless, CPU-eating, resource-wasting, but fun
filters: enjoy `transform', which performs flips and 90� rotations, and
`distort', which performs animated image effects (currently only a naive
sine wave is implemented). Usage examples:
--filter transform:hflip
--filter transform:vflip
--filter transform:90
--filter transform:180
--filter transform:270
--filter distort:wave
Sam Hocevar [Mon, 17 Dec 2001 05:33:56 +0000 (05:33 +0000)]
* Pathetic attempt at a 4:2:2 renderer and deinterlacer, combining the
most awful line dropping techniques of both BOB and 422 to 420
downscaling. Don't worry, it should only survive for a couple of days.
Sam Hocevar [Mon, 17 Dec 2001 03:38:22 +0000 (03:38 +0000)]
* CPU detection under BeOS.
* Fixed XVideo port selection.
* New stupid plugin: "--filter wall" for split-image playback :-)
(will evolve into a real image wall plugin when I have time)
Sam Hocevar [Sun, 16 Dec 2001 16:18:36 +0000 (16:18 +0000)]
* Filter plugins. Not very polished (please don't look at how the dates are
calculated!), but worth a try. Use the following flags:
"--filter invert" for inverse video
"--filter bob" for BOB deinterlacing
* Fixed a potential segfault if the subtitle stream was encountered
before the video stream.
* Misc vout4 fixes.
Sam Hocevar [Tue, 11 Dec 2001 23:53:20 +0000 (23:53 +0000)]
* Don't try to use gettext if we don't have GNU gettext. This may change
in the future though (most GNU software seems to include a local copy of
gettext in case the operating system doesn't provide it).
Sam Hocevar [Mon, 10 Dec 2001 12:40:24 +0000 (12:40 +0000)]
* Removed more unused code.
* Updated config.guess and config.sub from GNU's latest versions (bozo,
you may want to update them in vls as well).
* Added vlc.pot skeleton for translators.
* MPEG-1 aspect ratio patch, courtesy of Vladimir Chernyshov
<greengrass@writeme.com> ;
* Seeking patch for X11, courtesy of Peter Surda <shurdeek@panorama.sth.ac.at>.
Sam Hocevar [Mon, 10 Dec 2001 04:53:11 +0000 (04:53 +0000)]
* Removed unused code (intf_channels.c, keystrokes.h).
* Put common_win32.h back into common.h -- it wasn't that big and we
should not multiply header files.
* Added gettext support by Thomas Graf <reeler@reeler.org>, may be
broken on other platforms but we'll only see it when I'm finished
with vout 4 :-)
* Fixed a segfault on exit when no fast_memcpy module was found.
Sam Hocevar [Sun, 9 Dec 2001 17:01:37 +0000 (17:01 +0000)]
* COMPLETE CVS BREAKAGE !! The MAIN branch is going to be a playground
for my nevrotic and destructive pulsions during the next few hours!
* If you want to test vlc, please use the v0_2_92_branch branch.
* Stuff currently working:
- direct to YUV buffer decoding
- non-ugly subtitle blending
- XVideo and SDL video output
* Stuff currently utterly broken:
- aspect ratio
- software rendering (ie, all other video output plugins)
* Additional misc changes:
- Renamed spu_dec to spudec and mad_adec to mad to stay coherent with
other plugins. Also, renamed mpeg to mpeg_system.
- Added jobi to the AUTHORS file.
- Factored code common to vout_x11.c and vout_xvideo.c.
Sam Hocevar [Fri, 7 Dec 2001 18:33:08 +0000 (18:33 +0000)]
* Fixed a total breakage of decoder plugins introduced by fast_memcpy.
* Got rid of #include "main.h", included it in common.h instead ; got
rid of #include "config.h" in most files as well.
* mad plug-in is now built-in to avoid PIC/non-PIC collision ;
* Updated documentation ;
* New --desync option, to delay the video (in case of lip desynchronization) ;
this is bad, but we have no other option for the moment ;
* Clicking in vout now pauses the stream, patch courtesy of Peter Surda.
Johan Bilien [Wed, 5 Dec 2001 03:31:04 +0000 (03:31 +0000)]
* Added 2 fields, p_selected_program and p_new_program, to the
input_thread_t structure, so that we may support multi programs
streams.
* Modified inputs to take account of this change.
* Modified input_clock.c so that it doesn't refer to pp_programs[0]
any more.
Now we should not refer to the first program, but to the selected
program. Functions to change the current program are coming.
Sam Hocevar [Mon, 3 Dec 2001 16:18:37 +0000 (16:18 +0000)]
* Borrowed MPlayer's fast memcpy() routines. Best is autodetected, choose
"--memcpy <whatever>" to choose one from c, mmx, mmxext or 3dn.
Please test! Especially Athlon users.
* Added versioned build-dep to libasound2-dev (Closes Debian bug #121057).
* Updated Gtk/GNOME interfaces to use "udpstream" instead of "ts".
* Unrolled ChangeLog.