1
mirror of https://code.videolan.org/videolan/vlc synced 2024-07-21 07:24:15 +02:00
Commit Graph

718 Commits

Author SHA1 Message Date
Stéphane Borel
b08376be72 *Merged hh patch in libdvdcss from main tree.
*Updated local libdvdread, so that it does not depend on libdvdcss
(ala dummy_dvdcss) and modified configure to reflect changes.
2002-01-23 03:15:31 +00:00
Christophe Massiot
d970994cc0 * Decoders do not necessarily use bit stream (see mad plug-in)
* mad PTS should finally be accurate
* Some configure changes.
2002-01-21 23:57:46 +00:00
Sam Hocevar
ddec0b930e * ./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'.
2002-01-21 00:52:07 +00:00
Gildas Bazin
4416b2cb14 * 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.
2002-01-17 23:02:45 +00:00
Sam Hocevar
791fb4e0c2 * ./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.
2002-01-15 01:01:00 +00:00
Christophe Massiot
7de4e1a38b * More precise way to retrieve a PTS from the bit stream.
* Fixed issues in the PTS handling of the mad plug-in (incomplete).
2002-01-14 23:46:35 +00:00
Cyril Deguet
d33deda2fe 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
2002-01-14 12:15:10 +00:00
Gildas Bazin
f84729fcb9 * A few fixes for the Win32 build. 2002-01-13 18:13:07 +00:00
Sam Hocevar
c7b1c474c6 * ./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.
2002-01-09 02:01:14 +00:00
Cyril Deguet
1ae5bed4b1 - 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)
2002-01-09 00:33:37 +00:00
Sam Hocevar
1e053ea0ed * ./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 :-)
2002-01-07 02:12:30 +00:00
Sam Hocevar
176465d277 * ./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.
2002-01-05 03:49:18 +00:00
Sam Hocevar
aea6698deb * ./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.
2002-01-05 02:22:03 +00:00
Sam Hocevar
53b978f865 * ./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.
2002-01-04 14:01:35 +00:00
Sam Hocevar
bf7ee74f8f * ./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.
2002-01-02 14:37:42 +00:00
Sam Hocevar
deabb8f653 * 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'.
2001-12-31 04:53:33 +00:00
Christophe Massiot
93e8fcf877 Miscellaneous typos. 2001-12-31 01:13:12 +00:00
Sam Hocevar
cc0f0bb6fd 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.
2001-12-30 07:09:56 +00:00
Sam Hocevar
fafbe100b1 * 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.
2001-12-30 05:38:44 +00:00
Christophe Massiot
2d79bfcb83 Hidden gory buffer management details in a private section of data_packet_t. 2001-12-29 03:07:51 +00:00
Christophe Massiot
afc467090d * Changed pf_read prototype and minor changes. 2001-12-27 03:47:09 +00:00
Christophe Massiot
abde4bbfb7 * Changed the way decoder_fifo_t works ;
* Minor optimizations in the Next Generation Buffer Manager.
2001-12-27 01:49:34 +00:00
Christophe Massiot
605a3534af Next Generation Buffer Manager for DVD and VCD plug-ins. 2001-12-19 10:00:00 +00:00
Sam Hocevar
2d90188b73 * 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
2001-12-19 03:50:22 +00:00
Sam Hocevar
22899aa9e8 libdvdcss changes:
* Support for REPORT_TITLE_KEY and RPC commands by H�kan Hjort
    <d95hjort@dtek.chalmers.se>.

vlc changes:
  * Minor coding style fixes (please avoid tabs).
2001-12-16 18:00:18 +00:00
Sam Hocevar
14047fa106 * 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.
2001-12-16 16:18:36 +00:00
Sam Hocevar
97cba428ab * Buffer choice optimizations - vout4 should eat even less CPU now.
* Minor warning fix for Hurd.
2001-12-13 20:47:46 +00:00
Sam Hocevar
d8e44fce75 * Fixed aspect ratio handling.
* Fixed potential compilation issues under eg. BSD/OS.
2001-12-13 12:47:17 +00:00
Christophe Massiot
2b75de8f4e Next Generation Buffer Manager, for TS plug-in. Please test in-ten-si-vely ! 2001-12-12 13:48:09 +00:00
Christophe Massiot
6a74f9fb99 Next Generation Buffer Manager, for PS plug-in. 2001-12-12 11:18:38 +00:00
Sam Hocevar
279f805ab1 * Additional fixes for OSes with no gettext (thanks to ej0).
* Fixed a potential BeOS linking issue.
  * Fixed a minor bug in input.c.
2001-12-12 02:13:50 +00:00
Sam Hocevar
abd8a37641 * 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).
2001-12-11 23:53:20 +00:00
Sam Hocevar
db648a570b * Fixed an issue in Makefile.dep causing to rebuild unnecessary files
in the gtk/gnome and x11/xvideo plugins.
  * Fixed CFLAGS_XVIDEO.
2001-12-11 15:31:37 +00:00
Sam Hocevar
56afe807c2 * Added vlc-arts to the debian package generation.
* HP-UX port of the DVD ioctls courtesy of David Sieb�rger.
2001-12-11 14:43:38 +00:00
Sam Hocevar
45281e620d * 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.
2001-12-10 12:40:24 +00:00
Sam Hocevar
003c2ab300 * 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.
2001-12-10 04:53:11 +00:00
Sam Hocevar
2be071915d * 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.
2001-12-09 17:01:37 +00:00
Sam Hocevar
1b8d106c72 * 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.
2001-12-07 18:33:08 +00:00
Johan Bilien
7917d2ef3f * added functions in inputs to change the current program (most of
them do nothing)

All inputs should now have a pf_setprogram function. A default one is
provided in input_programs.c.
2001-12-07 16:47:47 +00:00
Christophe Massiot
2e0eab4ca7 * 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.
2001-12-06 10:53:42 +00:00
Johan Bilien
dbbc910fbb * 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.
2001-12-05 03:31:04 +00:00
Christophe Massiot
63e5cfb09b libmad plug-in, courtesy of Jean-Paul Saman <jpsaman@wxs.nl>. 2001-12-04 13:47:46 +00:00
Sam Hocevar
95a333bf0a * 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.
2001-12-03 16:18:37 +00:00
Christophe Massiot
0e3c37886d Fixed a crash when pausing. 2001-12-03 13:58:59 +00:00
Christophe Massiot
13fd7a12d6 Moved #include <string.h> to macosx plug-in instead of threads.h, as in
other plug-ins.
2001-11-29 10:20:56 +00:00
Florian G. Pflug
15d59e21b5 *) Added "#include <string.>" to include/threads.h
It' wouldn't compile on OSX without this.

  *) Removed the mutex the vout and intf thread (were supposed to use)
     for syncronizing acces to the p_vout->p_sys structure.
     The p_vout->change_lock mutex is used for syncronization now. (and
     should make synronization work)
2001-11-29 01:01:48 +00:00
Christophe Massiot
248eb0b5b9 * Added error checking in pthread wrapper ; as a result, intf_msg.h must
now be included *before* threads.h ;
* Changed all files to include intf_msg.h before threads.h ; while I was
at it, I update the copyright notices ;
* Removed the obsolete darwin plug-in.
2001-11-28 15:08:06 +00:00
Gildas Bazin
b618828621 * Big clean-up to allow compiling every module as plugins.
* Added bytes_swap.h to provide ntoh() and htol() on Win32. With this
     change we don't have to link winsock2 with every plugin anymore. This
     should also give us a slight speed increase.
 * Added #define WIN32_LEAN_AND_MEAN in threads.h to speed-up compilation
     on Win32.
 * Modified ac_downmix_3dn and sse so they compile with the latest gcc for
     Win32.

(PS: the dvdread plugin doesn't compile yet on Win32)
2001-11-25 22:52:21 +00:00
Christophe Massiot
fefa3b6542 Major rewrite of the network layer. The following syntax ARE NO LONGER
SUPPORTED :
ts:toto:1234/meuh
--server toto --broadcast meuh --port 1234

The only supported syntax is :
udp[stream]:[//][serveraddr:[serverport]][@[bindaddr][:bindport]]
example : udpstream:toto@meuh:toto

In most cases, simply passing "udpstream:" should work, since it enables
unicast and broadcast reception on port 1234 from any server. Other
options are only used for fine tuning and multicast.

TODO :
* The GTK interface is broken (glade knowledge wanted !)
* Test this on all supported platforms (and fix them :)
[this won't work with current channel servers - fix needed]
2001-11-23 18:47:51 +00:00
Christophe Massiot
8b949d08fd Fixed compilation bugs with Qt and BeOS (henriiiiiiiiiiiiiiiiiiiiiiiii !!) 2001-11-21 10:47:20 +00:00
Sam Hocevar
4a0dae0183 * Fixed a few crashes due to race conditions in the decoder spawning.
* Removed unused code here and there.
2001-11-15 17:39:13 +00:00
Christophe Massiot
63eddb9ecc Removed unused structure. 2001-11-15 16:15:59 +00:00
Jon Lech Johansen
6cbaf16251 The default file-translation mode was not being set under win32.
In other words, file playback in 0.2.91 does not work. For de-
scheduling threads use a 0ms sleep instead of 1ms, as it was
causing problems under WinXP. I hope this does not introduce
problems under previous windows versions. I noticed it was
originally 0ms, but later changed to 1ms...
2001-11-14 00:01:36 +00:00
Sam Hocevar
50366aa6da * Fixed heap corruption issues in ac3dec (thanks reno). 2001-11-13 18:10:39 +00:00
Sam Hocevar
3355a621a9 * configure should no longer assume AltiVec is supported when it actually
isn't with buggy compilers and/or pre-set $CFLAGS.
2001-11-13 15:08:25 +00:00
Henri Fallon
49a0736e1c All decoders (audio, video, subtitles) are now modules.
- mpeg_vdec, mpeg_adec and ac3_adec are builtins by default
- ac3_spdif, spu_dec and lpcm_dec are plugins by default
2001-11-13 12:09:18 +00:00
Sam Hocevar
cdf126129d * Fixed the vlcs communication issue by initializing WinSock at
startup (thanks Meuuh for the tip).
2001-11-12 22:42:56 +00:00
Sam Hocevar
a264d03210 * Made everything ready for a vlc-0.2.91 / libdvdcss-1.0.0 release.
* Updated ChangeLog and ChangeLog.libdvdcss.
  * Increased vlcs response message length.
  * Removed the i_flags argument to dvdcss_open. Everything is done through
    environment variables now.
2001-11-12 20:16:33 +00:00
Sam Hocevar
043b5c89b6 * Automatic handling of the Channel Server's response in network mode. 2001-11-12 04:12:38 +00:00
Sam Hocevar
4865e312de * Fixed compilation (and quite probably runtime) issues under IA64
due to mixed int/void* casts.
2001-11-11 18:15:42 +00:00
Stéphane Borel
81cfe15f7a -Merged DVD netlist with input netlist to remove duplicated code.
Basically, this adds the ability for the netlist to handle transport
packets that carry more than one data_packet.
2001-11-11 01:32:03 +00:00
Jon Lech Johansen
339de4e841 * Fixed a mingw32 problem I introduced last night :) 2001-11-08 21:07:24 +00:00
Stéphane Borel
eb1815f046 -kludge to have less discontinuity after a zero scr in DVD.
Maybe we should try to predict the date instead of taking the last one but
it seems quite hard.
2001-11-08 14:45:44 +00:00
Jon Lech Johansen
3129e03de2 * Fixed some win32 64-bit issues. 2001-11-08 01:48:09 +00:00
Jon Lech Johansen
fa2a82105f * Fixed some win32 compile issues.
* Don't use long long, use u64/s64 (int_types.h).
2001-11-07 22:58:13 +00:00
Stéphane Borel
6faa194306 *Move function that translates language codes into country name in src/misc
so that every plugin can use it

*Change the name of a function in dvd_udf.c to fit with the forthcoming
 libdvdread plugin.
2001-11-07 17:37:16 +00:00
Christophe Massiot
fb5aad8d17 New --enable-release config option. 2001-11-06 17:12:02 +00:00
Christophe Massiot
78885615d1 New --volume option (untested, like usual :). 2001-11-05 15:22:44 +00:00
Christophe Massiot
e160ea9766 * libdvdcss port to OpenBSD. 2001-11-02 13:30:38 +00:00
Renaud Dartus
6ac2aafab2 * Fixed a segfault on exit under Windows 2000 2001-10-31 11:55:53 +00:00
Renaud Dartus
e5b4af919b * Use memalign for aligned data (instead of a greek malloc)
* Some optimization in imdct (all data are now aligned)
* SSE downmix now works for windows
* SSE imdct is desactivated for windows (MINGW32 doesn't know how to aligned data)
2001-10-30 19:34:53 +00:00
Cyril Deguet
a940bf7231 - Changed default configuration for vls/vlcs hostname/IP 2001-10-30 12:49:59 +00:00
Sam Hocevar
aac41b8032 * Synced dummy_dvdcss with Stef's changes to libdvdcss.
* configure now compiles the VCD plugin if linux/cdrom.h is present.
2001-10-23 23:41:00 +00:00
Sam Hocevar
8629b876dc * Fixed NetBSD (and probably OpenBSD) libdvdcss compilation. 2001-10-22 14:07:36 +00:00
Christophe Massiot
4c7a79ddc3 Fixed compilation problems with OpenBSD. 2001-10-22 12:28:53 +00:00
Sam Hocevar
34487b0b6c * xvideo.so is now built in by default. Mixing PIC and non-PIC code was not
very nice.
  * Fixed compilation errors in src/interface/main.c when the compiler did
  not support SSE or 3DNow! inline assembly.
2001-10-22 12:02:17 +00:00
Stéphane Borel
7a174310a0 -defining TRACE_DVDCSS in config.h displays libdvdcss debug message.
-libdvdcss error messages are reported in input_dvd.c.
-vlc verbosity also enables more error messages from libdvdcss.
2001-10-16 16:51:28 +00:00
Stéphane Borel
beda27837f Use of an environment variable to choose libdvdcss method. 2001-10-14 03:26:20 +00:00
Stéphane Borel
88a154951c New features for libdvdcss: we have three ways now to decode a title key.
1) Crack the title key (the method that was here before). The only change
here is that we search the key for the exact chapter we are seeking with
DVDSetArea (in case the key has changed within a title). It is maybe not a
good idea.

2) Crack the disc key, which allows us to decode instantly all title keys.
I've used an algorithm from Frank Stevenson ; it eats much memory (64MB),
and takes about 15 s at launch time.

3) Decode the disc key with player keys (libcss method). However, you need
licensed player keys at build time for that to work.

To choose between libdvdcss methods, a command line options is supplied:

        vlc --dvdcss <method> where method is one of title, disc, key.

Note that all these changes only work with linux now, since we have to add a
specific ioctl to read title key. I hope that I haven't broken too many things.
2001-10-13 15:34:21 +00:00
Christophe Massiot
563c5e1733 * Minor video parser optimization ;
* SDL now displays an error message on 422 streams.
2001-10-11 16:12:43 +00:00
Christophe Massiot
3861944d93 * Chroma 4:2:2 and 4:4:4 support in the decoder.
* Fixed bugs in the C YUV transform with 4:2:2 format.
2001-10-11 13:19:27 +00:00
Sam Hocevar
882422ab19 * Added User-Agent header in the HTTP input.
* Fixed an input segfault which occured using ES input.
2001-10-03 15:10:55 +00:00
Sam Hocevar
19868f141c * Added an endianness check for cross-compilations.
* We now check for sys/times.h.
2001-10-03 13:14:05 +00:00
Christophe Massiot
36ac7f925a * Minor ShowBits() optimization ;
* Fixed a bug in vlc.spec ;
* New --disable-plugins option ; make all plug-ins built-in.
2001-10-03 12:46:17 +00:00
Christophe Massiot
ce0e4dd13e * Cleaned up sam's mess with input's pf_open and pf_close (not completely) ;
* With -vvv modules now show up their scores ;

This afternoon I have been a little bored, so the feature of the day is :
* HTTP input support.

You can test it with :
./vlc http://mysite.com:80/mystream.mpg
It doesn't implement any kind of buffering, so make sure you have enough
bandwidth, otherwise you'll just get nothing.

It is compatible with HTTP proxy, just set http_proxy :
export http_proxy="http://proxy.mycompany.com:3128/"

Enjoy !
2001-10-02 16:46:59 +00:00
Christophe Massiot
3c60726231 Dramatically improve compilation time, with a negligible performance
tradeoff.
2001-10-01 16:44:07 +00:00
Christophe Massiot
6cd676bcf9 * Removed -march=pentiumpro ; should now work on pentium-class machines ;
* Removed --enable-stats configuration directive. Stats are now activated
at runtime with --stats ;
* New intf_StatMsg() call ;
* Vout picture heap is now 8 pictures instead of 5 (better synchro) ;
* Tremendous enhancements in statistics display ;
* Better capabilities handling.
2001-10-01 16:18:49 +00:00
Christophe Massiot
e6a8d661ed Error checks in debug mode : pthread ERRORCHECK_MUTEX and MALLOC_CHECK_=2. 2001-10-01 12:48:01 +00:00
Christophe Massiot
93d7b1f09a Test for Altivec C extensions. 2001-09-28 10:39:40 +00:00
Christophe Massiot
f9411cc4d1 If memalign isn't available, fall back on valloc. 2001-09-28 09:57:08 +00:00
Christophe Massiot
43cfba30a8 By default, use the real size of the stream for the video output size. 2001-09-26 12:32:25 +00:00
Christophe Massiot
746e6074dd Altivec IDCT and motion compensation, courtesy of Michel Lespinasse for
mpeg2dec (untested).
2001-09-25 11:46:14 +00:00
Christophe Massiot
b0ef113345 Fixed many alignment issues. 2001-09-24 11:17:49 +00:00
Christophe Massiot
b3b880766e * Altivec IDCT and motion compensation, based on Paul Mackerras's mpeg2dec
(untested !) ;
* Local minor optimizations in IDCT ;
* Removed a hopeless kludge in input_clock.c
2001-09-05 16:07:50 +00:00
Christophe Massiot
45f3f2825f * Totally rewrote the video decoder (inspired by walken's mpeg2dec), implying :
- performance boost ;
- fixed the "Dual Prime Arithmetic" bug ;
- 3DNow! motion compensation module ;
* BTW, fixed numerous bugs ;
* AC3dec statistics do not show up with --enable-stats, because I doubt
they're understandable by a normal human being, and they pollute the output.
2001-08-22 17:21:46 +00:00
Sam Hocevar
07bf678b2a * Split ChangeLog into ChangeLog and ChangeLog.libdvdcss.
* Added --xvadaptor flag to select the XVideo adaptor to use.
  * Everything is ready for the 0.2.83 release.
2001-08-22 14:23:57 +00:00
Sam Hocevar
bd7443f2ef * Added support in ./configure for the cprof profiler.
* Activated -D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 on all platforms, fixes
    issues under Solaris and QNX.
  * Additional checks for SSE-specific (non-MMXEXT) instructions, as
    reported in <20010817114220.A23480@slartibartfast.angrypacket.com>.
2001-08-19 23:35:13 +00:00
Sam Hocevar
06fca10912 * GNU/Hurd configuration and compilation fixes. 2001-08-14 04:52:39 +00:00
Sam Hocevar
dea6dc1ec6 * Another mistake in the BSD/OS configuration process. 2001-08-10 17:43:50 +00:00
Sam Hocevar
3007c6b885 * Fixed a bug in the gtk interface which caused vlc to go amok after
having met a zero-sized area.
  * Found out how to type '�' in vim :-)
  * Added missing bloat to modules_export.h.
  * 'snapshot*' rules do not depend on 'clean', and don't use /tmp anymore.
  * Added vlc:loop playlist command to go back at the beginning.
    Usage: vlc file1.mpeg file2.mpeg ... fileN.mpeg vlc:loop
    This change isn't very elegant but there are already bugs in the
    playlist handling, I'll try to polish it once the playlist is fixed.
2001-08-09 08:20:26 +00:00
Sam Hocevar
e9ea66aeba * Solaris DVD decryption support by H}kan Hjort <d95hjort@dtek.chalmers.se>. 2001-08-08 02:48:44 +00:00
Sam Hocevar
6b933b9ed4 * Got Makefile to launch ./configure almost properly. $(MAKECMDGOALS) rules !
* Various debian scripts fixes.
  * Added -lmsvcrt40 to the win32 flags for proper execution under Wine.
  * Fixed broken soname setting under Solaris (and OS X, sort of).
  * Made the illegal instruction report more explicit.
  * BSD/OS 4.3beta1 fixes by Steven M. Schultz <sms@TO.GD-ES.COM>.
2001-08-07 02:48:25 +00:00
Sam Hocevar
460360a85e * Added a dummy libdvdcss so that the DVD plugin can be used without
libdvdcss. It will try to dlopen() libdvdcss at runtime, though,
    and will use the dummy functions only if it couldn't find a valid
    libdvdcss. This is probably only useful to package maintainers.

  * Tidied the snapshot-* Makefile rules.
  * Tidied the modules Makefiles.
  * Removed useless stuff in the debian/ directory.
  * Removed the "make all" kludge in the Makefile.opts rule. I hope this
    patch is harmless on all systems.
2001-08-06 13:28:01 +00:00
Gildas Bazin
dbfcf9f6e2 * Fixed a segfault in PSEnd in input_ps.c
* The video decoder thread is now also reniced to a lower priority on
  Win32 (as in the linux version). This slightly increases the responsiveness of vlc.
2001-07-31 21:13:30 +00:00
Christophe Massiot
544bdffcde * Don't miserably die in make when ./configure hasn't be run ;
* Fixed a bug when compiling KDE plug-in without Qt plug-in ;
* Now taking into account $KDEDIR ;
* Made SDL configure error messages more explicit ;
* --disable-sdl is now correctly taken into account ;
* Changed the order of evaluation of sdl-config and sdl11-config ;
* Finally fixed SDL*/SDL.h check ;
2001-07-30 13:57:46 +00:00
Sam Hocevar
20823a8120 * VC++/Intel compiler fixes by Jon Lech Johansen <jon-vl@nanocrew.net>. 2001-07-30 00:53:05 +00:00
Christophe Massiot
7a9a6f5b59 Now use sdl-config for SDL. 2001-07-25 19:14:06 +00:00
Gildas Bazin
5bcfa0faf5 * dvdcss_readv optimisations for Win32. We now send only one read command
to the DVD drive for the whole iovec.
 * Fixed _win32_dvdcss_aread to work around the WinASPI32 64kb transfer
   size restriction.
 * New and theoretically better Win32 pthread implementation which fixes a
   problem I was having when changing title on a DVD (netlist related).
   vlc_cond_multicast may or may not work.
 * Fixed the "quit" event handling in directx/vout_events.c.
 * dvd_ifo.c now takes into account error messages from UDFFindFile.
 * Temporarily disabled aout_Probe() in aout_SDL (this function
   is creating an awful lot of problems - libSDL bug ).
2001-07-25 08:41:22 +00:00
Christophe Massiot
61cd2b0a26 * QNX RTOS plug-in by Jon Lech Johansen. 2001-07-19 11:50:51 +00:00
Christophe Massiot
33687bb4ac * Updated documentation with recent changes ;
* Decoders are niced again, for it is really better.
2001-07-18 17:05:39 +00:00
Christophe Massiot
d0c9b47957 * Rewrote the video decoder to take advantage of several processors (SMP mode) ;
* Fixed a bug in the video decoder initialization :-p ;
* Added --smp option and several hooks in src/input/input_ext-intf.c ;
* Grayscale mode now turns off chroma IDCT.
2001-07-18 14:21:00 +00:00
Christophe Massiot
18f5cd99ef Cleaned up include/. Unnecessary headers are no longer under include/, but
under src/. (eat that)
2001-07-17 09:48:08 +00:00
Gildas Bazin
213957d212 Added intf_DbgMsg and intf_DbgMsgImm symbols to modules_export.h
This fixes the TRACE build.
2001-07-16 22:00:45 +00:00
Christophe Massiot
48b927bbde Fixed GetChunk for chunks < 4 bytes. 2001-07-16 12:10:32 +00:00
Gildas Bazin
f20e5c359d - Fixed 2 Win32 bugs in libdvdcss (in _win32_dvdcss_readv), one of them
should have prevented the Win9x dvd input from working.
- Moved the "if(Win2k)" out of the loop in _win32_dvdcss_readv.

- Put a readv() function in input_iovec.h, the input_es now compiles.
- Modified input_ts to use this function.

- Fixed an initialisation bug in vout_directx.c
- Right clicking on the mouse now displays the navigation menu.


PS: If someone is willing to test the DVD input on Win95/98/Me I will
    upload an up to date binary package.
2001-07-12 23:06:54 +00:00
Renaud Dartus
a25f41cb25 * Fix audio/video synchro bug with esd
* Should fix buggy sound due to 44100-48000 Hz conversions
2001-07-12 20:31:33 +00:00
Renaud Dartus
dee3179d13 * Alignement in asm functions
* 16 bytes alignement for data (need fo SSE)
* Optimization in SSE
2001-07-08 23:15:11 +00:00
Gildas Bazin
5b49dba8b9 Win32 changes only:
- defined off_t as a long long. This allows DVD navigation to work.
   This change is to be implemented on a compiler by compiler basis. For
   now, it works on mingw32 (tested) and should work on MSVC (not tested).

 - Implemented a quick and dirty hack in intf_msg.c to be able to display
   long long integers with printf on Win32. This change is also necessary
   to avoid segfaults when debug is enabled in vlc on Win32.

 - few minor changes in the directx plugins.

 - defined snprintf in common.h and removed a few #ifdef WIN32
2001-07-08 17:45:52 +00:00
Christophe Massiot
2fbc01b909 Elementary Stream input plugin (use it with --input es). Only works with
video streams at the moment.
2001-06-27 09:53:57 +00:00
Gildas Bazin
f406134a3d - Added command line option '--stdout <filename>' which redirects stdout
and stderr to the specified file. This option should mainly be useful
    on Win32.
- On Win32, vlc now has an icon associated to the .exe file, and is a full
    GUI application (you don't have this annoying dos command box anymore)
- Added INSTALL-win32.txt for specific details to the Win32 port.

I've tested these changes on Win32 and Linux, let's hope I didn't break
  vlc for other platforms.

--
Gildas
2001-06-27 06:29:59 +00:00
Sam Hocevar
01d140d81d * Win32 network support by Boris Dor�s <babal@via.ecp.fr>. 2001-06-21 07:22:03 +00:00
Sam Hocevar
44abaa7cd5 * Added gprof profiling support with --enable-profiling.
It works at last! configure with --enable-profiling, build, run
 vlc (you may want to add --noaudio, it currently segfaults with sound
 here) and launch "gprof vlc" when finished.

    To make gprof work with multithreaded programs, one needs to set the
 internal ITIMER_PROF timer for each new thread launched. I did this
 through a wrapper in vlc_thread_create (see include/threads.h).
2001-06-14 20:21:04 +00:00
Sam Hocevar
cff6378dbe * Fully working Windows DVD ioctl support by Jon Lech Johansen.
* Usual weekly ChangeLog mass-update.
2001-06-14 02:47:45 +00:00
Sam Hocevar
4b921617aa * DirectX enhancements by Gildas Bazin, such as software rendering.
* Merged dvdcss_init and dvdcss_open into dvdcss_open, and dvdcss_close
    and dvdcss_end into dvdcss_close. libdvdcss API now has 7 functions.
  * Another failed attempt at profiling vlc under Linux: ported the
    threads API to GNU Pth. Activate with --enable-pth. It doesn't seem to
    spawn new threads for me, maybe someone will have better luck.
  * Makefile optimizations.
  * Automatic build of libdvdcss if not found.
2001-06-14 01:49:44 +00:00
Sam Hocevar
495436e7e1 * Exported the CSS part of the dvd plugin into a library. 2001-06-12 22:14:44 +00:00
Stéphane Borel
106079bcac *slight modification in input_dvd since Getiovec wasn't at the right
place

*send escape packet when changing title, not to be stuck in some
decoder.

*the position in the title is now resetted when we change title to
prevent a title from being unavailable because we're stuck at the end

*fixed a bug with 1-chapter-long title that displayed chapter 0.

*added a _temporary_ field in p_main to know whether the audio stream is
ac3 (ugly). It allows a vlc launched in spdif mode to play mpeg or lpcm
audio.

*cleaned the title property messages to get rid of the ugly stars.
2001-06-12 18:16:49 +00:00
Renaud Dartus
2788bc6a4e * Check that OS support SSE optimization for PIII (to avoid illegal hardware instruction on Linux 2.2.x) 2001-06-12 00:30:41 +00:00
Stéphane Borel
7b5259e012 *Fixed a bug in synchro reinitialisation: we no longer have a shift each
time we restart the synchro (for scr discontinuity for instance)

*In DVD mode, we reinit the synchro only if the scr are not continuous
(instead of each cell)

*Try to improve ac3 spdif to prevent from desynchronization.
2001-06-09 17:01:22 +00:00
Sam Hocevar
0c6f4bc9ce * Lots of DirectX plugin fixes by Gildas Bazin.
* Compilation fix in message queue mode.
2001-06-08 20:03:16 +00:00
Sam Hocevar
47723362cc * Applied old FreeBSD patch for dvd input by German Tischler.
* Found what was causing the slowdowns: a namespace collision. Put all
    plugins into builtins again.
2001-06-07 15:27:44 +00:00
Sam Hocevar
f42dc7826c * Various little fixes
- BeOS interface compilation fix by Rene Gollent.
   - DirectX plugin compilation fix by Gildas Bazin.
   - removed %ebx spill in the iMDCT plugins.
2001-06-03 12:47:22 +00:00
Sam Hocevar
092798cf25 * Moved modules_builtins.h.in into src/misc. Please remove
include/modules_builtins.h in your local tree.
2001-06-02 01:10:19 +00:00
Sam Hocevar
945f294626 * DirectX plugin by Gildas Bazin <gbazin@netcourrier.com>.
Notes: o I called it 'directx' instead of 'windx' because it
             made a lot more sense to me.
           o Completely untested. I didn't manage to compile it yet.
           o Code in vout_directx.c will go through a big rewrite when
             vout 4 is finished. Xav is already working on this.
2001-06-02 01:09:03 +00:00
Sam Hocevar
1d066ee387 * Win32 plugin support by Gildas Bazin <gbazin@netcourrier.com>. 2001-05-31 12:45:39 +00:00
Sam Hocevar
0c128d4707 * BeOS fixes. renamed iovec.h to input_iovec.h because of namespace issues. 2001-05-31 03:57:54 +00:00
Sam Hocevar
b8ce47bbc7 * Win2000 DVD input by Jon Lech Johansen <jon-vl@nanocrew.net>. 2001-05-31 03:12:49 +00:00
Sam Hocevar
94d3d4d8be * Applied patch from Jon Lech Johansen <jon-vl@nanocrew.net> to compile
vlc with MS and Intel C/C++ compilers.
2001-05-31 01:37:08 +00:00
Stéphane Borel
b465bcca09 -Updated the gtk/gnome interface to work in network mode,
-Fixed some bugs in interface (language menus in ts, misnamed fields)

-Play/Stop work in network mode to start/stop decoding of the stream

I have a segfault in imdct_3dn(93). But I can't underdand assembly.
2001-05-30 23:02:04 +00:00
Sam Hocevar
a3b650021f * Hrmpf. Forgot the most important file. 2001-05-30 17:04:12 +00:00
Sam Hocevar
440f9992ee * Fixed the BeOS compile typo.
* The ALSA plugin is back.
  * A gift for Gildas: plugins don't rely on backlinking any more. The
    drawback is the dirty magic in include/modules_export.h which has to
    be included whenever a module needs one of the functions in it. But
     a) we should less and less rely on those functions
     b) no plugin code modification was needed

   The BeOS and MacOS X modules may be broken when compiled as plugins,
   I'll check this later when I can reboot under BeOS.
2001-05-30 17:03:13 +00:00
Stéphane Borel
1ffe943ec5 -Changes and bugfixes to make network work in VLAN Broadcast mode.
-Bugfix in the interface to access the network specific features.

-Some base of synchro in ac3 spdif
2001-05-30 05:19:03 +00:00
Sam Hocevar
506c5ec773 * Win32 compilation fixes, esp. the MAC retrieval. 2001-05-28 02:38:48 +00:00
Stéphane Borel
ab1d602499 *More cleanification in gtk interface: now to change the
title/chapter/audio/spu/angle, we tell the input to do intead of doing
it inside the interface. It results in fewer locks during the changes.

*The dvd plugin reads again blocks of 32 sectors to gain speed since
there are no more lock-ups during stream change. I've also created a new
file that contain function to described video and audio streams with ifo
datas.

The changes are made only for gtk. We should update the other interfaces
soon (beos at least).

There is a memory corruption somewhere that make the vlc crash. I've no
idea where to search.
2001-05-19 00:39:30 +00:00
Sam Hocevar
501cb1ba4b * AC3 IMDCT and downmix functions are now in plugins, --imdct and
--downmix options added.
2001-05-15 16:19:42 +00:00
Stéphane Borel
9530fc9f8c *initialization bugfixes in input_dvd
*added a b_stopped flag to interface playlist to have a stop function in
interface plugins. As a consequence, the playlist no longer loops on end
but wait for the user to press 'play' or to add another item (gtk/gnome
interface). I think that other plugins are broken but it shouldn't be
difficult to repair: just add a 'p_main->p_playlist->b_stopped = 0' in
play functions and 'p_main->p_playlist->b_stopped = 1' when you have to
stop.

*Updated gtk interface so that it has the same features as gnome. I
think I will merge the code so that we don't have to copy and paste each
change. Only the .glade file would be different.
2001-05-15 01:01:44 +00:00
Renaud Dartus
db7b0421d5 * Begin of SSE/3DNow! support for imdct and downmix
If you have a PIII or a Athlon and you want to try this, just comment #if 0
in ac3_downmix.c and ac3_imdct.c and add in AC3_DECODER section of Makefile :
	src/ac3_decoder/ac3_imdct_sse.o \
	src/ac3_decoder/ac3_srfft_sse.o \
	src/ac3_decoder/ac3_downmix_sse.o \
	src/ac3_decoder/ac3_downmix_3dn.o \
2001-05-14 15:58:04 +00:00
Sam Hocevar
84a86ed750 * Added support for some terribly braindead DVD subtitles in Kenshin
which do not have a "stop display" command. Anime fans rejoice!
  * Fixed the BeOS interface to use p_aout_bank instead of p_main->p_aout.
  * Coding-style butchery (mostly tabs).
2001-05-07 04:42:42 +00:00
Stéphane Borel
ca90f850b7 *Changed the level arg in intf_WarnMsg so that it is more logical: the
level corresponds now to the nb of -v to display the message.

*added functionnal preference window in gnome: it changes the
envirronment variables

*added jump window in gnome to jump to a precise time.
2001-05-07 03:14:10 +00:00
Stéphane Borel
bc118e1974 *Much work on the gnome interface: added oct's playlist from gtk plugin,
tuned appearence, added preferences window (with no features yet), jump
window to go to specified time (not functionnal yet), and fixed some
bugs.

*moved b_fullscreen from p_vout->p_sys to p_vout and unified way of
toggling fullscreen in sdl in x11/xvideo output (using p_vout->i_ch
nges) so that an interface plugin can toogle fullscreen (implemented
in gnome)

*added p_input->stream.p_selected_area->i_tell in input TS so that the
slider work with ts files ( however, the time counter doesn't since we
have no mux_rate )

*improved ac3 spdif output ( and made it work again :)). It uses a true
blank frame now, and it allows to switch languages like a traditionnal
output. It doesn't support multiplexing though, neither can we switch
between spdif/analogical mode on-the-fly.

*beginning of the back port of gnome to gtk for those who do not have
gnome.
2001-05-06 18:32:30 +00:00
Sam Hocevar
c8c99b214e * Fixed a few warnings with gcc 3.0.
* aout and vout are now allocated in banks, making it possible to have
    several of them at the same time.
  * configure now checks for MMX and MMX EXT support in the assembler.
  * Removed all MMX code from the main program and moved it to the
    existing idct modules (Closes: Debian bug #96036).

    Don't forget to make distclean before building vlc again.
2001-05-06 04:32:03 +00:00
Sam Hocevar
d072e40d68 * FreeBSD CSS decryption support. 2001-05-02 20:01:44 +00:00
Sam Hocevar
543556379d * Fixed a segfault in the SPU decoder initialization. 2001-05-01 12:22:18 +00:00
Sam Hocevar
a70f8bb371 * Mandatory step for video output IV and the audio output quality
fix: the output threads are now spawned when a decoder needs one,
    so it can decide the audio frequency or the video window size. Still
    under heavy construction, so don't get too excited at finding bugs
    in it yet.

    Note: this change broke the XVideo module, so I made its score much
    lower than before. I suspect xvideo.so had a bug before which only
    appears now. Other video output plugins may be broken as well, but
    again this might be due to old existing bugs showing their ugly head.

  * Fixed a few buffer overflows in the Gnome interface.
  * The module bank is now a global variable. The video output bank and
    the audio output bank might follow (when they exist).
  * Coding style and organization fixes to the spdif decoder.
  * autoconf and Makefile changes by Arnaud Gomes-do-Vale
    <arnaud@carrosse.frmug.org>.
2001-05-01 04:18:18 +00:00
Christophe Massiot
cd74cb2c5f Removed unused files. 2001-04-30 15:01:00 +00:00
Stéphane Borel
e5c6a7af79 -new audio output using direct ac3 pass-through with some sound
cards: it sends raw ac3 frames to an external ac3 decoder. It is very
experimental yet, hasn't any synchro ... but it works well with my
sblive and my dtt3500 speakers (note that you need a patched emu10k1
driver for this to work).

-bug fix in gnome intf thanks to Shane Harper.

-bug fix in input_dvd for chapter change.
2001-04-29 02:48:51 +00:00
Sam Hocevar
0a4aeaa67c * Coding style fixes here and there.
* Miscellaneous QNX compile fixes.
  * Beginning of the mingw32 port by Gildas Bazin <gbazin@netcourrier.com>.
  * Added Marcari and Gildas to the AUTHORS file.

  (I commited the mingw32 port because it doesn't add any new code outside
   the #ifdefs, but we won't tell a word about it for the moment. We don't
   really need windows users whining about bugs, do we ?)
2001-04-28 03:36:26 +00:00
Christophe Massiot
3d72706295 Change --enable-debug into --enable-trace. Same with DEBUG_*.
--enable-debug still exists, but only activates -g and additional
safety checks.

I hope I didn't break anything :))
2001-04-27 19:29:11 +00:00
Henri Fallon
092858e0c8 Repaired broadcast support : binding INADDR_ANY doesn't seem to work.
You now have to specify the broadcast address as an argument.
Btw, thanks to sam, you can now use ts://server:port style, which gives
for broadcast :

vlc --broadcast broadcast_addr ts://server[:port]
2001-04-27 18:07:57 +00:00
Sam Hocevar
c0138ec5ec * Fixed the continuous 'seeking position' bug in network mode.
* rc interface plugin for vlc control through /dev/stdin courtesy
    of Peter Surda <shurdeek@panorama.sth.ac.at>.
  * Support for `ts://foo:42' style input source:
     vlc ts://vls.via.ecp.fr:1234
     vlc ts://vls.via.ecp.fr
     vlc ts:vls
     vlc ts:vls:4321
    As a side effect, the Gnome and Gtk "network input" buttons work.
2001-04-27 16:08:26 +00:00
Christophe Massiot
6783b216ef * Fixed an alignment issue with the bit stream and the bit stream
callback on startup - InitBitstream prototype has changed ;
* Removed a buffer zeroing in video output - doesn't change anything
for me, does it for you ?
2001-04-25 10:22:33 +00:00
Sam Hocevar
39db76ab86 * Fixed build process when no plugins or no builtins were chosen.
* Makefile changes to get around MacOS X's brain-damaged gcc.
  * FreeBSD configure and Makefile patches, courtesy of Espen
    Skoglund <esk@ira.uka.de>.
2001-04-20 11:06:48 +00:00
Stéphane Borel
b2e1b231bc -corrected some bugs in gnome interface: language menu are now
synchronized ; and menus have less chances to be changed when they're opened.

-added basic angle support ; this is a first try. It works with my 2
test-DVDs, but I'd like that people having DVDs with repeated scenes to
test it. We can choose angle with command line option -u (don't ask me
why :)

-a cosmetic change in css decryption.

Since config.h.in has changed, you have to re-run ./configure.
2001-04-20 05:40:03 +00:00
Cyril Deguet
adff2a8501 Re-added the new packet allocation method in PS input, using packet caches.
With warning level 1, you can see when a packet is allocated or freed; the
goal is to never call 'malloc' nor 'free', except at the beginning of the
stream.
The size of the different caches can be adjusted in plugins/mpeg/input_ps.h.
If 'free' is called too often, it means that a cache is too small, so try
to increase its size.
2001-04-16 12:34:28 +00:00
Sam Hocevar
6116299e39 * Added .cvsignore files in the plugins directories.
* Additional Makefile cleaning for built-in modules.
  * Fixed Makefile for Solaris target.
2001-04-16 07:40:11 +00:00
Sam Hocevar
6b3c854071 * Beginning of the built-in modules support.
A few words about the changes:

  - heavy Makefile butchery has taken place, each plugin now has its own
    Makefile. I know recursive make blablah harmful, but it was just so
    much easier to do this way.

  - Makefile.in has disappeared, we now generate Makefile.opts with
    the overall configuration options, and Makefile.modules which is
    specific to module compilation.

  - After ./configure has been run you may want to modify Makefile.opts
    to check which modules will be compiled built-in or as plugins.

  - Some modules cannot be compiled built-in right now because proper
    linkage doesn't work yet. We don't really care since they're the
    interface or video output modules. The most important stuff works
    (iDCT, motion, YUV, input).

  - It's perfectly valid to compile a module both as built-in and as a
    plugin. vlc will only load the built-in one, but I'll add an option
    to ignore built-in modules for testing purposes.

  - We *should* see a performance increase here. I didn't have much time
    to test it, but if anyone can confirm and perhaps give a rough
    estimate of how much we gain...
2001-04-15 04:19:58 +00:00
Stéphane Borel
f11b9a96dd *Added udf fix by Billy Biggs
*Added checks in dvd_ifo

*Cleanings in gnome interface : the interface should be dependant on the
input method.
2001-04-13 05:36:12 +00:00
Stéphane Borel
7f66cfcadf -added a field to p_input->stream to inform the interface of a stream
change (useful in network mode)
2001-04-12 03:26:53 +00:00
Sam Hocevar
3ad76f44ec * BeOS icon and MIME resources courtesy of Wade Majors <guru@startrek.com>.
* Updated icons.
  * Removed redefinition of NULL in src/audio_decoder/adec_layer?.c.
  * Created darwin_specific.c to store the program path at boot time.
    (XXX: check that it didn't break the OS X port)
  * Fixed a warning in netutils.c.
2001-04-12 01:52:45 +00:00
Sam Hocevar
8ee3c60107 * Fixed the whitespace/tab issues in the Makefile.
* Corrected an awful typo in the version name, I hope Lieutenant Commander
    Arkady Grigorovich Ourumov will never set up us the bomb for that.
  * Removed deprecated stuff from config.h.
  * Disabled message queue by default.
  * A few other changes in the CSS code, the BeOS issues should be fixed.
  * Fixed a memory leak in gtk_callbacks.c (thanks to Dae).
2001-04-11 04:31:59 +00:00
Henri Fallon
d69ab00d9d - Ported the 0.2.0's channel changing functions
- Cosmetic changes : the word 'vlan' is disappearing
- network_ChannelJoin is still commented out as it's not in sync anymore
  with our channel server. Nitrox should fix this within a week.
- X and Xv output : added autohide cursor as in SDL
- X and Sv : keys 1 to 0 change channel
- SDL : keys F1 to F10 change channel as I was not able to make 1..0 work
2001-04-11 02:01:24 +00:00
Stéphane Borel
b3d7d241c5 -Fixed the lock segfault bug with some compilers
-Quick kludge in ifo to avoid a bug with optims. The real fix is coming.
2001-04-10 17:47:05 +00:00
Stéphane Borel
72ca053968 -changes in gnome interface
-bugfix in input dvd
2001-04-08 07:24:47 +00:00
Cyril Deguet
f3f860ca5d switched back to the old packet allocation method for PS input, because
Sam does not want the new one ;)
2001-04-05 16:37:15 +00:00
Cyril Deguet
ed003a4a6d Added a new packet allocation method that punish one's mother in PS input.
I hope there won't be too many segfaults because of it ;)
A few parameters must be adjusted to optimize this method; I'll do it later
because Proba Stat sucks ;)
2001-04-05 14:00:28 +00:00
Sam Hocevar
cfbe86907a * added the GNU getopt library, which gets compiled in when getopt_long
isn't available on the desired platform.
  * replaced the `--warning' flag with the standard cumulative `-v' flag.
    `-v' is like `--warning 3', and `-vvvv' is like `--warning 0'
    (`--warning' is still valid for those used to it)
  * cleaning in configure.in and Makefile.in, the Solaris port now
    builds and runs properly.
2001-04-05 03:50:38 +00:00
Sam Hocevar
8ccd224ce6 * fixes for the Qt plugin compilation under Debian
* heavy butchering in the CSS and DVD ioctl code to put all architecture-
   dependent code in dvd_ioctl.c

 * added almost fully-functional /dev/dvd driver for MacOS X in
   extras/DVDioctl; to build it:

    % cd extras/DVDioctl
    % pbxbuild
    % kextload build/DVDioctl.kext # note: kextload has to be run as root

   be aware that the license for the DVDioctl kernel extension is
   not GPL but APSL, because I borrowed some code from the Darwin kernel.
2001-04-02 23:30:41 +00:00
Stéphane Borel
f6c80a75e2 -Various bug fixes in dvd_netlist. Some bugs seem to remain though.
-New function input_ToggleES for interaction with interface.
-Changes in gnome interface : navigation menus are now splited, there
are radio item in menus and the code should be better.
-First step for dvd_ifo rewritting. Now allocation/disallocation is
being done as it has to be.
-Fixed a bug in title management that make dvd like Seven work.
2001-04-01 07:31:38 +00:00
Sam Hocevar
4f551c2bf0 * Header cleaning: filled all empty authors fields, added CVS $Id stuff.
* Fixes to aout_darwin.c by Colin Delacroix <colin@zoy.org>.
  * Fixes to configure.in, Makefile.in and main.c (Altivec detection)
    by Eugenio Jarosiewicz <ej0@cise.ufl.edu>.
  * Added Colin and Eugenio to the AUTHORS file.
2001-03-21 13:42:35 +00:00
Sam Hocevar
d4c55a8714 * Altivec instructions autodetection. 2001-03-20 23:18:38 +00:00
Christophe Massiot
1e76706805 * Compile Altivec modules on Darwin. [MacOS X port] 2001-03-20 20:54:44 +00:00
Christophe Massiot
13484ed07b * Support for Darwin CoreAudio, courtesy of Colin Delacroix [MacOS X port] ;
* Added warnings for ac3 mantissa (we still have problems with AC3 on
MacOS X) ;
* Renamed WriteResource to avoid a namespace clash with Darwin's
WriteResource.
2001-03-20 17:36:04 +00:00
Sam Hocevar
b004a6619b * Split audio output into several separate files to make it easier
to debug. Removed a few redundancies as well.
2001-03-20 04:44:06 +00:00
Sam Hocevar
98725620ed * vlc core compiles under QNX RTOS. Now if anyone feels like tidying
it and writing output and interface plugins...
2001-03-19 13:26:59 +00:00
Sam Hocevar
52f0fa6821 * Function prototypes for the forthcoming Darwin and MacOS X port.
* Gtk+ interface: fixed a precision issue in the scale.
  * Qt interface: somebody pop up us the menu!!
2001-03-18 00:01:13 +00:00
Christophe Massiot
a3c6cd9af2 * Borrowed config.guess and config.sub from SDL [MacOS X port] ;
* Changed files so that the MacOS X port compiles & runs [MacOS X port] ;
* If SDL/GTK/DSP is not available, don't compile the associated module.
2001-03-16 22:37:06 +00:00
Sam Hocevar
a0c1805bd9 * Bug fixes and enhancements in the Gtk+/Gnome interfaces.
o the slider should behave correctly and stop jumping here and
     there (this bug is _not_ related to Stef's similar bug)
   o added an "open network" menu (useless since the input doesn't
     handle it properly yet)
   o tried to reorganize gnome_callbacks.c and gtk_callbacks.c
   o stream date is now displayed instead of percentage
   o renamed gnome_sys.h to intf_gnome.h, and gtk_sys.h to intf_gtk.h

  * Changed documentation and package creation files.

   o added versioned conflicts/replaces to vlc-gtk (Closes Debian bug #88796)
   o removed useless or outdated documentation from doc/*
   o moved vlc.1 manpage from debian/vlc.1 to doc/vlc.1

  * Added basic Qt interface.

   o working features: slide bar, open file, toolbar, popup menu
   o added "qvlc" alias, equivalent to "vlc -I qt"
   o known issues : no "open disc" or "open network" menus yet
                    the IntfWindow class is never cleaned on destruction
                    the popup menu always pop at the middle of the screen

  * Misc fixes/updates.

   o renamed netutils.h functions from input_* to network_*
   o renamed *plst* files and functions to *playlist* (it was stupid
     from me to name them "plst")
   o made a few input error messages more meaningful
   o added -I, -A and -V short flags, corresponding to --intf, --audio
     and --video

    I got a lot of conflicts on this commit, lart me if I forgot a
  file or made old bugs reappear.
2001-03-15 01:42:20 +00:00
Henri Fallon
a4dc58c893 - Moved 2 local network functions
- Removed old code
- Broadcast should work. I'm not detecting broadcast address, i'm
binding 0.0.0.0
2001-03-11 19:00:18 +00:00
Pierre Baillet
585b6ad74c Hurg !
###code is dirty###
Please clean it for me :P
(or at least, tell me how to clean it)

. Slightly modified playlist base interface
  (Added a function to jump directly to an item, used for double clicking)

. Added manymanycallbacks
. Added the playlist dialog
. Added Dnd support for intf_window and the clist1
  . support URI and plain file(s)/folder(s)
. Added "show/hide main window" menuitem in intf_popup
. Added bugs :P

Enjoy and please bug report.
2001-03-08 13:32:55 +00:00
Stéphane Borel
ec126885b8 -Working menus for run-time audio/spu/title/chapter selection with gtk
interface.

It is a bit buggy yet, and some pieces of code need to change,
especially to handle better menus change when title change but it
eventually works.
2001-03-07 10:31:10 +00:00
Henri Fallon
a6c6f72397 - Fixed TS input ( a nasty dead lock had appeared 4 days ago )
- Added base of network support

Things to be done :
- Meuuh : fix the PCR synchronisation so that we can set b_pace_cntrol to 0
- Sam : find a way of specifing the type of media (file, net). For the
moment, the "--input ts" always call input_NetworkOpen
- Maybe sam : for the moment the working syntax is vlc --input ts
servername, it should nbe turned into "vlc --server servername".

Things that don't work (i'll work on this this week end) :
- stopping and retaking a stream
- a nice 'waiting for stream'
- we select all incoming streams. we should be able to select.

Things that haven't been tested :
- broadcast
- only tested with one stream.

Kick me if something is broken by my fault.
2001-03-07 00:18:46 +00:00
Christophe Massiot
c751bb667c * Fixed an alignment problem in UnalignedShowBits(). 2001-03-06 19:33:58 +00:00
Christophe Massiot
dbbaf8dd5e * Fixed a boolean_t/int mix.
* Increased FIFO_SIZE.
2001-03-06 15:16:42 +00:00
Sam Hocevar
9014b46011 Commited BeOS changes by Richard Shepherd and Tony Castley.
include/video_output.h
    * Added boolean_t b_YCbr to vout_thread_s structure to flag YUV-YCbCr
      decoding needed instead of YUV-RGB
    * Will be removed later when video_output.c rewritten

   src/video_output.c
    * vout_CreateThread() initialises b_YCbr to zero

   plugins/beos/*
    * New BeOS video plugin that supports hardware overlays and new
      MediaPlayer compatible interface

   plugins/*
    * Added YUV-YCbCr transforms
2001-03-04 16:20:16 +00:00
Christophe Massiot
775bd58d87 * Made input_SelectES() and input_UnselectES() not block the input thread
for a long time.
2001-03-02 13:49:37 +00:00
Sam Hocevar
29670af177 * Changed debian/control to fix Debian bug #83707
* Added a --disable-css configure option
  * Moved some code here and there in the DVD plugin to make it easier
    for me to build the Debian CSS-free packages.
2001-03-02 13:47:01 +00:00
Christophe Massiot
4ebb78ddad * Fixed miscellaneous alignment problems (alpha/sparc ports) ;
* Added a fps display when toggling 'i' ;
* Fixed a bug in the video parser where one picture buffer was not
released at quit time ;
* Broke the mux_rate calculation, but hey guys ! it was already broken and
nobody noticed it.
2001-03-02 13:20:29 +00:00
Stéphane Borel
917d257428 -New function for DVD reading, that is able to read multiple blocks
(I've chosen 32 now), that doesn't use any memcpy anymore and is also much
faster. It is ready now for cell positioning in multi-angle DVD (to come
soon).

-DVD specific netlist adapted to 2048 bytes long blocks that contain
several data_packets.

-Modification in mpeg_system.c to use p_payload_start instead of
p_buffer (necessary for DVD plugin). It does not break other plugins
since they set p_payload_start to p_buffer

-New field i_read_once in input_thread_s to be able to read more than
the TS related 7 packets ; i_read_once is set to INPUT_READ_ONCE by
defaults but plugins can change it during initialisation.

Please check that nothing is broken :)
2001-03-02 03:32:46 +00:00
Sam Hocevar
31d966e00b * The Gtk+ interface is now built as a Debian package as well. The Gnome
package depends on it because of the icon and menu entry.
  * Added an intf_WarnHexDump() function to do raw hexadecimal dumps of
    memory areas. For debugging purposes or for real men, as you wish.
  * Lots of tidying in dvd_ioctl.c, a few comments added.
  * Better error handling in the subpicture decoder.
  * Tidied video_spu.c. More to come later.
  * Fixed subtitle displaying. Will soon work in overlay mode as well.
2001-02-26 12:16:29 +00:00
Christophe Massiot
7d38f3f997 * Added functions and hooks to display dates instead of off_t. 2001-02-22 17:00:20 +00:00
Christophe Massiot
99bbcdcb68 * Added a 'd' keystroke to dump the stream contents (for debugging
purposes).
2001-02-22 16:17:12 +00:00
Stéphane Borel
17a54d55f3 -New ES detection based on .ifo for DVD module. It might fail (I have
found one DVD for which ifo seems false).

-Title and chapter selection on the command line (see -t and -T options)
It will allow to watch some DVD that went through menus by default.

-beginning of menus in gnome interface.
2001-02-22 08:44:45 +00:00
Jean-Marc Dressler
9067002c2e Some changes in the BeOS video output :
- New video output method, the vlc now uses BBitmap instead of
  BDirectWindow (better performances)
- Added resizing
- Added beta support for overlay
2001-02-21 15:52:40 +00:00
Henri Fallon
910f40f93c TS Input :
- Added DemuxPSI, DecodePAT and DecodePMT. Never tested which streams
  where PAT or PMT are splitted in more than one section.
- Some TS files still don't work (matrix.ts i.e : no sound ),
  others do ... i'll have to investigate.

Todo :
- What if data get unaligned ?
- Write NetworkOpen
- Try to find why I get no sound on matrix.ts
- Support Stream and program selection.
2001-02-21 04:38:59 +00:00
Sam Hocevar
ba61d25caf * Updated version number to 0.2.62. Release tonight.
* DVD plugin is still non-functional when you don't have DVD ioctls,
   but at least it compiles under BeOS as well.
 * Minor cosmetic changes here and there.
2001-02-20 23:30:15 +00:00
Jean-Marc Dressler
fc04df0ba0 Added the BeOS code for vlc_mutex_destroy() and vlc_cond_destroy() 2001-02-20 17:08:02 +00:00
Christophe Massiot
fdcd1cca10 Minor optimizations in the video decoder. 2001-02-20 15:03:00 +00:00
Stéphane Borel
78335f88e6 Second step in area management ; everything is in place now to have
title handling; it is coming :)
2001-02-20 08:47:25 +00:00
Sam Hocevar
583c6553f6 * Ported Glide and MGA plugins to the new module API. MGA never worked,
so this didn't make it work better.
  * Started thinking about built-in modules, and added some code to
    make it easier eventually.
  * Added Oct in the AUTHORS file.
  * Fixed a mistake in configure.in.
  * All your base are belong to us.
  * Fixed a bug in src/misc/modules which prevented loading modules
    when launched from the Tracker.
  * Fixed a similar bug in src/video_output/video_text.c.
  * BeOS CSS support, thanks to Markus Kuespert <ltlBeBoy@beosmail.com>
    who ported the Linux DVD ioctls. We can now read encrypted DVDs
    under BeOS ! Woohoo.
2001-02-20 07:49:13 +00:00
Stéphane Borel
97c3185de4 First serie of changes in DVD module for the forthcoming interface menus
There is a new capability in input type modules for setting the
attributes of a new area. It is set to NULL for PS and TS plugins.
 It should be called for every title change, chapter change,
audio mode change or spu channel change.

But this part of code is not used at the moment, and is not completed
yet.
2001-02-20 02:53:13 +00:00
Christophe Massiot
33f6628a44 * mux_rate parsing ;
* Changed video decoder's error messages into warnings.
2001-02-19 19:08:59 +00:00
Sam Hocevar
d35a29fa0f * Drag and drop support under BeOS. 2001-02-19 03:46:27 +00:00
Stéphane Borel
050106567a -Change in the code to detect beginning of movie. It is much better now
but still fails with some DVD for which the movie is not the first
Program.

As a consequence some DVD that worked before don't work anymore.

-Beginning of ideas to handle chapters and ES selection
2001-02-19 03:12:26 +00:00
Sam Hocevar
e630779bd0 * Ported the framebuffer plugin to the new module API. As for most of the
other video output modules, keyboard doesn't work. Except ^C to quit.
2001-02-18 10:24:20 +00:00
Jean-Marc Dressler
b0ab70c9bf The BeOS port seems to work again.
I used this command to play an unencrypted DVD, but maybe there is a
   better solution: ./vlc dvd:/dev/disk/ide/atapi/1/master/0/raw

   Current problems: gcc doesn't like MMX-EXT instructions, and refuses
   to have register %ebx being used in the main application. Grr.

   ,-- don't trust the CVS bot, it's Sam speaking here :)
  /
2001-02-18 03:32:02 +00:00
Sam Hocevar
b2f56af994 * Fixed a segfault in the input thread creation, as well as a possible
deadlock. This happened mostly when opening non-existing files.
 * Created input_SetStatus to do input_SetRate's job. input_SetRate will
   be used to set an arbitrary rate, for people who want to read DVDs at
   1/2.71828 times the actual speed.
 * Stubs for the ncurses control interface. No working code yet, but the
   holes just need to be filled.
 * Improved X11 support. Still not as functional as before.
 * The output window now states the method name, so that people know whether
   they are using X11 or SDL.
 * The Gnome interface is now drag'n'drop aware, you can drop a file
   on it just like Xine does (or so I guess).
2001-02-16 06:37:09 +00:00
Henri Fallon
79b461542e Begining of TS Input
Done :
- fixed netlist
- embryo : support TS video trough file ( kludgy ... )

Next :
- Write DecodePSI and DemuxPSI, wich will clean the kludges off

Then :
- Write NetworkOpen ( shouldn't be difficult )

Eventually :
- Deal with lost/corrupt packets
2001-02-14 15:58:29 +00:00
Sam Hocevar
75eb696dcc * added --intf option to vlc
* started cleaning vout_sdl.c
 * the dummy plugin works again
 * added a slider to the Gnome interface so that we can browse through streams

  There is a problem with the slider: we sometimes get unexpected async
  replies, which would mean that we don't properly lock our Xlib calls.
  Which is true. But we also get these errors when using `--vout dummy'.
  I'll investigate.
2001-02-13 04:29:46 +00:00
Christophe Massiot
991b8fc1d7 * We can now seek at position 0 :p ;
* Fixed a typo in my previous commit.
2001-02-12 13:20:15 +00:00
Christophe Massiot
509d5ac442 * Tried to enhance picture dating on timebase discontinuities. 2001-02-12 11:22:31 +00:00
Sam Hocevar
3b3156e1fa . removed tests against i_rate and i_new_rate calculation from the
plugins and hid this complexity into input_ext-intf.c
2001-02-12 09:39:15 +00:00
Sam Hocevar
c3e2bf1d3b * Fixed my old stupid bug that disabled sound after having played the
first playlist item.
  * Added `Prev' and `Next' buttons to the interface, with the beginning of
    a playlist window (still empty).
  * Added `Slow' and `Fast' buttons to the interface and popup menu.

  Ok, I promise it's the last time I check bloat in, from now the interface
  commits will be much cleaner and actually fix things :)
2001-02-12 07:52:40 +00:00
Sam Hocevar
959674591f Beginning of Interface II
---------------------------

 * Plugins have completely disappeared, we now only use the new module API.
 * All intf and vout modules are now independant. So far, only the Gnome
   intf module and the SDL vout module have been ported. configure.in has
   been modified to reflect the changes (x11 and dummy aren't compiled by
   default anymore, while SDL and Gnome are).

  Note that this is _not_ Interface II, it's just a step forward. For
  instance, it lacks the whole message passing scheme.

  Things that should work:

 * Right-clicking on the SDL video output window brings the Gnome menu.
 * Pause, Play, Exit, About work from the menu or from the interface window.
 * The old SDL keys still work.

   Things that are broken or may be broken:

 * Xlib calls are not locked yet, which may lead to "Unexpected async reply"
   errors, and make the vlc segfault.
 * Sound only works for the first file.
 * The SDL vout_sdl.c file is absolutely ugly and kludgey.
 * The vlc immediately quits when no filename is given as an argument. Not
   a real bug, but still annoying.
 * The Gnome menu does not work in fullscreen mode.

   Things that will come soon, maybe tomorrow:

 * Complete navigation buttons (fast forward, slow, etc.).
 * File/Open menu to add files to the playlist.
 * Return of the X11 video output for those of us who do not have SDL.
 * Textmode interface for those of us who do not have Gnome.
 * aout and vout autospawn (maybe).
2001-02-11 01:15:12 +00:00
Stéphane Borel
6b14a375ee -Some functions to prepare ifo commands utilisation to move in the
structures of DVDs
-Change in configure to avoid compiling css functions on BSD.
2001-02-09 03:51:42 +00:00
Sam Hocevar
71f866bf43 . added comments to src/interface/intf_plst.c and include/intf_plst.h
so that people understand how the playlist works.
 . updated the TODO list (34 items to do, 41 done !)
2001-02-08 23:40:26 +00:00
Christophe Massiot
d21d510cbe * Portability : changed off64_t to off_t and activated appropriate
GNU/Linux options ;
* Changed fseek() to fseeko() for 64-bit offsets ;
* Reset frame predictors on a stream discontinuity.
2001-02-08 17:44:13 +00:00
Christophe Massiot
785049d7f6 * Implemented basic stream navigation function, and bound Jump forward
and jump Backward in the SDL intf. Enjoy !
2001-02-08 13:52:35 +00:00
Christophe Massiot
66f7daf3c2 * Pause function implemented ('p' key). 2001-02-08 13:08:03 +00:00
Sam Hocevar
03d925fdb8 . moved the playlist handling from input/input.c to interface/interface.c
. fixed a few warnings at compile-time
 . fixed sound channel selection in playlist mode
 . added a color message in the plugin bank because on peut bien d�conner
   cinq minutes, quand-m�me
 . we now spawn a new input thread for each file
 . added a missing pf_close() because it's always cool to close files
   after we read them
2001-02-08 07:24:25 +00:00
Sam Hocevar
0935df9e58 This commit is a bit early, but it'll save Stef, Henri and me much
time later, when we don't have to backport modifications to input_*.c

   What's new :
    - playlist works again (still the old wrong way like Meuuh doesn't
    like, but this is going to change within a few hours)
    - input_ps, input_ts and input_dvd are now plugins, located in
    plugins/mpeg/ and plugins/dvd/

   What's broken :
    - audio output might be broken on some streams ; have to investigate

   What has changed :
    - fast/slow keys are now A/Z instead of A/S since S was already
    linked to the scale/noscale toggle.
    - `--dvd' doesn't work anymore, for the moment try to use :
     vlc --input dvd /dev/dvd
    - module bank is now less verbose ; use `--warn 1' to turn back
    verbosity on
2001-02-08 04:43:28 +00:00
Renaud Dartus
40c292e626 We can now choose the speed of forward (between 32/1 and 1/8)
Thanks to Meuuh, he's MORTEL ;)
2001-02-08 00:46:12 +00:00
Christophe Massiot
1c518776d3 * Functional fast forward and slow motion API ;
* Dirty hack in the SDL intf to bind "a" (fAst forward), "s" (Slow motion)
and "p" (Play).
2001-02-07 17:44:52 +00:00
Christophe Massiot
ff85edc675 * Centralized clock management, preparing for stream navigation ;
* Fixed a bug in the management of the first video PTS.
2001-02-07 15:32:26 +00:00
Damien Lucas
5f6c59004c . Fixed a FIXME in SDL: p_vout->p_sys is no more used in intf_sdl.c
. Used instead p_vout->i_changes like in x11
2001-02-06 00:56:55 +00:00
Sam Hocevar
8628860b53 . version 0.2.50 for the Linux Expo
. --overlay and --fulscreen options (only work with --vout sdl)
 . the vlc exits after the end of the stream, which prevents from having
   to kill it and relaunch it during a presentation, just script it like :

      for i in ~/mpeg/* ; do vlc --fullscreen --overlay --vout sdl $i ; done


 Yes, I know the --overlay stuff is fucking ugly. But *I* am not the one
  who redefines vout_sys_t in an interface-related source file. I won't
  change it until the vout/intf is finished being rewritten.

 Additional information: if "--overlay --fulscreen" doesn't center your
  picture, try with your screen geometry, eg:
  "--overlay --fullscreen --width 1024 --height 768"
2001-01-31 03:42:39 +00:00
Sam Hocevar
9e28c5d794 . not a very nice hack, but will probably spare us a few user complaints: if
no -a option is specified, the vlc will play the first audio type it finds,
  so there is no need to specify "-a ac3" for a DVD anymore.
2001-01-30 05:48:23 +00:00
Christophe Massiot
18aaaf306c * Hooks for fast forward and slow motion support. 2001-01-24 19:05:55 +00:00
Christophe Massiot
0eddfe9ce0 * Minor bitstream optimization. 2001-01-22 18:04:10 +00:00
Stéphane Borel
419eb2fe24 *Check for the needed headers for DVD ioctls
I have only tested it on my computer ; so I don't know if it work
elsewhere, particularly on BSD and BeOS.
2001-01-22 05:20:44 +00:00
Christophe Massiot
7b3ed3ad9d * Various miscellaneous minor optimizations of the video parser. 2001-01-21 01:36:26 +00:00
Sam Hocevar
2378ce90fa . really fixed GetChunk now. 2001-01-20 13:08:33 +00:00
Sam Hocevar
234d7300aa . the infamous Saturday morning mighty one-liner patch that fixes subtitles 2001-01-20 04:19:02 +00:00
Christophe Massiot
18188c2497 * 32-bit aligned bitstream (not that fast). 2001-01-18 17:40:06 +00:00
Sam Hocevar
647cca0ebb The motion compensation routines are now modules as well ; choose your
implementation with `--motion motion', `--motion motionmmx' or
  `--motion motionmmxext'. Of course, the best implementation is chosen
  if you don't ask for any. There doesn't seem to be any performance hit
  due to the move to shared libs, which is a good thing. Please test
  actively if you have time, though.

    Updated --help result, manpage, INSTALL document, and a few files.

    I moved vdec_motion.h and vpar_blocks.h back to /include because they
  will be needed to build motion compensation modules, but perhaps we don't
  need to export everything which is in these files.

    /src/video_decoder/ now has only one .c file, perhaps it could now be
  merged with video_parser ?
2001-01-18 05:13:23 +00:00
Christophe Massiot
cf0b7cf953 * Borrowed LiViD's MMX and MMX EXT IDCT.
This might break things. Expect a performance increase.
2001-01-17 18:17:31 +00:00
Sam Hocevar
fd1220a285 . removed a few useless malloc() and unused variables in the audio SDL stuff
. prepared the work for built-in modules (not yet finished)
2001-01-17 17:25:13 +00:00
Christophe Massiot
91bf1a917f * Borrowed livid's latest libmmx and MMXEXT MC. Not in the Makefile => to
test it, replace vdec_motion_inner_mmx.c by vdec_motion_inner_mmxext.c.

I'm interested in performance feedback.
2001-01-16 17:59:23 +00:00
Sam Hocevar
ba59eb048e . a few changes in the CPU extensions detection code, borrowed from the
kernel and from mpeg2dec. I still don't know how to detect if code
   compiled with -mcpu=pentiumpro will run, since the cpuid arcanes are
   quite obtuse to me. Perhaps we should also have a way not to load modules
   if they have been compiled with a different CPU to avoid segfaults.
2001-01-16 16:09:52 +00:00
Sam Hocevar
619061c25c [ include/config.h.in has changed, don't forget tu run ./configure ]
. fixed the --aout, --idct and --yuv flags
 . updated manpage and --(long)help output to reflect that change
 . removed a few unneeded #includes here and there
 . cosmetic changes in error messages in input.c

   Currently available flags are now :

     --aout dummy
            esd
            dsp
            alsa

     --idct idct
            idctclassic
            idctmmx

     --yuv yuv
           yuvmmx

  --vout works like before, but still uses the old plugin system for now.
2001-01-16 05:04:25 +00:00
Sam Hocevar
f56c4db12e . merged the YUV plugins in the same directory to avoid too much code
duplication
 . YUV transformations now use the new module API ; now only the vout
   and interface still depend on the old plugin API
 . changed TestMMX to TestCPU because we will be able to test for other
   specific extensions (3DNow, SSE) for the forthcoming IDCT we'll
   borrow to mpeg2dec (as usual :P)
 . don't show "hiding module" messages anymore except in debug mode
 . swapped C IDCT and Classic IDCT scores since the classic one seems
   to be faster ; anyway you should use the MMX one
 . fixed a Makefile bug under BeOS
 . tried to fix the cpuid code so that it compiles under BeOS (Polux, can
   you test it when you have time ?)
2001-01-16 02:16:38 +00:00
Sam Hocevar
c0211e9a50 . fixed the bug-that-made-the-vlc-segfault-on-exit, which means that
more than ever, � le client ne segfaulte pas �.

 . there was still a problem upon quitting: sometimes the null packet
   wasn't big enough to reach a decoder breakpoint, so I now create 10
   of them (since I can't make it bigger) to be sure. Meuuh, what do
   you think ?

 . fixed the Makefile to spare a few variables here and there.

 . reduced module hide delay, removed loading of the audio output
   plugins since they are now modules.

 . changed a few intf_Msg to intf_DbgMsg, and added "vout:", "intf:",
   and so on in a few other messages.

 . removed unused includes in the idct modules.
2001-01-15 06:18:23 +00:00