Commit Graph

104 Commits

Author SHA1 Message Date
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 d8e44fce75 * Fixed aspect ratio handling.
* Fixed potential compilation issues under eg. BSD/OS.
2001-12-13 12:47:17 +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 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
Christophe Massiot 63e5cfb09b libmad plug-in, courtesy of Jean-Paul Saman <jpsaman@wxs.nl>. 2001-12-04 13:47:46 +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
Stéphane Borel b8ff945d3a Support for libdvdread.
Libdvdread files are in extras/libdvdread. They have not been changed from
those of libdvdread 0.9.2. The changes are in the subdirectory videolan.
They basically consist of a new function in the API that does a readv()
instead fo a read().

The library is statically linked with libdvdcss from extras/libdvdcss, and
the whole is statically linked with the plugin dvdread. Dvdread can only be
compiled as a builtin module for the time being, I think (which means I
haven't tried to compile it as a plugin).

Basically, input_dvdread.c is a copy and paste from input_dvd.c with a few
changes to use libdvdread calls. It is still in very alpha stage, but it
should offer the same features as the current DVD input.

It can be called with either the syntax: "dvdread:/dev/dvd"
or "--input dvdread /dev/dvd". The command line switches (-t, -T, -c, -u)
should work too.
2001-11-25 05:04:38 +00:00
Sam Hocevar d04d186e34 * aRts audio output courtesy of Emmanuel Blindauer <manu@agat.net>.
* Fix to the esd plugin when esd-config --cflags is nonempty.
2001-11-19 23:49:43 +00:00
Christophe Massiot fb5aad8d17 New --enable-release config option. 2001-11-06 17:12:02 +00:00
Christophe Massiot 90c9dfa900 MacOS X port : replaced -traditional-cpp (deprecated) with -no-cpp-precomp. 2001-10-09 11:46:08 +00:00
Christophe Massiot 5d011ad366 * Enhanced --with-tuning
* Fixed a nasty segfault
2001-10-03 14:41:08 +00:00
Christophe Massiot 62ba06e09f * Borrowed Mandrakesoft's vlc.spec and libdvdcss.spec ;
* New configure option --with-tuning=[arch], extending --enable-pentiumpro ;
for Pentium, use --with-tuning=pentium, for PowerPC 604 use --with-tuning=604,
and so on.
2001-10-02 13:34:56 +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 752b854eaa Fixed bugs in the MacOS X port. 2001-09-28 15:08:40 +00:00
Christophe Massiot e61bfa60ff Faster configure script and as-yet untested Darwin patches. 2001-09-28 14:17:16 +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 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 08fe80aaf8 Removed /usr/local/include, because it is unsafe in a cross-compilation
environment. If you have problems with this, tell me and we'll find an
alternate solution.
2001-08-23 13:24:38 +00:00
Gildas Bazin dec76d7ff7 - The win32 port is once again using msvcrt.dll instead of msvcrt40.dll
- Fixed a synchro bug (typo) in video_output.c
2001-08-22 21:18:43 +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 c107309f45 * Added proper Conflicts: rules in debian/control.
* configure.in fixes for BSD/OS.
2001-08-10 16:38:59 +00:00
Sam Hocevar 20ff51910f * Added BSD/OS libdvd by Steven M. Schultz <sms@TO.GD-ES.COM> in
extras/BSDI_dvdioctl after he suggested it. License is GPL.
  * ./configure now checks for an installed libdvd under BSD/OS and
    falls back to ours if not found.
  * Fixed harmless typos in yesterday's Solaris libdvd patches.
  * Bumped libdvdcss version number up to 0.0.3 ; release will probably
    follow once the BSDI changes have been tested.
2001-08-09 23:12:36 +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
Sam Hocevar 76fcb7fc4f * Changed libdvdcss API to force binary incompatibility. Yeah, this is
evil, but if we don't do it now we'll have to do it when more people
    are using it.
  * Fixed minor libdvdcss stuff such as the soname and compilation flags.
  * New --with-dvdcss flag.
    Explanation:
     o default: build libdvdcss, statically link vlc against it.
     o --with-dvdcss=no: build libdvdcss, dynamically link vlc against it.
     o --with-dvdcss=yes: don't build libdvdcss, use already installed one.
     o --with-dvdcss=/foo: don't build libdvdcss, use libdvdcss from /foo/*.
    (this looks a bit strange to me, I'll find better flag settings)
2001-07-27 01:05:17 +00:00
Christophe Massiot 332c81bba0 Now using gcc -pipe. 2001-07-26 14:53:24 +00:00
Christophe Massiot 61cd2b0a26 * QNX RTOS plug-in by Jon Lech Johansen. 2001-07-19 11:50:51 +00:00
Christophe Massiot 9727b87f36 * FreeBSD compilation fix, by �yvind Kolbu. 2001-07-19 11:42:31 +00:00
Sam Hocevar a50a0a25f5 * libdvdcss enhancements by Billy Biggs <vektor@dumbterm.net>. This breaks
vlc's DVD input (looks like decoders are expecting data too early and
    DVD input can't cope with it due to decryption). Needs to be investigated.
  * Plugins are now compiled in plugins/* and libraries in lib/*.
  * The KDE UI compiles again but does not work yet.
  * ALSA plugin message corrections.
  * Calculation modules can now be calledwith a shorter name
    (eg. '--downmix mmx' instead of '--downmix downmixmmx').
  * Fixed insane verbosity of the SDL plugin.
2001-07-11 02:01:05 +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
Sam Hocevar f58cb69a74 * Probably fixed the "X eats more and more CPU" bug. Please test.
* mingw32 cross-compilation issue fixed.
2001-07-07 17:45:29 +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 e7345b8058 * First libdvdcss version 2001-06-18 23:42:07 +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
Sam Hocevar 214396bc9f * Put most builtins in plugins again due to performances issues (more
about this in a forthcoming post here).
  * Fixed the painfully slow build process (at last!).
  * Moved the null plugin together with the dummy one.
  * Added new dummy input plugin.

   More on the dummy input plugin: we'll use it to insert commands in
  the playlist. Currently implemented are the "quit" and "pause" functions,
  here are examples on how they are used:

    vlc file.mpeg vlc:quit                # exit after file.mpeg has been read.

    vlc file1.mpeg vlc:pause:3 file2.mpeg # pause 3 seconds before playing
                                          # the next file.

   From now we can more efficiently benchmark vlc. For instance, to test
  the video output changes I am doing, I use such a command:

    time vlc -I dummy --noaudio file.mpeg vlc:quit

   Future extentions might include more interesting stuff like "switch
  to full screen", "repeat next file 3 times", "switch to SDL video
  output"...
2001-06-07 01:10:33 +00:00
Sam Hocevar 8dee1230d8 * Updated things and stuff for 0.2.80 release. 2001-06-05 04:08:06 +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 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 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
Sam Hocevar 506c5ec773 * Win32 compilation fixes, esp. the MAC retrieval. 2001-05-28 02:38:48 +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 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 5d45070cee Fixed a mistake with -g and --enable-debug. 2001-04-30 09:44:26 +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
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
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 79a45f72ac * Updated TODO list with Henri's Apr 6th post.
* Built-in modules support almost finished.

    Now you can compile any module within vlc, even the Gnome, Qt, SDL
  and GGI modules at the same time, resulting in an awful extra fat
  vlc binary with gazillons of library dependecies.

    The only exception is that the Gnome and Gtk+ modules can't be
  compiled together into vlc. But you can have one compiled built-in
  and the other as a plugin.

    Another consequence is that libdl should no longer be needed under
  MacOS X. I'll check this as soon as possible.
2001-04-15 10:54:46 +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