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�.
. 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.
. 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
sur i_y et i_y1 en une boucle simple sur i_y... Le changement en vitesse comme
en taille est chouillatique mais neanmoins positif. Ca n'a pas d'effet sur
l'unrolling de boucle car celui-ci est effectue sur une boucle plus interne...
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
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 :)
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 ;).
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.
o 0 bug fixe
o several bugs added
o synchro is now slower than ever
Si par chance cela marchait chez vous pr�venez moi vite.
Mise � 0 du flag DEBUG pour tester la synchro dans les meilleures conditions
possibles, attention les acc�s disque du mini-server ainsi que les nombreuses
irr�gularit�s du flux peuvent perturber le client de fa�on non n�gligeable.
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,
pas trop mal marcher sur ma machine mais qui j'en suis s�r ne marchera pas du
tout sur la votre.
A noter qu'il existe maintenant 3 synchros que l'on peut choisir en changeant
le define dans vpar_synchro.h (POLUX_SYNCHRO, SAM_SYNCHRO, MEUUH_SYNCHRO)
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.
o d�but de l'�clatage de l'audio_output :
. giclage des variables *dsp* en faveur de *sys*
. aout_*GetBufInfo renvoie l_bytes pour que video_output.c ne d�pende
plus de la structure audio_buf_info sp�cifique � <linux/soundcard.h>
. cr�ation de la m�thode audio 'dummy' qui ne fait rien.
o nouvelle option --aout acceptant 'dummy' et 'dsp' pour le moment
. 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.
. *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_*)
D�sol� pour le flood. Les en-t�tes de fonctions ne font plus 81
caract�res, et il n'y a plus d'espaces inutiles, Tous les trailing
spaces ont disparu, j'ai essay� de v�rifier que �a ne p�tait rien,
mais j'ai pu oublier un truc con. J'accepte tous types de ch�timents
� base d'orties fra�ches.
D�sol� d'avoir aussi modifi� les fichiers de ceux qui formataient
bien proprement leurs en-t�tes � 80 et pas 79 sans emb�ter personne,
mais j'ai d� choisir entre les deux.
Dor�navant ce serait bien de formater les en-t�tes et les commentaires
justifi�s � droite � 79 colonnes, ou au pire � 80.
. 1343 moronic long lines destroyed
. 12893 trailing spaces eradicated
. 115 ugly macros fixed
. 959 innocent a_bit_long lines shortened
But hey, 40054 lines were OK !
. 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).
. optimisations dans la YUV 8bpp
. l'output framebuffer ne bloque plus la console
. rajout d'une fonction dans la structure vout pour allouer une palette
. r�initialisation de l'ancienne palette en quittant
bugs restant:
. pas d'allocation de palette en 8bits sous X11
. bugs du scaling en 8bits sous X11 (sans doute d� � l'alignement sur 1
octet au lieu de 2)
. l'output framebuffer est toujours p�t�e pour 16 et 32 bits
. pas de correction gamma en 8bits couleur
. c'est tout moche pendant la fraction de seconde du changement de palette
. correction d'un bug dans la g�n�ration de la palette optimale
. YUV avec dithering mortel qui tue
todo:
. x11 (�a ne marche qu'en framebuffer pour le moment)
. mettre la g�n�ration de palette dans video_yuv
. refaire marcher l'output framebuffer pour bpp!=8
. yuv 8 bits couleur (bon c'est moche pour le moment, mais �a vient)
. correction de "convertion" en "conversion" un peu partout :)
� faire encore : allouer dynamiquement la lookup table pour la YUV 8 bits,
parce que directement dans p_vout �a pue un peu, faire le changement de
palette qui va bien au passage couleur / n&b.
p_vout->i_depth est maintenant la profondeur SIGNIFICATIVE de
l'�cran (8, 15, 16 ou 24)
p_vout->i_bytes_per_pixel est la profondeur r�elle (1, 2, 3 ou 4)
Ajout du calcul des d�calages � video_output.
Refonte de l'initialisation des tables.
D�tection correcte des profondeurs 24/24 et 24/32 en X11
Correction de bugs dans le scaling en 1, 3 et 4 Bpp.
R�cup�ration des masques depuis le materiel en X11 et GGI.
FrameBuffer cass� pour le moment: il faut rajouter les masques de couleur
(des valeurs par d�faut sont au d�but de video_yuv.c) et le calcul des
nouvelles profondeurs d'�cran.
. virage d'un bug dans le calcul de bytes_per_line (sauf fumage de ma part)
. suppression de quelques #@@#@!!#@@#!@#@#! d'espaces en fin de ligne
. quelques reformatages � 79 colonnes au lieu de @@#@!!#@@#!@#@#!# 81.
- suppression des `#ifdef AC3_SIGSEGV' ;
- correction d'un bug de la fonction `InitThread()' (scotchage �
l'initialisation du d�codeur AC3 dans certaines conditions tr�s
particuli�res) ;
- support du bool�en `b_invalid' permettant de d�tecter des frames
suppos�es invalides ;
* ac3_decoder/ac3_exponent.c :
- suppression des `#ifdef AC3_SIGSEGV' ;
- d�tection des frames invalides et support du bool�en `b_invalid' ;
* ac3_decoder/ac3_mantissa.c :
- suppression des `#ifdef AC3_SIGSEGV' ;
- d�tection des frames invalides et support du bool�en `b_invalid' ;
- optimisation de la fonction `mantissa_unpack()' ;
* audio_decoder/audio_decoder.c :
- correction d'un bug de la fonction `InitThread()' (scotchage �
l'initialisation du d�codeur MPEG2 dans certaines conditions tr�s
particuli�res) ;
* include/ac3_decoder.h :
- suppression du `#define AC3_SIGSEGV' ;
* include/vpar_synchro.h :
- d�claration explicite de la fonction `vpar_SynchroKludge()' lorsque
`SAM_SYNCHRO' n'est pas activ�e ;
* interface/intf_ctrl.c :
- initialisation � `-1' des variables `i_input' et `i_pid' de la
fonction `SelectPID()' ;
* video_output/video_yuv.c :
- mise en commentaire de la fonction inutilis�e `yuvToRgb24()' ;
* video_parser/video_parser.c :
- int�gration du patch propos� dans videolan-devel ;
* video_parser/vpar_blocks.c :
- int�gration du patch propos� dans videolan-devel ;
NdlR : apu warnings � la compilation :-)