Portage du client sous BeOS. Il manque encore l'audio mais �a marche.
En cadeau bonux un nouvel input_file qui permet de lire les vob. Il
faur rajouter la ligne suivante dans vlc.init:
spawn-input method=10 filename=braindead
Sam Hocevar [Fri, 14 Apr 2000 04:19:51 +0000 (04:19 +0000)]
9 avril:
- r�indentation de quelques bouts de code
- les plugins vont �tre cherch�s en priorit� dans . puis ./plugins
puis dans le r�pertoire habituel
- d�but de communication entre le thread gnome et l'input
- l'interface gnome ne segfaulte plus en sortant
- le menu "Exit" fonctionne
10 avril:
- fen�tre Gnome au lieu de fen�tre Gtk
*** ATTENTION *** l'interface Gnome n'est vraiment qu'un d�but, soyez
gentils de ne pas faire de bug report si un bouton ne fonctionne pas.
- popup "About"
11 avril:
- fen�tre playlist (rien dedans encore)
- masquage du pointeur souris
- popup menu dans la fen�tre vout
- hide/show des fen�tres playlist
- les boutons "Exit" fonctionnent quel que soit le menu
12 avril:
- d�but du cassage des channels
- d�but des menus g�n�r�s en runtime
13 avril:
- ajout du target "snapshot" dans le makefile
14 avril:
- d�codage de tous les sous-titres connus
- spu_decoder.c ne segfaulte plus quand on quitte
- rajout du flag b_active dans la structure audio_decoder
- le bouton pause fonctionne
- Correction du bug de la synchro.
Le probl�me provenait d'un d�calage d'une seconde qui avait �t� rajout�
dans le calcul de la date dans audio_output.c :
p_aout->date = -1000000 + mdate() + ( (((mtime_t)(l_bytes / 4)) * 1000000)
/ ((mtime_t)p_aout->l_rate) );
C'est le -1000000 qui faisait retarder le son d'exactement une seconde.
J'aimerais bien savoir pourquoi il a �t� rajout� car peut-�tre y-a-t-il
d'autres bugs similaires qui ne sont pas visibles pour l'instant.
- Nettoyage d'une partie du code de audio_decoder_thread.c
Il est vraiment tr�s dommage que les conventions de codage ne soient pas
respect�es, si il y en a ce n'est pas pour rien. De plus le m�lange
d'espaces et de tabulations rend le code tr�s peu lisible. Je le
rappelle, nous n'utilisons que des indentations de 4 espaces et toute
tabulation est proscrite. Il serait bien de changer le reste du code
pour qu'il respecte les conventions et reste ainsi facilement lisible
par tout le monde.
Version 2 de mon tutorial sur les DCT et DFT. Les choses sont un peu plus dans
l'ordre maintenant, et il y a pas mal d'explications qui ont ete rajoutees pour
expliquer comment implementer efficacement l'algo AAN.
Si un jour j'ai le courage, j'ecris une routine DCT32 qui torchera celle de
regis, na !
Pour etre parfait il faudrait rajouter une section sur les DCT en 2 dimensions,
mais bon...
Sam Hocevar [Thu, 23 Mar 2000 06:27:35 +0000 (06:27 +0000)]
. les sous-titres sont affich�s et effac�s � l'heure
. une petite optimisation de l'affichage
. attention, config.h.in a chang�, n'oubliez pas de refaire ./configure
Sam Hocevar [Tue, 21 Mar 2000 22:36:01 +0000 (22:36 +0000)]
NEWS:
. encore un peu de parsage de sous-titres
. affichage des sous-titres.
BUGS:
. �a segfaulte toujours au moment o� on quitte, mais c'est le probl�me
habituel, �a sera r�gl�.
. pour le moment ils sont en noir et blanc, parce qu'il faut aller
chercher cette putain de palette dans les .IFO du dvd et que pour
l'instant j'ai la flemme
. les sous-titres ne sont pas affich�s comme il faut si la largeur
de l'�cran n'est pas 720.
. dimensions par d�faut mises � 720x576 (format DVD) au lieu de 640x480
pour la raison �voqu�e ci-dessus. mais �a sera r�gl� bient�t.
. pas de gestion de transparence, coordonn�es, fade in/fade out
. pas de gestion de date : le sous-titre est affich� d�s qu'il est re�u
et n'est pas effac� tant qu'on en a pas re�u un nouveau.
Sam Hocevar [Mon, 20 Mar 2000 07:50:55 +0000 (07:50 +0000)]
. suppression d'une variable inutile que j'avais laiss�e trainer
au pr�c�dent commit.
. d�but du d�codeur de sous-titres. Pour le moment il ne fait que
parser le flux comme un cochon, c'est tout.
Sam Hocevar [Mon, 20 Mar 2000 04:29:00 +0000 (04:29 +0000)]
Bon finalement puisque tout le monde dort, je l'ai fait :)
. rajout de i_pes_real_size dans la structure p_pes_packet, qui vaut 0
par d�faut, et est initialis� � la taille du payload PES annonc�e dans
le header si celle-ci est pr�sente.
. � chaque nouveau paquet TS, si i_pes_real_size == i_pes_size on envoie
directement le PES au d�codeur sans attendre le d�but du PES suivant.
. cr�ation de input_ParsePES pour y mettre le code dupliqu� de
input_DemuxPES.
Ca fait 1 test de plus par paquet TS, donc n�gligeable. Par contre si
des gens ayant boss� sur l'input ont le temps de v�rifier que je n'ai pas
fait de connerie, �a peut �tre int�ressant :)
Un petit tutorial sur les DCT et DFT... enfin non pas sur leur representation
"physique" mais plutot sur les differentes methodes de calcul utilisables.
Ca n'est pas franchement indispensable mais disons que j'ai eu du mal a trouver
de la doc sur le sujet donc je me dis que ca peut pas faire de mal de
rassembler ce qu'on a...
* support du layer 1 mono et stereo
* support du layer 2 stereo (j'ai pas encore fait le mono)
* support des low bitrates proposes par le mpeg2 (non teste)
* passage des tests de compliance mpeg :)
* moins de macros qu'avant, mais je dois encore propriser un peu le code.
Sam Hocevar [Mon, 13 Mar 2000 21:32:31 +0000 (21:32 +0000)]
. gestion de la souris sous X (essentiellement le bouton du milieu
qui cache le pointeur, tr�s pratique quand on regarde un DVD)
. rajout de 3 fichiers d'installation pour le package Debian
. correction de "usefull" et "successfull" � une dizaine d'endroits dans
le code parce que �a commen�ait � m'horripiler
. erreur de syntaxe dans la page de man.
. un peu plus de choses dans l'interface gnome, mais rien ne marche
pour le moment.
Sam Hocevar [Mon, 13 Mar 2000 04:08:10 +0000 (04:08 +0000)]
. ajout de quoi faire des packages debian :
- fichiers de contr�le pour dpkg-buildpackage
- une ic�ne de merde - que les artistes la remplacent
- page de man
. les donn�es qui ne sont pas platform-dependant sont maintenant
dans le r�pertoire share ( et plus lib )
. le client va chercher les polices dans le r�pertoire courant
et dans /usr/share/videolan/vlc/
. le message pr�c�dent �tait l'ajout du r�pertoire share/ mais
les scripts CVS semblent avoir d�conn�
J'ai retire gnome du build par defaut afin que ca ne cree pas de probleme
chez ceux qui n'ont pas les includes appropries...
Je sais que cette solution n'est pas ideale mais peut on se mettre d'accord
pour ne construire par defaut que les outputs X et dummy pour la video, et
dsp et dummy pour l'audio ?
(a la rigueur si on dit que dans le cvs on ne construit que les dummy je suis
d'accord aussi)
ou alors ca sert peut etre a rien de se mettre d'accord et ca sera regle par
le ./configure bientot ?
Sam Hocevar [Sun, 12 Mar 2000 21:04:28 +0000 (21:04 +0000)]
. suppression d'un warning pour les machines n'ayant pas usleep()
. correction d'une boulette que j'ai faite dans netutils.c
. d�but de intf_gnome. vout_gnome est une copie de vout_x11 pour l'instant
Sam Hocevar [Fri, 10 Mar 2000 00:47:17 +0000 (00:47 +0000)]
. suppression de quelques #define SYS_* (mais pas encore tous)
. include/config.h devient include/config.h.in et config.h sera
g�n�r� par ./configure. Le but est d'�viter les options -DFOO de gcc
. suppression d'un 'Resources' qui trainait encore dans config.h
Sam Hocevar [Thu, 9 Mar 2000 12:30:15 +0000 (12:30 +0000)]
. la version et le codename sont d�finis uniquement dans configure.in
. plus de #ifdef SYS_* dans threads.h, on utilise defs.h
. re-test des scripts de tibob :)
Sam Hocevar [Thu, 9 Mar 2000 10:08:50 +0000 (10:08 +0000)]
. 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
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.
Sam Hocevar [Sat, 4 Mar 2000 11:52:48 +0000 (11:52 +0000)]
- �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' :)
Sam Hocevar [Fri, 3 Mar 2000 07:03:34 +0000 (07:03 +0000)]
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)
Sam Hocevar [Fri, 3 Mar 2000 00:59:56 +0000 (00:59 +0000)]
. 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.
Separation du decodeur ac3 et de la partie specifique a videolan
Les interfaces du deco ac3 ne sont pas encore bien propres et documentees
mais ca viendra dans un second temps. Les fichiers ac3 ne dependent plus
d'includes videolan. C'est deja une bonne premiere etape.
Au niveau du bitstream compresse, l'interface avec le decodeur ac3 ne se fait
plus par le fichier decoder_fifo.h. En effet, le decodeur ac3 a besoin de
connaitre la structure exact d'un bitstream_t, donc cette interface n'etait
pas la plus propre. La nouvelle interface se compose d'une fonction
ac3_byte_stream_next (ac3_byte_stream_t * p_byte_stream) que le decodeur
ac3 appelle lorsqu'il a besoin d'un nouveau buffer de donnees compressees.
ac3_byte_stream_t est une structure comprenant les champs
u8 * p_byte (pointeur sur le debut du buffer),
u8 * p_end (pointeur sur la fin du buffer),
void * info (utilisation libre pour implementer ac3_byte_stream_next)
L'implementation actuelle de ac3_byte_stream_next () dans ac3_decoder_thread.c
fait un peu double emploi avec misc/decoder_fifo.c mais je reglerai tout ca
plus tard.
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).
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.
Modification mineure MotionComponent : changement d'une boucle imbriquee
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...
Sam Hocevar [Mon, 21 Feb 2000 09:15:04 +0000 (09:15 +0000)]
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
Sam Hocevar [Mon, 21 Feb 2000 04:21:52 +0000 (04:21 +0000)]
. 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.
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
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.
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 ;).
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.
Premier service pack de la POLUX_SYNCHRO:
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.
Sam Hocevar [Thu, 17 Feb 2000 06:07:37 +0000 (06:07 +0000)]
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.
Corrections de quelques petits bugs et surtout nouvelle synchro qui ne semble
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)
Sam Hocevar [Wed, 16 Feb 2000 07:27:26 +0000 (07:27 +0000)]
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.
Sam Hocevar [Wed, 16 Feb 2000 03:54:07 +0000 (03:54 +0000)]
o changement de nom des fonctions sp�cifiques BeOS
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
Sam Hocevar [Tue, 15 Feb 2000 05:25:49 +0000 (05:25 +0000)]
. 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.
Sam Hocevar [Mon, 14 Feb 2000 08:44:59 +0000 (08:44 +0000)]
. 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_*)
Sam Hocevar [Sun, 13 Feb 2000 19:43:02 +0000 (19:43 +0000)]
. 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
Sam Hocevar [Sun, 13 Feb 2000 04:31:35 +0000 (04:31 +0000)]
Je vous avais pr�venu. Le demoronifier a frapp�.
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 !
Sam Hocevar [Thu, 10 Feb 2000 05:57:10 +0000 (05:57 +0000)]
Juste une modif � la con dans video_output pour que le message "waiting
for stream" s'affiche d�s le lancement du vlc. En m�me temps �a me
permet de tester que la migration du CVS sur shiva a fonctionn�.
Sam Hocevar [Wed, 9 Feb 2000 05:50:25 +0000 (05:50 +0000)]
. 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).
Sam Hocevar [Tue, 8 Feb 2000 05:08:15 +0000 (05:08 +0000)]
. gestion du gamma en 8bpp grayscale
. 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
Sam Hocevar [Mon, 7 Feb 2000 05:13:22 +0000 (05:13 +0000)]
. suite de l'output 8 bits couleur/n&b
. 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
Sam Hocevar [Sun, 6 Feb 2000 15:48:53 +0000 (15:48 +0000)]
. yuv pour le 8 bits noir et blanc
. 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.
Vincent Seguin [Sun, 6 Feb 2000 13:13:10 +0000 (13:13 +0000)]
IMPORTANT:
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.
Sam Hocevar [Sat, 5 Feb 2000 01:57:36 +0000 (01:57 +0000)]
. prototypes de fonctions pour le 8bpp
. 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.
Michel Kaempf [Fri, 4 Feb 2000 22:03:32 +0000 (22:03 +0000)]
* ac3_decoder/ac3_decoder.c, audio_decoder/audio_decoder.c :
- `msleep' de `INPUT_PTS_DELAY' et non `(3 * INPUT_PTS_DELAY) / 4'
avant le d�marrage des d�codeurs audio ;
Michel Kaempf [Fri, 4 Feb 2000 20:52:16 +0000 (20:52 +0000)]
* ac3_decoder/ac3_decoder.c :
- 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 ;
Gaël Hendryckx [Tue, 1 Feb 2000 03:00:16 +0000 (03:00 +0000)]
* Fonctions addblock et copyblock en inline MMX (pour ceux qui en ont...
du MMX).
* Pour tout defaut suppos� d'affichage � la suite du changement,
mailez-moi.
Vincent Seguin [Mon, 31 Jan 2000 13:32:33 +0000 (13:32 +0000)]
Mise place du scaling, episode II
Alignement am�lior�
Effacement 'intelligent' des zones modifi�es
Correction d'une memory corruption
Structure d'acceuil pour les subpictures
ggi et fb fonctionnent (pas mieux qu'avant, mais ils compilent)
Ca rame. C'est normal, c'est la YUV en C qui est utilis�e. C'est aussi normal
parce que l'effacement, �a prends un peu de temps (et �a c'est d�finitif).
Ce n'est pas beau: normal, il n'y a que du croping pour le moment, le scaling
arrive.
Michel Kaempf [Mon, 31 Jan 2000 01:16:00 +0000 (01:16 +0000)]
IMPORTANT :
* ce commit devrait corriger les probl�mes de fermeture du vlc, commentaires
souhait�s (et obligatoires) ;
* le probl�me de la synkro initiale de l'audio devrait �tre corrig� : reports
souhait�s (et obligatoires) gr�ce aux messages "aout debug" ;
* en clair FAITES PETER UN MAIL avec vos messages "aout debug" et vos coups
de gueule/coups de coeur quant � la fermeture du vlc ;-)
* ac3_decoder/ac3_decoder.c, audio_decoder/audio_decoder.c :
- rajout d'un msleep() en d�but de fonction RunThread() afin de
contrebalancer le d�lai entre la r�ception d'un paquet TS et la
pr�sentation de son contenu (INPUT_PTS_DELAY) ;
- rajout d'un cond_signal() dans la fonction EndThread() ;
* audio_output/audio_output.c :
- activation des messages de debug ;
- r��criture de la fonction NextFrame() ;