Sam Hocevar [Wed, 6 Feb 2002 02:37:18 +0000 (02:37 +0000)]
* ./plugins/lirc/lirc.c: IR remote control plugin by Sigmund Augdal
<sigmunau@stud.ntnu.no>, activate with --enable-lirc.
* ./configure.in: put liba52_adec in a builtin for PIC/non-PIC reasons.
Gildas Bazin [Tue, 5 Feb 2002 21:46:41 +0000 (21:46 +0000)]
* New AC3 decoder plugin using liba52 from Aaron Holtzman and
Michel Lespinasse.
This plugin isn't used by default, you have to specify:
--ac3_adec liba52
Sam Hocevar [Wed, 30 Jan 2002 00:09:49 +0000 (00:09 +0000)]
* Fixed stuff in the wall filter. Extended syntax:
--filter wall % open a wall (3x3 is the default value)
--filter wall:2 % open a 2x2 wall
--filter wall:3x2 % open a 3x2 wall
--filter wall:2x1:0 % open a 2x1 wall, only display block 0
--filter wall:2:0,3 % open a 2x2 wall, only display blocks 0 and 3
For instance, if you have 2 computers listening to a network stream, on
the left computer you use --filter wall:2x1:0 and on the right computer
you use --filter wall:2x1:1
Gildas Bazin [Sun, 27 Jan 2002 22:14:52 +0000 (22:14 +0000)]
* Added double-buffering for the directx plugin in overlay mode.
* Several directx bug-fixes:
- implemented the right behaviour on exit.
- fixed bug preventing the creation of several windows.
(the wall filter is working now :-))
- fixed unnecessary background redraws (it made the video flicker).
- fixed bug where we were losing the video display because of lost
surfaces in video memory.
- when using hardware overlay, the output window will now specify:
"(using hardware overlay)".
Gildas Bazin [Fri, 25 Jan 2002 06:43:34 +0000 (06:43 +0000)]
* Added a new very simple audio plugin for Win32. This plugin uses the
waveOut API which is a lot easier to use for streaming stuff than
directsound. (you don't have to take care of underflows anymore
because it doesn't use circular buffers).
If you are having a lot of underflows, this plugin is currently
better adapted than the directx plugin.
* Moved some initialization stuff in audio_out.c so we can now the
caracteristics of the audio stream before calling aout_Open().
Stéphane Borel [Thu, 24 Jan 2002 18:50:32 +0000 (18:50 +0000)]
Configure and Makefile tweaking for dvdread module.
It is now activated with option --with-dvdread, that takes the same options
as --with-dvdcss.
If you link with libdvdread statically dvdread is compiled builtin ; if you
link dynamically, it is compiled as a plugin.
Sam Hocevar [Thu, 24 Jan 2002 13:32:53 +0000 (13:32 +0000)]
* ./src/misc/modules_plugin.h: fixed a missing function initialization
which made decoder plugins segfault in GetChunk calls.
* ./configure.in: proper soundcard.h check from Yves Duret.
Jean-Paul Saman [Mon, 21 Jan 2002 22:28:10 +0000 (22:28 +0000)]
Changes made to mad plugin:
+ libmad_input now takes one frame at a time (see mad_adec.h for defines)
+ audio_linear_dither() gives better sound quality then s24_to_s16_pcm(),
but also makes audio artefacts louder so disabled it for now (see file
mad_libmad.c)
+ cleaned up libmad_output (see file mad_libmad.c)
+ cleaned up InitThread (see file mad_adec.c)
+ Made buffer size match libmad's expectations (see file mad_adec.h)
+ updated documentation
Gildas Bazin [Mon, 21 Jan 2002 07:00:21 +0000 (07:00 +0000)]
* Fixed crashes on exit in the directx plugin
* vout_PlacePicture is now accepting picture width=height=0
* Win32 (NT/2000/XP) fix for libdvdcss: first attempt to open the DVD
device in read/write mode so we can use ioctls. If this fails
(insufficent privileges) we at least open in read-only mode so the
libdvdcss title decryption method can be used.
Sam Hocevar [Mon, 21 Jan 2002 05:14:10 +0000 (05:14 +0000)]
* ./configure.in: added extra checks for strange compilers such as
Borland C++ which do not support all gcc options. Note that vlc does
not compile with bcc32 yet, but is getting closer and closer to.
Sam Hocevar [Mon, 21 Jan 2002 00:52:07 +0000 (00:52 +0000)]
* ./plugins/win32: skeleton for the win32 interface Ipkiss is developing.
* ./config.guess ./config.sub: latest GNU versions.
* ./configure.in: when possible, xvideo is compiled as a plugin.
* ./vlc.spec: fixed a few minor inaccuracies.
* ./debian/control: vlc-gui is no longer depended on, but rather recommended.
* ./src/interface/main.c: --spumargin flag; use this to force displaying
subtitles at the bottom of the screen instead of putting them in the
middle, for instance: `--spumargin 5'.
Gildas Bazin [Sat, 19 Jan 2002 19:54:01 +0000 (19:54 +0000)]
* Converted the plugin initialization code of the macosx, beos and qnx
code. (please note that they should still not compile as they need
to be adapted to the new Vout4 architecture)
Gildas Bazin [Thu, 17 Jan 2002 23:02:45 +0000 (23:02 +0000)]
* major rewrite of the directx video plugin to adapt it to the new vout4
architecture. This plugin has also been through a major clean-up
and it is now much more robust and optimized.
* Fixed a few problems with the win32 build.
* Replaced the "overlay" command line option with "nooverlay". The
former was confusing and useless because overlays were used by
default anyway.
Cyril Deguet [Tue, 15 Jan 2002 11:51:11 +0000 (11:51 +0000)]
- added support for S8 and U16 aout (not tested)
- The sound is very dirty in U8 mode. I don't know if it comes from the
8 bit mode itself or from the S16->U8 conversion.
Stéphane Borel [Tue, 15 Jan 2002 05:22:21 +0000 (05:22 +0000)]
-Patch of libdvdread to do readv on regular files (dvd copied on hard drive).
Not completed, and little tested yet ; when it is completed, this patch should
be submitted to libdvdread developers.
-Patch of libdvdcss to decrypt vobs when they are not on a block device.
Sam Hocevar [Tue, 15 Jan 2002 01:01:00 +0000 (01:01 +0000)]
* ./debian/control: fixed Debian build-depends.
* ./include/config.h: changed RELEASE to HAVE_RELEASE because RELEASE
is already defined in <scsi/scsi.h> under Linux.
Stéphane Borel [Mon, 14 Jan 2002 22:06:57 +0000 (22:06 +0000)]
*With DVDCSS_METHOD=disc or key, the keys are no longer buffered on start.
The title key is still read at each block but it is checked for change
before decryption.
Cyril Deguet [Mon, 14 Jan 2002 19:54:36 +0000 (19:54 +0000)]
- le coup de gr�ce: all the code in audio output is now factorized (except
for ac3 spdif) in aout_common.c/.h
- aout thread functions are declared with a macro
TODO:
- test unsigned 8 bit output, and implement S8 and U16 outputs
- multi-channel support
- check if resampling takes the PTS into account (and fix it)
Cyril Deguet [Mon, 14 Jan 2002 12:15:10 +0000 (12:15 +0000)]
HUGE cleanings in audio output:
- removed AOUT_INTF_*_FIFO, which where not used
- factorized S16StereoPlay, U8MonoPlay, and so on.., in a single
function aout_FillBuffer (in aout_common.c)
(unsigned 8bit may be broken, but I have no stream to test with :(
- last step to be done: factorize aout_s8, aout_s16, ... thanks to a macro
Sam Hocevar [Sat, 12 Jan 2002 01:25:57 +0000 (01:25 +0000)]
* ./plugins/chroma/i420_rgb16.c: 24/32 bpp software YUV.
* ./plugins/ggi/ggi.c: activated double buffering.
* ./src/video_output/vout_pictures.c: we create more Xv pictures to
get smoother rendering.
Cyril Deguet [Thu, 10 Jan 2002 23:41:08 +0000 (23:41 +0000)]
- beginning of code factorization in aout_s16 (more cleaning will come)
- As for libmad, I have tried to create the aout fifo in libmad_output,
to open it with the right sample rate, but strangely it didn't work.
Sam Hocevar [Thu, 10 Jan 2002 04:11:25 +0000 (04:11 +0000)]
* ./src/input/input.c: fixed a few segfaults caused by the dummy plugin.
* ./plugins/mpeg_adec/mpeg_adec.c: fixed a segfault due to misuse of
DecoderError.
* ./plugins/x11/xcommon.c: replaced XFlush with XSync. This must be the
fourth time someone has to commit this, so I added a reminder :-)
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 :-)