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 :-)
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).