From linkfanel at yahoo.fr Sun Apr 1 02:59:51 2012
From: linkfanel at yahoo.fr (Pierre Ynard)
Date: Sun, 1 Apr 2012 02:59:51 +0200
Subject: [vlc-devel] [vlc-commits] lua: remove add_callback and
del_callback
In-Reply-To: <2fc25c16225e0b8bb25a0432e59ece71@chewa.net>
Message-ID: <20120401005951.GA4831@via.ecp.fr>
> No. The goal of Lua was to ease maintainance of some
> non-performance-critical code. For instance, parsing playlist in C is
> hard and error-prone. Lua does this very well.
But the goal totally wasn't to foster development of new scripts by the
community. That's why we never bothered setting up a website to host
them.
> I don't particularly want developers to use it externally, precisely
> because this is going to keep breaking _and_ we, the core developers,
> have little to no visibility on external plugins. This is really just
> like Linux kernel modules or Firefox plugins. You can write them, but
> you have to expect that it will break sooner or later.
Firefox plugins are a huge asset for Firefox. So your comparison rather
speaks in favor of an external plugin ecosystem.
> If you want mashed mostly stable events, you have LibVLC.
>
> I am opposed to defining a third (or even forth if you count Skins XML
> as an API) to LibVLC, at least not until we have adequate resources to
> maintain LibVLC. IMNSHO, LibVLC is higher priority than external Lua.
I'm not 100% sure what you mean since I have trouble parsing your
sentence. But LibVLC provides VLC functionality to an application,
whereas the lua API provides functionality to VLC, so they're not quite
comparable.
Also I'm not sure that the use of LibVLC has contributed more to VLC
than the use of the lua API. Lua considerably lowers the bar for writing
code, and results in much faster contributions that add directly to VLC.
> You would need to check with upstream. You cannot prove it. Even if
> you read the code, upstream can always undo properties that it did not
> commit to.
That's FUD on your part. First result in google:
http://lua-users.org/lists/lua-l/2005-08/msg00564.html
I don't understand everything but it sure sounds like threading is taken
care of.
> And I don't think we should expose thread and locks to Lua. The point
> of introducing Lua was to make programming easy and safe...
We wouldn't. The locking would be handled by the C part of the API
layer. The semantics don't have to be complicated.
--
Pierre Ynard
"Une ?me dans un corps, c'est comme un dessin sur une feuille de papier."
From remi at remlab.net Sun Apr 1 08:55:31 2012
From: remi at remlab.net (=?iso-8859-1?q?R=E9mi?= Denis-Courmont)
Date: Sun, 1 Apr 2012 09:55:31 +0300
Subject: [vlc-devel] [vlc-commits] lua: remove add_callback and
del_callback
In-Reply-To: <20120401005951.GA4831@via.ecp.fr>
References: <20120401005951.GA4831@via.ecp.fr>
Message-ID: <201204010955.31818.remi@remlab.net>
Le dimanche 1 avril 2012 03:59:51 Pierre Ynard, vous avez ?crit :
> > No. The goal of Lua was to ease maintainance of some
> > non-performance-critical code. For instance, parsing playlist in C is
> > hard and error-prone. Lua does this very well.
>
> But the goal totally wasn't to foster development of new scripts by the
> community. That's why we never bothered setting up a website to host
> them.
>
> > I don't particularly want developers to use it externally, precisely
> > because this is going to keep breaking _and_ we, the core developers,
> > have little to no visibility on external plugins. This is really just
> > like Linux kernel modules or Firefox plugins. You can write them, but
> > you have to expect that it will break sooner or later.
>
> Firefox plugins are a huge asset for Firefox. So your comparison rather
> speaks in favor of an external plugin ecosystem.
There are also a lot of external LKMs. The point is, the interface breaks at
almost every releases, and will continue to do so. It is up to the author of
external code to keep in sync. I am not going to stop changing the core API
because of some hypothetic (or even known) extension depending on it.
> That's FUD on your part.
Plonk.
--
R?mi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis
From kaarlo.raiha at gmail.com Sun Apr 1 09:06:27 2012
From: kaarlo.raiha at gmail.com (=?ISO-8859-1?B?S2FhcmxvIFLkaWjk?=)
Date: Sun, 1 Apr 2012 10:06:27 +0300
Subject: [vlc-devel] Since VLC 1.1.11 to the last version,
impossibility to open a playlist by using the default stream field,
at VLC start-up.
In-Reply-To:
References:
Message-ID:
31. maaliskuuta 2012 21.06 Floyd Guirand kirjoitti:
> Hello,
>
> Since few days, I tried to used the new version of VLC (2.0.1), because I
> was using the 1.1.10 version, but since this change, at VLC start-up, it is
> no more possible to open my playlist by using the default stream field.
>
> I had always using this playlist and this is the error that is displayed
> with VLC 2.0.1:
> *
> Votre m?dia d'entr?e ne peut ?tre ouvert:*
>
> *VLC ne peut pas ouvrir ? c:\Users\ST35996\My Documents\My
> Music\II-F.m3u ?. V?rifiez les messages pour plus de d?tails.*
>
> I thought that maybe the problem came from my playlist name, but even if I
> change it (without the dash), the same error appears.
> I changed the extension, same result.
> I tried to re-create a playist with the name VLC version, same result.
> I uninstalled and reinstalled the player with ticking the scare "Delete
> preferences and cache", but always THE SAME RESULT. :"o(
>
> Maybe the problem comes from the windows path, with the spaces in the
> names of the folders, I really don't know.
> And what is really strange, it's that the same playlist works with the old
> version 1.1.10
>
> Is there someone who can help me, because I cannot find this problem in
> the FAQ.
>
Open Tools -> Messages (set verbosity to 2), then try to open the file
again. The message dialog will give you more info when opening fails.
>
> Thank you.
>
> My operating system and version :
> Windows XP Service Pack 3
> Intel(R) Core(TM)
> i5-2520M CPU @ 2.50GHz
> 773 MHz, 3.16Go of RAM
>
> "XPRIM"ly,
>
> Floyd a.K.a II-F
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> http://www.revenonsalamusique.com/fr/artiste-905/xprim.htm
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From david.glaude at gmail.com Sun Apr 1 10:58:52 2012
From: david.glaude at gmail.com (David Glaude)
Date: Sun, 1 Apr 2012 10:58:52 +0200
Subject: [vlc-devel] 2.0.1.1 for Windows
In-Reply-To: <4F7668E4.9010403@compdigitec.com>
References: <20120330124538.GA26574@videolan.org>
<4F7668E4.9010403@compdigitec.com>
Message-ID:
Do you really want to release on April first?
From christoph.miebach at web.de Sun Apr 1 12:06:23 2012
From: christoph.miebach at web.de (Christoph Miebach)
Date: Sun, 01 Apr 2012 12:06:23 +0200
Subject: [vlc-devel] [PATCH] current AUTHORS for git-2.0
Message-ID: <4F78289F.5030403@web.de>
Hello!
After running getting the old AUTHORS from 2.0.0 tag, running scripts,
fixing typos, adding 1 line to .mailmap and human editing, this is the
resulting file.
Done only in 2.0 git, not on master.
Regards
Christoph
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-AUTHORS-at-state-of-2.0.1-for-2.0.2-there-should-be-.patch
Type: text/x-patch
Size: 8350 bytes
Desc: not available
URL:
From christoph.miebach at web.de Sun Apr 1 12:34:59 2012
From: christoph.miebach at web.de (Christoph Miebach)
Date: Sun, 01 Apr 2012 12:34:59 +0200
Subject: [vlc-devel] current AUTHORS for git-2.0
Message-ID: <4F782F53.3010902@web.de>
I missed to errors.
This is the plain file.
-------------- next part --------------
The VideoLAN team would like to acknowledge the following contributors:
Programming
-----------
R?mi Denis-Courmont
Jean-Baptiste Kempf
Laurent Aimar
Gildas Bazin
Pierre d'Herbemont
Rafa?l Carr?
Felix Paul K?hne
R?mi Duraffort
Derk-Jan Hartman
Antoine Cellerier
Samuel Hocevar
Jean-Paul Saman
Christophe Mutricy
Cl?ment Stenac
Christophe Massiot
Ilkka Ollakka
Pierre Ynard
Damien Fouilleul
Sigmund Augdal Helberg
Erwan Tulou
Olivier Teuli?re
Cyril Deguet
Eric Petit
Filippo Carone
Rocky Bernstein
Fran?ois Cartegnie
Olivier Aubert
Jakob Leben
Benjamin Pracht
Jean-Philippe Andr?
Pavlov Konstantin
Steve Lhomme
Hugo Beauz?e-Luyssen
St?phane Borel
JP Dinger
Geoffroy Couprie
Marian ?urkovi?
Yoann Peronneau
Jon Lech Johansen
S?bastien Escudier
Dennis van Amerongen
J?r?me Decoodt
Faustino Osuna
Lo?c Minier
KO Myung-Hun
David Flynn
David Fuhrmann
Ludovic Fauvet
Mark Moriarty
Fabio Ritrovato
Tony Castley
Mirsal Ennaime
Srikanth Raju
Kaarlo Raiha
Michel Kaempf
Jean-Marc Dressler
Johan Bilien
Vincent Seguin
Martin Storsj?
Simon Latapie
Bernie Purcell
Henri Fallon
Emmanuel Puig
Sebastien Zwickert
Adrien Maglo
Denis Charmet
Renaud Dartus
Alexis de Lattre
Vincent Penquerc'h
Arnaud de Bossoreille de Ribou
Mohammed Adn?ne Trojette
Boris Dor?s
Jai Menon
Anil Daoud
Edward Wang
Pierre Baillet
Daniel Mierswa
Dominique Leuenberger
Rob Jonson
Andre Pang
Akash Mehrotra
Andr? Weber
Anthony Loiseau
Lukas Durfina
Xavier Marchesini
Cyril Math?
Juha Jeronen
Juho V?h?-Herttua
Ken Self
Dean Lee
Richard Hosking
?ric Lassauge
Alexis Ballier
Marc Ariberti
Benoit Steiner
Michel Lespinasse
Vincenzo Reale
Carlo Calabr?
Nicolas Chauvet
Cheng Sun
Fumio Nakayama
Alexey Sokolov
Basos G
Brad Smith
Mari?n Hikan?k
Micha? Trzebiatowski
Mihkel Kirjutas
Naohiro Koriyama
Philippe Morin
Vicente Jimenez Aguilar
Yuval Tze
Brendon Justin
Sidney Doria
Tobias G?ntner
Yves Duret
Gon?alo Cordeiro
Michael Hanselmann
Damien Erambert
Damien Lucas
Richard Shepherd
S?bastien Toque
Ga?l Hendryckx
Grigori Goronzy
Stephan Assmus
Adrien Grand
Colin Guthrie
David Menestrina
Dominique Martinet
Fr?d?ric Yhuel
Jason Luka
Luc Saillard
Mindaugas Baranauskas
Pankaj Yadav
Ramiro Polla
Steinar H. Gunderson
Alexander Law
Can Wu
Christophe Courtaut
Ga?tan Rousseaux
Hannes Domani
Manol Manolov
A S Alam
Antoine Lejeune
Arnaud Schauly
Branko Kokanovic
Dylan Yudaken
Florian G. Pflug
G Finch
Keary Griffin
Konstanty Bialkowski
Myckel Habets
Przemyslaw Fiala
Tanguy Krotoff
Benjamin Drung
David Kaplan
Devin Heitmueller
Eugenio Jarosiewicz
Guillaume Poussel
Justus Piater
Luca Barbato
Martin T. H. Sandsmark
Rune Botten
S?ren B?g
Toralf Niebuhr
Austin Burrow
Bill C. Riemers
Christoph Miebach
Colin Delacroix
Cristian Maglie
Elminster2031
Fabian Keil
Gabor Kelemen
Jakub Wieczorek
Khoem Sokhem
Martin Briza
Mike Houben
Romain Goyet
Aur?lien Nephtali
Barry Wardell
Ben Hutchings
Besnard Jean-Baptiste
Brian Weaver
Casian Andrei
Clement Chesnin
Eirik U. Birkeland
FUJISAWA Tooru
Jamil Ahmed
Jonathan Rosser
Joris van Rooij
Kaloyan Kovachev
Katsushi Kobayashi
Loren Merritt
Maciej Blizinski
Mark Bidewell
Michael Feurstein
Miguel Angel Cabrera Moya
Ming Hu
Niles Bindel
Otto Kek?l?inen
Pauline Castets
Scott Caudle
Simon Hailes
Xavier Martin
Adrian Yanes
Alex Converse
Alexander Bethke
Andres Krapf
Andri P?lsson
Andy Chenee
Anuradha Suraparaju
Benjamin Poulain
Brieuc Jeunhomme
Chris Clayton
Chris Smowton
Christopher Mueller
C?dric Cocquebert
Danny Wood
David K
Edouard Gomez
Emmanuel de Roux
GBX
Georgi Chorbadzhiyski
Jan Winter
Jean-Fran?ois Massol
Jean-Philippe Grimaldi
John Freed
Jon Stacey
Kai Lauterbach
Konstantin Bogdanov
Kuan-Chung Chiu
Mark Hassman
Matthias Dahl
Michael McEll
Michael Ploujnikov
Mike Schrag
Niklas Hayer
Olivier Gambier
Paul Corke
Ron Frederick
Ronald Wright
Rov Juvano
Sabourin Gilles
Sasha Koruga
Sreng Jean
Sven Petai
Thierry Reding
Tomer Barletz
Tristan Leteurtre
Wang Bo
maxime Ripard
xxcv
Adam Hoka
Adrian Knoth
Adrien Cunin
Alan Fischer
Alex Helfet
Alexandre Ferreira
Alina Friedrichsen
An L. Ber
Andreas Schlick
Andrey Makhnutin
Arnaud Vallat
Ashok Bhat
Austin English
Baptiste Coudurier
Benoit Calvez
Bj?rn Stenberg
Blake Livingston
Brandon Brooks
Brian Johnson
Brian Kurle
Chris White
Christian Masus
Christoph Seibert
Christopher Key
Christopher Rath
Claudio Ortelli
Clement Lecigne
Cl?ment Lecigne
Cody Russell
Cristian Morales Vega
Dan Rosenberg
Daniel Dreibrodt
Daniel Marth
Daniel Tisza
David Planella
Detlef Schroeder
Diego Fernando Nieto
Dominic Spitaler
Dominik 'Rathann' Mierzejewski
Edward Sheldrake
Elliot Murphy
Eren Inan Canpolat
Ernest E. Teem III
Etienne Membrives
Fargier Sylvain
Fathi Boudra
Felix Geyer
Filipe Azevedo
Florian Hubold
Frank Enderle
Fran?ois Revol
Fr?d?ric Crozat
Gaurav Narula
Georg Seifert
Gertjan Van Droogenbroeck
Gilles Chanteperdrix
Greg Farrell
Gwenole Beauchesne
G?tz Waschk
Hans-Kristian Arntzen
Harry Sintonen
Iain Wade
Ibraheem Paredath
James Bond
James Turner
Janne Kujanp??
Jarmo Torvinen
Jason Scheunemann
Jeff Lu
Jeroen Ost
Johann Ransay
Johannes Wei?l
John Hendrikx
John Stebbins
Jonas Gehring
Joseph S. Atkinson
Julien / Gellule
Julien Humbert
Kamil Baldyga
Kamil Klimek
Kelly Anderson
Kevin DuBois
Lari Natri
Lorenzo Pistone
Lucas C. Villa Real
Luk?? Lalinsk?
Mal Graty
Malte Tancred
Mark Lee
Martin P?hlmann
Marton Balint
Mathew King
Mathieu Sonet
Matthew A. Townsend
Matthias Bauer
Mika Tiainen
Mike Cardillo
Mounir Lamouri (volkmar)
Natanael Copa
Nathan Phillip Brink
Nick Briggs
Nick Pope
Peter Bak Nielsen
Phil Roffe and David Grellscheid
Pierre Souchay
P?draig Brady
R.M
Ralph Giles
Ricardo P?rez L?pez
Robert Jedrzejczyk
Robert Paciorek
Rolf Ahrenberg
Roman Pen
Ruud Althuizen
Sam Lade
Samuli Suominen
Scott Lyons
Sebastian Birk
Sergey Puzanov
Sharad Dixit
Stephan Krempel
Steven Kramer
Steven Sheehy
Sveinung Kvilhaugsvik
Sylvain Cadhillac
Theron Lewis
Thijs Alkemade
Timo Paulssen
Tomasen
Tony Vankrunkelsven
Tristan Heaven
Yannick Br?hon
Yavor Doganov
Yohann Martineau
bbcallen
dharani.prabhu.s
suheaven
wucan
???
Adam Sampson
Alexander Gall
Alex Antropoff
Alexis Guillard
Alex Izvorski
Amir Gouini
Andrea Guzzo
Andrew Flintham
Andrew Zaikin
Andy Lindsay
Arai/Fujisawa Tooru
Arkadiusz Miskiewicz
Arnaud Gomes-do-Vale
Arwed v. Merkatz
Barak Ori
Basil Achermann
Benjamin Mironer
Bill
Bob Maguire
Brian C. Wiles
Brian Raymond
Brian Robb
Carsten Gottbeh?t
Carsten Haitzler
Charles Hordis
Chris Clepper
Christian Henz
Christof Baumgaertner
Christophe Burgalat
Christopher Johnson
Cian Duffy
Colin Simmonds
Damian Ivereigh
Daniel Fischer
Daniel Str?nger
Danko Dolch
Dennis Lou
Dermot McGahon
Diego Petteno
Douglas West
Dugal Harris
Emmanuel Blindauer
Enrico Gueli
Enrique Osuna
Eren T?rkay
Eric Dudiak
Espen Skoglund
Ethan C. Baldridge
Fran?ois Seingier
Frans van Veen
Fr?d?ric Ruget
Gerald Hansink
Gisle Vanem
Glen Gray
Goetz Waschk
Gregory Hazel
Gustaf Neumann
Hang Su
Hans Lambermont
Hans-Peter Jansen
Harris Dugal
Heiko Panther
Igor Helman
Isaac Osunkunle
Jan David Mol
Jan Gerber
Jan Van Boghout
Jasper Alias
Jean-Alexis Montignies
Jean-Baptiste Le Stang
Jeffrey Baker
Jeroen Massar
J?r?me Guilbaud
Johannes Buchner
Johen Michael Zorko
Johnathan Rosser
John Dalgliesh
John Paul Lorenti
J?rg
Joseph Tulou
Julien Blache
Julien Plissonneau Duqu?ne
Julien Robert
Kenneth Ostby
Kenneth Self
Kevin H. Patterson
Koehler, Vitally
K. Staring
Lahiru Lakmal Priyadarshana
Laurent Mutricy
Leo Spalteholz
Loox Thefuture
Marc Nolette
Marco Munderloh
Mark Gritter
Markus Kern
Markus Kuespert
Martin Hamrle
Martin Kahr
Mateus Krepsky Ludwich
Mathias Kretschmer
Mats Rojestal
Matthias P. Nowak
Matthieu Lochegnies
Michael Mondragon
Michael S. Feurstein
Michel Lanners
Mickael Hoerdt
Miguel Angel Cabrera
Mikko Hirvonen
Moritz Bunkus
Nilmoni Deb
Olivier Houchard
Olivier Pomel
Ondrej Kuda aka Albert
?yvind Kolbu
Pascal Levesque
Patrick Horn
Patrick McLean
Paul Mackerras
Peter Surda
Petr Vacek
Philippe Van Hecke
Pierre-Luc Beaudoin
Pierre Marc Dumuid
R?gis Duchesne
Remco Poortinga
Rene Gollent
Rob Casey
Robson Braga Araujo
Roine Gustafsson
Roman Bednarek
Rudolf Cornelissen
Sa?o Kiselkov
Sebastian Jenny
Shane Harper
Stef?n Freyr Stef?nsson
Steve Brown
Steven M. Schultz
Tapio Hiltunen
Thomas L. Wood
Thomas M?hlgrabner
Thomas Parmelan
Tim 'O Callagha
Tim Schuerewegen
Tong Ka Man
Torsten Spindler
Udo Richter
Vincent Dimar
Vincent Penne
Vitalijus Slavinskas
Vitaly V. Bursov
Vladimir Chernyshov
Wade Majors
Wallace Wadge
Watanabe Go
William Hawkins
Xavier Maillard
Ye zhang
Yuehua Zhao
Artwork
-------
Damien Erambert
Daniel Dreibrodt, aka aLtgLasS
David Weber
Davor Orel
Dominic Spitaler
Eurodata Computer Club
Geoffrey Roussel
Joeri van Dooren
kty0ne
Max Rudberg
Richard ?iestad
Simon Damkj?r Andersen
Tom Bigelajzen
Vincent van den Heuvel
Documentation
-------------
Bill Eldridge
Localization
------------
Abdul Fousan - Tamil
A. Decorte - Friulian
Adem Gunes - Turkish
Adi Nugroho - Tagalog
airplanez - Korean
Ajith Manjula - Sinhala
Alexander Didebulidze - Georgian
Alexander Henket - Dutch
Alexander Law - Russian
Alexey Lugin - Ukrainian
Alexey Salmin - Russian
Alfred John - Acoli
Amanpreet Singh Alam - Punjabi
Andr? de Barros Martins Ribeiro - Brazilian portuguese
Andrey Brilevskiy - Russian
Andrey Wolk - Russian
Andri P?lsson - Icelandic
Anh Phan - Vietnamese
Animesh Swar - Nepalese
Ara Bextiyar - Sorani (Kurdish)
Ari Const?ncio - Portuguese
Arkadiusz Lipiec - Polish
Audrey Prevost - French
Auk Piseth - Khmer
Bayarsaikhan Enkhtaivan ?????????? ????????? - Mongolian
Bruno Queir?s - Portuguese
Bruno Vella - Italian
Carlo Calabr? - Italian
Christoph Miebach - German
Circo Radu - Romanian
Cristian Secar? - Romanian
Daniel Nylander - Swedish
David Gonz?lez - Spanish
Dean Lee - Chinese
Denis Arnaud - Breton
Derk-Jan Hartman - Dutch
DirektX - Hungarian
Dominko A?daji? - Croatian
Dylan A?ssi - French
Eduard Babayan - Armenian
Eero - Estonian
Eirik U. Birkeland - Norwegian Nynorsk
Elizabeth Da Conceicao Baptista - Tetum
?ric Lassauge - French
Farzaneh Sarafraz - Persian
Florence Tushabe - Chiga
Fouzia Bourai - Arabic
Frank Chao - Chinese Traditional
Freyr Gunnar ?lafsson - Icelandic
Friedel Wolff - Afrikaans
Fumio Nakayama - Japanese
Gabor Kelemen - Hungarian
Ga?tan Rousseaux - Walloon
Ghjuvan Pasquinu - Corsican
Goce Manevski - Macedonian
Golam Maruf Oovee - Bengali
Gon?alo Cordeiro - Galician
Gorana Milicevic - Serbian
Haakon Meland Eriksen - Norwegian
Han HoJoong - Korean
H.Shalitha Vikum - Sinhala
Ibrahima Sarr - Peul
Israt Jahan - Bengali
Iv?n Seoane Pardo - Galician
Ivo Ivanov - Bulgarian
Jakub ???ek - Czech
James Olweny - Ganda
Jamil Ahmed - Bengali
Javier Varela - Spanish
Jean-Pierre Kuypers - French
Jens Seidel - German
Joel Arvidsson - Swedish
jogijs - Latvian
Jonas Larsen - Danish
Jon St?dle - Norwegian Nynorsk
Jouni K?hk?nen - Finnish
Juha Jeronen - Finnish
Kai Hermann - German
Kamil P?ral - Czech
Kang Jeong-Hee - Korean
Kaya Zeren - Turkish
Khin Mi Mi Aung - Burmese
Khoem Sokhem - Khmer
Kola - Albanian
Kypchak Kypchak - Kazakh
Laurent Jonqueres - Occitan
Loba Yeasmeen - Bengali
Lorena Gomes - Catalan
Luqman Hakim - Indonesian
Mahrazi Mohd Kamal - Malay
Manolis Stefanis - Modern Greek
Mari?n Hikan?k - Slovak
Mario Siegmann - German
Marko Uskokovic - Serbian
Martin Zicha - Czech
Matej Urban?i? - Slovenian
Mathias C. Berens, welcome-soft - German
Mattias P?ldaru - Estonian
Md. Rezwan Shahid - Bengali
Meelad Zakaria - Persian
Micha? Trzebiatowski - Polish
Mihkel Kirjutas - Estonian
Mindaugas Baranauskas - Lithuanian
Miroslav Oujesk? - Czech
Morten Brix Pedersen - Danish
Myckel Habets - Dutch
Namhyung Kim - Korean
Niels Fan?e - Danish
Niklas 'Nille' ?kerstr?m - Swedish
Olav Dahlum - Norwegian
Oleksandr Natalenko - Ukranian
Omer Ensari - Kurmanji (Kurdish)
Osama Khalid - Arabic
Otto Kek?l?inen - Finnish
Paula Iglesias - Galician
Phan Anh - Vietnamese
Philipp Weissenbacher - German
Pittayakom Saingtong - Thai
Praveen Illa - Telugu
Predrag Ljubenovi? - Serbian
Roustam Ghizdatov - Russian
Sadia Afroz - Bengali
Said Marjan Zazai - Pashto
Salar Khalilzadeh - Persian
Sam Hocevar - British
Samuel Hocevar - French
Sean?n ? Coist?n - Irish
Sidney Doria - Brazilian Portuguese
Sigmund Augdal - Norwegian
Sipho Sibiya - Zulu
Solomon Gizaw - Amharic
Sreejith P - Malayalam
Sveinn ? Felli - Icelandic
Tadashi Jokagi - Japanese
T. Chomphuming - Thai
Tero Pelander - Finnish
Thomas De Rocker - Dutch
Thomas Graf - gettext support, German
Tom?? Chv?tal - Czech
T?ni Galhard - Occitan
V?clav Pavl??ek - Czech
Valek Filippov - Russian
Vicente Jimenez Aguilar - Spanish
Vincenzo Reale - Italian
V?t Pel??k - Czech
viyyer - Hindi
Vladimir Yermolayev - Russian
Vojt?ch Smejkal - Czech
Wei Mingzhi - Simplified Chinese
Xabier Aramendi - Basque
X?nia Alb? Cantero - Catalan
Xuacu Saturio - Asturian
Yaron Shahrabani - Hebrew
Ya?ar Tay - Turkish
Yoyo - Simplified Chinese
Yuksel Yildirim - Turkish
Zabeeh Khan - Pashto
Zhang Tong - Chinese
?????? ???????? - Belarusian
From kaarlo.raiha at gmail.com Sun Apr 1 14:12:19 2012
From: kaarlo.raiha at gmail.com (=?ISO-8859-1?B?S2FhcmxvIFLkaWjk?=)
Date: Sun, 1 Apr 2012 15:12:19 +0300
Subject: [vlc-devel] [PATCH]Add file extension .gvi aka Google video
Message-ID:
Not very popular format nowadays, but some people have quite collection of
these files.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Add-file-extension-.gvi-aka-Google-video.patch
Type: application/octet-stream
Size: 2259 bytes
Desc: not available
URL:
From christoph.miebach at web.de Sun Apr 1 18:50:17 2012
From: christoph.miebach at web.de (Christoph Miebach)
Date: Sun, 01 Apr 2012 18:50:17 +0200
Subject: [vlc-devel] [PATCH] current AUTHORS for git-2.0
Message-ID: <4F788749.1000004@web.de>
Hello!
Previous version is obsolete. Attached a complete AUTHORS for the 2.0
git version. Fixed my two stupid errors and added Simos as greek
translator based on today's ealier version.
Regards
Christoph
-------------- next part --------------
The VideoLAN team would like to acknowledge the following contributors:
Programming
-----------
R?mi Denis-Courmont
Jean-Baptiste Kempf
Laurent Aimar
Gildas Bazin
Pierre d'Herbemont
Rafa?l Carr?
Felix Paul K?hne
R?mi Duraffort
Derk-Jan Hartman
Antoine Cellerier
Samuel Hocevar
Jean-Paul Saman
Christophe Mutricy
Cl?ment Stenac
Christophe Massiot
Ilkka Ollakka
Pierre Ynard
Damien Fouilleul
Sigmund Augdal Helberg
Erwan Tulou
Olivier Teuli?re
Cyril Deguet
Eric Petit
Filippo Carone
Rocky Bernstein
Fran?ois Cartegnie
Olivier Aubert
Jakob Leben
Benjamin Pracht
Jean-Philippe Andr?
Pavlov Konstantin
Steve Lhomme
Hugo Beauz?e-Luyssen
St?phane Borel
JP Dinger
Geoffroy Couprie
Marian ?urkovi?
Yoann Peronneau
Jon Lech Johansen
S?bastien Escudier
Dennis van Amerongen
J?r?me Decoodt
Faustino Osuna
Lo?c Minier
KO Myung-Hun
David Flynn
David Fuhrmann
Ludovic Fauvet
Mark Moriarty
Fabio Ritrovato
Tony Castley
Mirsal Ennaime
Srikanth Raju
Kaarlo Raiha
Michel Kaempf
Jean-Marc Dressler
Johan Bilien
Vincent Seguin
Martin Storsj?
Simon Latapie
Bernie Purcell
Henri Fallon
Emmanuel Puig
Sebastien Zwickert
Adrien Maglo
Denis Charmet
Renaud Dartus
Alexis de Lattre
Vincent Penquerc'h
Arnaud de Bossoreille de Ribou
Mohammed Adn?ne Trojette
Boris Dor?s
Jai Menon
Anil Daoud
Edward Wang
Pierre Baillet
Daniel Mierswa
Dominique Leuenberger
Rob Jonson
Andre Pang
Akash Mehrotra
Andr? Weber
Anthony Loiseau
Lukas Durfina
Xavier Marchesini
Cyril Math?
Juha Jeronen
Juho V?h?-Herttua
Ken Self
Dean Lee
Richard Hosking
?ric Lassauge
Alexis Ballier
Marc Ariberti
Benoit Steiner
Michel Lespinasse
Vincenzo Reale
Carlo Calabr?
Nicolas Chauvet
Cheng Sun
Fumio Nakayama
Alexey Sokolov
Basos G
Brad Smith
Mari?n Hikan?k
Micha? Trzebiatowski
Mihkel Kirjutas
Naohiro Koriyama
Philippe Morin
Vicente Jimenez Aguilar
Yuval Tze
Brendon Justin
Sidney Doria
Tobias G?ntner
Yves Duret
Gon?alo Cordeiro
Michael Hanselmann
Damien Erambert
Damien Lucas
Richard Shepherd
S?bastien Toque
Ga?l Hendryckx
Grigori Goronzy
Stephan Assmus
Adrien Grand
Colin Guthrie
David Menestrina
Dominique Martinet
Fr?d?ric Yhuel
Jason Luka
Luc Saillard
Mindaugas Baranauskas
Pankaj Yadav
Ramiro Polla
Steinar H. Gunderson
Alexander Law
Can Wu
Christophe Courtaut
Ga?tan Rousseaux
Hannes Domani
Manol Manolov
A S Alam
Antoine Lejeune
Arnaud Schauly
Branko Kokanovic
Dylan Yudaken
Florian G. Pflug
G Finch
Keary Griffin
Konstanty Bialkowski
Myckel Habets
Przemyslaw Fiala
Tanguy Krotoff
Benjamin Drung
David Kaplan
Devin Heitmueller
Eugenio Jarosiewicz
Guillaume Poussel
Justus Piater
Luca Barbato
Martin T. H. Sandsmark
Rune Botten
S?ren B?g
Toralf Niebuhr
Austin Burrow
Bill C. Riemers
Christoph Miebach
Colin Delacroix
Cristian Maglie
Elminster2031
Fabian Keil
Gabor Kelemen
Jakub Wieczorek
Khoem Sokhem
Martin Briza
Mike Houben
Romain Goyet
Aur?lien Nephtali
Barry Wardell
Ben Hutchings
Besnard Jean-Baptiste
Brian Weaver
Casian Andrei
Clement Chesnin
Eirik U. Birkeland
FUJISAWA Tooru
Jamil Ahmed
Jonathan Rosser
Joris van Rooij
Kaloyan Kovachev
Katsushi Kobayashi
Loren Merritt
Maciej Blizinski
Mark Bidewell
Michael Feurstein
Miguel Angel Cabrera Moya
Ming Hu
Niles Bindel
Otto Kek?l?inen
Pauline Castets
Scott Caudle
Simon Hailes
Xavier Martin
Adrian Yanes
Alex Converse
Alexander Bethke
Andres Krapf
Andri P?lsson
Andy Chenee
Anuradha Suraparaju
Benjamin Poulain
Brieuc Jeunhomme
Chris Clayton
Chris Smowton
Christopher Mueller
C?dric Cocquebert
Danny Wood
David K
Edouard Gomez
Emmanuel de Roux
GBX
Georgi Chorbadzhiyski
Jan Winter
Jean-Fran?ois Massol
Jean-Philippe Grimaldi
John Freed
Jon Stacey
Kai Lauterbach
Konstantin Bogdanov
Kuan-Chung Chiu
Mark Hassman
Matthias Dahl
Michael McEll
Michael Ploujnikov
Mike Schrag
Niklas Hayer
Olivier Gambier
Paul Corke
Ron Frederick
Ronald Wright
Rov Juvano
Sabourin Gilles
Sasha Koruga
Sreng Jean
Sven Petai
Thierry Reding
Tomer Barletz
Tristan Leteurtre
Wang Bo
maxime Ripard
xxcv
Adam Hoka
Adrian Knoth
Adrien Cunin
Alan Fischer
Alex Helfet
Alexandre Ferreira
Alina Friedrichsen
An L. Ber
Andreas Schlick
Andrey Makhnutin
Arnaud Vallat
Ashok Bhat
Austin English
Baptiste Coudurier
Benoit Calvez
Bj?rn Stenberg
Blake Livingston
Brandon Brooks
Brian Johnson
Brian Kurle
Chris White
Christian Masus
Christoph Seibert
Christopher Key
Christopher Rath
Claudio Ortelli
Clement Lecigne
Cl?ment Lecigne
Cody Russell
Cristian Morales Vega
Dan Rosenberg
Daniel Dreibrodt
Daniel Marth
Daniel Tisza
David Planella
Detlef Schroeder
Diego Fernando Nieto
Dominic Spitaler
Dominik 'Rathann' Mierzejewski
Edward Sheldrake
Elliot Murphy
Eren Inan Canpolat
Ernest E. Teem III
Etienne Membrives
Fargier Sylvain
Fathi Boudra
Felix Geyer
Filipe Azevedo
Florian Hubold
Frank Enderle
Fran?ois Revol
Fr?d?ric Crozat
Gaurav Narula
Georg Seifert
Gertjan Van Droogenbroeck
Gilles Chanteperdrix
Greg Farrell
Gwenole Beauchesne
G?tz Waschk
Hans-Kristian Arntzen
Harry Sintonen
Iain Wade
Ibraheem Paredath
James Bond
James Turner
Janne Kujanp??
Jarmo Torvinen
Jason Scheunemann
Jeff Lu
Jeroen Ost
Johann Ransay
Johannes Wei?l
John Hendrikx
John Stebbins
Jonas Gehring
Joseph S. Atkinson
Julien / Gellule
Julien Humbert
Kamil Baldyga
Kamil Klimek
Kelly Anderson
Kevin DuBois
Lari Natri
Lorenzo Pistone
Lucas C. Villa Real
Luk?? Lalinsk?
Mal Graty
Malte Tancred
Mark Lee
Martin P?hlmann
Marton Balint
Mathew King
Mathieu Sonet
Matthew A. Townsend
Matthias Bauer
Mika Tiainen
Mike Cardillo
Mounir Lamouri (volkmar)
Natanael Copa
Nathan Phillip Brink
Nick Briggs
Nick Pope
Peter Bak Nielsen
Phil Roffe and David Grellscheid
Pierre Souchay
P?draig Brady
R.M
Ralph Giles
Ricardo P?rez L?pez
Robert Jedrzejczyk
Robert Paciorek
Rolf Ahrenberg
Roman Pen
Ruud Althuizen
Sam Lade
Samuli Suominen
Scott Lyons
Sebastian Birk
Sergey Puzanov
Sharad Dixit
Stephan Krempel
Steven Kramer
Steven Sheehy
Sveinung Kvilhaugsvik
Sylvain Cadhillac
Theron Lewis
Thijs Alkemade
Timo Paulssen
Tomasen
Tony Vankrunkelsven
Tristan Heaven
Yannick Br?hon
Yavor Doganov
Yohann Martineau
bbcallen
dharani.prabhu.s
suheaven
wucan
???
Adam Sampson
Alexander Gall
Alex Antropoff
Alexis Guillard
Alex Izvorski
Amir Gouini
Andrea Guzzo
Andrew Flintham
Andrew Zaikin
Andy Lindsay
Arai/Fujisawa Tooru
Arkadiusz Miskiewicz
Arnaud Gomes-do-Vale
Arwed v. Merkatz
Barak Ori
Basil Achermann
Benjamin Mironer
Bill
Bob Maguire
Brian C. Wiles
Brian Raymond
Brian Robb
Carsten Gottbeh?t
Carsten Haitzler
Charles Hordis
Chris Clepper
Christian Henz
Christof Baumgaertner
Christophe Burgalat
Christopher Johnson
Cian Duffy
Colin Simmonds
Damian Ivereigh
Daniel Fischer
Daniel Str?nger
Danko Dolch
Dennis Lou
Dermot McGahon
Diego Petteno
Douglas West
Dugal Harris
Emmanuel Blindauer
Enrico Gueli
Enrique Osuna
Eren T?rkay
Eric Dudiak
Espen Skoglund
Ethan C. Baldridge
Fran?ois Seingier
Frans van Veen
Fr?d?ric Ruget
Gerald Hansink
Gisle Vanem
Glen Gray
Goetz Waschk
Gregory Hazel
Gustaf Neumann
Hang Su
Hans Lambermont
Hans-Peter Jansen
Harris Dugal
Heiko Panther
Igor Helman
Isaac Osunkunle
Jan David Mol
Jan Gerber
Jan Van Boghout
Jasper Alias
Jean-Alexis Montignies
Jean-Baptiste Le Stang
Jeffrey Baker
Jeroen Massar
J?r?me Guilbaud
Johannes Buchner
Johen Michael Zorko
Johnathan Rosser
John Dalgliesh
John Paul Lorenti
J?rg
Joseph Tulou
Julien Blache
Julien Plissonneau Duqu?ne
Julien Robert
Kenneth Ostby
Kenneth Self
Kevin H. Patterson
Koehler, Vitally
K. Staring
Lahiru Lakmal Priyadarshana
Laurent Mutricy
Leo Spalteholz
Loox Thefuture
Marc Nolette
Marco Munderloh
Mark Gritter
Markus Kern
Markus Kuespert
Martin Hamrle
Martin Kahr
Mateus Krepsky Ludwich
Mathias Kretschmer
Mats Rojestal
Matthias P. Nowak
Matthieu Lochegnies
Michael Mondragon
Michael S. Feurstein
Michel Lanners
Mickael Hoerdt
Miguel Angel Cabrera
Mikko Hirvonen
Moritz Bunkus
Nilmoni Deb
Olivier Houchard
Olivier Pomel
Ondrej Kuda aka Albert
?yvind Kolbu
Pascal Levesque
Patrick Horn
Patrick McLean
Paul Mackerras
Peter Surda
Petr Vacek
Philippe Van Hecke
Pierre-Luc Beaudoin
Pierre Marc Dumuid
R?gis Duchesne
Remco Poortinga
Rene Gollent
Rob Casey
Robson Braga Araujo
Roine Gustafsson
Roman Bednarek
Rudolf Cornelissen
Sa?o Kiselkov
Sebastian Jenny
Shane Harper
Stef?n Freyr Stef?nsson
Steve Brown
Steven M. Schultz
Tapio Hiltunen
Thomas L. Wood
Thomas M?hlgrabner
Thomas Parmelan
Tim 'O Callagha
Tim Schuerewegen
Tong Ka Man
Torsten Spindler
Udo Richter
Vincent Dimar
Vincent Penne
Vitalijus Slavinskas
Vitaly V. Bursov
Vladimir Chernyshov
Wade Majors
Wallace Wadge
Watanabe Go
William Hawkins
Xavier Maillard
Ye zhang
Yuehua Zhao
Artwork
-------
Damien Erambert
Daniel Dreibrodt, aka aLtgLasS
David Weber
Davor Orel
Dominic Spitaler
Eurodata Computer Club
Geoffrey Roussel
Joeri van Dooren
kty0ne
Max Rudberg
Richard ?iestad
Simon Damkj?r Andersen
Tom Bigelajzen
Vincent van den Heuvel
Documentation
-------------
Bill Eldridge
Localization
------------
Abdul Fousan - Tamil
A. Decorte - Friulian
Adem Gunes - Turkish
Adi Nugroho - Tagalog
airplanez - Korean
Ajith Manjula - Sinhala
Alexander Didebulidze - Georgian
Alexander Henket - Dutch
Alexander Law - Russian
Alexey Lugin - Ukrainian
Alexey Salmin - Russian
Alfred John - Acoli
Amanpreet Singh Alam - Punjabi
Andr? de Barros Martins Ribeiro - Brazilian portuguese
Andrey Brilevskiy - Russian
Andrey Wolk - Russian
Andri P?lsson - Icelandic
Anh Phan - Vietnamese
Animesh Swar - Nepalese
Ara Bextiyar - Sorani (Kurdish)
Ari Const?ncio - Portuguese
Arkadiusz Lipiec - Polish
Audrey Prevost - French
Auk Piseth - Khmer
Bayarsaikhan Enkhtaivan ?????????? ????????? - Mongolian
Bruno Queir?s - Portuguese
Bruno Vella - Italian
Carlo Calabr? - Italian
Christoph Miebach - German
Circo Radu - Romanian
Cristian Secar? - Romanian
Daniel Nylander - Swedish
David Gonz?lez - Spanish
Dean Lee - Chinese
Denis Arnaud - Breton
Derk-Jan Hartman - Dutch
DirektX - Hungarian
Dominko A?daji? - Croatian
Dylan A?ssi - French
Eduard Babayan - Armenian
Eero - Estonian
Eirik U. Birkeland - Norwegian Nynorsk
Elizabeth Da Conceicao Baptista - Tetum
?ric Lassauge - French
Farzaneh Sarafraz - Persian
Florence Tushabe - Chiga
Fouzia Bourai - Arabic
Frank Chao - Chinese Traditional
Freyr Gunnar ?lafsson - Icelandic
Friedel Wolff - Afrikaans
Fumio Nakayama - Japanese
Gabor Kelemen - Hungarian
Ga?tan Rousseaux - Walloon
Ghjuvan Pasquinu - Corsican
Goce Manevski - Macedonian
Golam Maruf Oovee - Bengali
Gon?alo Cordeiro - Galician
Gorana Milicevic - Serbian
Haakon Meland Eriksen - Norwegian
Han HoJoong - Korean
H.Shalitha Vikum - Sinhala
Ibrahima Sarr - Peul
Israt Jahan - Bengali
Iv?n Seoane Pardo - Galician
Ivo Ivanov - Bulgarian
Jakub ???ek - Czech
James Olweny - Ganda
Jamil Ahmed - Bengali
Javier Varela - Spanish
Jean-Pierre Kuypers - French
Jens Seidel - German
Joel Arvidsson - Swedish
jogijs - Latvian
Jonas Larsen - Danish
Jon St?dle - Norwegian Nynorsk
Jouni K?hk?nen - Finnish
Juha Jeronen - Finnish
Kai Hermann - German
Kamil P?ral - Czech
Kang Jeong-Hee - Korean
Kaya Zeren - Turkish
Khin Mi Mi Aung - Burmese
Khoem Sokhem - Khmer
Kola - Albanian
Kypchak Kypchak - Kazakh
Laurent Jonqueres - Occitan
Loba Yeasmeen - Bengali
Lorena Gomes - Catalan
Luqman Hakim - Indonesian
Mahrazi Mohd Kamal - Malay
Manolis Stefanis - Modern Greek
Mari?n Hikan?k - Slovak
Mario Siegmann - German
Marko Uskokovic - Serbian
Martin Zicha - Czech
Matej Urban?i? - Slovenian
Mathias C. Berens, welcome-soft - German
Mattias P?ldaru - Estonian
Md. Rezwan Shahid - Bengali
Meelad Zakaria - Persian
Micha? Trzebiatowski - Polish
Mihkel Kirjutas - Estonian
Mindaugas Baranauskas - Lithuanian
Miroslav Oujesk? - Czech
Morten Brix Pedersen - Danish
Myckel Habets - Dutch
Namhyung Kim - Korean
Niels Fan?e - Danish
Niklas 'Nille' ?kerstr?m - Swedish
Olav Dahlum - Norwegian
Oleksandr Natalenko - Ukranian
Omer Ensari - Kurmanji (Kurdish)
Osama Khalid - Arabic
Otto Kek?l?inen - Finnish
Paula Iglesias - Galician
Phan Anh - Vietnamese
Philipp Weissenbacher - German
Pittayakom Saingtong - Thai
Praveen Illa - Telugu
Predrag Ljubenovi? - Serbian
Roustam Ghizdatov - Russian
Sadia Afroz - Bengali
Said Marjan Zazai - Pashto
Salar Khalilzadeh - Persian
Sam Hocevar - British
Samuel Hocevar - French
Sean?n ? Coist?n - Irish
Sidney Doria - Brazilian Portuguese
Sigmund Augdal - Norwegian
Simos Xenitellis - Greek
Sipho Sibiya - Zulu
Solomon Gizaw - Amharic
Sreejith P - Malayalam
Sveinn ? Felli - Icelandic
Tadashi Jokagi - Japanese
T. Chomphuming - Thai
Tero Pelander - Finnish
Thomas De Rocker - Dutch
Thomas Graf - gettext support, German
Tom?? Chv?tal - Czech
T?ni Galhard - Occitan
V?clav Pavl??ek - Czech
Valek Filippov - Russian
Vicente Jimenez Aguilar - Spanish
Vincenzo Reale - Italian
V?t Pel??k - Czech
viyyer - Hindi
Vladimir Yermolayev - Russian
Vojt?ch Smejkal - Czech
Wei Mingzhi - Simplified Chinese
Xabier Aramendi - Basque
X?nia Alb? Cantero - Catalan
Xuacu Saturio - Asturian
Yaron Shahrabani - Hebrew
Ya?ar Tay - Turkish
Yoyo - Simplified Chinese
Yuksel Yildirim - Turkish
Zabeeh Khan - Pashto
Zhang Tong - Chinese
?????? ???????? - Belarusian
From funman at videolan.org Sun Apr 1 16:58:58 2012
From: funman at videolan.org (=?ISO-8859-1?Q?Rafa=EBl_Carr=E9?=)
Date: Sun, 01 Apr 2012 10:58:58 -0400
Subject: [vlc-devel] [vlc-commits] Fix AAC encoding with ffaac
In-Reply-To: <20120401100703.4657F1457E4@albiero.videolan.org>
References: <20120401100703.4657F1457E4@albiero.videolan.org>
Message-ID: <4F786D32.8030901@videolan.org>
Le 2012-04-01 06:07, Jean-Baptiste Kempf a ?crit :
> vlc | branch: master | Jean-Baptiste Kempf | Sun Apr 1 10:58:37 2012 +0200| [8585706f5060212845c00ab9bca43c4a3ea17ec0] | committer: Jean-Baptiste Kempf
>
> Fix AAC encoding with ffaac
>
> Should close #6483
>
>> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=8585706f5060212845c00ab9bca43c4a3ea17ec0
> ---
>
> modules/codec/avcodec/encoder.c | 2 ++
> 1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/modules/codec/avcodec/encoder.c b/modules/codec/avcodec/encoder.c
> index 9bd8619..0724329 100644
> --- a/modules/codec/avcodec/encoder.c
> +++ b/modules/codec/avcodec/encoder.c
> @@ -382,6 +382,8 @@ int OpenEncoder( vlc_object_t *p_this )
> p_sys->b_trellis = var_GetBool( p_enc, ENC_CFG_PREFIX "trellis" );
>
> p_context->strict_std_compliance = var_GetInteger( p_enc, ENC_CFG_PREFIX "strict" );
> + if( i_codec_id == CODEC_ID_AAC )
> + p_context->strict_std_compliance = -2;
Since this codec is experimental, I think we should rather display a
message and let the user set this flag himself.
From jb at videolan.org Sun Apr 1 21:23:32 2012
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Sun, 1 Apr 2012 21:23:32 +0200
Subject: [vlc-devel] [vlc-commits] Fix AAC encoding with ffaac
In-Reply-To: <4F786D32.8030901@videolan.org>
References: <20120401100703.4657F1457E4@albiero.videolan.org>
<4F786D32.8030901@videolan.org>
Message-ID: <20120401192332.GA21196@videolan.org>
On Sun, Apr 01, 2012 at 10:58:58AM -0400, Rafa?l Carr? wrote :
> Since this codec is experimental, I think we should rather display a
> message and let the user set this flag himself.
I disagree.
AAC is a major codec and ffaac is the best we have.
--
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device
From david.fuhrmann at googlemail.com Sun Apr 1 21:26:18 2012
From: david.fuhrmann at googlemail.com (David Fuhrmann)
Date: Sun, 1 Apr 2012 21:26:18 +0200
Subject: [vlc-devel] [vlc-commits] macosx: change main window and
playlist shortcuts from cmd+shift+* to cmd+alt+*
In-Reply-To: <5CEF9917-7203-4299-BE32-45078D708D8D@googlemail.com>
References: <20120327103243.1942E14605F@albiero.videolan.org>
<8E4F02B2-F55E-43EF-801F-A2E8A665A96E@gmail.com>
<70949384-2636-4959-819D-3C238321F67F@googlemail.com>
<3DD9F5B0-AE21-4457-94EC-C9CC77D405D2@gmail.com>
<5CEF9917-7203-4299-BE32-45078D708D8D@googlemail.com>
Message-ID: <9A71A956-D714-41A1-92BC-C2D57A3FB37B@googlemail.com>
Am 30.03.2012 um 20:36 schrieb David Fuhrmann:
>
> Am 27.03.2012 um 14:45 schrieb Felix Paul K?hne:
>
>>
>> On 27.03.2012, at 14:20, David Fuhrmann wrote:
>>
>>> Am 27.03.2012 um 12:44 schrieb Felix Paul K?hne:
>>>
>>>>
>>>> On 27.03.2012, at 12:32, David Fuhrmann wrote:
>>>>
>>>>> vlc | branch: master | David Fuhrmann | Tue Mar 27 12:28:54 2012 +0200| [75e2c92978fed3e95d35a73fdfff42933fb119e6] | committer: David Fuhrmann
>>>>>
>>>>> macosx: change main window and playlist shortcuts from cmd+shift+* to cmd+alt+*
>>>>>
>>>>> We should not use shift, because this triggers the slow motion maximize animation feature,
>>>>> at least on lion.
>>>>
>>>> Sorry, but this is wrong. The shortcut keys work flawlessly for me on Lion and there wasn't a single report that they weren't. Additionally, these shortcuts stayed the same since the introduction of the playlist to the Mac GUI in the 0.5 series, so we shouldn't change these without prior discussion.
>>>
>>> OK, lets explain more what is the problem on my machine: Lets minimize the main window, and while VLC is still active press Cmd+Shift+C. This brings up the main window again, but with this slow animation.
>>>
>>> I can reproduce the same behavior with VLC 1.1.12 on my Lion machine.
>>> Do you have any idea why this could be only occur on my machine and not on others?
>>
>> No, honestly, I never tried this behavior till today and was able to reproduce this now. There should be a better fix. I'll investigate tonight.
>
> Hey Felix,
>
> Have you found a better solution for that problem? I have not found any useful tip in the internet. Furthermore I could not detect other applications which use some shortcut with shift for the same functionality.
>
> Unless we find a better solution, I would backport my change, because I think that a different shortcut is better than a shortcut which produces this slow motion every time.
>
> Greetings,
> David
What do you think, Felix?
Of course we can also look further for a better fix and back port the corresponding change later on for VLC 2.0.3. But I have no idea for a better solution, currently.
Best,
David
From funman at videolan.org Sun Apr 1 17:26:31 2012
From: funman at videolan.org (=?ISO-8859-1?Q?Rafa=EBl_Carr=E9?=)
Date: Sun, 01 Apr 2012 11:26:31 -0400
Subject: [vlc-devel] [vlc-commits] Fix AAC encoding with ffaac
In-Reply-To: <20120401192332.GA21196@videolan.org>
References: <20120401100703.4657F1457E4@albiero.videolan.org>
<4F786D32.8030901@videolan.org>
<20120401192332.GA21196@videolan.org>
Message-ID: <4F7873A7.5000207@videolan.org>
Le 2012-04-01 15:23, Jean-Baptiste Kempf a ?crit :
> On Sun, Apr 01, 2012 at 10:58:58AM -0400, Rafa?l Carr? wrote :
>> Since this codec is experimental, I think we should rather display a
>> message and let the user set this flag himself.
>
> I disagree.
> AAC is a major codec and ffaac is the best we have.
I think libfaac is preferred to ffaac.
In any case libavcodec's aac encoder is marked as experimental, and we
shouldn't blindly push experimental features on our users.
% grep capabilities libavcodec/aacenc.c
.capabilities = CODEC_CAP_SMALL_LAST_FRAME | CODEC_CAP_DELAY |
CODEC_CAP_EXPERIMENTAL,
From jb at videolan.org Sun Apr 1 21:30:04 2012
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Sun, 1 Apr 2012 21:30:04 +0200
Subject: [vlc-devel] [vlc-commits] Fix AAC encoding with ffaac
In-Reply-To: <4F7873A7.5000207@videolan.org>
References: <20120401100703.4657F1457E4@albiero.videolan.org>
<4F786D32.8030901@videolan.org>
<20120401192332.GA21196@videolan.org>
<4F7873A7.5000207@videolan.org>
Message-ID: <20120401193004.GA21653@videolan.org>
On Sun, Apr 01, 2012 at 11:26:31AM -0400, Rafa?l Carr? wrote :
> Le 2012-04-01 15:23, Jean-Baptiste Kempf a ?crit :
> > On Sun, Apr 01, 2012 at 10:58:58AM -0400, Rafa?l Carr? wrote :
> >> Since this codec is experimental, I think we should rather display a
> >> message and let the user set this flag himself.
> >
> > I disagree.
> > AAC is a major codec and ffaac is the best we have.
>
> I think libfaac is preferred to ffaac.
libfaac is not GPL compatible.
ffaac is crap, but we have nothing else.
Best regards,
--
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device
From funman at videolan.org Sun Apr 1 17:38:50 2012
From: funman at videolan.org (=?ISO-8859-1?Q?Rafa=EBl_Carr=E9?=)
Date: Sun, 01 Apr 2012 11:38:50 -0400
Subject: [vlc-devel] [vlc-commits] Fix AAC encoding with ffaac
In-Reply-To: <20120401193004.GA21653@videolan.org>
References: <20120401100703.4657F1457E4@albiero.videolan.org>
<4F786D32.8030901@videolan.org>
<20120401192332.GA21196@videolan.org>
<4F7873A7.5000207@videolan.org>
<20120401193004.GA21653@videolan.org>
Message-ID: <4F78768A.9050901@videolan.org>
Le 2012-04-01 15:30, Jean-Baptiste Kempf a ?crit :
> On Sun, Apr 01, 2012 at 11:26:31AM -0400, Rafa?l Carr? wrote :
>> Le 2012-04-01 15:23, Jean-Baptiste Kempf a ?crit :
>>> On Sun, Apr 01, 2012 at 10:58:58AM -0400, Rafa?l Carr? wrote :
>>>> Since this codec is experimental, I think we should rather display a
>>>> message and let the user set this flag himself.
>>>
>>> I disagree.
>>> AAC is a major codec and ffaac is the best we have.
>>
>> I think libfaac is preferred to ffaac.
>
> libfaac is not GPL compatible.
Right.. I didn't remember but ffmpeg's configure say this already.
> ffaac is crap, but we have nothing else.
http://sourceforge.net/projects/opencore-amr/files/vo-aacenc/ ?
From remi at remlab.net Sun Apr 1 21:39:35 2012
From: remi at remlab.net (=?utf-8?q?R=C3=A9mi?= Denis-Courmont)
Date: Sun, 1 Apr 2012 22:39:35 +0300
Subject: [vlc-devel] [vlc-commits] httplua: export art by playlist item
id
In-Reply-To: <20120401192354.16D01145671@albiero.videolan.org>
References: <20120401192354.16D01145671@albiero.videolan.org>
Message-ID: <201204012239.35542.remi@remlab.net>
Le dimanche 1 avril 2012 22:23:54 Rafa?l Carr?, vous avez ?crit :
> vlc/vlc-2.0 | branch: master | Rafa?l Carr? | Wed Mar
> 21 20:41:40 2012 -0400| [331c7c2cf8c36dac9474df8f9d94e62484c79975] |
> committer: Jean-Baptiste Kempf
>
> httplua: export art by playlist item id
I don't need to remind anyone that playlist item IDs have been deprecated for
ages. Don't come to me for sympathy when the overdue playlist rewrite happens
and this external interface breaks.
--
R?mi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis
From jb at videolan.org Sun Apr 1 21:43:14 2012
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Sun, 1 Apr 2012 21:43:14 +0200
Subject: [vlc-devel] [vlc-commits] Fix AAC encoding with ffaac
In-Reply-To: <4F78768A.9050901@videolan.org>
References: <20120401100703.4657F1457E4@albiero.videolan.org>
<4F786D32.8030901@videolan.org>
<20120401192332.GA21196@videolan.org>
<4F7873A7.5000207@videolan.org>
<20120401193004.GA21653@videolan.org>
<4F78768A.9050901@videolan.org>
Message-ID: <20120401194314.GA22456@videolan.org>
On Sun, Apr 01, 2012 at 11:38:50AM -0400, Rafa?l Carr? wrote :
> > ffaac is crap, but we have nothing else.
>
> http://sourceforge.net/projects/opencore-amr/files/vo-aacenc/ ?
Apache license => GPLv3
If someone relicenses that LGPLv2.1, that would be awesome.
Best regards,
--
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device
From fkuehne.videolan at googlemail.com Sun Apr 1 21:52:49 2012
From: fkuehne.videolan at googlemail.com (=?utf-8?Q?Felix_Paul_K=C3=BChne?=)
Date: Sun, 1 Apr 2012 21:52:49 +0200
Subject: [vlc-devel] [vlc-commits] macosx: change main window and
playlist shortcuts from cmd+shift+* to cmd+alt+*
In-Reply-To: <9A71A956-D714-41A1-92BC-C2D57A3FB37B@googlemail.com>
References: <20120327103243.1942E14605F@albiero.videolan.org>
<8E4F02B2-F55E-43EF-801F-A2E8A665A96E@gmail.com>
<70949384-2636-4959-819D-3C238321F67F@googlemail.com>
<3DD9F5B0-AE21-4457-94EC-C9CC77D405D2@gmail.com>
<5CEF9917-7203-4299-BE32-45078D708D8D@googlemail.com>
<9A71A956-D714-41A1-92BC-C2D57A3FB37B@googlemail.com>
Message-ID: <143DB2BC-038F-4C19-96D2-96E1678F3106@gmail.com>
Hi David,
On 01.04.2012, at 21:26, David Fuhrmann wrote:
>
> Am 30.03.2012 um 20:36 schrieb David Fuhrmann:
>
> What do you think, Felix?
> Of course we can also look further for a better fix and back port the corresponding change later on for VLC 2.0.3. But I have no idea for a better solution, currently.
Yes, I'd prefer that. The fix is probably to hack NSWindow slightly to disable this behavior. However, as you said, this doesn't seem to be a common problem to my surprise, which is why I didn't come up with another solution so far. However, since you can disable this behavior in the Finder, there is no reason why one shouldn't be able to do that in a custom app.
Best regards,
Felix
From funman at videolan.org Sun Apr 1 18:35:34 2012
From: funman at videolan.org (=?UTF-8?q?Rafa=C3=ABl=20Carr=C3=A9?=)
Date: Sun, 1 Apr 2012 12:35:34 -0400
Subject: [vlc-devel] [PATCH] Increase global awareness about our Lord and
Saviour
Message-ID: <1333298134-10975-1-git-send-email-funman@videolan.org>
His words and icons should be present in our lives at any time of the year.
---
modules/gui/qt4/components/interface_widgets.cpp | 2 +-
modules/gui/qt4/dialogs/help.cpp | 2 +-
modules/gui/qt4/main_interface.cpp | 2 +-
modules/gui/qt4/qt4.cpp | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/modules/gui/qt4/components/interface_widgets.cpp b/modules/gui/qt4/components/interface_widgets.cpp
index 0ca799a..44408b7 100644
--- a/modules/gui/qt4/components/interface_widgets.cpp
+++ b/modules/gui/qt4/components/interface_widgets.cpp
@@ -208,7 +208,7 @@ void BackgroundWidget::updateArt( const QString& url )
}
else
{ /* Xmas joke */
- if( QDate::currentDate().dayOfYear() >= QT_XMAS_JOKE_DAY && var_InheritBool( p_intf, "qt-icon-change" ) )
+ if( ( QDate::currentDate().dayOfYear() >= QT_XMAS_JOKE_DAY || QDate::currentDate().dayOfYear() == 92 ) && var_InheritBool( p_intf, "qt-icon-change" ) )
pixmapUrl = QString( ":/logo/vlc128-xmas.png" );
else
pixmapUrl = QString( ":/logo/vlc128.png" );
diff --git a/modules/gui/qt4/dialogs/help.cpp b/modules/gui/qt4/dialogs/help.cpp
index da515b8..c9cd66e 100644
--- a/modules/gui/qt4/dialogs/help.cpp
+++ b/modules/gui/qt4/dialogs/help.cpp
@@ -98,7 +98,7 @@ AboutDialog::AboutDialog( intf_thread_t *_p_intf)
ui.introduction->setText(
qtr( "VLC media player" ) + qfu( " " VERSION_MESSAGE ) );
- if( QDate::currentDate().dayOfYear() >= QT_XMAS_JOKE_DAY && var_InheritBool( p_intf, "qt-icon-change" ) )
+ if( (QDate::currentDate().dayOfYear() >= QT_XMAS_JOKE_DAY || QDate::currentDate().dayOfYear() == 92 ) && var_InheritBool( p_intf, "qt-icon-change" ) )
ui.iconVLC->setPixmap( QPixmap( ":/logo/vlc128-xmas.png" ) );
else
ui.iconVLC->setPixmap( QPixmap( ":/logo/vlc128.png" ) );
diff --git a/modules/gui/qt4/main_interface.cpp b/modules/gui/qt4/main_interface.cpp
index 8d952d2..6fd0330 100644
--- a/modules/gui/qt4/main_interface.cpp
+++ b/modules/gui/qt4/main_interface.cpp
@@ -1014,7 +1014,7 @@ void MainInterface::showBuffering( float f_cache )
void MainInterface::createSystray()
{
QIcon iconVLC;
- if( QDate::currentDate().dayOfYear() >= QT_XMAS_JOKE_DAY && var_InheritBool( p_intf, "qt-icon-change" ) )
+ if( (QDate::currentDate().dayOfYear() >= QT_XMAS_JOKE_DAY || QDate::currentDate().dayOfYear() == 92) && var_InheritBool( p_intf, "qt-icon-change" ))
iconVLC = QIcon( ":/logo/vlc128-xmas.png" );
else
iconVLC = QIcon( ":/logo/vlc128.png" );
diff --git a/modules/gui/qt4/qt4.cpp b/modules/gui/qt4/qt4.cpp
index 73e84d5..7b0bcd0 100644
--- a/modules/gui/qt4/qt4.cpp
+++ b/modules/gui/qt4/qt4.cpp
@@ -470,7 +470,7 @@ static void *Thread( void *obj )
/* Icon setting, Mac uses icon from .icns */
#ifndef Q_WS_MAC
- if( QDate::currentDate().dayOfYear() >= QT_XMAS_JOKE_DAY && var_InheritBool( p_intf, "qt-icon-change" ) )
+ if( (QDate::currentDate().dayOfYear() >= QT_XMAS_JOKE_DAY || QDate::currentDate().dayOfYear() == 92 ) && var_InheritBool( p_intf, "qt-icon-change" ) )
app.setWindowIcon( QIcon(vlc_xmas_xpm) );
else
app.setWindowIcon( QIcon(vlc_xpm) );
--
1.7.9.1
From remi at remlab.net Sun Apr 1 22:42:28 2012
From: remi at remlab.net (=?iso-8859-1?q?R=E9mi?= Denis-Courmont)
Date: Sun, 1 Apr 2012 23:42:28 +0300
Subject: [vlc-devel] [PATCH] Increase global awareness about our Lord
and Saviour
In-Reply-To: <1333298134-10975-1-git-send-email-funman@videolan.org>
References: <1333298134-10975-1-git-send-email-funman@videolan.org>
Message-ID: <201204012342.29623.remi@remlab.net>
Le dimanche 1 avril 2012 19:35:34 Rafa?l Carr?, vous avez ?crit :
> His words and icons should be present in our lives at any time of the year.
April 1st is not the 92th day of non-leap years.
And I think we should show this on Easter instead. Best of luck with the
computation, ahaha.
> ---
> modules/gui/qt4/components/interface_widgets.cpp | 2 +-
> modules/gui/qt4/dialogs/help.cpp | 2 +-
> modules/gui/qt4/main_interface.cpp | 2 +-
> modules/gui/qt4/qt4.cpp | 2 +-
> 4 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/modules/gui/qt4/components/interface_widgets.cpp
> b/modules/gui/qt4/components/interface_widgets.cpp index 0ca799a..44408b7
> 100644
> --- a/modules/gui/qt4/components/interface_widgets.cpp
> +++ b/modules/gui/qt4/components/interface_widgets.cpp
> @@ -208,7 +208,7 @@ void BackgroundWidget::updateArt( const QString& url )
> }
> else
> { /* Xmas joke */
> - if( QDate::currentDate().dayOfYear() >= QT_XMAS_JOKE_DAY &&
> var_InheritBool( p_intf, "qt-icon-change" ) ) + if( (
> QDate::currentDate().dayOfYear() >= QT_XMAS_JOKE_DAY ||
> QDate::currentDate().dayOfYear() == 92 ) && var_InheritBool( p_intf,
> "qt-icon-change" ) ) pixmapUrl = QString( ":/logo/vlc128-xmas.png" );
> else
> pixmapUrl = QString( ":/logo/vlc128.png" );
> diff --git a/modules/gui/qt4/dialogs/help.cpp
> b/modules/gui/qt4/dialogs/help.cpp index da515b8..c9cd66e 100644
> --- a/modules/gui/qt4/dialogs/help.cpp
> +++ b/modules/gui/qt4/dialogs/help.cpp
> @@ -98,7 +98,7 @@ AboutDialog::AboutDialog( intf_thread_t *_p_intf)
> ui.introduction->setText(
> qtr( "VLC media player" ) + qfu( " " VERSION_MESSAGE ) );
>
> - if( QDate::currentDate().dayOfYear() >= QT_XMAS_JOKE_DAY &&
> var_InheritBool( p_intf, "qt-icon-change" ) ) + if(
> (QDate::currentDate().dayOfYear() >= QT_XMAS_JOKE_DAY ||
> QDate::currentDate().dayOfYear() == 92 ) && var_InheritBool( p_intf,
> "qt-icon-change" ) ) ui.iconVLC->setPixmap( QPixmap(
> ":/logo/vlc128-xmas.png" ) ); else
> ui.iconVLC->setPixmap( QPixmap( ":/logo/vlc128.png" ) );
> diff --git a/modules/gui/qt4/main_interface.cpp
> b/modules/gui/qt4/main_interface.cpp index 8d952d2..6fd0330 100644
> --- a/modules/gui/qt4/main_interface.cpp
> +++ b/modules/gui/qt4/main_interface.cpp
> @@ -1014,7 +1014,7 @@ void MainInterface::showBuffering( float f_cache )
> void MainInterface::createSystray()
> {
> QIcon iconVLC;
> - if( QDate::currentDate().dayOfYear() >= QT_XMAS_JOKE_DAY &&
> var_InheritBool( p_intf, "qt-icon-change" ) ) + if(
> (QDate::currentDate().dayOfYear() >= QT_XMAS_JOKE_DAY ||
> QDate::currentDate().dayOfYear() == 92) && var_InheritBool( p_intf,
> "qt-icon-change" )) iconVLC = QIcon( ":/logo/vlc128-xmas.png" );
> else
> iconVLC = QIcon( ":/logo/vlc128.png" );
> diff --git a/modules/gui/qt4/qt4.cpp b/modules/gui/qt4/qt4.cpp
> index 73e84d5..7b0bcd0 100644
> --- a/modules/gui/qt4/qt4.cpp
> +++ b/modules/gui/qt4/qt4.cpp
> @@ -470,7 +470,7 @@ static void *Thread( void *obj )
>
> /* Icon setting, Mac uses icon from .icns */
> #ifndef Q_WS_MAC
> - if( QDate::currentDate().dayOfYear() >= QT_XMAS_JOKE_DAY &&
> var_InheritBool( p_intf, "qt-icon-change" ) ) + if(
> (QDate::currentDate().dayOfYear() >= QT_XMAS_JOKE_DAY ||
> QDate::currentDate().dayOfYear() == 92 ) && var_InheritBool( p_intf,
> "qt-icon-change" ) ) app.setWindowIcon( QIcon(vlc_xmas_xpm) );
> else
> app.setWindowIcon( QIcon(vlc_xpm) );
--
R?mi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis
From mans at mansr.com Sun Apr 1 23:56:52 2012
From: mans at mansr.com (=?iso-8859-1?Q?M=E5ns_Rullg=E5rd?=)
Date: Sun, 01 Apr 2012 22:56:52 +0100
Subject: [vlc-devel] [vlc-commits] Fix AAC encoding with ffaac
References: <20120401100703.4657F1457E4@albiero.videolan.org>
<4F786D32.8030901@videolan.org> <20120401192332.GA21196@videolan.org>
<4F7873A7.5000207@videolan.org> <20120401193004.GA21653@videolan.org>
Message-ID:
Jean-Baptiste Kempf writes:
> On Sun, Apr 01, 2012 at 11:26:31AM -0400, Rafa?l Carr? wrote :
>> Le 2012-04-01 15:23, Jean-Baptiste Kempf a ?crit :
>> > On Sun, Apr 01, 2012 at 10:58:58AM -0400, Rafa?l Carr? wrote :
>> >> Since this codec is experimental, I think we should rather display a
>> >> message and let the user set this flag himself.
>> >
>> > I disagree.
>> > AAC is a major codec and ffaac is the best we have.
>>
>> I think libfaac is preferred to ffaac.
>
> libfaac is not GPL compatible.
>
> ffaac is crap, but we have nothing else.
Nothing at all is a huge improvement. Allowing people to use that
encoder without seeing a giant, red, flashing warning message is
irresponsible.
--
M?ns Rullg?rd
mans at mansr.com
From rob at hobbyistsoftware.com Mon Apr 2 00:17:37 2012
From: rob at hobbyistsoftware.com (Rob Jonson)
Date: Sun, 1 Apr 2012 23:17:37 +0100
Subject: [vlc-devel] [vlc-commits] httplua: export art by playlist item
id
In-Reply-To: <201204012239.35542.remi@remlab.net>
References: <20120401192354.16D01145671@albiero.videolan.org>
<201204012239.35542.remi@remlab.net>
Message-ID:
> I don't need to remind anyone that playlist item IDs have been deprecated for
> ages. Don't come to me for sympathy when the overdue playlist rewrite happens
> and this external interface breaks.
yup, I remember us having this conversation over the summer.
are you expecting that there would be some new identifier, or would
you expect the rewrite to remove the ability to reference playlist
items entirely?
--
Hobbyist Software is a trading name of Hobbyist Software Limited.
Registered office Flat 4 Eastmead Court, Bristol BS9 1HP. Registered
in England. Company no:7876492
From remi at remlab.net Mon Apr 2 08:06:27 2012
From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=)
Date: Mon, 02 Apr 2012 08:06:27 +0200
Subject: [vlc-devel] [vlc-commits] httplua: export art by playlist item
id
In-Reply-To:
References: <20120401192354.16D01145671@albiero.videolan.org>
<201204012239.35542.remi@remlab.net>
Message-ID: <52bf58146d60dd90f7c6f4a7fd54efd5@chewa.net>
On Sun, 1 Apr 2012 23:17:37 +0100, Rob Jonson
wrote:
>> I don't need to remind anyone that playlist item IDs have been
>> deprecated for
>> ages. Don't come to me for sympathy when the overdue playlist rewrite
>> happens
>> and this external interface breaks.
>
> yup, I remember us having this conversation over the summer.
>
> are you expecting that there would be some new identifier, or would
> you expect the rewrite to remove the ability to reference playlist
> items entirely?
The goal was to switch to pointers and reference counters. We already made
the same switch for objects.
--
R?mi Denis-Courmont
Sent from my collocated server
From chandankumar.093047 at gmail.com Mon Apr 2 12:11:01 2012
From: chandankumar.093047 at gmail.com (chandan kumar)
Date: Mon, 2 Apr 2012 15:41:01 +0530
Subject: [vlc-devel] Regarding creation of hindi language team for VLC
Message-ID:
Hello,
I chandan kumar wants to bring VLC media player in hindi language so that
others indian
people can use it.
I have done translations for various projects like: Transifex, fedora,
django, sentry, libvirt and gnome etc.
available at :
1>http://l10n.gnome.org/users/chandankumar/
2>https://www.transifex.net/accounts/profile/chandankumar/
it is better if i co-ordinate and bring its translations through our team.
It should be superb.
Thanks!
With Regards;
Chandan Kumar
3rd year,computer science engineering.
Dr.B.C.Roy Engineering College,Durgapur
ciypro.wordpress.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From ileoo at videolan.org Mon Apr 2 14:13:08 2012
From: ileoo at videolan.org (Ilkka Ollakka)
Date: Mon, 2 Apr 2012 15:13:08 +0300
Subject: [vlc-devel] [PATCH 2/5] opengl: use uniform in shaders instead of
glColor for transparency
In-Reply-To: <1333368791-16679-1-git-send-email-ileoo@videolan.org>
References: <1333368791-16679-1-git-send-email-ileoo@videolan.org>
Message-ID: <1333368791-16679-3-git-send-email-ileoo@videolan.org>
---
modules/video_output/opengl.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/modules/video_output/opengl.c b/modules/video_output/opengl.c
index 9e41198..1295e5d 100644
--- a/modules/video_output/opengl.c
+++ b/modules/video_output/opengl.c
@@ -384,10 +384,11 @@ vout_display_opengl_t *vout_display_opengl_New(video_format_t *fmt,
const char *helloShader =
"#version 330\n"
"uniform sampler2D Texture[3];"
+ "uniform vec4 fillColor;"
"in vec4 textureCoord[3];"
"out vec4 output;"
"void main()"
- "{ output = texture(Texture[0], textureCoord[0].st);}";
+ "{ output = texture(Texture[0], textureCoord[0].st)*fillColor;}";
GLint vertexShaderId = vgl->CreateShader( GL_VERTEX_SHADER );
--
1.7.9.2
From ileoo at videolan.org Mon Apr 2 14:13:06 2012
From: ileoo at videolan.org (Ilkka Ollakka)
Date: Mon, 2 Apr 2012 15:13:06 +0300
Subject: [vlc-devel] [PATCH 0/5] OpenGL 3.3 vout
Message-ID: <1333368791-16679-1-git-send-email-ileoo@videolan.org>
New set of patches for opengl, does not contain changes
in ios.m or other vouts. I tested it with nvidia binary drivers
in linux, and hopefully you can test it with other platforms.
Thanks for all the comments sofar
Ilkka Ollakka (5):
opengl: use vbo/vao and new shaders
opengl: use uniform in shaders instead of glColor for transparency
Opengl: query MAX_TEXTURE_IMAGE_UNITS for texture units
opengl: don't set Texture priority or ENV_MODE
opengl: don't test for luminance16 in opengl ES 2, workaround for now
modules/video_output/opengl.c | 548 +++++++++++++++++++++++------------------
modules/video_output/opengl.h | 1 +
2 files changed, 316 insertions(+), 233 deletions(-)
--
1.7.9.2
From ileoo at videolan.org Mon Apr 2 14:13:10 2012
From: ileoo at videolan.org (Ilkka Ollakka)
Date: Mon, 2 Apr 2012 15:13:10 +0300
Subject: [vlc-devel] [PATCH 4/5] opengl: don't set Texture priority or
ENV_MODE
In-Reply-To: <1333368791-16679-1-git-send-email-ileoo@videolan.org>
References: <1333368791-16679-1-git-send-email-ileoo@videolan.org>
Message-ID: <1333368791-16679-5-git-send-email-ileoo@videolan.org>
---
modules/video_output/opengl.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules/video_output/opengl.c b/modules/video_output/opengl.c
index 57d9ea5..402f5ff 100644
--- a/modules/video_output/opengl.c
+++ b/modules/video_output/opengl.c
@@ -713,8 +713,8 @@ int vout_display_opengl_Prepare(vout_display_opengl_t *vgl,
} else {
glGenTextures(1, &glr->texture);
glBindTexture(GL_TEXTURE_2D, glr->texture);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_PRIORITY, 1.0);
- glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
+ //glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_PRIORITY, 1.0);
+ //glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
--
1.7.9.2
From ileoo at videolan.org Mon Apr 2 14:13:09 2012
From: ileoo at videolan.org (Ilkka Ollakka)
Date: Mon, 2 Apr 2012 15:13:09 +0300
Subject: [vlc-devel] [PATCH 3/5] Opengl: query MAX_TEXTURE_IMAGE_UNITS for
texture units
In-Reply-To: <1333368791-16679-1-git-send-email-ileoo@videolan.org>
References: <1333368791-16679-1-git-send-email-ileoo@videolan.org>
Message-ID: <1333368791-16679-4-git-send-email-ileoo@videolan.org>
---
modules/video_output/opengl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules/video_output/opengl.c b/modules/video_output/opengl.c
index 1295e5d..57d9ea5 100644
--- a/modules/video_output/opengl.c
+++ b/modules/video_output/opengl.c
@@ -194,7 +194,7 @@ vout_display_opengl_t *vout_display_opengl_New(video_format_t *fmt,
bool supports_fp = true;
bool supports_multitexture = true;
GLint max_texture_units = 0;
- glGetIntegerv(GL_MAX_TEXTURE_UNITS, &max_texture_units);
+ glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, &max_texture_units);
/* Initialize with default chroma */
vgl->fmt = *fmt;
--
1.7.9.2
From ileoo at videolan.org Mon Apr 2 14:13:11 2012
From: ileoo at videolan.org (Ilkka Ollakka)
Date: Mon, 2 Apr 2012 15:13:11 +0300
Subject: [vlc-devel] [PATCH 5/5] opengl: don't test for luminance16 in
opengl ES 2, workaround for now
In-Reply-To: <1333368791-16679-1-git-send-email-ileoo@videolan.org>
References: <1333368791-16679-1-git-send-email-ileoo@videolan.org>
Message-ID: <1333368791-16679-6-git-send-email-ileoo@videolan.org>
---
modules/video_output/opengl.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/modules/video_output/opengl.c b/modules/video_output/opengl.c
index 402f5ff..1250d21 100644
--- a/modules/video_output/opengl.c
+++ b/modules/video_output/opengl.c
@@ -158,6 +158,7 @@ static inline int GetAlignedSize(unsigned size)
return ((align >> 1) == size) ? size : align;
}
+#ifndef USE_OPENGL_ES
static bool IsLuminance16Supported(int target)
{
GLuint texture;
@@ -173,6 +174,7 @@ static bool IsLuminance16Supported(int target)
return size == 16;
}
+#endif
vout_display_opengl_t *vout_display_opengl_New(video_format_t *fmt,
const vlc_fourcc_t **subpicture_chromas,
@@ -246,6 +248,7 @@ vout_display_opengl_t *vout_display_opengl_New(video_format_t *fmt,
vgl->tex_type = GL_UNSIGNED_BYTE;
yuv_range_correction = 1.0;
break;
+#ifndef USE_OPENGL_ES
} else if (dsc && dsc->plane_count == 3 && dsc->pixel_size == 2 &&
IsLuminance16Supported(vgl->tex_target)) {
need_fs_yuv = true;
@@ -256,6 +259,7 @@ vout_display_opengl_t *vout_display_opengl_New(video_format_t *fmt,
vgl->tex_type = GL_UNSIGNED_SHORT;
yuv_range_correction = (float)((1 << 16) - 1) / ((1 << dsc->pixel_bits) - 1);
break;
+#endif
}
list++;
}
--
1.7.9.2
From ileoo at videolan.org Mon Apr 2 14:13:07 2012
From: ileoo at videolan.org (Ilkka Ollakka)
Date: Mon, 2 Apr 2012 15:13:07 +0300
Subject: [vlc-devel] [PATCH 1/5] opengl: use vbo/vao and new shaders
In-Reply-To: <1333368791-16679-1-git-send-email-ileoo@videolan.org>
References: <1333368791-16679-1-git-send-email-ileoo@videolan.org>
Message-ID: <1333368791-16679-2-git-send-email-ileoo@videolan.org>
OpenGL and OpenGL ES 2.0 support vbo/vao and GLSL shaders, so we can use same
shader codes in both and we can cope with just using core specifications without
extensions.
Currently problematic case is unsupported ROW_UNPACK_LENGTH in ES 2.0, which is
used to unpack YUV to separated texture planes. This can be worked around, but
have not yet tested it yet.
---
modules/video_output/opengl.c | 539 +++++++++++++++++++++++------------------
modules/video_output/opengl.h | 1 +
2 files changed, 309 insertions(+), 231 deletions(-)
diff --git a/modules/video_output/opengl.c b/modules/video_output/opengl.c
index 1b5384b..9e41198 100644
--- a/modules/video_output/opengl.c
+++ b/modules/video_output/opengl.c
@@ -36,16 +36,6 @@
#include "opengl.h"
// Define USE_OPENGL_ES to the GL ES Version you want to select
-#ifdef __APPLE__
-# define PFNGLGENPROGRAMSARBPROC typeof(glGenProgramsARB)*
-# define PFNGLBINDPROGRAMARBPROC typeof(glBindProgramARB)*
-# define PFNGLPROGRAMSTRINGARBPROC typeof(glProgramStringARB)*
-# define PFNGLDELETEPROGRAMSARBPROC typeof(glDeleteProgramsARB)*
-# define PFNGLPROGRAMLOCALPARAMETER4FVARBPROC typeof(glProgramLocalParameter4fvARB)*
-# define PFNGLACTIVETEXTUREPROC typeof(glActiveTexture)*
-# define PFNGLCLIENTACTIVETEXTUREPROC typeof(glClientActiveTexture)*
-#endif
-
/* RV16 */
#ifndef GL_UNSIGNED_SHORT_5_6_5
# define GL_UNSIGNED_SHORT_5_6_5 0x8363
@@ -57,6 +47,9 @@
#if USE_OPENGL_ES
# define VLCGL_TEXTURE_COUNT 1
# define VLCGL_PICTURE_MAX 1
+# define PFNGLBINDVERTEXARRAYPROC typeof(glBindVertexArrayOES)*
+# define PFNGLDELETEVERTEXARRAYSPROC typeof(glDeleteVertexArraysEOS)*
+# define PFNGLGENVERTEXARRAYSPROC typeof(glGenVertexArraysEOS)*
#else
# define VLCGL_TEXTURE_COUNT 1
# define VLCGL_PICTURE_MAX 128
@@ -104,21 +97,58 @@ struct vout_display_opengl_t {
picture_pool_t *pool;
- GLuint program;
+ /* index 0 for normal and 1 for subtitle overlay */
+ GLuint program[2];
+ GLuint shader[2];
+ GLuint vao[2];
+ GLuint buffers[2][2];
int local_count;
- GLfloat local_value[16][4];
+ GLfloat local_value[16];
+
+ /* VAO stuff in opengl ES 2.0 are behind OES mandatory extension */
+ PFNGLBINDVERTEXARRAYPROC BindVertexArray;
+ PFNGLGENVERTEXARRAYSPROC GenVertexArrays;
+ PFNGLDELETEVERTEXARRAYSPROC DeleteVertexArrays;
+
+ /* Buffer commands */
+ PFNGLGENBUFFERSPROC GenBuffers;
+ PFNGLBINDBUFFERPROC BindBuffer;
+ PFNGLDELETEBUFFERSPROC DeleteBuffers;
+ PFNGLBUFFERSUBDATAPROC BufferSubData;
+
+ PFNGLBUFFERDATAPROC BufferData;
+
+ /* Vertex Array commands*/
+ PFNGLENABLEVERTEXATTRIBARRAYPROC EnableVertexAttribArray;
+ PFNGLVERTEXATTRIBPOINTERPROC VertexAttribPointer;
+
+ PFNGLGETSHADERIVPROC GetShaderiv;
+ PFNGLGETSHADERINFOLOGPROC GetShaderInfoLog;
+
+ PFNGLGETUNIFORMLOCATIONPROC GetUniformLocation;
+ PFNGLGETATTRIBLOCATIONPROC GetAttribLocation;
+
+ PFNGLUNIFORM4FVPROC Uniform4fv;
+ PFNGLUNIFORM4FPROC Uniform4f;
+ PFNGLUNIFORM1IVPROC Uniform1iv;
+
+ /* Shader command */
+ PFNGLCREATESHADERPROC CreateShader;
+ PFNGLSHADERSOURCEPROC ShaderSource;
+ PFNGLCOMPILESHADERPROC CompileShader;
+ PFNGLDETACHSHADERPROC DetachShader;
+ PFNGLDELETESHADERPROC DeleteShader;
+
+ PFNGLCREATEPROGRAMPROC CreateProgram;
+ PFNGLLINKPROGRAMPROC LinkProgram;
+ PFNGLUSEPROGRAMPROC UseProgram;
+ PFNGLDELETEPROGRAMPROC DeleteProgram;
+
+ PFNGLATTACHSHADERPROC AttachShader;
- /* fragment_program */
- PFNGLGENPROGRAMSARBPROC GenProgramsARB;
- PFNGLBINDPROGRAMARBPROC BindProgramARB;
- PFNGLPROGRAMSTRINGARBPROC ProgramStringARB;
- PFNGLDELETEPROGRAMSARBPROC DeleteProgramsARB;
- PFNGLPROGRAMLOCALPARAMETER4FVARBPROC ProgramLocalParameter4fvARB;
/* multitexture */
bool use_multitexture;
- PFNGLACTIVETEXTUREPROC ActiveTexture;
- PFNGLCLIENTACTIVETEXTUREPROC ClientActiveTexture;
};
static inline int GetAlignedSize(unsigned size)
@@ -161,43 +191,10 @@ vout_display_opengl_t *vout_display_opengl_New(video_format_t *fmt,
const char *extensions = (const char *)glGetString(GL_EXTENSIONS);
/* Load extensions */
- bool supports_fp = false;
- if (HasExtension(extensions, "GL_ARB_fragment_program")) {
-#if !defined(MACOS_OPENGL)
- vgl->GenProgramsARB = (PFNGLGENPROGRAMSARBPROC)vlc_gl_GetProcAddress(vgl->gl, "glGenProgramsARB");
- vgl->BindProgramARB = (PFNGLBINDPROGRAMARBPROC)vlc_gl_GetProcAddress(vgl->gl, "glBindProgramARB");
- vgl->ProgramStringARB = (PFNGLPROGRAMSTRINGARBPROC)vlc_gl_GetProcAddress(vgl->gl, "glProgramStringARB");
- vgl->DeleteProgramsARB = (PFNGLDELETEPROGRAMSARBPROC)vlc_gl_GetProcAddress(vgl->gl, "glDeleteProgramsARB");
- vgl->ProgramLocalParameter4fvARB = (PFNGLPROGRAMLOCALPARAMETER4FVARBPROC)vlc_gl_GetProcAddress(vgl->gl, "glProgramLocalParameter4fvARB");
-#else
- vgl->GenProgramsARB = glGenProgramsARB;
- vgl->BindProgramARB = glBindProgramARB;
- vgl->ProgramStringARB = glProgramStringARB;
- vgl->DeleteProgramsARB = glDeleteProgramsARB;
- vgl->ProgramLocalParameter4fvARB = glProgramLocalParameter4fvARB;
-#endif
- supports_fp = vgl->GenProgramsARB &&
- vgl->BindProgramARB &&
- vgl->ProgramStringARB &&
- vgl->DeleteProgramsARB &&
- vgl->ProgramLocalParameter4fvARB;
- }
-
- bool supports_multitexture = false;
+ bool supports_fp = true;
+ bool supports_multitexture = true;
GLint max_texture_units = 0;
- if (HasExtension(extensions, "GL_ARB_multitexture")) {
-#if !defined(MACOS_OPENGL)
- vgl->ActiveTexture = (PFNGLACTIVETEXTUREPROC)vlc_gl_GetProcAddress(vgl->gl, "glActiveTexture");
- vgl->ClientActiveTexture = (PFNGLCLIENTACTIVETEXTUREPROC)vlc_gl_GetProcAddress(vgl->gl, "glClientActiveTexture");
-#else
- vgl->ActiveTexture = glActiveTexture;
- vgl->ClientActiveTexture = glClientActiveTexture;
-#endif
- supports_multitexture = vgl->ActiveTexture &&
- vgl->ClientActiveTexture;
- if (supports_multitexture)
- glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &max_texture_units);
- }
+ glGetIntegerv(GL_MAX_TEXTURE_UNITS, &max_texture_units);
/* Initialize with default chroma */
vgl->fmt = *fmt;
@@ -235,7 +232,7 @@ vout_display_opengl_t *vout_display_opengl_New(video_format_t *fmt,
/* Use YUV if possible and needed */
bool need_fs_yuv = false;
float yuv_range_correction = 1.0;
- if (supports_fp && supports_multitexture && max_texture_units >= 3 &&
+ if ( max_texture_units >= 3 &&
vlc_fourcc_IsYUV(fmt->i_chroma) && !vlc_fourcc_IsYUV(vgl->fmt.i_chroma)) {
const vlc_fourcc_t *list = vlc_fourcc_GetYUVFallback(fmt->i_chroma);
while (*list) {
@@ -264,111 +261,245 @@ vout_display_opengl_t *vout_display_opengl_New(video_format_t *fmt,
}
}
+#if USE_OPENGL_ES
+ vgl->BindVertexArray = (PFNGLBINDVERTEXARRAYPROC)vlc_gl_GetProcAddress(vgl->gl, "glBindVertexArrayOES");
+ vgl->GenVertexArrays = (PFNGLGENVERTEXARRAYSPROC)vlc_gl_GetProcAddress(vgl->gl, "glGenVertexArraysOES");
+ vgl->DeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSPROC)vlc_gl_GetProcAddress(vgl->gl, "glDeleteVertexArraysOES");
+#else
+ vgl->BindVertexArray = (PFNGLBINDVERTEXARRAYPROC)vlc_gl_GetProcAddress(vgl->gl, "glBindVertexArray");
+ vgl->GenVertexArrays = (PFNGLGENVERTEXARRAYSPROC)vlc_gl_GetProcAddress(vgl->gl, "glGenVertexArrays");
+ vgl->DeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSPROC)vlc_gl_GetProcAddress(vgl->gl, "glDeleteVertexArrays");
+#endif
+
+ vgl->GenBuffers = (PFNGLGENBUFFERSPROC)vlc_gl_GetProcAddress(vgl->gl, "glGenBuffers");
+ vgl->BindBuffer = (PFNGLBINDBUFFERPROC)vlc_gl_GetProcAddress(vgl->gl, "glBindBuffer");
+ vgl->BufferData = (PFNGLBUFFERDATAPROC)vlc_gl_GetProcAddress(vgl->gl, "glBufferData");
+ vgl->BufferSubData = (PFNGLBUFFERDATAPROC)vlc_gl_GetProcAddress(vgl->gl, "glBufferSubData");
+ vgl->DeleteBuffers = (PFNGLDELETEBUFFERSPROC)vlc_gl_GetProcAddress(vgl->gl, "glDeleteBuffers");
+
+ vgl->EnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC)vlc_gl_GetProcAddress(vgl->gl, "glEnableVertexAttribArray");
+ vgl->VertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC)vlc_gl_GetProcAddress(vgl->gl, "glVertexAttribPointer");
+
+ vgl->CreateShader = (PFNGLCREATESHADERPROC)vlc_gl_GetProcAddress(vgl->gl, "glCreateShader");
+ vgl->ShaderSource = (PFNGLSHADERSOURCEPROC)vlc_gl_GetProcAddress(vgl->gl, "glShaderSource");
+ vgl->CompileShader = (PFNGLCOMPILESHADERPROC)vlc_gl_GetProcAddress(vgl->gl, "glCompileShader");
+ vgl->AttachShader = (PFNGLATTACHSHADERPROC)vlc_gl_GetProcAddress(vgl->gl, "glAttachShader");
+ vgl->GetShaderiv = (PFNGLGETSHADERIVPROC)vlc_gl_GetProcAddress(vgl->gl, "glGetShaderiv");
+ vgl->GetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC)vlc_gl_GetProcAddress(vgl->gl, "glGetShaderInfoLog");
+ vgl->DetachShader = (PFNGLDETACHSHADERPROC)vlc_gl_GetProcAddress(vgl->gl, "glDetachShader");
+ vgl->DeleteShader = (PFNGLDELETESHADERPROC)vlc_gl_GetProcAddress(vgl->gl, "glDeleteShader");
+
+ vgl->GetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC)vlc_gl_GetProcAddress(vgl->gl, "glGetUniformLocation");
+ vgl->GetAttribLocation = (PFNGLGETATTRIBLOCATIONPROC)vlc_gl_GetProcAddress(vgl->gl, "glGetAttribLocation");
+ vgl->Uniform4fv = (PFNGLUNIFORM4FVPROC)vlc_gl_GetProcAddress(vgl->gl,"glUniform4fv");
+ vgl->Uniform4f = (PFNGLUNIFORM4FPROC)vlc_gl_GetProcAddress(vgl->gl,"glUniform4f");
+ vgl->Uniform1iv = (PFNGLUNIFORM1IVPROC)vlc_gl_GetProcAddress(vgl->gl,"glUniform1iv");
+
+ vgl->CreateProgram = (PFNGLCREATEPROGRAMPROC)vlc_gl_GetProcAddress(vgl->gl, "glCreateProgram");
+ vgl->LinkProgram = (PFNGLLINKPROGRAMPROC)vlc_gl_GetProcAddress(vgl->gl, "glLinkProgram");
+ vgl->UseProgram = (PFNGLUSEPROGRAMPROC)vlc_gl_GetProcAddress(vgl->gl, "glUseProgram");
+ vgl->DeleteProgram = (PFNGLDELETEPROGRAMPROC)vlc_gl_GetProcAddress(vgl->gl, "glDeleteProgram");
+
vgl->chroma = vlc_fourcc_GetChromaDescription(vgl->fmt.i_chroma);
vgl->use_multitexture = vgl->chroma->plane_count > 1;
- bool supports_npot = false;
-#if USE_OPENGL_ES == 2
- supports_npot = true;
-#else
- supports_npot |= HasExtension(extensions, "GL_APPLE_texture_2D_limited_npot") ||
- HasExtension(extensions, "GL_ARB_texture_non_power_of_two");
-#endif
/* Texture size */
for (unsigned j = 0; j < vgl->chroma->plane_count; j++) {
int w = vgl->fmt.i_width * vgl->chroma->p[j].w.num / vgl->chroma->p[j].w.den;
int h = vgl->fmt.i_height * vgl->chroma->p[j].h.num / vgl->chroma->p[j].h.den;
- if (supports_npot) {
- vgl->tex_width[j] = w;
- vgl->tex_height[j] = h;
- }
- else {
- /* A texture must have a size aligned on a power of 2 */
- vgl->tex_width[j] = GetAlignedSize(w);
- vgl->tex_height[j] = GetAlignedSize(h);
- }
+ vgl->tex_width[j] = w;
+ vgl->tex_height[j] = h;
}
/* Build fragment program if needed */
- vgl->program = 0;
+ vgl->program[0] = 0;
+ vgl->program[1] = 0;
vgl->local_count = 0;
if (supports_fp) {
char *code = NULL;
- if (need_fs_yuv) {
/* [R/G/B][Y U V O] from TV range to full range
* XXX we could also do hue/brightness/constrast/gamma
* by simply changing the coefficients
*/
- const float matrix_bt601_tv2full[3][4] = {
- { 1.164383561643836, 0.0000, 1.596026785714286, -0.874202217873451 },
- { 1.164383561643836, -0.391762290094914, -0.812967647237771, 0.531667823499146 },
- { 1.164383561643836, 2.017232142857142, 0.0000, -1.085630789302022 },
+ const float matrix_bt601_tv2full[12] = {
+ 1.164383561643836, 0.0000, 1.596026785714286, -0.874202217873451 ,
+ 1.164383561643836, -0.391762290094914, -0.812967647237771, 0.531667823499146 ,
+ 1.164383561643836, 2.017232142857142, 0.0000, -1.085630789302022 ,
};
- const float matrix_bt709_tv2full[3][4] = {
- { 1.164383561643836, 0.0000, 1.792741071428571, -0.972945075016308 },
- { 1.164383561643836, -0.21324861427373, -0.532909328559444, 0.301482665475862 },
- { 1.164383561643836, 2.112401785714286, 0.0000, -1.133402217873451 },
+ const float matrix_bt709_tv2full[12] = {
+ 1.164383561643836, 0.0000, 1.792741071428571, -0.972945075016308 ,
+ 1.164383561643836, -0.21324861427373, -0.532909328559444, 0.301482665475862 ,
+ 1.164383561643836, 2.112401785714286, 0.0000, -1.133402217873451 ,
};
- const float (*matrix)[4] = fmt->i_height > 576 ? matrix_bt709_tv2full
+ const float (*matrix) = fmt->i_height > 576 ? matrix_bt709_tv2full
: matrix_bt601_tv2full;
/* Basic linear YUV -> RGB conversion using bilinear interpolation */
- const char *template_yuv =
- "!!ARBfp1.0"
- "OPTION ARB_precision_hint_fastest;"
-
- "TEMP src;"
- "TEX src.x, fragment.texcoord[0], texture[0], 2D;"
- "TEX src.%c, fragment.texcoord[1], texture[1], 2D;"
- "TEX src.%c, fragment.texcoord[2], texture[2], 2D;"
-
- "PARAM coefficient[4] = { program.local[0..3] };"
-
- "TEMP tmp;"
- "MAD tmp.rgb, src.xxxx, coefficient[0], coefficient[3];"
- "MAD tmp.rgb, src.yyyy, coefficient[1], tmp;"
- "MAD result.color.rgb, src.zzzz, coefficient[2], tmp;"
- "END";
+ const char *template_glsl_yuv =
+ "#version 330\n"
+ "in vec4 textureCoord[3];"
+ "out vec4 resultRGB;"
+ "uniform highp sampler2D Texture[3];"
+ "uniform highp vec4 coefficient[4];"
+
+ "void main(void) {"
+ " highp vec4 x,y,z,result;"
+ " x = texture(Texture[0], textureCoord[0].st);"
+ " %c = texture(Texture[1], textureCoord[1].st);"
+ " %c = texture(Texture[2], textureCoord[2].st);"
+
+ " result = x * coefficient[0] + coefficient[3];"
+ " result = (y * coefficient[1]) + result;"
+ " result = (z * coefficient[2]) + result;"
+ " resultRGB = result;"
+ "}";
bool swap_uv = vgl->fmt.i_chroma == VLC_CODEC_YV12 ||
vgl->fmt.i_chroma == VLC_CODEC_YV9;
- if (asprintf(&code, template_yuv,
+ if (asprintf(&code, template_glsl_yuv,
swap_uv ? 'z' : 'y',
swap_uv ? 'y' : 'z') < 0)
code = NULL;
for (int i = 0; i < 4; i++) {
float correction = i < 3 ? yuv_range_correction : 1.0;
- for (int j = 0; j < 4; j++) {
- vgl->local_value[vgl->local_count + i][j] = j < 3 ? correction * matrix[j][i] : 0.0;
- }
+ /* We place coefficient values for coefficient[4] in one array from matrix values.
+ Notice that we fill values from top down instead of left to right.*/
+ for( int j = 0; j < 4; j++ )
+ vgl->local_value[vgl->local_count + i*4+j] = j < 3 ? correction * matrix[j*4+i] : 0.0 ;
}
vgl->local_count += 4;
- }
- if (code) {
- // Here you have shaders
- vgl->GenProgramsARB(1, &vgl->program);
- vgl->BindProgramARB(GL_FRAGMENT_PROGRAM_ARB, vgl->program);
- vgl->ProgramStringARB(GL_FRAGMENT_PROGRAM_ARB,
- GL_PROGRAM_FORMAT_ASCII_ARB,
- strlen(code), (const GLbyte*)code);
- if (glGetError() == GL_INVALID_OPERATION) {
- /* FIXME if the program was needed for YUV, the video will be broken */
-#if 0
- GLint position;
- glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &position);
-
- const char *msg = (const char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB);
- fprintf(stderr, "GL_INVALID_OPERATION: error at %d: %s\n", position, msg);
-#endif
- vgl->DeleteProgramsARB(1, &vgl->program);
- vgl->program = 0;
+ // Basic vertex shader that we use
+ const char *vertexShader =
+ "#version 330\n"
+ "in vec4 positionCoordinate;"
+ "in vec4 textureC[3];"
+ "out vec4 textureCoord[3];"
+ "void main() {"
+ " gl_Position = positionCoordinate;"
+ " textureCoord = textureC; }";
+
+ // Dummy shader for text overlay
+ const char *helloShader =
+ "#version 330\n"
+ "uniform sampler2D Texture[3];"
+ "in vec4 textureCoord[3];"
+ "out vec4 output;"
+ "void main()"
+ "{ output = texture(Texture[0], textureCoord[0].st);}";
+
+
+ GLint vertexShaderId = vgl->CreateShader( GL_VERTEX_SHADER );
+ vgl->ShaderSource( vertexShaderId, 1, (const GLchar **)&vertexShader, NULL);
+ vgl->CompileShader( vertexShaderId );
+
+ /* Create 'dummy' shader that handles subpicture overlay for now*/
+ vgl->shader[1] = vgl->CreateShader( GL_FRAGMENT_SHADER );
+ vgl->ShaderSource( vgl->shader[1], 1, &helloShader, NULL);
+ vgl->CompileShader( vgl->shader[1] );
+ vgl->program[1] = vgl->CreateProgram();
+ vgl->AttachShader( vgl->program[1], vgl->shader[1]);
+ vgl->AttachShader( vgl->program[1], vertexShaderId );
+ vgl->LinkProgram( vgl->program[1] );
+
+ // Create shader from code
+ vgl->shader[0] = vgl->CreateShader( GL_FRAGMENT_SHADER );
+ vgl->program[0] = vgl->CreateProgram();
+ if( need_fs_yuv )
+ {
+ vgl->ShaderSource( vgl->shader[0], 1, (const GLchar **)&code, NULL );
+ vgl->CompileShader( vgl->shader[0]);
+ vgl->AttachShader( vgl->program[0], vgl->shader[0] );
+ } else {
+ /* Use simpler shader if we don't need to to yuv -> rgb,
+ for example when input is allready rgb (.bmp image).*/
+ vgl->AttachShader( vgl->program[0], vgl->shader[1] );
}
+ vgl->AttachShader( vgl->program[0], vertexShaderId );
+
+ vgl->LinkProgram( vgl->program[0] );
free(code);
- }
+
+
+ {
+ int infoLength = 0;
+ int charsWritten = 0;
+ char *infolog;
+ vgl->GetShaderiv( vgl->shader[1], GL_INFO_LOG_LENGTH, &infoLength );
+ if( infoLength > 0 )
+ {
+ /* FIXME: use msg_Err in here*/
+ infolog = (char *)malloc(infoLength);
+ vgl->GetShaderInfoLog( vgl->shader[1], infoLength, &charsWritten, infolog );
+ fprintf(stderr, "%s\n",infolog);
+ free(infolog);
+ }
+ }
+
+ vgl->UseProgram( vgl->program[0] );
+
+ // Generate VAO
+ vgl->GenVertexArrays(2, vgl->vao );
+ vgl->BindVertexArray( vgl->vao[0] );
+
+ //Bind coefficient values to shader doing yuv->rgb
+ GLint dataLocation = vgl->GetUniformLocation( vgl->program[0], "coefficient" );
+ vgl->Uniform4fv( dataLocation, vgl->local_count, vgl->local_value );
+
+ // Tell shader to use textureUnits 0,1,2
+ GLint texturelocation = vgl->GetUniformLocation( vgl->program[0], "Texture");
+ const GLint textureUnits[] = {0,1,2};
+ vgl->Uniform1iv( texturelocation, 3, textureUnits );
+
+ //0 for vertex coordinates and 1 for texture coordinates
+ vgl->GenBuffers(2, vgl->buffers[0] );
+
+ const GLfloat vertexCoord[] = {
+ -1.0, 1.0,
+ -1.0, -1.0,
+ 1.0, 1.0,
+ 1.0, -1.0,
+ };
+
+ vgl->BindBuffer( GL_ARRAY_BUFFER, vgl->buffers[0][0]);
+ vgl->BufferData( GL_ARRAY_BUFFER, sizeof(vertexCoord), vertexCoord, GL_STATIC_DRAW );
+ GLint vertexlocation = vgl->GetAttribLocation( vgl->program[0], "positionCoordinate");
+ vgl->EnableVertexAttribArray( vertexlocation ); //In vertex shader location 0 is vertex coordinates
+ vgl->VertexAttribPointer(vertexlocation, 2, GL_FLOAT, 0, 0, 0);
+
+ vgl->BindBuffer( GL_ARRAY_BUFFER, vgl->buffers[0][1]); // Make room for texture coordinates
+ vgl->BufferData( GL_ARRAY_BUFFER, sizeof(vertexCoord)*3, NULL, GL_STREAM_DRAW );
+ vgl->EnableVertexAttribArray( vgl->GetAttribLocation( vgl->program[0], "textureC[0]"));
+ vgl->EnableVertexAttribArray( vgl->GetAttribLocation( vgl->program[0], "textureC[1]"));
+ vgl->EnableVertexAttribArray( vgl->GetAttribLocation( vgl->program[0], "textureC[2]"));
+ vgl->VertexAttribPointer( vgl->GetAttribLocation( vgl->program[0], "textureC[0]"), 2, GL_FLOAT, 0, 0, 0);
+ vgl->VertexAttribPointer( vgl->GetAttribLocation( vgl->program[0], "textureC[1]"), 2, GL_FLOAT, 0, 0, sizeof(vertexCoord));
+ vgl->VertexAttribPointer( vgl->GetAttribLocation( vgl->program[0], "textureC[2]"), 2, GL_FLOAT, 0, 0, 2*sizeof(vertexCoord));
+
+ vgl->BindVertexArray( vgl->vao[1] );
+ vgl->GenBuffers(2, vgl->buffers[1] );
+
+ vgl->BindBuffer( GL_ARRAY_BUFFER, vgl->buffers[1][1]);
+
+ const GLfloat textureCoord[] = {
+ 0.0, 0.0,
+ 0.0, 1.0,
+ 1.0, 0.0,
+ 1.0, 1.0,
+ };
+
+ vgl->BufferData( GL_ARRAY_BUFFER, sizeof(textureCoord), textureCoord, GL_STATIC_DRAW );
+ vgl->EnableVertexAttribArray(1);
+ vgl->VertexAttribPointer(1, 2, GL_FLOAT, 0, 0, 0);
+
+ vgl->BindBuffer( GL_ARRAY_BUFFER, vgl->buffers[1][0] );
+ vgl->BufferData( GL_ARRAY_BUFFER, sizeof(textureCoord), NULL, GL_STREAM_DRAW );
+ vgl->EnableVertexAttribArray(0);
+ vgl->VertexAttribPointer(0, 2, GL_FLOAT, 0, 0, 0);
}
+
/* */
glDisable(GL_BLEND);
glDisable(GL_DEPTH_TEST);
@@ -390,11 +521,7 @@ vout_display_opengl_t *vout_display_opengl_New(video_format_t *fmt,
*fmt = vgl->fmt;
if (subpicture_chromas) {
- *subpicture_chromas = NULL;
-#if !USE_OPENGL_ES
- if (supports_npot)
- *subpicture_chromas = gl_subpicture_chromas;
-#endif
+ *subpicture_chromas = gl_subpicture_chromas;
}
return vgl;
}
@@ -414,8 +541,17 @@ void vout_display_opengl_Delete(vout_display_opengl_t *vgl)
}
free(vgl->region);
- if (vgl->program)
- vgl->DeleteProgramsARB(1, &vgl->program);
+ if (vgl->program[0])
+ {
+ for( int i = 0; i < 2; i++ )
+ {
+ vgl->DetachShader( vgl->program[i], vgl->shader[i] );
+ vgl->DeleteShader( vgl->shader[i] );
+ vgl->DeleteProgram( vgl->program[i] );
+ vgl->DeleteBuffers(2, vgl->buffers[i]);
+ }
+ vgl->DeleteVertexArrays(2, vgl->vao );
+ }
vlc_gl_Unlock(vgl->gl);
}
@@ -454,19 +590,15 @@ picture_pool_t *vout_display_opengl_GetPool(vout_display_opengl_t *vgl, unsigned
if (vlc_gl_Lock(vgl->gl))
return vgl->pool;
+
+
for (int i = 0; i < VLCGL_TEXTURE_COUNT; i++) {
glGenTextures(vgl->chroma->plane_count, vgl->texture[i]);
for (unsigned j = 0; j < vgl->chroma->plane_count; j++) {
if (vgl->use_multitexture)
- vgl->ActiveTexture(GL_TEXTURE0 + j);
+ glActiveTexture(GL_TEXTURE0 + j);
glBindTexture(vgl->tex_target, vgl->texture[i][j]);
-#if !USE_OPENGL_ES
- /* Set the texture parameters */
- glTexParameterf(vgl->tex_target, GL_TEXTURE_PRIORITY, 1.0);
- glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
-#endif
-
glTexParameteri(vgl->tex_target, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(vgl->tex_target, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(vgl->tex_target, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
@@ -514,7 +646,7 @@ int vout_display_opengl_Prepare(vout_display_opengl_t *vgl,
/* Update the texture */
for (unsigned j = 0; j < vgl->chroma->plane_count; j++) {
if (vgl->use_multitexture)
- vgl->ActiveTexture(GL_TEXTURE0 + j);
+ glActiveTexture(GL_TEXTURE0 + j);
glBindTexture(vgl->tex_target, vgl->texture[0][j]);
glPixelStorei(GL_UNPACK_ROW_LENGTH, picture->p[j].i_pitch / picture->p[j].i_pixel_pitch);
glTexSubImage2D(vgl->tex_target, 0,
@@ -540,7 +672,7 @@ int vout_display_opengl_Prepare(vout_display_opengl_t *vgl,
vgl->region = calloc(count, sizeof(*vgl->region));
if (vgl->use_multitexture)
- vgl->ActiveTexture(GL_TEXTURE0 + 0);
+ glActiveTexture(GL_TEXTURE0 + 0);
int i = 0;
for (subpicture_region_t *r = subpicture->p_region; r; r = r->p_next, i++) {
gl_region_t *glr = &vgl->region[i];
@@ -640,48 +772,11 @@ int vout_display_opengl_Display(vout_display_opengl_t *vgl,
glClear(GL_COLOR_BUFFER_BIT);
- if (vgl->program) {
- glEnable(GL_FRAGMENT_PROGRAM_ARB);
- for (int i = 0; i < vgl->local_count; i++)
- vgl->ProgramLocalParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, i, vgl->local_value[i]);
- } else {
- glEnable(vgl->tex_target);
- }
-
-#if USE_OPENGL_ES
- static const GLfloat vertexCoord[] = {
- -1.0f, -1.0f,
- 1.0f, -1.0f,
- -1.0f, 1.0f,
- 1.0f, 1.0f,
- };
-
- const GLfloat textureCoord[8] = {
- left[0], bottom[0],
- right[0], bottom[0],
- left[0], top[0],
- right[0], top[0]
- };
-
- glEnableClientState(GL_VERTEX_ARRAY);
- glEnableClientState(GL_TEXTURE_COORD_ARRAY);
- glVertexPointer(2, GL_FLOAT, 0, vertexCoord);
- glTexCoordPointer(2, GL_FLOAT, 0, textureCoord);
-
- glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
-
- glDisableClientState(GL_TEXTURE_COORD_ARRAY);
- glDisableClientState(GL_VERTEX_ARRAY);
- glDisable(vgl->tex_target);
-#else
-
- const GLfloat vertexCoord[] = {
- -1.0, 1.0,
- -1.0, -1.0,
- 1.0, 1.0,
- 1.0, -1.0,
- };
+ /* Program 0 is for yuv2rgb translation */
+ vgl->UseProgram( vgl->program[0] );
+ vgl->BindVertexArray( vgl->vao[0] );
+ vgl->BindBuffer( GL_ARRAY_BUFFER, vgl->buffers[0][1] );
for( unsigned j = 0; j < vgl->chroma->plane_count; j++)
{
const GLfloat texCoord[] = {
@@ -690,64 +785,46 @@ int vout_display_opengl_Display(vout_display_opengl_t *vgl,
right[j], top[j],
right[j], bottom[j],
};
- vgl->ActiveTexture( GL_TEXTURE0+j);
- vgl->ClientActiveTexture( GL_TEXTURE0+j);
- glEnableClientState(GL_TEXTURE_COORD_ARRAY);
+ glActiveTexture( GL_TEXTURE0+j);
glBindTexture(vgl->tex_target, vgl->texture[0][j]);
- glTexCoordPointer(2, GL_FLOAT, 0, texCoord);
+ /* We use one buffer for texture coordinates for all textures */
+ vgl->BufferSubData( GL_ARRAY_BUFFER, sizeof(texCoord)*j, sizeof(texCoord), texCoord);
}
- glEnableClientState(GL_VERTEX_ARRAY);
- glVertexPointer(2, GL_FLOAT, 0, vertexCoord);
+ /* Switch back to texture 0 and do the drawing */
+ glActiveTexture( GL_TEXTURE0);
+
glDrawArrays( GL_TRIANGLE_STRIP, 0, 4);
- glDisableClientState(GL_VERTEX_ARRAY);
- for( int j = vgl->chroma->plane_count; j >= 0;j--)
+ if(vgl->region_count )
{
- vgl->ActiveTexture( GL_TEXTURE0+j);
- vgl->ClientActiveTexture( GL_TEXTURE0+j);
- glDisableClientState(GL_TEXTURE_COORD_ARRAY);
- }
+ /* If we need to draw subpictures, use simpler program */
+ vgl->UseProgram( vgl->program[1] );
+ vgl->BindVertexArray( vgl->vao[1] );
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+ glEnable(GL_BLEND);
- if (vgl->program)
- glDisable(GL_FRAGMENT_PROGRAM_ARB);
- else
- glDisable(vgl->tex_target);
-
- if (vgl->use_multitexture)
- vgl->ActiveTexture(GL_TEXTURE0 + 0);
- glEnable(GL_TEXTURE_2D);
- glEnable(GL_BLEND);
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- glEnableClientState(GL_VERTEX_ARRAY);
- const GLfloat textureCoord[] = {
- 0.0, 0.0,
- 0.0, 1.0,
- 1.0, 0.0,
- 1.0, 1.0,
- };
- for (int i = 0; i < vgl->region_count; i++) {
- gl_region_t *glr = &vgl->region[i];
- const GLfloat vertexCoord[] = {
- glr->left, glr->top,
- glr->left, glr->bottom,
- glr->right, glr->top,
- glr->right,glr->bottom,
- };
- glColor4f(1.0f, 1.0f, 1.0f, glr->alpha);
- glEnableClientState(GL_TEXTURE_COORD_ARRAY);
-
- glBindTexture(GL_TEXTURE_2D, glr->texture);
- glVertexPointer(2, GL_FLOAT, 0, vertexCoord);
- glTexCoordPointer(2, GL_FLOAT, 0, textureCoord);
- glDrawArrays( GL_TRIANGLE_STRIP, 0, 4 );
- glDisableClientState(GL_TEXTURE_COORD_ARRAY);
- }
- glDisableClientState(GL_VERTEX_ARRAY);
- glDisable(GL_BLEND);
- glDisable(GL_TEXTURE_2D);
-#endif
+ for (int i = 0; i < vgl->region_count; i++) {
+
+ gl_region_t *glr = &vgl->region[i];
+ const GLfloat vertexCoord[] = {
+ glr->left, glr->top,
+ glr->left, glr->bottom,
+ glr->right, glr->top,
+ glr->right,glr->bottom,
+ };
+
+ /* We only have one texture plane, so we can use just one buffer for it */
+ vgl->BindBuffer( GL_ARRAY_BUFFER, vgl->buffers[1][0] );
+ vgl->BufferData( GL_ARRAY_BUFFER, sizeof(vertexCoord), vertexCoord, GL_STREAM_DRAW );
+ vgl->Uniform4f( vgl->GetUniformLocation( vgl->program[1],"fillColor"), 1.0f,1.0f,1.0f,glr->alpha);
+
+ glBindTexture(vgl->tex_target, glr->texture);
+ glDrawArrays( GL_TRIANGLE_STRIP, 0, 4 );
+ }
+ glDisable(GL_BLEND);
+ }
vlc_gl_Swap(vgl->gl);
diff --git a/modules/video_output/opengl.h b/modules/video_output/opengl.h
index 7a118df..bdd5729 100644
--- a/modules/video_output/opengl.h
+++ b/modules/video_output/opengl.h
@@ -43,6 +43,7 @@
# ifdef WIN32
# include
# endif
+# include
# include
# endif
#else
--
1.7.9.2
From remi at remlab.net Mon Apr 2 16:55:32 2012
From: remi at remlab.net (=?iso-8859-1?q?R=E9mi?= Denis-Courmont)
Date: Mon, 2 Apr 2012 17:55:32 +0300
Subject: [vlc-devel] [PATCH 1/5] opengl: use vbo/vao and new shaders
In-Reply-To: <1333368791-16679-2-git-send-email-ileoo@videolan.org>
References: <1333368791-16679-1-git-send-email-ileoo@videolan.org>
<1333368791-16679-2-git-send-email-ileoo@videolan.org>
Message-ID: <201204021755.33642.remi@remlab.net>
Lots of warnings at compilation and plain segmentation fault at run-time.
Using Mesa 7 like virtually all contemporary Linux distributions.
--
R?mi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis
From remi at remlab.net Mon Apr 2 16:57:43 2012
From: remi at remlab.net (=?iso-8859-1?q?R=E9mi?= Denis-Courmont)
Date: Mon, 2 Apr 2012 17:57:43 +0300
Subject: [vlc-devel] [PATCH 1/5] opengl: use vbo/vao and new shaders
In-Reply-To: <201204021755.33642.remi@remlab.net>
References: <1333368791-16679-1-git-send-email-ileoo@videolan.org>
<1333368791-16679-2-git-send-email-ileoo@videolan.org>
<201204021755.33642.remi@remlab.net>
Message-ID: <201204021757.44190.remi@remlab.net>
Le lundi 2 avril 2012 17:55:32 R?mi Denis-Courmont, vous avez ?crit :
> Lots of warnings at compilation
../../../modules/video_output/opengl.c: In function 'vout_display_opengl_New':
../../../modules/video_output/opengl.c:277:24: warning: assignment from
incompatible pointer type [enabled by default]
../../../modules/video_output/opengl.c:477:13: warning: passing argument 6 of
'vgl->VertexAttribPointer' makes pointer from integer without a cast [enabled
by default]
../../../modules/video_output/opengl.c:477:13: note: expected 'const GLvoid *'
but argument is of type 'unsigned int'
../../../modules/video_output/opengl.c:478:13: warning: passing argument 6 of
'vgl->VertexAttribPointer' makes pointer from integer without a cast [enabled
by default]
../../../modules/video_output/opengl.c:478:13: note: expected 'const GLvoid *'
but argument is of type 'unsigned int'
../../../modules/video_output/opengl.c:195:11: warning: unused variable
'supports_multitexture' [-Wunused-variable]
../../../modules/video_output/opengl.c:191:17: warning: unused variable
'extensions' [-Wunused-variable]
CC libxcb_glx_plugin_la-opengl.lo
CCLD libgl_plugin.la
../../../modules/video_output/opengl.c: In function 'vout_display_opengl_New':
../../../modules/video_output/opengl.c:277:24: warning: assignment from
incompatible pointer type [enabled by default]
../../../modules/video_output/opengl.c:477:13: warning: passing argument 6 of
'vgl->VertexAttribPointer' makes pointer from integer without a cast [enabled
by default]
../../../modules/video_output/opengl.c:477:13: note: expected 'const GLvoid *'
but argument is of type 'unsigned int'
../../../modules/video_output/opengl.c:478:13: warning: passing argument 6 of
'vgl->VertexAttribPointer' makes pointer from integer without a cast [enabled
by default]
../../../modules/video_output/opengl.c:478:13: note: expected 'const GLvoid *'
but argument is of type 'unsigned int'
../../../modules/video_output/opengl.c:195:11: warning: unused variable
'supports_multitexture' [-Wunused-variable]
../../../modules/video_output/opengl.c:191:17: warning: unused variable
'extensions' [-Wunused-variable]
CCLD libxcb_glx_plugin.la
> and plain segmentation fault at run-time.
0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.00 ES,
1.10, and 1.20
0:2(63): error: Illegal use of reserved word `output'
0:2(63): error: syntax error, unexpected ERROR_TOK, expecting ',' or ';'
Erreur de segmentation
> Using Mesa 7 like virtually all contemporary Linux distributions.
--
R?mi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis
From remi at remlab.net Mon Apr 2 20:27:10 2012
From: remi at remlab.net (=?iso-8859-1?q?R=E9mi?= Denis-Courmont)
Date: Mon, 2 Apr 2012 21:27:10 +0300
Subject: [vlc-devel] 2.0.1.1 for Windows
In-Reply-To: <20120330131115.GA28683@videolan.org>
References: <20120330124538.GA26574@videolan.org>
<5bb7fa2034f468bb580f6540d86ec2e6@chewa.net>
<20120330131115.GA28683@videolan.org>
Message-ID: <201204022127.10406.remi@remlab.net>
Le vendredi 30 mars 2012 16:11:15 Jean-Baptiste Kempf, vous avez ?crit :
> On Fri, Mar 30, 2012 at 03:10:07PM +0200, R?mi Denis-Courmont wrote :
> > Hmm...
>
> Could you clarify your thoughts?
I think it's clear: there are lots of bug fixes on Linux, even if there are no
video output fixes as maybe on Windows. Regardless, I do not understand the
discussion. You need to make a source code release anyway, and you will not be
making Linux binaries either way. So to you, the overhead of a "Linux" release
should be near nil.
The only reason I can think of, to postpone the 2.0.2 release would be
improving audio output, which seems *cough* slightly *cough* broken
*whistles*. But then again, nobody seems to be working on that.
--
R?mi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis
From fyhuel at viotech.net Mon Apr 2 21:11:37 2012
From: fyhuel at viotech.net (=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Yhuel?=)
Date: Mon, 2 Apr 2012 21:11:37 +0200
Subject: [vlc-devel] [PATCH] HLS: don't use floats when not necessary
Message-ID: <1333393897-26815-1-git-send-email-fyhuel@viotech.net>
---
modules/stream_filter/httplive.c | 7 +------
1 files changed, 1 insertions(+), 6 deletions(-)
diff --git a/modules/stream_filter/httplive.c b/modules/stream_filter/httplive.c
index 26f6d74..433dca0 100644
--- a/modules/stream_filter/httplive.c
+++ b/modules/stream_filter/httplive.c
@@ -1494,12 +1494,7 @@ static int hls_DownloadSegmentData(stream_t *s, hls_stream_t *hls, segment_t *se
msg_Info(s, "downloaded segment %d from stream %d",
segment->sequence, *cur_stream);
- /* check for division by zero */
- double ms = (double)duration / 1000.0; /* ms */
- if (ms <= 0.0)
- return VLC_SUCCESS;
-
- uint64_t bw = ((double)(segment->size * 8) / ms) * 1000; /* bits / s */
+ uint64_t bw = segment->size * 8 * 1000000 / __MAX(1, duration); /* bits / s */
p_sys->bandwidth = bw;
if (p_sys->b_meta && (hls->bandwidth != bw))
{
--
1.7.9.1
From funman at videolan.org Tue Apr 3 00:59:50 2012
From: funman at videolan.org (=?UTF-8?q?Rafa=C3=ABl=20Carr=C3=A9?=)
Date: Mon, 2 Apr 2012 18:59:50 -0400
Subject: [vlc-devel] [PATCH] Update update status files URLs
Message-ID: <1333407590-8706-1-git-send-email-funman@videolan.org>
- add a win64 file
- do not repeatedly define the constant part
- use the test URL on every platform using --enable-debug, not only win32
---
src/misc/update.c | 17 ++++++++++-------
1 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/src/misc/update.c b/src/misc/update.c
index 41050bb..cf80471 100644
--- a/src/misc/update.c
+++ b/src/misc/update.c
@@ -75,17 +75,20 @@
*/
#if defined( UNDER_CE )
-# define UPDATE_VLC_STATUS_URL "http://update.videolan.org/vlc/status-ce"
+# define UPDATE_OS_SUFFIX "-ce"
+#elif defined( WIN64 )
+# define UPDATE_OS_SUFFIX "-win-x64"
#elif defined( WIN32 )
-# ifndef NDEBUG
-# define UPDATE_VLC_STATUS_URL "http://update-test.videolan.org/vlc/status-win-x86"
-# else
-# define UPDATE_VLC_STATUS_URL "http://update.videolan.org/vlc/status-win-x86"
-# endif
+# define UPDATE_OS_SUFFIX "-win-x86"
#else
-# define UPDATE_VLC_STATUS_URL "http://update.videolan.org/vlc/status"
+# define UPDATE_OS_SUFFIX ""
#endif
+#ifndef NDEBUG
+# define UPDATE_VLC_STATUS_URL "http://update-test.videolan.org/vlc/status-win-x86"
+#else
+# define UPDATE_VLC_STATUS_URL "http://update.videolan.org/vlc/status" UPDATE_OS_SUFFIX
+#endif
/*****************************************************************************
* Update_t functions
--
1.7.9.1
From remi at remlab.net Tue Apr 3 08:40:24 2012
From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=)
Date: Tue, 03 Apr 2012 08:40:24 +0200
Subject: [vlc-devel] [vlc-commits] ALSA: correct S/PDIF start timing
(fixes #6565)
In-Reply-To: <20120402201305.21C60146191@albiero.videolan.org>
References: <20120402201305.21C60146191@albiero.videolan.org>
Message-ID:
On Mon, 2 Apr 2012 22:13:05 +0200 (CEST), git at videolan.org (R?mi
Denis-Courmont) wrote:
> vlc | branch: master | R?mi Denis-Courmont | Mon Apr
2
> 23:10:30 2012 +0300| [89d23df7d82a27c42cfa3a52d4008e34130bc99f] |
> committer: R?mi Denis-Courmont
>
> ALSA: correct S/PDIF start timing (fixes #6565)
>
> This is completely untested, but it seems logical.
Well actually, it should make no difference (or even be slightly worse).
Then again, the kernel had broken TIMER_ABSTIME (VLC mwait()) some years
ago, so maybe it is broken for some people still.
Eh, it is untested.
--
R?mi Denis-Courmont
Sent from my collocated server
From remi at remlab.net Tue Apr 3 08:42:32 2012
From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=)
Date: Tue, 03 Apr 2012 08:42:32 +0200
Subject: [vlc-devel] [PATCH] Update update status files URLs
In-Reply-To: <1333407590-8706-1-git-send-email-funman@videolan.org>
References: <1333407590-8706-1-git-send-email-funman@videolan.org>
Message-ID: <5b06a7cb7eeea0dea91431ac99ac89c8@chewa.net>
On Mon, 2 Apr 2012 18:59:50 -0400, Rafa?l Carr?
wrote:
> +#ifndef NDEBUG
> +# define UPDATE_VLC_STATUS_URL
> "http://update-test.videolan.org/vlc/status-win-x86"
> +#else
> +# define UPDATE_VLC_STATUS_URL "http://update.videolan.org/vlc/status"
> UPDATE_OS_SUFFIX
> +#endif
I don't understand that chunk.
--
R?mi Denis-Courmont
Sent from my collocated server
From christoph.miebach at web.de Tue Apr 3 13:07:35 2012
From: christoph.miebach at web.de (Christoph Miebach)
Date: Tue, 03 Apr 2012 13:07:35 +0200
Subject: [vlc-devel] [PATCH 1/2] Better translators detection;
adjusting extraction from AUTHORS
Message-ID: <4F7AD9F7.1080800@web.de>
Hello!
After re-arranging the AUTHORS-file, the extracting had to be adjusted
(stop getting coders at the first empty line now, not at the eof).
I added
extras/package/win32/languages/
share/vlc.desktop.in
to the list of i18n files. This way, commits there will count for
translating, but not as coding.
Since the script is not meant to remove any previous contributor (by
design) this won't help reducing the coders number (this translators
were added already by running the script last time). So, for getting a
correct output, I had to start with the original 2.0.0-AUTHORS.
I think/hope this will not be neccessary next time. However, if simply
running the script on the current AUTHORS will not be sufficient then
(eg for sorting out artwork-commits in a similar way), starting with the
2.0.0 is suggested, again.
ATM handling artwork separately seems overkill to me. (One could just
remove the <10 designers manually).
Regards
Christoph
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Better-translators-detection-adjusting-extraction-fr.patch
Type: text/x-patch
Size: 1433 bytes
Desc: not available
URL:
From christoph.miebach at web.de Tue Apr 3 13:09:10 2012
From: christoph.miebach at web.de (Christoph Miebach)
Date: Tue, 03 Apr 2012 13:09:10 +0200
Subject: [vlc-devel] [PATCH 2/2] Changing address for getting names to
match. Maybe more, recent address.
Message-ID: <4F7ADA56.6070808@web.de>
One commiter with two names.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Changing-address-for-getting-names-to-match.-Maybe-m.patch
Type: text/x-patch
Size: 840 bytes
Desc: not available
URL:
From mehdilauters at gmail.com Tue Apr 3 10:27:18 2012
From: mehdilauters at gmail.com (Mehdi Lauters)
Date: Tue, 3 Apr 2012 10:27:18 +0200
Subject: [vlc-devel] [PATCH] Display cursor on video screenshot on X server
systems using xfixes extension
Message-ID: <1333441638-14158-1-git-send-email-mehdilauters@gmail.com>
From: Mehdi Lauters
---
modules/access/screen/xcb.c | 112 ++++++++++++++++++++++++++++++++++++++++++-
po/fr.po | 37 +++++++-------
2 files changed, 129 insertions(+), 20 deletions(-)
diff --git a/modules/access/screen/xcb.c b/modules/access/screen/xcb.c
index 447f77a..3d87f8a 100644
--- a/modules/access/screen/xcb.c
+++ b/modules/access/screen/xcb.c
@@ -26,6 +26,7 @@
#include
#include
#include
+//#include
#include
#include
#include
@@ -402,7 +403,7 @@ discard:
/* Capture screen */
xcb_drawable_t drawable =
(sys->window != geo->root) ? sys->pixmap : sys->window;
- free (geo);
+
xcb_get_image_reply_t *img;
img = xcb_get_image_reply (conn,
@@ -411,6 +412,115 @@ discard:
if (img == NULL)
return;
+
+///////////////////////////////////////////////cursor processing begining///////////////////////////////////
+// doesn't take account of cursor transparency
+
+ xcb_generic_error_t xcbError;
+
+ // initializing xfixes (to get the cursor image)
+ xcb_xfixes_query_version_reply(conn, xcb_xfixes_query_version(conn, XCB_XFIXES_MAJOR_VERSION, XCB_XFIXES_MINOR_VERSION), NULL);
+
+ // we ask for pointer informations ( on the same screen or not )
+ xcb_query_pointer_cookie_t pointerCookie= xcb_query_pointer (conn, drawable);
+ xcb_query_pointer_reply_t * pointerReply= xcb_query_pointer_reply (conn, pointerCookie, &xcbError);
+
+
+ if(xcbError.error_code!=0)
+ {
+ msg_Warn (demux, "unable to locate cursor");
+ }
+ else
+ {
+ // if the cursor is on the same screen
+ if(pointerReply->same_screen == 1)
+ {
+ // we get more information about the cursor
+ xcb_xfixes_get_cursor_image_cookie_t cursorCookie=xcb_xfixes_get_cursor_image(conn);
+ xcb_xfixes_get_cursor_image_reply_t* cursorImageReply= xcb_xfixes_get_cursor_image_reply (conn, cursorCookie, &xcbError);
+
+ if(xcbError.error_code==0)
+ {
+ // indices to browse images
+ int screenImageLinearIndice;
+ int pointerImageLinearIndice=0;
+
+ // images data
+ uint32_t *screenImageData=NULL;
+ uint32_t *pointerImageData;
+
+ // we get the cursor image data
+ pointerImageData=xcb_xfixes_get_cursor_image_cursor_image(cursorImageReply);
+
+ // we get screen image data
+ screenImageData=xcb_get_image_data (img);
+
+
+ //indices to browse the pointer picture
+ int ixCursor=0,
+ iyCursor=0;
+
+ int xMinScreen=cursorImageReply->x-cursorImageReply->xhot, // top left corner of the pointer picture on the screen picture
+ yMinScreen=cursorImageReply->y-cursorImageReply->yhot, // top right corner of the pointer picture on the screen picture
+ xMaxScreen=cursorImageReply->x+(cursorImageReply->width-cursorImageReply->xhot), // bottom left corner of the pointer picture on the screen picture
+ yMaxScreen=cursorImageReply->y+(cursorImageReply->width-cursorImageReply->yhot); // bottom right corner of the pointer picture on the screen picture
+
+
+ if(!(xMinScreen<0 || yMinScreen <0 || xMaxScreen > geo->width || yMaxScreen > geo->height)) // be sure that the entire pointer is on the screenshot
+ {
+
+ // we browse the screen picture
+ for(int ix=xMinScreen; // to center on the right point
+ ixwidth+ix;
+
+
+ // //get the relative indice of the cursor
+ pointerImageLinearIndice=iyCursor*cursorImageReply->width+ixCursor;
+
+ // get the indice of the first color of the current pixel ( switch from uint32 to uint8 )
+ screenImageLinearIndice=screenImageLinearIndice*4;
+ pointerImageLinearIndice=pointerImageLinearIndice*4;
+
+ // /!\ no transparency
+ if(((uint8_t *)pointerImageData)[pointerImageLinearIndice+3]>100)
+ {
+ // copying pixels colors
+ ((uint8_t *)screenImageData)[screenImageLinearIndice]=((uint8_t *)pointerImageData)[pointerImageLinearIndice]; // r
+ ((uint8_t *)screenImageData)[screenImageLinearIndice+1]=((uint8_t *)pointerImageData)[pointerImageLinearIndice+1]; // g
+ ((uint8_t *)screenImageData)[screenImageLinearIndice+2]=((uint8_t *)pointerImageData)[pointerImageLinearIndice+2]; // b
+ }
+ iyCursor++;
+ }
+ ixCursor++;
+ }
+ }
+ else
+ {
+ msg_Warn (demux, "Cursor not on the picture");
+ }
+ free(cursorImageReply);
+ }
+ else
+ {
+ msg_Warn (demux, "unable to find cursor image");
+ }
+ }
+ }
+
+ free(pointerReply);
+ ///////////////////////////////////////////////cursor processing end///////////////////////////////////
+
+
+ free (geo);
block_t *block = block_heap_Alloc (img, xcb_get_image_data (img),
xcb_get_image_data_length (img));
if (block == NULL)
diff --git a/po/fr.po b/po/fr.po
index f6e67a0..df4f7c6 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -30,7 +30,8 @@ msgid ""
"see the file named COPYING for details.\n"
"Written by the VideoLAN team; see the AUTHORS file.\n"
msgstr ""
-"Ce programme est fourni SANS AUCUNE GARANTIE, tel qu'il est permis par la loi.\n"
+"Ce programme est fourni SANS AUCUNE GARANTIE, tel qu'il est permis par la "
+"loi.\n"
"Vous pouvez le redistribuer selon les termes de la Licence Publique G??n??rale "
"GNU ;\n"
"voir le fichier COPYING pour plus de d??tails.\n"
@@ -797,14 +798,14 @@ msgstr ""
"raccourcis clavier principaux, lisez la page sur les raccourcis.
Aide
Avant de poser une "
"question, r??f??rez vous d'abord ?? la FAQ.
Vous pouvez ensuite demander "
-"(et apporter) de l'aide sur les Forums, les listes "
-"de diffusion ou notre cannal irc ( #videolan sur irc.freenode.net ).
Contribuer "
-"au projet
Vous pouvez aider le projet VideoLAN en donnant de votre "
-"temps pour aider la communaut??, pour concevoir des interfaces, pour traduire "
-"la documentation, pour tester et pour coder. Vous pouvez aussi donner de "
+"Frequently_Asked_Questions\">FAQ.
Vous pouvez ensuite demander (et "
+"apporter) de l'aide sur les Forums"
+"a>, les listes de "
+"diffusion ou notre cannal irc ( #videolan sur irc.freenode.net ).
Contribuer au "
+"projet
Vous pouvez aider le projet VideoLAN en donnant de votre temps "
+"pour aider la communaut??, pour concevoir des interfaces, pour traduire la "
+"documentation, pour tester et pour coder. Vous pouvez aussi donner de "
"l'argent ou du mat??riel pour nous aider. Et bien s??r, vous pouvez "
"promouvoir le lecteur multim??dia VLC.