Commit Graph

78 Commits

Author SHA1 Message Date
Sam Hocevar
372813ac34 * Merged Makefile.common and Makefile.modules.in into Makefile.modules
* Updated version number and ChangeLog to 0.2.72
  * Additional plugin Makefile cleaning, probably the last.
2001-04-16 13:00:55 +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
5b51669f92 * A few Makefile fixes for BeOS
* XVideo patches by Shane Harper
2001-04-15 04:46:41 +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
Sam Hocevar
5a1ec86789 . removed Makefile -- I can't understand why it reappeared. 2001-01-25 21:57:54 +00:00
Michel Lespinasse
8153d41527 Proprification du decodeur mpeg audio, comme j'avais fait pour l'ac3 :
separation de ce qui est specifique videolan et de ce qui est generique.

Je compte encore bidouiller pas mal la partie generique, mais deja la ca
marche donc...
2000-03-12 19:05:58 +00:00
Sam Hocevar
c36d3ca686 . normalement on devrait se prendre 1 seul mail par commit gr�ce aux
top scripts de tibob.
 . suppression de Makefile
 . rajout de include/defs.h.in qui g�n�re include/defs.h

 pour g�n�rer le Makefile et defs.h il faut lancer ./configure

 pour ceux qui voudraient toucher � configure.in, "include/defs.h.in" est
g�n�r� par la commande autoheader, et "configure" est g�n�r� par autoconf
2000-03-09 10:08:50 +00:00
Sam Hocevar
e092ce6bd2 . remise du vieux Makefile en attendant celui g�n�r� par ./configure 2000-03-08 10:44:25 +00:00
Sam Hocevar
ce02beab1c ./configure puis make, et �a devrait compiler. 2000-03-08 10:33:28 +00:00
Jean-Marc Dressler
ac08ae3041 D�but du portage BeOS. Beaucoup de fuchiers ont �t� modifi� car il a fallu
r�organiser les headers pour que ce soient les headers les plus proches
du syst�me qui se retrouvent en premier (threads.h devrait toujours �tre
le premier des headers non syst�mes). J'ai du aussi rajouter un type
plugin_id_t et par la m�me occasion inclure plugins.h dans la plupart
des fichiers. Voici en vrac les modifs les plus importantes que j'ai op�r�:

o L�g�re r�organisation pour les raisons �voqu�es ci-dessus (certaines
  macros comme MIN et MAX peuvent �tre d�j� d�finies par le syst�me et
  interf�rer avec celles d�finies dans common.h ou autre)

o Dans intf_msg j'ai du remplacer les vasprintf par des vsprintf
  dans le cas o� ARCH=BEOS.

o la commande hostname du Makefile n'�tait pas compatible et je
  l'ai donc enlev�, en avons-nous besoin ? Auquel cas il suffit de
  rajouter un ifeq.

o J'ai aussi remplac�  les bzero et bcopy par memset et memmove.

o plugin.c, mtime.c et threads.h et quelques fichiers de l'input
  ont �t� adapt�s � BeOS � grand coup de #ifdef SYS_*.

TODO:

o Ecrire intf_beos.cpp, vout_beos.cpp et aout_beos.cpp

Je suis sous linux et je viens de tester le client qui marche tr�s
bien, mais il est n�anmoins possible que j'ai introduit quelques
probl�mes de compilations pour certains modules, si c'est le cas
pr�venez moi.
2000-03-04 22:33:01 +00:00
Sam Hocevar
ec9bf58ab3 - �a compile sous FreeBSD (mais �a ne tourne pas)
- les d�pendances sont cach�es dans .deps/ au lieu de deps/
 - suppression d'encore quelques #include inutiles.
 - la gestion des plugins est maintenant encapsul�e dans misc/plugin.c
  un peu comme les threads, pour faciliter le portage.
 - l�ger remaniement de l'output pour --help et --version
 - les p_ts_packet sont cast�s en (void *) pour �viter un warning sous
  certaines architectures.
 - ajout de la GPL dans un fichier COPYING
 - fichier README avec rien dedans pour le moment, � part la liste de
  toutes les personnes ayant particip� au projet. J'en ai *forc�ment*
  oubli� certains, alors si vous avez un nom, rajoutez-le. de m�me, s'il
  y a un gros con que j'ai mis par erreur dans la liste et qui n'a jamais
  rien fait pour le projet, n'h�sitez pas � le supprimer sournoisement.
 - fichier AUTHORS avec la liste des gens ayant boss� sur le client. j'ai
  mis toutes les personnes ayant fait au moins un commit, ainsi que Henri
  parce que je sais qu'il bosse sur l'audio, et HPReg, Steve et Oli parce
  qu'ils ont boss� dessus aussi. Par contre ici aussi j'ai fort probable-
  ment oubli� des gens. Corrigez !
 - r�pertoire debian/ qui servira � cr�er des packages
 - rajout d'une entr�e pour faire `make install' (pas encore parfait)
 - nom de code de la future release 0.2 : `Onatopp' :)
2000-03-04 11:52:48 +00:00
Sam Hocevar
44bcfed014 Encore un commit venu tout droit des abysses de l'enfer, d�sol� pour
le flood, c'est la derni�re fois.

  . apr�s le demoronifier, le GPLifier: il y a les ent�tes de la GPL dans
   chaque fichier ; votre mission, si vous l'acceptez, est de mettre votre
   nom dans chaque fichier qui est votre oeuvre ou auquel vous avez
   particip�, pour qu'on sache qui a fait quoi. Pas de fausse modestie,
   c'est plus pour des raisons pratiques que pour la gloire.

  . rajout de -lthreads pour que �a linke sous Hurd

  . rajout de quelques #include pour que �a compile sous FreeBSD
   (d'ailleurs �a compile mais �a ne linke pas, je ne sais pas comment
   linker avec la libpthread sur la machine de Dae)

  . quelques #ifdef SYS_BSD �� et l�.
2000-03-03 07:03:34 +00:00
Sam Hocevar
7a0afd69fd . portage des vlc_threads aux cthreads de Mach pour GNU/Hurd
. rajout de #ifdef SYS_LINUX autour du code concernant les interfaces
 . suppression de quelques #include <sys/soundcard.h> qui trainaient encore
 . option PPRO dans le Makefile (si vous avez des erreurs
    'Illegal instruction', �a venait probablement de l�)
 . rajout de quelques commentaires pour expliquer en quoi certains #include
    sont n�cessaires, aux endroits o� je ne comprenais pas, et suppression
    de #include qui semblaient inutiles.
2000-03-03 00:59:56 +00:00
Michel Lespinasse
7373cdfb77 Decoupage de vdec_motion en deux parties :
vdec_motion_inner contient le code plus ou moins bourin qui calcule les pixels
(je pense que c'est la que la majorite du temps est ecoulee, et qu'il y aurait
eventuellement un avantage a rechercher des optimisations particulieres pour
ce fichier, genre debouclage de boucles ou quelque chose du genre)

Le code dans vdec_motion contient quand a lui des tests sur le type exact
de prediction a effectuer, des calculs de pointeurs en fonction des motion
vectors, et les appels a vdec_motion_inner.

La fonction MotionComponent de vdec_motion a ete modifiee pour appeler
directement la bonne fonction de vdec_motion_inner en fonction des parametres.
La encore en raison de la gestion d'inlines faite a la compilation, pour chaque
appel les parametres i_width, i_height et b_average sont deja connus et
donc l'appel de MotionComponent devrait s'etendre a un simple switch (i_select)
et un appel de la fonction correspondante dans vdec_motion_inner.

Le code dans vdec_motion presente toujours une apparence contestable mais
je n'ai pas modifie son fonctionnement (seulement la fonction MotionComponent).
2000-02-25 02:45:09 +00:00
Sam Hocevar
5f0e921cd9 rha ! deux fichiers oubli�s. 2000-02-23 03:09:33 +00:00
Sam Hocevar
36ac163c85 Le retour du demoronifier qui n'est pas content.
. 11 moronic long lines destroyed
   . 1282 trailing spaces eradicated
   . 4 ugly macros fixed
   . 5 innocent a_bit_long lines shortened

   . 5987 tabulations transform�es en espaces
   . 153 '??' transform�s en 'XXX??' ou 'FIXME??'
    (ptyx, j'esp�re que ce compromis te convient)

   . commentaires en // corrig�s en /* */
    (je parle bien des commentaires, pas des morceaux de code
     mis en // comme les printf de debug par exemple)

Au passage :

   . version du vlc modifi�e en 0.1.99 (la release sera la 0.2.0)
   . suppression de video_x11.h
   . correction d'un warning dans intf_ctrl.c
2000-02-23 03:04:50 +00:00
Michel Lespinasse
6ec1835e87 travail sur l'ac3_decoder : debut de separation de ce qui est specifique a
videolan (ac3_decoder_thread) et de ce qui ne l'est pas. Ce n'est pas encore
ideal, la partie "videolan" fait des inits a l'interieur de la partie
"ac3"... il faudra que je fasse une belle interface pour ca.

Le probleme des includes n'est pas non plus regle, mais c'est a cause des
bit_streams :) patience.
2000-02-22 22:54:22 +00:00
Sam Hocevar
0374d3332f chargement dynamique de plugins audio/video/interface
utilisation: c'est tout con, �a marche comme avant. pour le moment
  il n'y a pas de v�rification des symboles mais �a viendra.

 seule restriction, il faut �tre dans le r�pertoire vlc quand on lance
  le client, parce que le chemin des plugins est relatif, mais �a aussi
  �a va changer.

 le Makefile devient pas tr�s beau, il faudra songer � passer � automake
2000-02-21 09:15:04 +00:00
Sam Hocevar
f8371eed12 . ajout de l'audio output pour Esound
. pas encore tr�s au point � cause d'un bug dans esd_get_latency() mais
 j'en ai besoin pour tester le chargement dynamique de plugins.
2000-02-21 04:21:52 +00:00
Michel Lespinasse
ae697f31bc Une partie de patch qui ne devrait pas etre trop controversee : j'ai juste
change les #define MACHIN_DELAY pour qu'ils soient definis en tant que
multiples de CLOCK_FREQ

:>
2000-02-21 02:19:54 +00:00
Michel Lespinasse
2dab23fc45 Yop,
Bon ben voila, j'ai commence a bouger les .h comme je voulais le faire...

C'est encore un peu le bordel et j'en suis desole. Mais je compte bien
deplacer des trucs jusqu'a ce que ca soit a nouveau bien range :)
2000-02-19 00:39:03 +00:00
Sam Hocevar
66f08a821a deux changements cosm�tiques de rien du tout et suppression d'un warning 2000-02-19 00:11:26 +00:00
Michel Lespinasse
25f0492374 Modification du decoder_fifo : le GetByte devrait etre un chouilla plus rapide,
ce qui devrait au minimum compenser la perte due a ma derniere modification.
2000-02-18 00:26:23 +00:00
Jean-Marc Dressler
2f2ce6f4d1 La plupart des causes de segfault de la video ont �t� �limin�es, les messages
d'erreur qui sont affich�s sur stderr vous donnerons une bonne id�e du nombres
d'occasions de planter qui se pr�sentent au client.

J'ai aussi remis le flag DEBUG � 1 et commenter omit-frame-pointer pour que
tout le monde puisse avoir la chance de participer � la chasse aux segfaults
avec son gdb. Les bugs report sont le bienvenu (surtout si c pour l'audio ;).
2000-02-17 22:17:35 +00:00
Michel Lespinasse
7d73d8fda7 Modification de decoder_fifo.h : le cas ou on passe d'un buffer a l'autre
lors de la lecture d'un octet n'est plus inline. Precedemment le code etait
inclus a chaque invocation de NeedBits ou GetBits...

Vu l'etat de la synchro je n'ai pas pu mesurer d'impact precis sur les fps
mais je ne m'attends pas a ce qu'il soit mesurable de toute facon : on troque
un apel de fonction contre un meilleur comportement du cache code...

Premier checkin de ma part, mais il devrait en venir d'autres.
2000-02-17 19:28:00 +00:00
Sam Hocevar
6aaf8121f3 o remise de b_stereo dans les structures audio en attendant que soit
d�finie une api pour la gestion de plus de 2 voies, qui de toute fa�on
  est loin d'�tre une priorit�. je dirais m�me qu'on s'en fout.
 o argument suppl�mentaire pour GetBufInfo() pour que la m�thode dummy
  attende un temps convenable, et correction de aout_dummy.c
 o le test sur la variable DEBUG dans config.h est maintenant conforme
  � ce que dit le Makefile.
 o suppression d'une variable inutile dans intf_fb.c
 o --long-help devient --longhelp comme dans mpg123
 o version du programme arbitrairement mise � 0.95.0
 o commentaire d'une variable inutilis�e dans Synchronize (video_output.c)
 o correction du "LIN" en "LIB" dans le Makefile, qui doit tra�ner l�
  depuis des si�cles
 o proprification de quelques routines du Makefile

le code de s�lection de m�thode audio/video est loin d'�tre propre, je
dirais m�me que c'est du gros caca, mais j'y bosse.

bonne nuit,
2000-02-17 06:07:37 +00:00
Sam Hocevar
2ebf6c0302 o renommage arbitraire et totalitaire de idctmmx.S en vdec_idctmmx.S
o correction d'une typo d�bile dans audio_output au commit pr�c�dent
 o b_stereo est remplac� par i_channels
 o suppression de la structure aout_dsp_t dont les membres d�pendant
  de l'output se retrouve dans aout_*_sys_t, et les autres directement
  dans aout_thread_t, on se fait pas chier.
2000-02-16 07:27:26 +00:00
Sam Hocevar
8e016bb0b4 . virage de cette #@!#@@#@#!@#@#!!@#@!!#@!@!!@# de d�pendance du Makefile 2000-02-16 00:35:19 +00:00
Sam Hocevar
a69f01ceec . am�lioration de la YUV 8bpp
. nettoyage du code de gestion des m�thodes vout
 . nouvelle option --vout
 . pr�paration de l'�clatage de l'audio output comme �a a �t�
  fait avec le vout.
 . nouvelle commande --long-help

La s�lection de la m�thode vout est encore plus simple. Pour s�lectionner
le framebuffer par exemple : "vlc --vout fb". Par d�faut, X11 est choisi.
2000-02-15 05:25:49 +00:00
Sam Hocevar
89a64c6143 . fix� une erreur de syntaxe dans video_fb.c
. *3dfx* devient *glide*
 . suppression de tabulations dans quelques fichiers
 . suppression des 2 warnings dans sam_synchro
 . video_* devient vout_* quand ce sont des m�thodes de vout
 . tentative de correction de la d�tection de MMX pour BeOS
 . nouvelle option vlc_vout_method (faute de mieux pour le moment)
 . modification du Makefile pour supporter plusieurs VIDEO_*

dor�navant on peut compiler plusieurs output diff�rents dans le
client. la pr�f�rence se fait dans l'ordre x11, fb, ggi, glide...

si on le compile avec x11 et fb, par d�faut il se lancera en X.
pour le lancer en framebuffer :
./vlc vlc_vout_method=fb

(il faut que je proprifie un peu le choix de l'output, et que je
facilite l'ajout d'un nouveau vout_*)
2000-02-14 08:44:59 +00:00
Sam Hocevar
ce72276454 . d�tection d'un processeur MMX.
. l'output fb remet le terminal comme il faut en sortant.
 . s�paration du flag MMX et de l'architecture dans le Makefile
2000-02-13 19:43:02 +00:00
Sam Hocevar
c139cb7082 . video output pour 3dfx.
. le premier qui se marre gagne le droit de venir voir comment ma 3dfx1
  fait l'overlay, le scaling et la YUV en hard (nan je d�conne, elle fait
  rien de tout �a, et en plus �a rame).
2000-02-09 05:50:25 +00:00
Sam Hocevar
4351c7ef81 . rajout du mode video 'dummy' pour les gens qui n'ont pas de carte
video. Le premier qui se marre se prend une claque.
2000-02-07 04:54:01 +00:00
Christophe Massiot
008db60827 Un Makefile qui est parti un peu vite... 2000-02-01 01:38:06 +00:00
Christophe Massiot
0112fd6b1a Re-tentative de sauvetage de la synchro. 2000-02-01 01:37:18 +00:00
Sam Hocevar
a57bfee7be . le d�codeur de sous-titres s'appelle maintenant spu_decoder
. auto spawn du spu_decoder (pour le moment �a chie)
2000-01-31 00:35:13 +00:00
Vincent Seguin
a2972b3c0e Nouvelle interface, effacement des zones modifi�es d'une image sur 2,
calcul de la taille optimale d'une image, scaling.

-Le scaling donne de bonnes tailles, mais les conversions YUV ne peuvent
pas suivre pour le moment.
-J'ai peut etre un peu cass� le fb et ggi (trop long � compiler pour tester).
En cas de probl�me, je corrige de suite.
-Les idle screens ("no stream") sont temporairement hors service.
2000-01-30 15:08:59 +00:00
Vincent Seguin
5b22bedfa7 Nouveau moteur de fontes. 2000-01-27 18:30:01 +00:00
Christophe Massiot
1e6848bd70 vpar_motion.c n'est plus n�cessaire d�sormais. 2000-01-26 02:57:45 +00:00
Sam Hocevar
3f579ea23e . correction d'un bug dans l'interface framebuffer
. d�but de synchro qui marchouille, mais tous mes flux merdent
2000-01-25 05:44:12 +00:00
Vincent Seguin
e6521494f4 Makefile et config. 2000-01-24 12:53:49 +00:00
Michel Kaempf
01461d5284 * audio_output/audio_output.c :
- impl�mentation de la synkro (qui punit m�chant) ;

* audio_decoder/audio_decoder.c, ac3_decoder/ac3_decoder.c :
- rajout de vlc_cond_signal() afin de pr�venir l'audio_output que de
nouveaux samples ont �t� d�cod�s ;

* Makefile :
- rajout de l'options de compilation -g ;
- utilisation du old decoder (synkro) ;

* include/config.h :
- suppression des messages de debug ;
2000-01-24 02:07:29 +00:00
Gaël Hendryckx
07f2392f6b * Activation des Sparses idct dans le video parser;
* Utilisation de la mmx pour la dct si l'architechture s'y pr�te
  (modif de Makefile et vdec_idct)
* idctmmx.S avec une forme d'appel identique a vdec_idct a ete ajoute a
  video_decoder.
2000-01-23 20:58:39 +00:00
Sam Hocevar
4dd00e658e . ajout des flags pour Linux Sparc (au fait, jimmy, t'es con :p) 2000-01-22 22:22:50 +00:00
Sam Hocevar
ee589c5962 . support framebuffer
. input clavier limit�e mais fonctionnelle
2000-01-21 11:31:01 +00:00
Michel Kaempf
f5c7fdfa54 * Makefile :
- DECODER=old et non DECODER=new ;

* include/ac3_decoder.h :
- rajout, dans la structure ac3dec_thread_t, du membre b_invalid (utilis�
pour skipper une frame ac3 invalide) ;

* ac3_decoder/ac3_decoder.c :
- rajout du support de b_invalid ;

* ac3_decoder/ac3_exponent.c :
- optimisations ;

* ac3_decoder/ac3_mantissa.c :
- d�tection d'une mantisse invalide et m�j de b_invalid ;

* audio_output/audio_output.c :
- resynkro en cas de bouclage du flux ;
2000-01-20 11:23:17 +00:00
Sam Hocevar
85ae4a075d giclage de ces putains de .old et .new qu'� chaque commit je me plante
et � chaque update aussi, alors pouf, des #ifdef �a va aussi..
2000-01-20 04:09:39 +00:00
Sam Hocevar
a28f0233e5 rajoout d'includes pour que �a compile sous FreeBSD (thx Dae) 2000-01-19 21:03:34 +00:00
Sam Hocevar
edca99283e . ultimisation des calculs de pr�diction dans la synchro
. squelette du subtitle_decoder
2000-01-19 06:00:49 +00:00