1. 31 Jul, 2002 1 commit
  2. 23 Jul, 2002 1 commit
    • Sam Hocevar's avatar
      * ALL: decoders now use a fourcc as a probe value. · 64d33dc9
      Sam Hocevar authored
        * include/input_ext-intf.h: killed p_es->b_audio, since i_cat already fills
          its purpose.
        * include/input_ext-intf.h: killed p_es->i_type in favour of p_es->i_fourcc.
        * include/video.h: killed p_pic->p_plane->b_margin; now i_visible_pitch is
          always valid.
      
        * ./src/libvlc.h: replaced --mpeg-adec and --ac3-adec with --codec; see
          vlc --help for more information.
      
        * include/video.h: removed fourcc values which should _not_ be global
          (thanks fenrir for convincing me).
        * ALL: video output plugins use the VLC_FOURCC macro to build their fourccs.
        * ./plugins/beos/InterfaceWindow.cpp: removed the last remaining call to
          input_ChangeES.
      
         Things I'm not sure about and need comments:
          - I used "mpga" and "mpgv" for MPEG (1+2) audio and video fourcc values.
          - I also introduced "spu ", "lpcm" and "ac3 ".
          - I removed for instance "MP4_GetCodec" because it wasn't really
            used except for the description string. I hope this change did not
            break anything really important.
          - fenrir, I must have broken a lot of things you wrote. Sorry in advance.
      64d33dc9
  3. 02 Jul, 2002 1 commit
  4. 11 Jun, 2002 1 commit
    • Gildas Bazin's avatar
      · cecb7e86
      Gildas Bazin authored
      * ./include/configuration.h: renamed MODULE_CONFIG_* macros into
      CONFIG_*.
      * ./include/configuration.h, ./plugins/gtk/gtk_preferences.c,
      ./plugins/filter/transform.c, ./plugins/filter/distort.c,
      ./plugins/filter/deinterlace.c: added an ADD_STRING_FROM_LIST()
      configuration macro.
      * ./include/modules.h, ./include/video_output.h,
      ./src/video_output/video_output.c, ./plugins/filters/*: added a
      VOUT_FILTER capability. Having a clear distinction between VOUTs and
      VOUT_FILTERs allows us to get rid of ugly hacks. The filters are also
      stackable now (use --filter=foo:bar:foo etc..).
      * ./include/configuration.h, ./src/libvlc.h, ./src/libvlc.c: clean-up +
      added an ADD_USAGE_HINT() configuration macro.
      cecb7e86
  5. 05 Jun, 2002 1 commit
  6. 02 Jun, 2002 1 commit
    • Sam Hocevar's avatar
      * ./src/video_output/video_output.c: fixed the "picture has invalid status" · 211d6bad
      Sam Hocevar authored
          bug which might have been the cause of crashes.
        * ./plugins/filter/crop.c: attempt at an automatic border cropping filter,
          using "--filter crop --autocrop".
        * ./vlc.spec: added missing filters to the RPM generation.
        * ./src/misc/objects.c: commented all functions.
        * ./src/misc/objects.c: implemented vlc_object_find( , , FIND_ANYWHERE).
        * ./src/misc/objects.c: renamed vlc_object_unlink to vlc_object_detach.
      211d6bad
  7. 01 Jun, 2002 2 commits
    • Sam Hocevar's avatar
    • Sam Hocevar's avatar
      * ALL: the first libvlc commit. · 9e3ab283
      Sam Hocevar authored
         As for video output 4, this breaks almost everything, but I'll slowly
        do what remains to be fixed during the weekend.
      
         Changes in vlc:
         ===============
      
        * vlc is now a very small program (20 lines) which uses the libvlc API;
         it is quite simple for the moment but can be extended in the future.
      
        * interfaces, decoders, video outputs, etc. are now almost the same
         objects (yes, I know, this is C++ redone in C) and are structured in
         a tree. More about this later, but basically it allows the following
         nice features:
          - several interfaces
          - several playlists with several outputs
          - input plugins spawning helper interfaces (will be used for DVD menus)
          - anything spawning anything; I swear there are useful uses for this!
      
        * libvlc can be used in other programs; I'm currently writing a Mozilla
         plugin for my employer.
      
         Things currently broken:
         ========================
      
        * most interfaces, most ports
        * the playlist handling (almost finished rewriting this though). This means
         no file can be played from the GUI, you need to use the commandline. This
         also means it segfaults at EOF, when exiting the program, and it sometimes
         refuses to open a file when asked to.
      9e3ab283
  8. 29 May, 2002 1 commit
  9. 28 May, 2002 1 commit
  10. 23 May, 2002 1 commit
  11. 19 May, 2002 1 commit
    • Christophe Massiot's avatar
      Mac OS X-specific : · fe95288a
      Christophe Massiot authored
      * We now use real-time threads ;
      * Worked around a bug when seeking ;
      All :
      * Removed my patch to the video output since it causes problems for some
        people.
      fe95288a
  12. 17 May, 2002 1 commit
  13. 06 May, 2002 1 commit
    • Gildas Bazin's avatar
      · 86614936
      Gildas Bazin authored
      * video plugins that don't handle rescaling themselves have to let the
        video_output thread know about resizing events (with VOUT_SIZE_CHANGE event).
        (this part needs some clean-up but it is basically working for the X11 and
         SDL plugins).
      
      * fixed fullscreen for the SDL plugin.
      
      * xmga and sdl now switch to fullscreen on double-click.
      86614936
  14. 05 May, 2002 1 commit
    • Gildas Bazin's avatar
      · 5c983d98
      Gildas Bazin authored
      * fixed the resizing and scaling of the X11 video output.
      * clicking on the video doesn't pause it anymore (use spacebar for this), but
        double-clicking will now switch between fullscreen and window mode.
      5c983d98
  15. 25 Apr, 2002 1 commit
    • Sam Hocevar's avatar
      * ./src/misc/modules_plugin.h: exported input_ClockManageRef for fenrir. · eb1ec4a4
      Sam Hocevar authored
        * ./include/video.h: moved vout_CopyPicture out of the way, an inline
          function did not make sense here.
        * ./include/video.h: moved vout_ChromaCmp out of the way.
        * ./plugins/avi/fourcc.h, ./include/video.h: merged these two files into
          video.h.
        * ./include/os_specific.h: this file is now always included.
        * ./include/debug.h: removed this file which was almost useless, and moved
          ASSERT to common.h.
        * ./include/common.h: fixed vlc_memalign and changed its prototype to
          follow posix_memalign's.
      eb1ec4a4
  16. 21 Apr, 2002 1 commit
    • Gildas Bazin's avatar
      · ce25f1e8
      Gildas Bazin authored
      * added config_GetFloatVariable() and config_PutFloatVariable() to the config
        module.
      * added a --zoom <float> config option.
      * added a call to RestoreCPUState() in InitIDCT() in idct_sparse.h so that the
        FPU is still available after a call to InitIDCT().
      * deactivate stream buffering when logging to a file.
      ce25f1e8
  17. 05 Apr, 2002 1 commit
    • Gildas Bazin's avatar
      · cf5b3832
      Gildas Bazin authored
      * introduced a memalign wrapper that will align the memory manually if
        memalign doesn't exist.
      
        void *vlc_memalign( size_t align, size_t size, void **pp_orig )
        where the return value is the aligned pointer and *pp_orig is the pointer
        that has to be freed afterwards.
      
        the arithmetic I'm doing on the pointer to align it is not portable to
        64bits architectures. If someone knows how to something portable, please
        tell me ( and no I don't want to do if(sizeof(void *) == blabla) ).
      
        Other little problem, I was planning to use posix_memalign by default in
        the wrapper implementation but it doesn't work (someone can tell me what
        I'm doing wrong ?)
      
      * re-enabled the sse plugins on win32 as we don't have anymore alignment
        issues.
      
      * fixed typo in vout_directx.c
      cf5b3832
  18. 04 Apr, 2002 1 commit
    • Sam Hocevar's avatar
      · b29f85e0
      Sam Hocevar authored
        * ./src/video_output/video_output.c: fixed a vout4 image starvation bug.
        * ./plugins/dvd/dvd.c: we look for libdvdcss.so.2 as well as -.so.1.
        * ./configure.in: BSD/OS fixes thanks to Steven M. Schultz.
        * ./Makefile: renamed the `snapshot' rule to `dist'.
        * ./Makefile: removed the `snapshot-nocss' rule which isn't needed anymore.
      b29f85e0
  19. 21 Mar, 2002 1 commit
    • Gildas Bazin's avatar
      · c6f900e1
      Gildas Bazin authored
      * the calculation for the initial video window dimensions is now done in
          video_output.c and made available into p_vout->i_window_height/width.
          This allows to get rid of duplicated code and unify the behaviour of
          the video output plugins. (not all the plugins have been modified
          because I didn't want to break anything).
      
          As a side effect, the --width and --height options are now working, you
          can even use only --width or only --height the other dimension will adapt
          automatically to the video characteristics.
          Note that you need to remove the width/height options from the config file
          or set them to -1 if you want to use the actual video size.
      c6f900e1
  20. 17 Mar, 2002 1 commit
    • Sam Hocevar's avatar
      · 4c8afc76
      Sam Hocevar authored
        * ./plugins/chroma/i420_rgb8.c: plain C 8 bpp transformation.
        * ./plugins/chroma/i420_rgb16.c: plain C 24/32 bpp transformations.
        * ./plugins/ggi/ggi.c: support for 8 bpp displays.
        * ./plugins/sdl/vout_sdl.c: support for 8 bpp displays.
        * ./plugins/x11/xcommon.c: support for 8 bpp displays.
        * ./src/video_output/video_output.c: fixed a segfault.
      4c8afc76
  21. 16 Mar, 2002 1 commit
    • Sam Hocevar's avatar
      · 2f4af9df
      Sam Hocevar authored
        * ./configure.in: more modules are plugins.
        * ./src/misc/configuration.c: changed ~/.VideoLan/vlc to ~/.videolan/vlcrc,
          and a few cosmetic changes (sorry Gildas for the butchery).
        * ./plugins/chroma/i420_rgb16.c: C version of the I420 to RV15/16 chroma.
      2f4af9df
  22. 15 Mar, 2002 1 commit
    • Sam Hocevar's avatar
      · 0d972bf5
      Sam Hocevar authored
        * ./Makefile: fixed OS X vlc.app compilation dependencies.
        * ./configure.in: fixed the endianness check under Solaris.
      
        * ./src/input/input.c: strings are now initialized to "" instead of NULL.
      
        * ./plugins/spudec/spu_decoder.c: we now properly support the subtitle
          palette information we get from the DVD. Subtitles rox !
        * ./src/video_output/vout_subpictures.c: removed all DVD-specific routines
          and put them into spu_decoder.c.
      0d972bf5
  23. 11 Mar, 2002 1 commit
    • Gildas Bazin's avatar
      · 7f583e05
      Gildas Bazin authored
      
      * New GTK configuration interface. This interface is generated dynamically
        at run-time from the configuration data contained in each plugin.
      * config_PutPszVariable and config_GetPszVariable are now thread safe.
      * Few modifications/optimizations to the config module.
      * Got rid of all the _VAR macros in config.h
      
      This is the first version of the GTK configuration interface. There are still
      a few raw corners and a fews things left to do, but it basically does what
      I wanted.
      Constructive comments like it sucks or it smells rotten fish are of course
      very welcome. And if there are GTK gurus out there, please don't hesitate to
      add your touch.
      
      I also started to add usefull comments to the configuration options but I'm not
      really good at this kind of thing so if people want to help, they can finish
      the job. For this look at all the *_LONGTEXT macros at the top of main.c
      
      (PS: Translations will also be appreciated but not right now as the interface
      will likely change again in the few coming days)
      7f583e05
  24. 03 Mar, 2002 1 commit
    • Gildas Bazin's avatar
      · ddc7a493
      Gildas Bazin authored
      
      * added network to the list of the plugins directories in Makefile
      * small bugfixes
      ddc7a493
  25. 01 Mar, 2002 1 commit
    • Christophe Massiot's avatar
      Input III (Episode 1). · d0bf23fa
      Christophe Massiot authored
      - Major rewrite of the buffer core functions
      - Modularity of access plugins (file, udp, http)
      - Modularity of network stack (ipv4, soon ipv6)
      - Autodetection of the type of stream
      
      And a new killing feature : HTTP streams are now seekable.
      
      Please note that dvd, dvdread and vcd plug-ins are broken and thus disabled.
      d0bf23fa
  26. 27 Feb, 2002 1 commit
    • Sam Hocevar's avatar
      · a701094d
      Sam Hocevar authored
        * ./plugins/dsp/aout_dsp.c: OpenBSD compilation fix.
        * ./src/video_output/video_output.c: fixed a segfault on exit.
      a701094d
  27. 24 Feb, 2002 1 commit
    • Gildas Bazin's avatar
      · c40571df
      Gildas Bazin authored
      This is the first part of the new configuration architecture for vlc.
      Two other parts will follow soon:
      - config file implementation
      - gtk configuration interface.
      
      This part won't change much for end-users as these changes are mostly
      internal, you will however notice that the command line interface has
      changed. It will maybe be less user-friendly as I almost removed the
      short options but it shouldn't a big problem when the config file is
      implemented.
      
      What as changed is that it is really easy now to add configuration
      options to vlc. Plugins can also implement configuration options. All
      you have to do is to declare a MODULE_CONFIG section in your plugin.
      If you want to know more about this look at configuration.h and for some
      example: main.c, dsp.c or xvideo.c
      
      It would be nice if every developper could now start using configuration
      options in there plugins and also enhance old plugins.
      
      That's it, now let's hope I didn't break too many things ;-)
      c40571df
  28. 19 Feb, 2002 1 commit
    • Sam Hocevar's avatar
      · 730cc399
      Sam Hocevar authored
         * Got rid of TRACE and intf_DbgMsg which were seldom used anyway.
         * All intf_*Msg functions now write to stderr.
         * Implemented a message queue interface plugins can subscribe to.
         * Wrote the logger interface plugin. Usage:
            vlc -I logger:filename.log
         * Lots of fixes in the SPU renderer.
      730cc399
  29. 18 Feb, 2002 1 commit
  30. 15 Feb, 2002 1 commit
    • Sam Hocevar's avatar
      · 48cbd8f3
      Sam Hocevar authored
        * ALL: got rid of *_Probe functions because most of them were duplicates
          of the real _Init or _Create functions. That's 1000 lines of code gained.
        * ./src/misc/modules.c: we try not to keep the global lock in module_Need,
          which should speed up output spawning.
        * ./plugins/dummy/input_dummy.c: fixed vlc:quit command.
        * ./plugins/gtk/gtk_playlist.c: compilation fix.
        * ./plugins/macosx/*: preliminary fixes for the vout4 port.
      
         Notes on the *_Probe eradication:
        o I probably broke the DirectX video output, because of the "must init and
          run in the same thread" issue. I'll fix this ASAP.
        o Subtitles are broken (or at least, pretty ugly) in RGB mode.
        o The input plugins still have *_Probe functions. This will disappear when
          meuuh is finished with the access plugins.
        o The decoder plugins still have *_Probe functions. This is probably not
          going to change, it looks OK to me.
      48cbd8f3
  31. 13 Jan, 2002 1 commit
    • Gildas Bazin's avatar
      · 0cbc9445
      Gildas Bazin authored
      * Fixed all the problems related to ToggleFullScreen().
      0cbc9445
  32. 12 Jan, 2002 1 commit
    • Sam Hocevar's avatar
      · 00ac3ff5
      Sam Hocevar authored
        * ./plugins/chroma/i420_rgb16.c: 24/32 bpp software YUV.
        * ./plugins/ggi/ggi.c: activated double buffering.
        * ./src/video_output/vout_pictures.c: we create more Xv pictures to
          get smoother rendering.
      00ac3ff5
  33. 07 Jan, 2002 1 commit
    • Sam Hocevar's avatar
      · 1e053ea0
      Sam Hocevar authored
        * ./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 :-)
      1e053ea0
  34. 05 Jan, 2002 2 commits
    • Sam Hocevar's avatar
      · 176465d2
      Sam Hocevar authored
        * ./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.
      176465d2
    • Sam Hocevar's avatar
      · aea6698d
      Sam Hocevar authored
        * ./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.
      aea6698d
  35. 04 Jan, 2002 1 commit
    • Sam Hocevar's avatar
      · 53b978f8
      Sam Hocevar authored
        * ./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.
      53b978f8
  36. 02 Jan, 2002 1 commit
    • Sam Hocevar's avatar
      · bf7ee74f
      Sam Hocevar authored
        * ./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.
      bf7ee74f
  37. 31 Dec, 2001 1 commit
    • Sam Hocevar's avatar
      · deabb8f6
      Sam Hocevar authored
        * 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'.
      deabb8f6
  38. 30 Dec, 2001 1 commit
    • Sam Hocevar's avatar
      · cc0f0bb6
      Sam Hocevar authored
      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.
      cc0f0bb6