Home | History | Annotate | Download | only in ffmpeg
      1               Copyright (C) 2001 Fabrice Bellard
      2 
      3     FFmpeg is free software; you can redistribute it and/or
      4     modify it under the terms of the GNU Lesser General Public
      5     License as published by the Free Software Foundation; either
      6     version 2.1 of the License, or (at your option) any later version.
      7 
      8     FFmpeg is distributed in the hope that it will be useful,
      9     but WITHOUT ANY WARRANTY; without even the implied warranty of
     10     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     11     Lesser General Public License for more details.
     12 
     13     You should have received a copy of the GNU Lesser General Public
     14     License along with FFmpeg; if not, write to the Free Software
     15     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
     16 
     17 ==================================================================================
     18 
     19                   GNU LESSER GENERAL PUBLIC LICENSE
     20                        Version 2.1, February 1999
     21 
     22  Copyright (C) 1991, 1999 Free Software Foundation, Inc.
     23  51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
     24  Everyone is permitted to copy and distribute verbatim copies
     25  of this license document, but changing it is not allowed.
     26 
     27 [This is the first released version of the Lesser GPL.  It also counts
     28  as the successor of the GNU Library Public License, version 2, hence
     29  the version number 2.1.]
     30 
     31                             Preamble
     32 
     33   The licenses for most software are designed to take away your
     34 freedom to share and change it.  By contrast, the GNU General Public
     35 Licenses are intended to guarantee your freedom to share and change
     36 free software--to make sure the software is free for all its users.
     37 
     38   This license, the Lesser General Public License, applies to some
     39 specially designated software packages--typically libraries--of the
     40 Free Software Foundation and other authors who decide to use it.  You
     41 can use it too, but we suggest you first think carefully about whether
     42 this license or the ordinary General Public License is the better
     43 strategy to use in any particular case, based on the explanations below.
     44 
     45   When we speak of free software, we are referring to freedom of use,
     46 not price.  Our General Public Licenses are designed to make sure that
     47 you have the freedom to distribute copies of free software (and charge
     48 for this service if you wish); that you receive source code or can get
     49 it if you want it; that you can change the software and use pieces of
     50 it in new free programs; and that you are informed that you can do
     51 these things.
     52 
     53   To protect your rights, we need to make restrictions that forbid
     54 distributors to deny you these rights or to ask you to surrender these
     55 rights.  These restrictions translate to certain responsibilities for
     56 you if you distribute copies of the library or if you modify it.
     57 
     58   For example, if you distribute copies of the library, whether gratis
     59 or for a fee, you must give the recipients all the rights that we gave
     60 you.  You must make sure that they, too, receive or can get the source
     61 code.  If you link other code with the library, you must provide
     62 complete object files to the recipients, so that they can relink them
     63 with the library after making changes to the library and recompiling
     64 it.  And you must show them these terms so they know their rights.
     65 
     66   We protect your rights with a two-step method: (1) we copyright the
     67 library, and (2) we offer you this license, which gives you legal
     68 permission to copy, distribute and/or modify the library.
     69 
     70   To protect each distributor, we want to make it very clear that
     71 there is no warranty for the free library.  Also, if the library is
     72 modified by someone else and passed on, the recipients should know
     73 that what they have is not the original version, so that the original
     74 author's reputation will not be affected by problems that might be
     75 introduced by others.
     76 
     78   Finally, software patents pose a constant threat to the existence of
     79 any free program.  We wish to make sure that a company cannot
     80 effectively restrict the users of a free program by obtaining a
     81 restrictive license from a patent holder.  Therefore, we insist that
     82 any patent license obtained for a version of the library must be
     83 consistent with the full freedom of use specified in this license.
     84 
     85   Most GNU software, including some libraries, is covered by the
     86 ordinary GNU General Public License.  This license, the GNU Lesser
     87 General Public License, applies to certain designated libraries, and
     88 is quite different from the ordinary General Public License.  We use
     89 this license for certain libraries in order to permit linking those
     90 libraries into non-free programs.
     91 
     92   When a program is linked with a library, whether statically or using
     93 a shared library, the combination of the two is legally speaking a
     94 combined work, a derivative of the original library.  The ordinary
     95 General Public License therefore permits such linking only if the
     96 entire combination fits its criteria of freedom.  The Lesser General
     97 Public License permits more lax criteria for linking other code with
     98 the library.
     99 
    100   We call this license the "Lesser" General Public License because it
    101 does Less to protect the user's freedom than the ordinary General
    102 Public License.  It also provides other free software developers Less
    103 of an advantage over competing non-free programs.  These disadvantages
    104 are the reason we use the ordinary General Public License for many
    105 libraries.  However, the Lesser license provides advantages in certain
    106 special circumstances.
    107 
    108   For example, on rare occasions, there may be a special need to
    109 encourage the widest possible use of a certain library, so that it becomes
    110 a de-facto standard.  To achieve this, non-free programs must be
    111 allowed to use the library.  A more frequent case is that a free
    112 library does the same job as widely used non-free libraries.  In this
    113 case, there is little to gain by limiting the free library to free
    114 software only, so we use the Lesser General Public License.
    115 
    116   In other cases, permission to use a particular library in non-free
    117 programs enables a greater number of people to use a large body of
    118 free software.  For example, permission to use the GNU C Library in
    119 non-free programs enables many more people to use the whole GNU
    120 operating system, as well as its variant, the GNU/Linux operating
    121 system.
    122 
    123   Although the Lesser General Public License is Less protective of the
    124 users' freedom, it does ensure that the user of a program that is
    125 linked with the Library has the freedom and the wherewithal to run
    126 that program using a modified version of the Library.
    127 
    128   The precise terms and conditions for copying, distribution and
    129 modification follow.  Pay close attention to the difference between a
    130 "work based on the library" and a "work that uses the library".  The
    131 former contains code derived from the library, whereas the latter must
    132 be combined with the library in order to run.
    133 
    135                   GNU LESSER GENERAL PUBLIC LICENSE
    136    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
    137 
    138   0. This License Agreement applies to any software library or other
    139 program which contains a notice placed by the copyright holder or
    140 other authorized party saying it may be distributed under the terms of
    141 this Lesser General Public License (also called "this License").
    142 Each licensee is addressed as "you".
    143 
    144   A "library" means a collection of software functions and/or data
    145 prepared so as to be conveniently linked with application programs
    146 (which use some of those functions and data) to form executables.
    147 
    148   The "Library", below, refers to any such software library or work
    149 which has been distributed under these terms.  A "work based on the
    150 Library" means either the Library or any derivative work under
    151 copyright law: that is to say, a work containing the Library or a
    152 portion of it, either verbatim or with modifications and/or translated
    153 straightforwardly into another language.  (Hereinafter, translation is
    154 included without limitation in the term "modification".)
    155 
    156   "Source code" for a work means the preferred form of the work for
    157 making modifications to it.  For a library, complete source code means
    158 all the source code for all modules it contains, plus any associated
    159 interface definition files, plus the scripts used to control compilation
    160 and installation of the library.
    161 
    162   Activities other than copying, distribution and modification are not
    163 covered by this License; they are outside its scope.  The act of
    164 running a program using the Library is not restricted, and output from
    165 such a program is covered only if its contents constitute a work based
    166 on the Library (independent of the use of the Library in a tool for
    167 writing it).  Whether that is true depends on what the Library does
    168 and what the program that uses the Library does.
    169 
    170   1. You may copy and distribute verbatim copies of the Library's
    171 complete source code as you receive it, in any medium, provided that
    172 you conspicuously and appropriately publish on each copy an
    173 appropriate copyright notice and disclaimer of warranty; keep intact
    174 all the notices that refer to this License and to the absence of any
    175 warranty; and distribute a copy of this License along with the
    176 Library.
    177 
    178   You may charge a fee for the physical act of transferring a copy,
    179 and you may at your option offer warranty protection in exchange for a
    180 fee.
    181 
    183   2. You may modify your copy or copies of the Library or any portion
    184 of it, thus forming a work based on the Library, and copy and
    185 distribute such modifications or work under the terms of Section 1
    186 above, provided that you also meet all of these conditions:
    187 
    188     a) The modified work must itself be a software library.
    189 
    190     b) You must cause the files modified to carry prominent notices
    191     stating that you changed the files and the date of any change.
    192 
    193     c) You must cause the whole of the work to be licensed at no
    194     charge to all third parties under the terms of this License.
    195 
    196     d) If a facility in the modified Library refers to a function or a
    197     table of data to be supplied by an application program that uses
    198     the facility, other than as an argument passed when the facility
    199     is invoked, then you must make a good faith effort to ensure that,
    200     in the event an application does not supply such function or
    201     table, the facility still operates, and performs whatever part of
    202     its purpose remains meaningful.
    203 
    204     (For example, a function in a library to compute square roots has
    205     a purpose that is entirely well-defined independent of the
    206     application.  Therefore, Subsection 2d requires that any
    207     application-supplied function or table used by this function must
    208     be optional: if the application does not supply it, the square
    209     root function must still compute square roots.)
    210 
    211 These requirements apply to the modified work as a whole.  If
    212 identifiable sections of that work are not derived from the Library,
    213 and can be reasonably considered independent and separate works in
    214 themselves, then this License, and its terms, do not apply to those
    215 sections when you distribute them as separate works.  But when you
    216 distribute the same sections as part of a whole which is a work based
    217 on the Library, the distribution of the whole must be on the terms of
    218 this License, whose permissions for other licensees extend to the
    219 entire whole, and thus to each and every part regardless of who wrote
    220 it.
    221 
    222 Thus, it is not the intent of this section to claim rights or contest
    223 your rights to work written entirely by you; rather, the intent is to
    224 exercise the right to control the distribution of derivative or
    225 collective works based on the Library.
    226 
    227 In addition, mere aggregation of another work not based on the Library
    228 with the Library (or with a work based on the Library) on a volume of
    229 a storage or distribution medium does not bring the other work under
    230 the scope of this License.
    231 
    232   3. You may opt to apply the terms of the ordinary GNU General Public
    233 License instead of this License to a given copy of the Library.  To do
    234 this, you must alter all the notices that refer to this License, so
    235 that they refer to the ordinary GNU General Public License, version 2,
    236 instead of to this License.  (If a newer version than version 2 of the
    237 ordinary GNU General Public License has appeared, then you can specify
    238 that version instead if you wish.)  Do not make any other change in
    239 these notices.
    240 
    242   Once this change is made in a given copy, it is irreversible for
    243 that copy, so the ordinary GNU General Public License applies to all
    244 subsequent copies and derivative works made from that copy.
    245 
    246   This option is useful when you wish to copy part of the code of
    247 the Library into a program that is not a library.
    248 
    249   4. You may copy and distribute the Library (or a portion or
    250 derivative of it, under Section 2) in object code or executable form
    251 under the terms of Sections 1 and 2 above provided that you accompany
    252 it with the complete corresponding machine-readable source code, which
    253 must be distributed under the terms of Sections 1 and 2 above on a
    254 medium customarily used for software interchange.
    255 
    256   If distribution of object code is made by offering access to copy
    257 from a designated place, then offering equivalent access to copy the
    258 source code from the same place satisfies the requirement to
    259 distribute the source code, even though third parties are not
    260 compelled to copy the source along with the object code.
    261 
    262   5. A program that contains no derivative of any portion of the
    263 Library, but is designed to work with the Library by being compiled or
    264 linked with it, is called a "work that uses the Library".  Such a
    265 work, in isolation, is not a derivative work of the Library, and
    266 therefore falls outside the scope of this License.
    267 
    268   However, linking a "work that uses the Library" with the Library
    269 creates an executable that is a derivative of the Library (because it
    270 contains portions of the Library), rather than a "work that uses the
    271 library".  The executable is therefore covered by this License.
    272 Section 6 states terms for distribution of such executables.
    273 
    274   When a "work that uses the Library" uses material from a header file
    275 that is part of the Library, the object code for the work may be a
    276 derivative work of the Library even though the source code is not.
    277 Whether this is true is especially significant if the work can be
    278 linked without the Library, or if the work is itself a library.  The
    279 threshold for this to be true is not precisely defined by law.
    280 
    281   If such an object file uses only numerical parameters, data
    282 structure layouts and accessors, and small macros and small inline
    283 functions (ten lines or less in length), then the use of the object
    284 file is unrestricted, regardless of whether it is legally a derivative
    285 work.  (Executables containing this object code plus portions of the
    286 Library will still fall under Section 6.)
    287 
    288   Otherwise, if the work is a derivative of the Library, you may
    289 distribute the object code for the work under the terms of Section 6.
    290 Any executables containing that work also fall under Section 6,
    291 whether or not they are linked directly with the Library itself.
    292 
    294   6. As an exception to the Sections above, you may also combine or
    295 link a "work that uses the Library" with the Library to produce a
    296 work containing portions of the Library, and distribute that work
    297 under terms of your choice, provided that the terms permit
    298 modification of the work for the customer's own use and reverse
    299 engineering for debugging such modifications.
    300 
    301   You must give prominent notice with each copy of the work that the
    302 Library is used in it and that the Library and its use are covered by
    303 this License.  You must supply a copy of this License.  If the work
    304 during execution displays copyright notices, you must include the
    305 copyright notice for the Library among them, as well as a reference
    306 directing the user to the copy of this License.  Also, you must do one
    307 of these things:
    308 
    309     a) Accompany the work with the complete corresponding
    310     machine-readable source code for the Library including whatever
    311     changes were used in the work (which must be distributed under
    312     Sections 1 and 2 above); and, if the work is an executable linked
    313     with the Library, with the complete machine-readable "work that
    314     uses the Library", as object code and/or source code, so that the
    315     user can modify the Library and then relink to produce a modified
    316     executable containing the modified Library.  (It is understood
    317     that the user who changes the contents of definitions files in the
    318     Library will not necessarily be able to recompile the application
    319     to use the modified definitions.)
    320 
    321     b) Use a suitable shared library mechanism for linking with the
    322     Library.  A suitable mechanism is one that (1) uses at run time a
    323     copy of the library already present on the user's computer system,
    324     rather than copying library functions into the executable, and (2)
    325     will operate properly with a modified version of the library, if
    326     the user installs one, as long as the modified version is
    327     interface-compatible with the version that the work was made with.
    328 
    329     c) Accompany the work with a written offer, valid for at
    330     least three years, to give the same user the materials
    331     specified in Subsection 6a, above, for a charge no more
    332     than the cost of performing this distribution.
    333 
    334     d) If distribution of the work is made by offering access to copy
    335     from a designated place, offer equivalent access to copy the above
    336     specified materials from the same place.
    337 
    338     e) Verify that the user has already received a copy of these
    339     materials or that you have already sent this user a copy.
    340 
    341   For an executable, the required form of the "work that uses the
    342 Library" must include any data and utility programs needed for
    343 reproducing the executable from it.  However, as a special exception,
    344 the materials to be distributed need not include anything that is
    345 normally distributed (in either source or binary form) with the major
    346 components (compiler, kernel, and so on) of the operating system on
    347 which the executable runs, unless that component itself accompanies
    348 the executable.
    349 
    350   It may happen that this requirement contradicts the license
    351 restrictions of other proprietary libraries that do not normally
    352 accompany the operating system.  Such a contradiction means you cannot
    353 use both them and the Library together in an executable that you
    354 distribute.
    355 
    357   7. You may place library facilities that are a work based on the
    358 Library side-by-side in a single library together with other library
    359 facilities not covered by this License, and distribute such a combined
    360 library, provided that the separate distribution of the work based on
    361 the Library and of the other library facilities is otherwise
    362 permitted, and provided that you do these two things:
    363 
    364     a) Accompany the combined library with a copy of the same work
    365     based on the Library, uncombined with any other library
    366     facilities.  This must be distributed under the terms of the
    367     Sections above.
    368 
    369     b) Give prominent notice with the combined library of the fact
    370     that part of it is a work based on the Library, and explaining
    371     where to find the accompanying uncombined form of the same work.
    372 
    373   8. You may not copy, modify, sublicense, link with, or distribute
    374 the Library except as expressly provided under this License.  Any
    375 attempt otherwise to copy, modify, sublicense, link with, or
    376 distribute the Library is void, and will automatically terminate your
    377 rights under this License.  However, parties who have received copies,
    378 or rights, from you under this License will not have their licenses
    379 terminated so long as such parties remain in full compliance.
    380 
    381   9. You are not required to accept this License, since you have not
    382 signed it.  However, nothing else grants you permission to modify or
    383 distribute the Library or its derivative works.  These actions are
    384 prohibited by law if you do not accept this License.  Therefore, by
    385 modifying or distributing the Library (or any work based on the
    386 Library), you indicate your acceptance of this License to do so, and
    387 all its terms and conditions for copying, distributing or modifying
    388 the Library or works based on it.
    389 
    390   10. Each time you redistribute the Library (or any work based on the
    391 Library), the recipient automatically receives a license from the
    392 original licensor to copy, distribute, link with or modify the Library
    393 subject to these terms and conditions.  You may not impose any further
    394 restrictions on the recipients' exercise of the rights granted herein.
    395 You are not responsible for enforcing compliance by third parties with
    396 this License.
    397 
    399   11. If, as a consequence of a court judgment or allegation of patent
    400 infringement or for any other reason (not limited to patent issues),
    401 conditions are imposed on you (whether by court order, agreement or
    402 otherwise) that contradict the conditions of this License, they do not
    403 excuse you from the conditions of this License.  If you cannot
    404 distribute so as to satisfy simultaneously your obligations under this
    405 License and any other pertinent obligations, then as a consequence you
    406 may not distribute the Library at all.  For example, if a patent
    407 license would not permit royalty-free redistribution of the Library by
    408 all those who receive copies directly or indirectly through you, then
    409 the only way you could satisfy both it and this License would be to
    410 refrain entirely from distribution of the Library.
    411 
    412 If any portion of this section is held invalid or unenforceable under any
    413 particular circumstance, the balance of the section is intended to apply,
    414 and the section as a whole is intended to apply in other circumstances.
    415 
    416 It is not the purpose of this section to induce you to infringe any
    417 patents or other property right claims or to contest validity of any
    418 such claims; this section has the sole purpose of protecting the
    419 integrity of the free software distribution system which is
    420 implemented by public license practices.  Many people have made
    421 generous contributions to the wide range of software distributed
    422 through that system in reliance on consistent application of that
    423 system; it is up to the author/donor to decide if he or she is willing
    424 to distribute software through any other system and a licensee cannot
    425 impose that choice.
    426 
    427 This section is intended to make thoroughly clear what is believed to
    428 be a consequence of the rest of this License.
    429 
    430   12. If the distribution and/or use of the Library is restricted in
    431 certain countries either by patents or by copyrighted interfaces, the
    432 original copyright holder who places the Library under this License may add
    433 an explicit geographical distribution limitation excluding those countries,
    434 so that distribution is permitted only in or among countries not thus
    435 excluded.  In such case, this License incorporates the limitation as if
    436 written in the body of this License.
    437 
    438   13. The Free Software Foundation may publish revised and/or new
    439 versions of the Lesser General Public License from time to time.
    440 Such new versions will be similar in spirit to the present version,
    441 but may differ in detail to address new problems or concerns.
    442 
    443 Each version is given a distinguishing version number.  If the Library
    444 specifies a version number of this License which applies to it and
    445 "any later version", you have the option of following the terms and
    446 conditions either of that version or of any later version published by
    447 the Free Software Foundation.  If the Library does not specify a
    448 license version number, you may choose any version ever published by
    449 the Free Software Foundation.
    450 
    452   14. If you wish to incorporate parts of the Library into other free
    453 programs whose distribution conditions are incompatible with these,
    454 write to the author to ask for permission.  For software which is
    455 copyrighted by the Free Software Foundation, write to the Free
    456 Software Foundation; we sometimes make exceptions for this.  Our
    457 decision will be guided by the two goals of preserving the free status
    458 of all derivatives of our free software and of promoting the sharing
    459 and reuse of software generally.
    460 
    461                             NO WARRANTY
    462 
    463   15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
    464 WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
    465 EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
    466 OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
    467 KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
    468 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    469 PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
    470 LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
    471 THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
    472 
    473   16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
    474 WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
    475 AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
    476 FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
    477 CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
    478 LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
    479 RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
    480 FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
    481 SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
    482 DAMAGES.
    483 
    484                      END OF TERMS AND CONDITIONS
    485 
    487            How to Apply These Terms to Your New Libraries
    488 
    489   If you develop a new library, and you want it to be of the greatest
    490 possible use to the public, we recommend making it free software that
    491 everyone can redistribute and change.  You can do so by permitting
    492 redistribution under these terms (or, alternatively, under the terms of the
    493 ordinary General Public License).
    494 
    495   To apply these terms, attach the following notices to the library.  It is
    496 safest to attach them to the start of each source file to most effectively
    497 convey the exclusion of warranty; and each file should have at least the
    498 "copyright" line and a pointer to where the full notice is found.
    499 
    500     <one line to give the library's name and a brief idea of what it does.>
    501     Copyright (C) <year>  <name of author>
    502 
    503     This library is free software; you can redistribute it and/or
    504     modify it under the terms of the GNU Lesser General Public
    505     License as published by the Free Software Foundation; either
    506     version 2.1 of the License, or (at your option) any later version.
    507 
    508     This library is distributed in the hope that it will be useful,
    509     but WITHOUT ANY WARRANTY; without even the implied warranty of
    510     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    511     Lesser General Public License for more details.
    512 
    513     You should have received a copy of the GNU Lesser General Public
    514     License along with this library; if not, write to the Free Software
    515     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
    516 
    517 Also add information on how to contact you by electronic and paper mail.
    518 
    519 You should also get your employer (if you work as a programmer) or your
    520 school, if any, to sign a "copyright disclaimer" for the library, if
    521 necessary.  Here is a sample; alter the names:
    522 
    523   Yoyodyne, Inc., hereby disclaims all copyright interest in the
    524   library `Frob' (a library for tweaking knobs) written by James Random Hacker.
    525 
    526   <signature of Ty Coon>, 1 April 1990
    527   Ty Coon, President of Vice
    528 
    529 That's all there is to it!
    530