Re-license almost all of libVLC and libVLCcore to LGPLv2.1+
This move was authorized by the developers, either:
- by e-mail,
- by vote at the VideoLAN Dev Days 2011,
- on the license website,
- in a contract, oral or written.
No objection was raised, so far.
The developers agreeing are:
Justus Piater
Alexis Ballier
Alexander Bethke
Mohammed Adnène Trojette
Alex Converse
Alexey Sokolov
Alexis de Lattre
Andre Pang
Anthony Loiseau
Cyril Deguet
André Weber
Boris Dorès
Brieuc Jeunhomme
Benjamin Drung
Hugo Beauzée-Luyssen
Benoit Steiner
Benjamin Pracht
Bernie Purcell
Przemyslaw Fiala
Arnaud de Bossoreille de Ribou
Brad Smith
Nick Briggs
Christopher Rath
Christophe Courtaut
Christopher Mueller
Clement Chesnin
Andres Krapf
Damien Fouilleul
David Flynn
Sebastien Zwickert
Antoine Cellerier
Jérôme Decoodt
Jérome Decoodt
Dylan Yudaken
Eduard Babayan
Eugenio Jarosiewicz
Elliot Murphy
Eric Petit
Erwan Tulou
Etienne Membrives
Ludovic Fauvet
Fabio Ritrovato
Tobias Güntner
Jakub Wieczorek
Frédéric Crozat
Francois Cartegnie
Laurent Aimar
Florian G. Pflug
Felix Paul Kühne
Frank Enderle
Rafaël Carré
Simon Latapie
Gildas Bazin
Geoffroy Couprie
Julien / Gellule
Gildas Bazin
Arnaud Schauly
Toralf Niebuhr
Vicente Jimenez Aguilar
Derk-Jan Hartman
Henri Fallon
Ilkka Ollakka
Olivier Teulière
Rémi Duraffort
Jakob Leben
Jean-Baptiste Kempf
Jean-Paul Saman
Jean-Philippe Grimaldi
Jean-François Massol
Gaël Hendryckx
Jakob Leben
Jean-Marc Dressler
Jai Menon
Johan Bilien
Johann Ransay
Joris van Rooij
JP Dinger
Jean-Philippe André
Adrien Grand
Juha Jeronen
Juho Vähä-Herttua
Kaarlo Raiha
Kaarlo Raiha
Kamil Baldyga
Keary Griffin
Ken Self
KO Myung-Hun
Pierre Ynard
Filippo Carone
Loïc Minier
Luca Barbato
Lucas C. Villa Real
Lukas Durfina
Adrien Maglo
Marc Ariberti
Mark Lee
Mark Moriarty
Martin Storsjö
Christophe Massiot
Michel Kaempf
Marian Ďurkovič
Mirsal Ennaime
Carlo Calabrò
Damien Lucas
Naohiro Koriyama
Basos G
Pierre Baillet
Vincent Penquerc'h
Olivier Aubert
Pankaj Yadav
Paul Corke
Pierre d'Herbemont
Philippe Morin
Antoine Lejeune
Michael Ploujnikov
Jean-Marc Dressler
Michael Hanselmann
Rafaël Carré
Ramiro Polla
Rémi Denis-Courmont
Renaud Dartus
Richard Shepherd
Faustino Osuna
Arnaud Vallat
Rob Jonson
Robert Jedrzejczyk
Steve Lhomme
Rocky Bernstein
Romain Goyet
Rov Juvano
Sam Hocevar
Martin T. H. Sandsmark
Sebastian Birk
Sébastien Escudier
Vincent Seguin
Fabio Ritrovato
Sigmund Augdal Helberg
Casian Andrei
Srikanth Raju
Hannes Domani
Stéphane Borel
Stephan Krempel
Stephan Assmus
Tony Castley
Pavlov Konstantin
Eric Petit
Tanguy Krotoff
Dennis van Amerongen
Michel Lespinasse
Can Wu
Xavier Marchesini
Sébastien Toque
Christophe Mutricy
Yoann Peronneau
Yohann Martineau
Yuval Tze
Scott Caudle
Clément Stenac
It is possible, that some minor piece of code was badly tracked, for
some reasons (SVN, mainly) or that some small developers did not answer.
However, as an "œuvre collective", defined as in "CPI 113-2 alinéa 3",
and seeing "Cour. Cass. 17 Mai 1978", and seeing that the editor and
the very vast majority of developers have agreed (> 99.99% of the code,
> 99% of developers), we are fine here.
Audio buffers are destroyed downstream of the decoder, so this
function could never be used. In practice, the audio filters, the
audio output (or the encoder) already use block_Release() to delete
buffers allocated with decoder_NewAudioBuffer().
If "direct rendering" is ever implemented in audio output,
block_Release() custom buffer deletion can be used.
Fix regression brought by ce67728ae1
As stated in the 'BIG FAT WARNING', decoder_t and filter_t first members must
be the same ones.
This solves skins2 numerous images failing to be displayed due to swscale
video filter no longer working properly (a filter_t to decoder_t cast issue)
- This is needed for proper seek/pause/fast forward/...
- The decoder/packetizer do not need to scale packet length anymore as the
decoder thread do it.
Use decoder_GetInputAttachment to get attachment from a decoder module.
You need to release the memory with vlc_input_attachment_Delete.
Untested...
modules/playlist/* cosmetic.
* libvlc sources and plugins now define __LIBVLC__ and headers exported to
plugins (ie, include/vlc_*.h) check for this
* libvlc sources use the value of the "libvlc" component in vlc-config instead
of vlc
* Apply flags directly to "libvlc" in configure.ac - might temporarily break win32 :)
* Headers in include must contain the structures and prototypes needed
by the plugins and should be named vlc_*.
* Headers in include/vlc must contain the structures and prototypes
needed by external libvlc clients
* Moved and renamed some things in headers.
- Removed vlc_cpu.h, vlc_error.h (merged in vlc_common)
- Removed snapshot.h (merged in vlc_vout.h)
- Removed vlc_spu.h (merged in vlc_osd.h)
- Removed intf_eject.h and vlc_interaction.h (merged in vlc_interface)
- Moved all internal headers to src
- Merged vlc_video.h and video_output.h and move private things to src
- Removed vlc/intf.h, vlc/aout.h, vlc/vout.h, vlc/decoder.h and vlc/input.h
(meta headers for use in modules, and often implying too large
dependencies)
* Removed some useless dependencies
* Unexported a bunch of functions and structures used only in src/
(--> Still some work here)
* Finally made input_thread_t and input_source_t (mostly) private.
Added input_GetItem to fetch the input_item of an input_thread
* Cleaned up deprecated entries in vlc_symbols.h and bumped up symbol
prefix
This commit has a 99% probability of breaking the build, 0.1% of killing
your cat and 0% of getting you hot chicks.
- chroma + resizing video filter (using the filter_t architecture).
* modules/codec/ffmpeg/*:
- cleanup + small updates.
* modules/codec/speex.c, theora.c, vorbis.c:
- got rid of pf_header() in the encoder.
- store the headers in fmt_out.p_extra (this will break the ogg muxer for now).
* modules/codec/libmpeg2.c, modules/codec/ffmpeg/video.c:
- added a p_dec->b_pace_control field to signal if the decoder is allowed to drop frames.
* modules/stream_out/transcode.c:
- heavy cleanup.
- re-use video decoder modules and got rid of the duplicated ffmpeg video decoder.
- use video filters for chroma conversion and resizing.
(a few things are broken now like deinterlacing but I'll repair them asap).
* modules/stream_out/duplicate.c: small coding style changes.
* modules/stream_out/transcode.c:
+ Forward the aopts{foo=bar,etc..} and vopts={foo=bar,etc...} options to the encoders.
+ Got rid of the ffmpeg encoder specific options.
* modules/codec/ffmpeg/*:
+ Changed the encoder options to normal config options.
+ Parse the options forwarded by transcode.
* include/vlc_codec.h:
+ encoder_t cleanup.
+ include a "sout_cfg_t *" in encoder_t to allow passing options.
* include/vlc_codec.h: added a b_need_packetized field to decoder_t that is used by a decoder to tell if it wants to be fed complete frames.
* modules/demux/ts.c, modules/demux/ps.h, src/input/input_programs.c: b_packetized = VLC_FALSE.
* modules/codec/ffmpeg/ffmpeg.c, modules/codec/faad.c: b_need_packetized = VLC_TRUE;
* src/input/input_dec.c: if (b_need_packetized & !b_packetized) then kick off a packetizer that we'll use to feed the decoder.
* src/input/es_out.c: removed useless stuff.
- new ffmpeg options available from the command-line : interleaved video,
noise reduction, rate control parameters, i_quant_factor, trellis
quantification, mpeg4 matrix, and thread count
- portable functions to use ffmpeg multithreading capabilities on all
platforms
- hurry up mode now turns off rd and trellis, and also raises the noise
reduction parameter (thus noise reduction is mandatory with hurry up)
- if threads=1, no ffmpeg thread is launched, but the ffmpeg encoding
will be done in a separate thread than the packetizer and decoder
- fixed a bug with mp3 decoding and weird ffmpeg return code