diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000..cf9a4c0ab5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +*~ + +Build +*.user +*.suo +*.ipch +*.sdf +*.opensdf +*.DS_Store diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000..c61aa7a529 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1 @@ +include: "https://gitlab.freedesktop.org/gstreamer/gst-ci/raw/master/gitlab/ci_template.yml" diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000000..3f1dfbda07 --- /dev/null +++ b/AUTHORS @@ -0,0 +1 @@ +Ronald Bultje diff --git a/COPYING b/COPYING new file mode 100644 index 0000000000..efce2a87c3 --- /dev/null +++ b/COPYING @@ -0,0 +1,503 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000000..164e8915f4 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,14209 @@ +=== release 1.19.2 === + +2021-09-23 01:35:17 +0100 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * gst-libav.doap: + * meson.build: + Release 1.19.2 + +2021-09-18 11:51:03 +0300 Sebastian Dröge + + * docs/gst_plugins_cache.json: + * ext/libav/gstavcodecmap.c: + avcodecmap: Add support for GBRA_10LE/BE + Part-of: + +2021-08-06 17:41:19 +0200 Stéphane Cerveau + + * docs/gst_plugins_cache.json: + * ext/libav/gstavdemux.c: + avdemux: add xwma support + Add xwma tested with the media + b8edfb1e970ed7892f35b34a1ef36fee_wma.wav + from this ticket: + http://trac.ffmpeg.org/ticket/9358 + Part-of: + +2020-01-22 12:41:27 -0500 Olivier Crête + + * docs/gst_plugins_cache.json: + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavviddec.c: + avviddec: Enable subframe decoding for H.264 + Enable sending NAL units to the decoder without having to first + group them in a frame (an AU). + Part-of: + +2020-01-22 12:39:47 -0500 Olivier Crête + + * ext/libav/gstavviddec.c: + avviddec: Split allocation tracking from decode-only-ness + When doing subframe decoding, handle_frame will be called multiple + times, so the DECODE_ONLY flag gets re-set when it shouldn't. Instead, + let's create our own flag to track this. + Part-of: + +2021-06-21 08:33:59 +0000 Corentin Damman + + * COPYING: + Update COPYING + Part-of: + +2021-06-03 06:01:30 -0400 Doug Nazar + + * ext/libav/gstavviddec.c: + avviddec: Fix size of linesize parameter + Although avcodec_align_dimensions2() only copies 4 ints, it expects + a buffer of at least AV_NUM_DATA_POINTERS (8) ints. + Part-of: + +2021-06-01 15:29:04 +0100 Tim-Philipp Müller + + * meson.build: + Back to development + +=== release 1.19.1 === + +2021-06-01 00:14:52 +0100 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * gst-libav.doap: + * meson.build: + Release 1.19.1 + +2021-04-29 21:32:18 -0400 Doug Nazar + + * ext/libav/gstavmux.c: + avmux: Blacklist ttml subtitles + Part-of: + +2021-04-24 10:04:23 +0200 Edward Hervey + + * ext/libav/gstavviddec.c: + avviddec: Take into account coded_height for pool + Failure to do this would cause the decoders to constantly request a new + bufferpool thinking the height had changed ... whereas it hadn't. + Fixes #95 + Part-of: + +2021-04-13 00:45:41 +0100 Tim-Philipp Müller + + * docs/gst_plugins_cache.json: + * ext/libav/gstavviddec.c: + * ext/libav/gstavviddec.h: + avviddec: deprecated debug-mv property to match deprecation in FFmpeg + This has been unimplemented and non-functional for years + and was deprecated with FFmpeg 4.4. + Part-of: + +2021-04-13 01:07:15 +0100 Tim-Philipp Müller + + * ext/libav/gstavdemux.c: + avdemux: fix build with FFmpeg 4.4 + Direct access to avstream->index_entries was removed + in favour of the newly added avformat_index_get_entry() + and friends. + Fixes https://gitlab.freedesktop.org/gstreamer/gst-libav/-/issues/85 + Part-of: + +2021-01-19 13:19:31 -0800 Nicholas Jackson + + * ext/libav/gstavmux.c: + avmux: fix segfault when a plugin's long_name is NULL + Some plugins register an empty long_name field. Check for this + before calling strcmp to avoid a crash. + Part-of: + +2021-03-15 20:35:35 +0100 Jade Macho + + * docs/gst_plugins_cache.json: + * ext/libav/gstavcodecmap.c: + Hook up audio/x-xma: xmaversion: [1,2] to AV_CODEC_ID_XMA[1,2] + Part-of: + +2021-03-03 10:51:04 +0200 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + avcodecmap: Don't try converting channel layouts with more than 64 channels + We only support up to 64 channels in GStreamer with a specific layout so + it's safe to assume a NONE layout in this case. + Also the arrays of channel positions are allocated everywhere with 64 + elements so don't try setting more than 64 to NONE as that will cause + stack corruptions and similar memory safety issues. + Thanks to Natalie Silvanovich for reporting this issue. + Fixes https://gitlab.freedesktop.org/gstreamer/gst-libav/-/issues/92 + Part-of: + +2020-12-02 15:43:15 +1100 Matthew Waters + + * ext/libav/gstavviddec.c: + avviddec: take the maximum of the height/coded_height + Otherwise, some h.264 streams (particularly with cropping information) + may cause memory corruption after a renegotiation to a smaller size when + decoded and then ffmpeg writes past the end of the buffer. + Fixes: https://gitlab.freedesktop.org/gstreamer/gst-libav/-/issues/80 + Part-of: + +2021-01-28 06:11:14 +0000 Matthew Waters + + * ext/libav/gstavviddec.c: + viddec: don't configure and incorrect buffer pool when receiving a gap event + Scenario is this: + 1. libav receives enough data to want a buffer with get_buffer2() + which wants a buffer pool with a certain format, say Y42B but does + not negotiate and therefore GstVideoDecoder does not have any output + state configured + 2. A gap event is received which GstVideoDecoder wants to forward. It + needs caps to forward the gap event so attempts to negotiate with some + default information which chooses e.g. I420 and overwrites the + previously configured bufferpool decided on by get_buffer2() + 3. There is a mismatch between what ensure_internal_pool() check for + consistency and what decide_allocation() sets when overriding the + internal pool with the downstream pool. + 4. FFMpeg then requests a Y42B buffer from an I420 pool and predictably + crashes writing past the contents of the buffer + This is fixed by keeping track of the internal pool states correctly. + Part-of: + +2021-01-29 14:02:42 +0200 Vivia Nikolaidou + + * docs/gst_plugins_cache.json: + * ext/libav/gstavviddec.c: + avviddec: Support for alternate-field interlacing + Not yet supported in FFmpeg, so we temporarily rely on the parser + setting the correct buffer flags for us. + Part-of: + +2020-12-30 01:15:16 +0900 Seungha Yang + + * ext/libav/gstavauddec.c: + avauddec: Drain decoder on decoding failure + ... and call finish_frame() so that baseclass can reset internal + status. Otherwise baseclass will keep holding the status for + decoding failed frame which will result in outputting buffer with + wrong timestamp. + Part-of: + +2020-12-14 15:33:16 +1100 Jan Schmidt + + * docs/gst_plugins_cache.json: + * ext/libav/gstavcodecmap.c: + codec map: Add a mapping for the OKI ADPCM variant. + Part-of: + +2020-11-04 18:44:54 +0530 Nirbheek Chauhan + + * meson.build: + meson: Enable some MSVC warnings for parity with GCC/Clang + This makes it easier to do development with MSVC by making it warn + on common issues that GCC/Clang error out for in our CI configuration. + Continuation from https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/223 + Part-of: + +2020-10-27 06:33:29 -0400 Arun Raghavan + + * ext/libav/gstavauddec.c: + avauddec: Check planar-ness of frame rather than context + The check seems to be to present to verify that the decoded frame + matches the format we expect. The actual check for the layout of the + frame was being performed against the context instead. + The check fails at least for avdec_aptx_hd, where the AVCodecContext has + the sample format set to AV_SAMPLE_FMT_NONE. + Part-of: + +2020-10-06 18:19:12 +0900 Seungha Yang + + * tests/check/elements/avaudenc.c: + * tests/check/elements/avvidenc.c: + * tests/check/meson.build: + tests: Add audio/video encoder test + Add simple encoder drain test case + Part-of: + +2020-10-01 11:45:57 +0200 Edward Hervey + + * meson.build: + * meson_options.txt: + * tests/check/meson.build: + * tests/meson.build: + build: Re-enable unit tests + Looks like they weren't ported when we switched to meson + Part-of: + +2020-10-06 03:47:42 +0900 Seungha Yang + + * ext/libav/gstavaudenc.c: + * ext/libav/gstavaudenc.h: + * ext/libav/gstavutils.h: + * ext/libav/gstavvidenc.c: + * ext/libav/gstavvidenc.h: + avaudenc/avvidenc: Reopen encoding session if it's required + Since the commit https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/22b25b3ea5c, + ffmpeg will not clear draning flag for encoder by avcodec_flush_buffers() API + by default. Allowed case is only if encoder has AV_CODEC_CAP_ENCODER_FLUSH + capability flag. If it's not supported, we should re-open encoding + session, otherwise ffmpeg encoder will keep returning AVERROR_EOF + Part-of: + +2020-10-01 11:18:58 +0300 Sebastian Dröge + + * ext/libav/gstavvidenc.c: + avvidenc: Call avcodec_flush_buffers() after draining to allow accepting new input again + This is already done in all other codec elements. + Part-of: + +2020-09-30 16:13:28 +0300 Sebastian Dröge + + * ext/libav/gstavauddec.c: + * ext/libav/gstavaudenc.c: + * ext/libav/gstavviddec.c: + * ext/libav/gstavvidenc.c: + avauddec/audenc/videnc: Don't return GST_FLOW_EOS when draining + Same behaviour as for avviddec now. FFmpeg will return AVERROR_EOF when it's + completely drained but we should not return that here or otherwise + upstream will receive EOS and not forward us more data. + Part-of: + +2020-09-16 03:13:09 +0900 Seungha Yang + + * ext/libav/gstavviddec.c: + avviddec: Don't return GST_FLOW_EOS from drain()/finish() + AVERROR_EOF means that it's fully drained, but it doesn't + mean that that end of stream. + Part-of: + +2020-09-15 02:12:23 +0900 Seungha Yang + + * ext/libav/gstavauddec.c: + avauddec: Ensure finish_subframe() and finish_frame() are paired + audiodecoder baseclass implementation is expecting that + finish_subframe() is followed by finish_frame() in order clear + its internal state related to subframe. + Part-of: + +2020-09-14 14:30:35 +0300 Sebastian Dröge + + * ext/libav/gstavauddec.c: + avauddec: Forward flow returns from draining instead of assuming OK + It might be useful for upstream to know that draining/finishing didn't + succeed, and why. + Part-of: + +2020-09-14 14:24:51 +0300 Sebastian Dröge + + * ext/libav/gstavviddec.c: + avviddec: Forward flow returns from draining instead of assuming OK + It might be useful for upstream to know that draining/finishing didn't + succeed, and why. + Part-of: + +2020-09-09 08:55:28 +0200 Edward Hervey + + * ext/libav/gstavauddec.c: + avauddec: Avoid dropping non-OK flow return + When sucessfully finishing out frames (or finishing configuration), we must make + sure we don't override any failing GstFlowReturn that might have been detected + previously. + Failure to do this would result in not propagating not-linked, flushing, + etc... + Part-of: + +2016-09-26 20:06:54 -0400 Olivier Crête + + * docs/gst_plugins_cache.json: + * ext/libav/gstavcodecmap.c: + avcodecmap: Enable 24 bit WMA Lossless decoding + This now works with not so recent ffmpeg. + Part-of: + +2020-09-08 17:30:46 +0100 Tim-Philipp Müller + + * .gitlab-ci.yml: + ci: include template from gst-ci master branch again + +2020-09-08 16:58:56 +0100 Tim-Philipp Müller + + * meson.build: + Back to development + +=== release 1.18.0 === + +2020-09-08 00:08:12 +0100 Tim-Philipp Müller + + * .gitlab-ci.yml: + * ChangeLog: + * NEWS: + * RELEASE: + * gst-libav.doap: + * meson.build: + Release 1.18.0 + +2020-09-07 12:15:17 +0300 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavviddec.c: + Update for gst_video_transfer_function_*() function renaming + Part-of: + +=== release 1.17.90 === + +2020-08-20 16:14:50 +0100 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * gst-libav.doap: + * meson.build: + Release 1.17.90 + +2020-08-03 19:28:29 +0300 Jordan Petridis + + * docs/gst_plugins_cache.json: + * ext/libav/gstavcfg.c: + gstavcfg.c: fix max->min typo in limits and implict double conversion + Part-of: + +2020-07-23 15:37:05 +0300 Jordan Petridis + + * docs/gst_plugins_cache.json: + Revert "docs: update plugins doc cache" + This reverts commit d1b20eb6558b5188fe539a2aba3dc15630e703b0. + See https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/324 + Part-of: + +2020-07-03 12:45:44 +0300 Jordan Petridis + + * docs/gst_plugins_cache.json: + docs: update plugins doc cache + Part-of: + +2020-07-08 17:23:12 +0100 Tim-Philipp Müller + + * meson.build: + * scripts/extract-release-date-from-doap-file.py: + meson: set release date from .doap file for releases + Part-of: + +2020-07-07 00:33:22 +0300 Vivia Nikolaidou + + * ext/libav/gstavviddec.c: + avviddec: Fix typo that duplicated closed caption meta + We examined the output buffer, instead of the input buffer, for + existence of cc meta. + Part-of: + +2020-07-02 12:28:34 +0300 Vivia Nikolaidou + + * ext/libav/gstavviddec.c: + gstavviddec: Only allow a single closed caption meta + Following discussion in + https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1396#note_556068 + While it is technically possible to store multiple closed caption metas + in the same buffer, we don't currently do that anywhere and for + H264/MPEG2 both parts have to be stored in the same packet, and also the + number of CC bytes you can store per frame is rather limited. This + restriction might be relaxed later once we figured out how to do it + without breaking things. + Part-of: + +2020-07-03 02:04:01 +0100 Tim-Philipp Müller + + * meson.build: + Back to development + +=== release 1.17.2 === + +2020-07-03 00:33:33 +0100 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * gst-libav.doap: + * meson.build: + Release 1.17.2 + +2020-06-30 18:33:56 +0200 Matej Knopp + + * ext/libav/gstavauddec.c: + avauddec: fix buffer leak when send packet failed + Part-of: + +2020-06-26 13:11:56 +0300 Sebastian Dröge + + * docs/gst_plugins_cache.json: + * ext/libav/gstavcodecmap.c: + avcodecmap: Add support for SpeedHQ video codec + Part-of: + +2020-06-23 00:07:26 +0200 Mathieu Duponchelle + + * docs/meson.build: + meson: mark plugins cache target as always stale + +2020-06-19 22:59:39 -0400 Thibault Saunier + + * docs/gst_plugins_cache.json: + doc: Stop documenting properties from parents + +2020-06-18 22:16:30 +0200 Mathieu Duponchelle + + * ext/libav/gstavmux.c: + avmux: zero-initialize packets + Part-of: + +2020-06-20 00:28:26 +0100 Tim-Philipp Müller + + * meson.build: + Back to development + +=== release 1.17.1 === + +2020-06-19 19:24:14 +0100 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * docs/gst_plugins_cache.json: + * gst-libav.doap: + * meson.build: + Release 1.17.1 + +2020-06-09 15:33:51 -0400 Thibault Saunier + + * docs/gst_plugins_cache.json: + docs: Update plugins cache + +2020-06-08 09:44:43 -0400 Thibault Saunier + + * docs/gst_plugins_cache.json: + docs: Update plugins cache + +2020-06-06 00:43:02 +0200 Mathieu Duponchelle + + * ext/libav/gstavcfg.c: + * ext/libav/gstavdeinterlace.c: + * ext/libav/gstavviddec.c: + * ext/libav/gstavvidenc.c: + plugins: uddate gst_type_mark_as_plugin_api() calls + +2020-06-03 18:35:32 -0400 Thibault Saunier + + * docs/meson.build: + doc: Require hotdoc >= 0.11.0 + +2020-05-27 16:02:45 +0300 Sebastian Dröge + + * docs/gst_plugins_cache.json: + docs: Update gst_plugins_cache.json + +2020-05-31 10:02:12 +0300 Sebastian Dröge + + * ext/libav/gstavcfg.c: + * ext/libav/gstavdeinterlace.c: + * ext/libav/gstavviddec.c: + * ext/libav/gstavvidenc.c: + plugins: Use gst_type_mark_as_plugin_api() for all non-element plugin types + +2020-05-31 09:59:29 +0300 Sebastian Dröge + + * ext/libav/gstavaudenc.c: + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavcodecmap.h: + avcodecmap: Remove unused GstFFMpegCompliance type + +2020-05-27 16:30:41 +0200 Mathieu Duponchelle + + * ext/libav/gstavdemux.c: + avdemux: update the context we use to determine stream's caps + The discovered frame rate is only available on the AVStream + itself. Updating the temporary context framerate before + building caps from it seems like a pretty non-intrusive approach. + Fixes #75 + Part-of: + +2020-05-27 16:29:27 +0200 Mathieu Duponchelle + + * ext/libav/gstavcodecmap.c: + avcodecmap: use framerate instead of time_base when decoding + Documentation for AVCodecContext::time_base: + > decoding: the use of this field for decoding is deprecated. + > Use framerate instead. + Part-of: + +2020-05-09 15:20:00 +0200 Matej Knopp + + * ext/libav/gstavaudenc.h: + * ext/libav/gstavcodecmap.h: + * ext/libav/gstavviddec.h: + gstlibav: minor fixes for header files + Move G_BEGIN_DECLS below includes and add missing include + Part-of: + +2020-05-08 19:16:41 +0200 Matej Knopp + + * ext/libav/gstavviddec.c: + gstavviddec: only set range when actually reported by avcodec + otherwise we get incomplete colorimetry that video-info complains about + Part-of: + +2020-04-30 18:12:19 +0530 Nirbheek Chauhan + + * README: + * README.md: + README: Convert to markdown, clarify licensing + Part-of: + +2020-04-30 17:13:00 +0530 Nirbheek Chauhan + + * COPYING: + * COPYING.LIB: + All code in this repository is now LGPL-2.1+ + Starting with 1.17, we will not ship a copy of FFmpeg in our release + tarballs, and all the remaining code is LGPL2. + Part-of: + +2020-04-15 15:00:02 +0800 Haihao Xiang + + * ext/libav/gstavmux.c: + avmux: avoid to use unintialized variable + Without this fix, running the command below will get an error randomly. + Example: + gst-launch-1.0 videotestsrc ! vp9enc ! avmux_ivf ! fakesink + ERROR: pipeline doesn't want to preroll. + 0:00:02.388528491 30148 0x5601b424a370 ERROR libav :0:: + Tag [1]V[0][0] incompatible with output codec id '167' (VP90) + +2020-03-11 18:26:39 +0900 Seungha Yang + + * ext/libav/gstavviddec.c: + avviddec: Update for video-hdr struct change + See the change of -base https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/594 + +2020-01-27 14:21:48 -0800 Julien Isorce + + * ext/libav/gstavvidenc.c: + avvidenc: handle GST_VIDEO_MULTIVIEW_MODE_MONO + Otherwise videotestsrc ! avenc_libx265 ! fakesink + outputs `Unsupported multiview mode - no mapping in libav` + +2020-01-24 16:14:28 +0200 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + avcodecmap: Add some more comments about the assumptions in the ffmpeg code about H264/H265/AAC + +2020-01-24 13:04:46 +0200 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + avdemux: Only set stream-format for H264/H265/AAC when we have a context + Otherwise we don't know yet whether we'll have extradata/codec_data, so + can't decide on the stream-format yet. + +2020-01-15 14:36:19 +0800 Haihao Xiang + + * ext/libav/gstavcodecmap.c: + avivf_mux: support VP9 and AV1 + Besides vp8, ff_ivf_muxer supports VP9 and AV1 + +2020-01-23 10:03:40 +0200 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + avcodecmap: Set AAC/H264/H265 stream-format for demuxer/encoder situations if no codec_data is provided + This fixes output of the above formats from demuxers. + +2020-01-23 09:45:59 +0200 Sebastian Dröge + + * ext/libav/gstavdemux.c: + avdemux: Pass the URI from the URI query to avformat_open_input() + Some demuxers make use of it in various ways, for example the HLS + demuxer. + +2019-12-19 17:58:56 +0100 Alicia Boya García + + * ext/libav/gstavviddec.c: + gstavviddec: Limit default number of decoder threads + When the `max-threads` property is not specified, GStreamer defaults to + the amount of CPU threads in the system. + The number of threads used in avdec has a direct impact on the latency + of the decoder, which is of as many frames as threads. Therefore, big + numbers of threads can make latency levels that can be problematic in + some applications. + For this reason, ffmpeg emits a warning when more than 16 threads are + requested. + This patch limits the default number of threads to 16. This affects only + computers with more than 16 CPU threads when using avviddec without + setting `max-threads`. + +2019-12-02 19:06:04 +0000 Tim-Philipp Müller + + * pkgconfig/gstreamer-plugins-libav-uninstalled.pc.in: + pkgconfig: remove unused file + Was never hooked up to meson build it seems, and only ever used + by the uninstalled autotools dev env to locate gst-libav plugins + for use in unit tests in other modules. + +2019-11-29 09:25:24 +0100 Edward Hervey + + * ext/libav/gstavvidenc.c: + avvidenc: Fix error propagation + Instead of returning the default return value (GST_FLOW_OK), actually + return an error one (res vs ret). + +2019-11-04 15:39:59 +0100 Kevin JOLY + + * ext/libav/gstavdemux.c: + avdemux: Fix segmentation fault if long_name is NULL + Some plugins (like libcdio) registers empty long_name field. Calling strncmp on this field leads to a segmentation fault. + Signed-off-by: Kevin Joly + +2019-10-29 11:43:05 +0900 Seungha Yang + + * ext/libav/gstavviddec.c: + avviddec: Fix huge leak caused by circular reference + AVBufferRef -> GstFFMpegVideoDecVideoFrame -> GstVideoCodecFrame -> AVBufferRef + Instead of holding additional ref there, set read-only which would not be + reused by ff_reget_buffer() + Fixes: https://gitlab.freedesktop.org/gstreamer/gst-libav/issues/63 + +2019-10-25 01:09:08 +0900 Seungha Yang + + * ext/libav/gstavviddec.c: + * ext/libav/gstavvidenc.c: + avvideenc,avvidedec: Filtering hardware en/decoder by flag + ... instead of filtering them by hardcoded string compare. + +2019-10-24 00:25:28 +0900 Seungha Yang + + * ext/libav/gstavviddec.c: + avviddec: Enforce allocate new AVFrame per input frame + ... if ffmpeg would reuse the allocated AVBuffer. Reused AVFrame by + the ffmpeg seems to break our decoding flow since the reused AVFrame + holds the initial opaque data (GstVideoCodecFrame in this case), so + we couldn't trace the our in/out frames. + To enforce get_buffer() call per output frame, hold another reference + to the AVBuffer in order to mark the AVBuffer as not writable. + Fixes: https://gitlab.freedesktop.org/gstreamer/gst-libav/issues/62 + +2019-10-13 14:33:27 +0100 Tim-Philipp Müller + + * .gitignore: + * .gitmodules: + * HACKING: + * Makefile.am: + * README: + * TODO: + * autogen.sh: + * common: + * configure.ac: + * docs/.gitignore: + * ext/Makefile.am: + * ext/libav/Makefile.am: + * gst-libs/Makefile.am: + * gst-libs/ext/Makefile.am: + * gst-libs/ext/gas-preprocessor: + * gst-libs/ext/libav: + * m4/as-slurp-ffmpeg.m4: + * pkgconfig/.gitignore: + * pkgconfig/Makefile.am: + * tests/Makefile.am: + * tests/check/.gitignore: + * tests/check/Makefile.am: + * tests/check/generic/.gitignore: + * tests/files/Makefile.am: + Remove autotools build system + +2019-09-24 23:51:33 +0900 Seungha Yang + + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavviddec.c: + avviddec,avcodemap: Use new helper function for map color space information + ... between GStreamer and FFmpeg. Note that FFmpeg follows ISO/IEC 23001-8 + defined color{matrix,transfer,primaries} values. + +2019-09-11 15:59:42 +0000 Marc Leeman + + * docs/meson.build: + docs: do not require gst-plugins-doc-cache-generator + Do not require the cache generator. This is in line with the other + gstreamer modules + +2019-08-13 22:03:31 +0200 Mathieu Duponchelle + + * ext/libav/gstavvidenc.c: + avvidenc: timestamp output buffers + Same approach as x264enc, with the one hour offset + +2019-08-01 16:27:35 -0400 Doug Nazar + + * ext/libav/gstavauddec.c: + avauddec: Don't warn if drain is successful + +2019-07-18 00:20:16 +0200 Mathieu Duponchelle + + * ext/libav/gstavviddec.c: + avviddec: improve latency calculation + When thread_type is set to FF_THREAD_FRAME, per the documentation + a latency of one frame per thread is introduced: + , search for thread_type. + Additionally, we need in that case to calculate the automatic + number of threads ourselves, so as to accurately calculate the + latency. + +2018-10-06 18:51:58 +0900 Seungha Yang + + * ext/libav/gstavviddec.c: + * ext/libav/gstavviddec.h: + avviddec: Add thread-type property + The thread-type property allows specifying preferred + multithreading methods by user. Note that FF_THREAD_FRAME + may introduce additional latency especially on non-filesrc usecase, + since it introduces a decoding delay of (number of threads) frames. + https://bugzilla.gnome.org/show_bug.cgi?id=797254 + +2019-07-15 10:42:42 +0300 Sebastian Dröge + + * ext/libav/gstavvidenc.c: + avvidenc: Close reference context before freeing it + Otherwise we'll leak some memory. + See https://gitlab.freedesktop.org/gstreamer/gst-libav/merge_requests/32 + +2019-07-12 14:41:18 +0200 Knut Andre Tidemann + + * ext/libav/gstavaudenc.c: + avaudenc: fix memory leak of refcontext after finalize. + +2019-06-19 15:44:49 +0300 Sebastian Dröge + + * ext/libav/gstavvidenc.c: + avvidenc: Also set the repeat_pict flag correctly and take the TFF flag from caps if available + +2019-06-19 15:43:42 +0300 Sebastian Dröge + + * ext/libav/gstavvidenc.c: + avvidenc: Correctly signal interlaced input to ffmpeg when the input caps are interlaced + Regression from 1e4529ced2dadbfed4ac10d639a45dbcb0660129 + +2019-06-02 21:45:19 +0200 Niels De Graef + + * configure.ac: + meson: Bump minimal GLib version to 2.44 + This means we can use some newer features and get rid of some + boilerplate code using the G_DECLARE_* macros. + As discussed on IRC, 2.44 is old enough by now to start depending on it. + +2019-05-29 11:49:38 +0530 Guillaume Desmottes + + * ext/libav/gstavviddec.c: + avviddec: remove cdgraphics element + It was never usable as we don't have a parser and we now have 'cdgdec' + in gst-plugins-rs. + +2019-05-25 13:36:40 +0200 Tim-Philipp Müller + + * configure.ac: + configure: pass -Wno-attributes to fix build against broken ffmpeg headers + libavutil/mem.h:342:1: error: ‘alloc_size’ attribute ignored on a function returning ‘int’ + av_alloc_size(2, 3) int av_reallocp_array(void *ptr, size_t nmemb, size_t size); + ^~~~~~~~~~~~~ + Hopefully fixes build on jenkins. + +2019-05-24 20:35:41 +0900 Seungha Yang + + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavviddec.c: + avcodecmap,avviddec: Map bt2020-10, PQ and HLG transfer functions + Map more transfer functions between Gstreamer and ffmpeg + +2019-05-24 11:47:58 +0200 Arun Raghavan + + * docs/gst_plugins_cache.json: + * ext/libav/gstavcodecmap.c: + codecmap: Add caps for aptX and aptX-HD + +2019-05-16 09:20:56 -0400 Thibault Saunier + + * docs/gst_plugins_cache.json: + * docs/meson.build: + docs: Stop building the doc cache by default + Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/issues/36 + +2019-05-13 22:58:09 -0400 Thibault Saunier + + * docs/gst_plugins_cache.json: + docs: Update plugins documentation cache + +2018-10-22 11:41:07 +0200 Thibault Saunier + + * Makefile.am: + * configure.ac: + * docs/Makefile.am: + * docs/gst_plugins_cache.json: + * docs/index.md: + * docs/meson.build: + * docs/plugins/.gitignore: + * docs/plugins/Makefile.am: + * docs/plugins/gst-libav-plugins-docs.sgml: + * docs/plugins/gst-libav-plugins.args: + * docs/plugins/gst-libav-plugins.hierarchy: + * docs/plugins/gst-libav-plugins.interfaces: + * docs/plugins/gst-libav-plugins.prerequisites: + * docs/plugins/gst-libav-plugins.signals: + * docs/plugins/gst-libav-plugins.types: + * docs/plugins/inspect/plugin-libav.xml: + * docs/plugins/scanobj-build.stamp: + * docs/sitemap.txt: + * docs/version.entities.in: + * ext/libav/meson.build: + * meson.build: + * meson_options.txt: + docs: Port to hotdoc + +2019-05-05 09:38:01 +0200 Christoph Reiter + + * configure.ac: + autotools: add bcrypt to win32 libs + The included libav requires it now. Otherwise the builds fails with: + CCLD libgstlibav.la + build-i686-w64-mingw32/gst-libs/ext/.libs/libavutil.a(random_seed.o): In function `av_get_random_seed': + gst-libav-1.16.0/gst-libs/ext/libav/libavutil/random_seed.c:126: undefined reference to `BCryptOpenAlgorithmProvider@16' + gst-libav-1.16.0/gst-libs/ext/libav/libavutil/random_seed.c:129: undefined reference to `BCryptGenRandom@16' + gst-libav-1.16.0/gst-libs/ext/libav/libavutil/random_seed.c:130: undefined reference to `BCryptCloseAlgorithmProvider@8' + collect2.exe: error: ld returned 1 exit status + +2019-02-18 20:53:58 +0900 Seungha Yang + + * ext/libav/gstavviddec.c: + avviddec: Extract HDR information if any + Convert mastering display information (a.k.a HDR static metadata) and + content light level information provided by FFMPEG to Gstreamer. + +2019-04-29 11:52:31 +0900 Yeongjin Jeong + + * ext/libav/gstav.c: + gstav: Use libavcodec util function for version check + The version of libavutil is printed in the log instead of libavcodec + because avutil_version() returns LIBAVUTIL_VERSION_INT. This can be confusing, + so we should be replace it with avcodec_version(). + +2019-04-29 15:22:52 +0900 Yeongjin Jeong + + * ext/libav/gstavauddec.c: + avauddec: Ensure drain even if codec has not delay capabilities + There are decoders that need to be drained if they work on multi-threads, + even if AV_CODEC_CAP_DELAY is not set. + +2019-04-29 15:02:06 +0900 Yeongjin Jeong + + * ext/libav/gstavviddec.c: + avviddec: Ensure drain even if codec has not delay capabilities + There are decoders that need to be drained if they work on multi-threads, + even if AV_CODEC_CAP_DELAY is not set. + +2019-04-19 10:38:06 +0100 Tim-Philipp Müller + + * RELEASE: + * configure.ac: + * docs/plugins/inspect/plugin-libav.xml: + * meson.build: + Back to development + +=== release 1.16.0 === + +2019-04-19 00:33:22 +0100 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-libav.doap: + * meson.build: + Release 1.16.0 + +2019-04-19 00:33:22 +0100 Tim-Philipp Müller + + * docs/plugins/inspect/plugin-libav.xml: + Update docs + +2019-04-12 10:05:53 +0300 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to ffmpeg n4.1.3 + +=== release 1.15.90 === + +2019-04-11 00:34:12 +0100 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-libav.doap: + * meson.build: + Release 1.15.90 + +2019-04-11 00:34:12 +0100 Tim-Philipp Müller + + * docs/plugins/gst-libav-plugins.args: + * docs/plugins/inspect/plugin-libav.xml: + Update docs + +2019-04-09 16:56:20 +0300 Sebastian Dröge + + * ext/libav/gstavcfg.c: + avcfg: Override type of bitrate property from int64 to int + See https://gitlab.freedesktop.org/gstreamer/gst-libav/issues/41#note_142808 + The switch to the new ffmpeg property system changed the type of the + bitrate property from int to int64, which potentially breaks many + existing applications at runtime as properties are usually set via + g_object_set(). + As such, override the type to int until GStreamer 2.0. + +2019-03-28 14:24:42 -0400 Aaron Boxer + + * ext/libav/gstavviddec.c: + avviddec: do not add 708 caption meta if already exists + (this is only used for CEA 708 raw data). another element + such as mpegvideoparse may have already added the meta. + +2019-03-23 00:24:25 +0100 Mathieu Duponchelle + + * ext/libav/gstavvidenc.c: + avvidenc: pass Closed Caption metadata to libav + +2019-02-26 00:00:33 +0000 Tim-Philipp Müller + + * ext/libav/gstavauddec.c: + * ext/libav/gstavauddec.h: + avauddec: fix decoding of APE and Cook audio + .. and other formats where ffmpeg gives us multiple + subframes per input frame. + Since we now support non-interleaved audio, we can't + just concat buffers any more. Also, audio metas won't + be combined when buffers are merged, so when we push + out the combined buffer we'll look at the meta describing + only the first subframe and think it covers the whole + frame leading to stutter/gaps in the output. + We could fix this by copying the output data into a new + buffer when we merge buffers, but that's suboptimal, so + let's add some API to GstAudioDecoder to push out subframes + and use that instead. + https://gitlab.freedesktop.org/gstreamer/gst-libav/issues/49 + +2019-03-04 09:12:35 +0000 Tim-Philipp Müller + + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/inspect/plugin-libav.xml: + * meson.build: + Back to development + +=== release 1.15.2 === + +2019-02-26 11:57:15 +0000 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-libav.doap: + * meson.build: + Release 1.15.2 + +2019-02-26 11:57:15 +0000 Tim-Philipp Müller + + * docs/plugins/inspect/plugin-libav.xml: + Update docs + +2019-02-21 08:48:31 +0100 Guillaume Desmottes + + * ext/libav/gstavdemux.c: + avdemux: fix negative pts if start_time is bigger than the ts + The start time is supposed to be the ts of the first frame. + FFmpeg uses fractions to represent timestamps and the start time may use a + different base than the frame pts. So we may end up having the start + time bigger than the pts because of rounding when converting to gst ts. + See https://gitlab.freedesktop.org/gstreamer/gst-libav/issues/51 + for details. + +2019-02-12 17:23:55 +0200 Sebastian Dröge + + * configure.ac: + configure: Only disable dxva2 once + +2019-02-12 10:57:24 +0200 Sebastian Dröge + + * gst-libs/ext/libav: + Update to ffmpeg n4.1.1 + +=== release 1.15.1 === + +2019-01-17 02:21:41 +0000 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-libav.doap: + * meson.build: + Release 1.15.1 + +2019-01-17 02:21:35 +0000 Tim-Philipp Müller + + * docs/plugins/gst-libav-plugins.args: + * docs/plugins/gst-libav-plugins.hierarchy: + * docs/plugins/gst-libav-plugins.interfaces: + * docs/plugins/inspect/plugin-libav.xml: + Update docs + +2019-01-13 00:46:50 +0900 Seungha Yang + + * ext/libav/gstavcfg.c: + avcfg: Fix AVOptionRanges leak + It must be freed with av_opt_freep_ranges as documented. + +2018-12-05 17:24:43 -0300 Thibault Saunier + + * common: + Automatic update of common submodule + From ed78bee to 59cb678 + +2018-11-15 11:29:54 +0200 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to ffmpeg n4.1 + +2018-11-12 13:04:51 +0200 Jordan Petridis + + * .gitlab-ci.yml: + Add Gitlab CI configuration + This commit adds a .gitlab-ci.yml file, which uses a feature + to fetch the config from a centralized repository. The intent is + to have all the gstreamer modules use the same configuration. + The configuration is currently hosted at the gst-ci repository + under the gitlab/ci_template.yml path. + Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29 + +2018-11-08 16:33:57 +0100 Edward Hervey + + * ext/libav/gstavcodecmap.c: + codecmap: Add mapping for Voxware metasound + Allows actually decoding such streams :) + +2018-11-05 10:22:19 +0200 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to ffmpeg n4.0.3 + +2018-11-05 05:40:03 +0000 Matthew Waters + + * .gitmodules: + Update common submodule location + Remove the git directory + +2018-11-05 13:17:08 +0800 Haihao Xiang + + * .gitmodules: + * gst-libav.doap: + Clone the code from gitlab + This fixes https://gitlab.freedesktop.org/gstreamer/gst-libav/issues/43 + +2018-10-29 14:31:52 +0000 Nirbheek Chauhan + + * meson.build: + meson: Remove leftover debug logging + +2018-10-16 04:08:57 +0530 Nirbheek Chauhan + + * ext/libav/gstavcfg.c: + avcfg: Ensure that ternary operator always evaluates to int64 + When building with MSVC, if the 3rd operator is a double, the entire + expression always promoted double, and is then cast to int64. + When TRUE, this evaluates to (gint64) (gdouble) (INT64_MAX) + which overflows to INT64_MIN on MSVC, but not on C99 compilers. + This causes us to fail the g_return_if_fail inside g_param_spec_int64 + when built with MSVC. + +2018-10-12 19:20:51 +0530 Arun Raghavan + + * ext/libav/gstavdemux.c: + avdemux: Expose IFF container support + This exposes support for the "iff" demuxer. This is a general purpose + format, and the reason to expose this now is to allow reading DSD data + (which is supported via a variant called DSDIFF). + More information at: + https://wiki.multimedia.cx/index.php?title=IFF + https://www.loc.gov/preservation/digital/formats/fdd/fdd000245.shtml + +2018-10-09 18:07:09 +0530 Nirbheek Chauhan + + * ext/libav/meson.build: + * meson.build: + meson: Generate a pkgconfig file for gstlibav + This matches all other plugins in the other gstreamer repos. This is + also necessary for generating the correct libtool archive (.la) files + in Cerbero which are needed for static linking on Android and iOS. + +2018-10-08 20:55:08 +0100 Tim-Philipp Müller + + * meson.build: + meson: use new 'python' module instead of deprecated 'python3' one + https://github.com/mesonbuild/meson/pull/4169 + +2018-10-01 16:13:29 +0530 Nirbheek Chauhan + + * meson.build: + meson: Don't export symbols from linked static libraries + We don't want to export any symbols from the ffmpeg static libraries + we link to when building inside Cerbero. In the Autotools build, we + pass -export-symbols-regex to libtool which ensures this for us. + +2018-09-21 16:01:53 +0200 Edward Hervey + + * ext/libav/gstavviddec.c: + avviddec: Remove unneeded check + frame is always valid in this function (but wasn't before the + refactoring from a few months ago). + CID #1439540 + +2018-09-21 11:30:58 +0200 Edward Hervey + + * ext/libav/gstavcfg.c: + avcfg: Simplify code + The existence of 'opt' is checked, the remainder of the code can therefore + rely on it being valid. + CID #1439537 + +2018-08-15 19:33:29 +0100 Tim-Philipp Müller + + * gst-libs/ext/libav: + libav: update internal snapshot to ffmpeg n4.0.2 + +2018-07-31 18:35:22 +0200 Mathieu Duponchelle + + * ext/libav/gstavauddec.c: + * ext/libav/gstavviddec.c: + decoders: fix draining + https://bugzilla.gnome.org/show_bug.cgi?id=796900 + +2018-07-03 13:15:54 +0200 Georg Ottinger + + * ext/libav/gstavcodecmap.c: + avmux: Place pva case after generic case + In the function gst_ffmpeg_formatid_get_codecids() in the if / else if + construct the special case !strcmp (format_name, "pva") should be + handled before the generic case (plugin->audio_codec != + AV_CODEC_ID_NONE) || (plugin->video_codec != AV_CODEC_ID_NONE) + This patch fixes the ordering. + I stumbled accorss this issue while adding a new format to + gst_ffmpeg_formatid_get_codecids() + https://bugzilla.gnome.org/show_bug.cgi?id=796738 + +2018-07-23 16:16:10 +0300 George Kiagiadakis + + * ext/libav/gstavauddec.c: + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavcodecmap.h: + avauddec: add support for decoding in non-interleaved layout + This removes the internal interleave loop and always negotiates + the native output layout of the libav decoder. Users can use + audioconvert to interleave if necessary. + Special care has been taken to leave the encoder unaffected by + the changes in avcodecmap, since GstAudioEncoder doesn't support + the non-interleaved layout yet. + https://bugzilla.gnome.org/show_bug.cgi?id=705977 + +2018-07-18 19:41:50 +0900 Seungha Yang + + * ext/libav/gstav.c: + * ext/libav/gstav.h: + * ext/libav/gstavauddec.c: + * ext/libav/gstavviddec.c: + libav: Fix symbol redefine build error + https://bugzilla.gnome.org/show_bug.cgi?id=796827 + +2018-07-18 15:43:41 +0100 Tim-Philipp Müller + + * ext/libav/gstav.c: + * ext/libav/gstav.h: + Remove obsolete #if 0-ed code + +2018-07-16 23:47:45 +0100 Tim-Philipp Müller + + * configure.ac: + * ext/Makefile.am: + * ext/libswscale/Makefile.am: + * ext/libswscale/gstffmpegscale.c: + Remove swscale plugin code + This has been disabled for 5.5 years, time to remove it. + +2018-07-16 19:45:35 +0200 Mathieu Duponchelle + + * gst-libs/ext/libav: + libav: Update to ffmpeg release/4.0 HEAD + +2018-07-16 08:44:45 +0200 Edward Hervey + + * ext/libav/gstavcfg.c: + avcfg: Properly initalize GValue + .. to the expected property value type. + +2018-07-13 18:03:27 +0200 Mathieu Duponchelle + + * ext/libav/gstavcfg.c: + avcfg: actually remove call to g_object_getv + (Sorry about that) + +2018-07-13 17:24:07 +0200 Mathieu Duponchelle + + * ext/libav/gstavauddec.c: + * ext/libav/gstavviddec.c: + av*dec: Ignore decoding errors + We were ignoring these before the port to 4.0, interpreting them + as GST_FLOW_ERROR / GST_ELEMENT_ERROR causes check failures. + We should start using GST_*_DECODER_ERROR in latter commits, + for now simply restore the previous behaviour. + +2018-07-13 17:21:25 +0200 Mathieu Duponchelle + + * ext/libav/gstavcfg.c: + avcfg: use g_object_get_property, not g_object_getv + I simply confused those two, we didn't need g_object_getv + here anyway. + +2018-07-12 22:05:27 +0200 Mathieu Duponchelle + + * ext/libav/gstavcfg.c: + avcfg: ignore some generic properties + We expose profile, level and colorimetry / colorspaces through + caps. + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-07-12 21:57:57 +0200 Mathieu Duponchelle + + * ext/libav/gstavcfg.c: + avcfg: add skip support to overrides system + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-07-04 00:21:45 +0200 Mathieu Duponchelle + + * meson.build: + meson: add FFmpeg meson as a fallback + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-07-04 00:18:44 +0200 Mathieu Duponchelle + + * ext/libav/gstavauddec.c: + auddec: fix luck-based sinkpad access + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-07-02 17:55:00 +0200 Mathieu Duponchelle + + * configure.ac: + * meson.build: + Update ffmpeg version requirements + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-07-02 17:39:30 +0200 Mathieu Duponchelle + + * ext/libav/gstavaudioresample.c: + * ext/libav/gstavscale.c: + Remove obsolete scale and resample sources + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-07-02 17:38:13 +0200 Mathieu Duponchelle + + * configure.ac: + configure: update libav configure args + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-07-02 17:31:08 +0200 Mathieu Duponchelle + + * gst-libs/ext/libav: + libav: Update to n4.0.1 release + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-07-02 04:14:09 +0200 Mathieu Duponchelle + + * meson.build: + meson: stop ignoring deprecation warnings! + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-07-02 04:12:36 +0200 Mathieu Duponchelle + + * ext/libav/gstavvidenc.c: + avvidenc: port to send_frame / receive_packet + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-07-02 04:05:19 +0200 Mathieu Duponchelle + + * ext/libav/gstavviddec.c: + avviddec: fix invalid alignment calculations. + avcodec_align_dimensions2 uses context->pix_fmt to make its + calculations, we thus need to make sure it is adequately set + when calling it. + Fixes: + gst-launch-1.0 videotestsrc ! video/x-raw, width=1920, height=1080 \ + ! avenc_mpeg4 ! avdec_mpeg4 ! xvimagesink + This showed invalid writes under valgrind, then segfault. + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-07-01 17:09:05 +0200 Mathieu Duponchelle + + * ext/libav/gstavaudenc.c: + avaudenc: port to send_frame / receive_packet + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-07-01 02:34:41 +0200 Mathieu Duponchelle + + * ext/libav/gstavmux.c: + avmux: fix remaining warnings + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-07-01 02:23:06 +0200 Mathieu Duponchelle + + * ext/libav/gstavauddec.h: + avauddec: fix remaining warnings + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-07-01 02:21:46 +0200 Mathieu Duponchelle + + * ext/libav/gstavauddec.c: + avauddec: port to new decoding API + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-06-30 23:28:31 +0200 Mathieu Duponchelle + + * ext/libav/gstavaudenc.c: + avaudenc: further cleanup + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-06-30 23:27:06 +0200 Mathieu Duponchelle + + * ext/libav/gstav.c: + * ext/libav/gstavaudenc.c: + * ext/libav/gstavaudenc.h: + * ext/libav/gstavcfg.c: + * ext/libav/gstavcfg.h: + * ext/libav/gstavvidenc.c: + avaudenc: install options generically + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-06-30 02:18:43 +0200 Mathieu Duponchelle + + * ext/libav/gstavviddec.c: + * ext/libav/gstavviddec.h: + avviddec: fix signed/unsigned comparisons + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-06-30 02:14:33 +0200 Mathieu Duponchelle + + * ext/libav/gstavviddec.c: + avvidec: port to new decoding API + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-06-29 21:54:11 +0200 Mathieu Duponchelle + + * ext/libav/gstav.c: + gstav: stop calling deprecated registration methods + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-06-29 21:46:00 +0200 Mathieu Duponchelle + + * ext/libav/gstavauddec.c: + auddec: stop using deprecated getters + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-06-29 21:38:50 +0200 Mathieu Duponchelle + + * ext/libav/gstavmux.c: + av_oformat_next (deprecated) -> av_muxer_iterate + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-06-29 21:37:06 +0200 Mathieu Duponchelle + + * ext/libav/gstavdemux.c: + av_iformat_next (deprecated) -> av_demuxer_iterate + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-06-29 21:21:30 +0200 Mathieu Duponchelle + + * ext/libav/gstavauddec.c: + avauddec: remove obsolete version check + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-06-29 21:20:36 +0200 Mathieu Duponchelle + + * ext/libav/gstavauddec.c: + * ext/libav/gstavaudenc.c: + * ext/libav/gstavviddec.c: + * ext/libav/gstavvidenc.c: + av_codec_next (deprecated) -> av_codec_iterate + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-06-29 20:59:46 +0200 Mathieu Duponchelle + + * ext/libav/gstavdemux.c: + avdemux: port to AVCodecParameters + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-06-29 20:37:14 +0200 Mathieu Duponchelle + + * ext/libav/gstavmux.c: + avmux: port to AVCodecParameters + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-06-29 04:52:02 +0200 Mathieu Duponchelle + + * ext/libav/gstavdeinterlace.c: + * ext/libav/gstavdemux.c: + * ext/libav/gstavutils.c: + * ext/libav/gstavutils.h: + Remove all uses of AVPicture + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-07-02 17:10:03 +0200 Mathieu Duponchelle + + * ext/libav/gstavaudenc.c: + avaudenc: remove obsolete setting of rc_strategy + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-06-27 20:41:37 +0200 Mathieu Duponchelle + + * ext/libav/gstavcfg.c: + * ext/libav/gstavcfg.h: + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavvidenc.c: + * ext/libav/gstavvidenc.h: + Refactor avcfg / avvidenc + We were previously installing hardcoded properties for all + video encoders, refactor to instead use FFmpeg's AVOption API. + avvidenc still exposes a few properties related to the pass + mechanism: while the AVOption API allows specifying both passes + as flags at the same time, this is not practical in GStreamer's + context, where passes need to be run separately using a stats file. + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-04-30 16:02:21 -0400 Nicolas Dufresne + + * ext/libav/gstavviddec.c: + avviddec: Stop using deperated EDGE API + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-04-30 15:54:44 -0400 Nicolas Dufresne + + * ext/libav/gstavauddec.c: + * ext/libav/gstavaudenc.c: + * ext/libav/gstavcfg.c: + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavcodecmap.h: + * ext/libav/gstavscale.c: + * ext/libav/gstavviddec.c: + * ext/libav/gstavvidenc.c: + Use AV_ namespace for all CODEC_ macro + The remaining use of CODEC_ are codec flags that has been moved into the + new codec private properties or have been deperated. Will be fixed in + later patches. + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-04-30 15:41:40 -0400 Nicolas Dufresne + + * ext/libav/gstavauddec.c: + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavviddec.c: + Use AV_ namespace for INPUT_BUFFER_PADDING_SIZE + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-04-30 15:37:50 -0400 Nicolas Dufresne + + * ext/libav/gstav.c: + Don't include deprecated avfiltergraph.h header + https://bugzilla.gnome.org/show_bug.cgi?id=792900 + +2018-05-31 17:28:44 +0800 Roland Jon + + * ext/libav/gstavdemux.c: + avdemux: fix memory leaks + https://bugzilla.gnome.org/show_bug.cgi?id=796452 + +2018-05-11 14:24:03 +0200 Edward Hervey + + * ext/libav/gstavauddec.h: + * ext/libav/gstavviddec.c: + * ext/libav/gstavviddec.h: + * ext/libav/gstavvidenc.c: + * ext/libav/gstavvidenc.h: + libav: Switch to common include + +2018-05-11 14:19:42 +0200 Edward Hervey + + * ext/libav/gstavmux.c: + avmux: Remove unneeded constant variable + Since the removal of the gif hacks, the variable was always set to + its default value of FALSE. Just remove it. + CID #1433656 + +2018-02-22 15:57:24 +0100 Edward Hervey + + * ext/libav/gstavviddec.c: + avvidec: Expose Closed Caption as GstVideoCaptionMeta + +2018-05-05 18:00:06 +0200 Mathieu Duponchelle + + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavdemux.c: + Expose support for DSD + DSD is usually wrapped in DSF, for which we now also expose the + demuxer. + https://bugzilla.gnome.org/show_bug.cgi?id=721186 + +2014-07-12 15:26:36 +0200 Matej Knopp + + * ext/libav/gstavdemux.c: + gstavdemux: adjust seeking offset according to start_time + https://bugzilla.gnome.org/show_bug.cgi?id=733094 + +2018-05-05 20:03:49 +0530 Nirbheek Chauhan + + * meson.build: + * meson_options.txt: + meson: Update option names to omit disable_ and with- prefixes + Also yield common options to the outer project (gst-build in our case) + so that they don't have to be set manually. + +2018-05-01 14:57:43 +1000 Jan Schmidt + + * gst-libs/ext/gas-preprocessor: + Update gas-preprocessor submodule + +2018-05-01 05:19:28 +1000 Jan Schmidt + + * configure.ac: + configure: Always use full path for gas-preprocessor PATH entry + Don't pass a relative path to gas-preprocessor, always use an + absolute path to make sure it's found + +2018-04-28 00:14:45 +1000 Jan Schmidt + + * configure.ac: + configure: fix handling of the input AS var passed to ffmpeg + Store the original AS environment variable passed to configure + correctly, and export it so it's actually available to the sub-process + when configuring the embedded ffmpeg + +2018-04-16 10:53:36 +0100 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From 3fa2c9e to ed78bee + +2018-03-20 09:41:11 +0000 Tim-Philipp Müller + + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/inspect/plugin-libav.xml: + * meson.build: + Back to development + +=== release 1.14.0 === + +2018-03-19 20:25:38 +0000 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-libav.doap: + * meson.build: + Release 1.14.0 + +2018-03-19 20:25:38 +0000 Tim-Philipp Müller + + * docs/plugins/inspect/plugin-libav.xml: + Update docs + +=== release 1.13.91 === + +2018-03-13 19:26:51 +0000 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-libav.doap: + * meson.build: + Release 1.13.91 + +2018-03-13 19:26:51 +0000 Tim-Philipp Müller + + * docs/plugins/inspect/plugin-libav.xml: + Update docs + +2018-03-08 11:22:29 -0500 Nicolas Dufresne + + * configure.ac: + configure.ac: enable largefile support if possible + https://bugzilla.gnome.org/show_bug.cgi?id=793103 + +2018-03-06 14:40:20 +1100 Matthew Waters + + * gst-libs/ext/Makefile.am: + build: prefer using *.la references when creating our own libtool files + Otherwise we will reference the dependant libraries with -lfoo rather than + /path/to/libfoo.la which breaks with the Android-based .la parser which + simply passes through all -l libraries. + https://bugzilla.gnome.org/show_bug.cgi?id=786403 + +=== release 1.13.90 === + +2018-03-03 22:44:19 +0000 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-libav.doap: + * meson.build: + Release 1.13.90 + +2018-03-03 22:44:19 +0000 Tim-Philipp Müller + + * docs/plugins/inspect/plugin-libav.xml: + Update docs + +2018-03-01 19:01:58 +0100 Mathieu Duponchelle + + * meson.build: + meson: enable more warnings + +2018-02-14 23:45:51 +1100 Matthew Waters + + * configure.ac: + explicitly disable v4l2_m2m codecs + They fail with android NDK r16 + +2018-02-15 19:44:26 +0000 Tim-Philipp Müller + + * configure.ac: + * docs/plugins/inspect/plugin-libav.xml: + * meson.build: + Back to development + +=== release 1.13.1 === + +2018-02-15 17:15:15 +0000 Tim-Philipp Müller + + * Makefile.am: + * NEWS: + * configure.ac: + * gst-libav.doap: + * meson.build: + Release 1.13.1 + +2018-02-15 17:14:36 +0000 Tim-Philipp Müller + + * docs/plugins/gst-libav-plugins.args: + * docs/plugins/gst-libav-plugins.hierarchy: + * docs/plugins/gst-libav-plugins.interfaces: + * docs/plugins/inspect/plugin-libav.xml: + docs: update plugin docs + +2018-02-12 08:32:01 +0100 Edward Hervey + + * ext/libav/gstavdemux.c: + * ext/libav/gstavmux.c: + av*mux: Disable gif related "hacks" + This is properly handled by the previous commit now + +2017-06-13 18:50:50 +0200 Mathieu Duponchelle + + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavdemux.c: + * ext/libav/gstavviddec.c: + Enable gif format, and make it so avdemux_gif and avdec_gif can autoplug + https://bugzilla.gnome.org/show_bug.cgi?id=784684 + +2018-02-12 07:38:13 +0100 Edward Hervey + + * gst-libs/ext/libav: + libav: Update to n3.4.2 release + +2018-02-10 15:18:11 +0100 Edward Hervey + + * ext/libav/gstavviddec.c: + * ext/libav/gstavvidenc.c: + avvid*: Don't expose V4L2 mem-to-mem decoder and encoders + It's not going to work without special handling. Mask for now. + +2018-02-10 14:56:50 +0100 Edward Hervey + + * gst-libs/ext/libav: + gst-libs: Switch to ffmpeg n3.4.1 + +2018-02-08 19:18:21 +0000 Tim-Philipp Müller + + * meson.build: + meson: make version numbers ints and fix int/string comparison + WARNING: Trying to compare values of different types (str, int). + The result of this is undefined and will become a hard error + in a future Meson release. + +2018-02-05 08:47:18 +0100 Tim-Philipp Müller + + * configure.ac: + autotools: use -fno-strict-aliasing where supported + https://bugzilla.gnome.org/show_bug.cgi?id=769183 + +2018-01-30 20:37:18 +0000 Tim-Philipp Müller + + * meson.build: + meson: use -fno-strict-aliasing where supported + https://bugzilla.gnome.org/show_bug.cgi?id=769183 + +2018-01-20 15:45:45 +0800 Ting-Wei Lan + + * configure.ac: + configure: Replace -Bsymbolic-functions with -Bsymbolic + The documentation of libav says -Bsymbolic may be needed when building a + shared library which links statically to libav. + Fixes linking error on FreeBSD: + gst-libav/gst-libs/ext/.libs/libavcodec.a(simple_idct10.o): + relocation R_X86_64_PC32 against `ff_pw_1023' can not be used when making a + shared object; recompile with -fPIC + /usr/bin/ld: final link failed: Bad value + https://bugzilla.gnome.org/show_bug.cgi?id=791783 + +2017-10-23 19:35:31 -0700 U. Artie Eoff + + * configure.ac: + * ext/libav/Makefile.am: + libav: use LIBAV_CPPFLAGS for -I include paths + Autotools automatically appends user CPPFLAGS after target + CPPFLAGS. Also, it puts all CPPFLAGS before CFLAGS in final + generated gcc compile command. The internal ffmpeg include + paths need to come before any other external include paths + to ensure we don't accidentally pickup external ffmpeg + headers first (i.e. from user CPPFLAGS include paths). Thus, + move the internal LIBAV include paths to LIBAV_CPPFLAGS so + that they come before any user defined CPPFLAGS. + This allows ffmpeg and gst-ffmpeg to coexist on users system. + https://bugzilla.gnome.org/show_bug.cgi?id=789379 + +2017-10-03 13:57:24 +0530 Ashish Kumar + + * ext/libav/gstavprotocol.c: + avprotocol: fix leak in error code paths + https://bugzilla.gnome.org/show_bug.cgi?id=788481 + +2017-12-14 14:53:10 +1100 Matthew Waters + + * common: + Automatic update of common submodule + From e8c7a71 to 3fa2c9e + +2017-11-27 20:16:52 +1100 Matthew Waters + + * common: + Automatic update of common submodule + From 3f4aa96 to e8c7a71 + +2017-10-31 08:54:29 +0200 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to ffmpeg n3.3.5 + +2017-10-19 16:15:26 +0200 Jan Alexander Steffens (heftig) + + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavdemux.c: + avdemux: Whitelist the demuxers required for GC/Wii/WiiU ADPCM streams + Required to play .brstm (GameCube/Wii) and .bfstm (Wii U) files. Needs + at least avdec_adpcm_thp too, but that one is already accessible. + https://bugzilla.gnome.org/show_bug.cgi?id=789139 + +2017-09-23 17:14:03 +0200 Nicola Murino + + * ext/libav/gstavdemux.c: + avdemux: reset to 0 negative pts + for us pts are unsigned so reset to 0 negative pts returned from libav. + This is better than outputs completly wrong timestamps + https://bugzilla.gnome.org/show_bug.cgi?id=787795 + +2017-09-18 15:45:32 +0300 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to ffmpeg n3.3.4 + +2017-08-17 14:28:22 +0200 Mathieu Duponchelle + + * ext/libav/gstavcodecmap.c: + gstavcodecmap: Do not require a channel-mask + .. for mono or stereo input. + https://bugzilla.gnome.org/show_bug.cgi?id=786401 + +2017-08-17 12:25:58 +0100 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From 48a5d85 to 3f4aa96 + +2017-08-11 20:26:06 +0100 Tim-Philipp Müller + + * meson.build: + meson: don't export symbols by default + Only plugin entry points should be exported. + +2017-08-10 18:55:29 +0300 Sebastian Dröge + + * ext/libav/gstavviddec.c: + Revert "avviddec: Remove usage of deprecated EDGE APIs" + This reverts commit 4284d791bc2c3ae716e4f99cedd870de9f575aec. + It causes crashes on various h264 and DNXHD/VC3 streams, where the + decoders write to arbitrary memory far after what we've allocated. + +2017-08-10 17:22:46 +0300 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to ffmpeg n3.3.3 + +2017-07-11 13:45:35 +0530 Satya Prakash Gupta + + * ext/libswscale/gstffmpegscale.c: + libswscale: Memory leak in gst_video_frame_map + https://bugzilla.gnome.org/show_bug.cgi?id=784741 + +2017-07-11 11:34:03 +0530 Satya Prakash Gupta + + * ext/libav/gstavprotocol.c: + avdemux/mux: Memory leak and possible crash in avio_alloc_context + https://bugzilla.gnome.org/show_bug.cgi?id=784735 + +2017-07-11 09:36:45 -0400 Nicolas Dufresne + + * ext/libav/gstavviddec.c: + avviddec: Remove usage of deprecated EDGE APIs + As a side effect, left/right green bars goes away when using + xvimagesink. I just think that xv cropping is broken, so this is + probably just hiding a bug. + +2017-07-10 10:33:03 +0300 Sebastian Dröge + + * ext/libav/gstavmux.c: + avmux: Blacklist scc muxer + We have no codec mappings for it and it's a subtitle/closed caption + "muxer" anyway. + +2017-07-07 11:59:41 +0100 Tim-Philipp Müller + + * meson.build: + meson: find python3 via python3 module + https://bugzilla.gnome.org/show_bug.cgi?id=783198 + +2017-06-26 09:53:46 +0100 Tim-Philipp Müller + + * meson.build: + meson: fix with-package-name option + https://bugzilla.gnome.org/show_bug.cgi?id=784082 + +2017-06-20 10:50:38 +0300 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to ffmpeg n3.3.2 + +2017-05-20 15:16:04 +0100 Tim-Philipp Müller + + * ext/libav/gstav.c: + * meson.build: + * meson_options.txt: + meson: add options to set package name and origin + https://bugzilla.gnome.org/show_bug.cgi?id=782172 + +2017-05-20 15:27:52 +0200 Nicolas Dufresne + + * configure.ac: + * ext/libav/Makefile.am: + * gst-libs/ext/Makefile.am: + plugin: Explicitly link to BZ2, LZMA and LZ + While all this information is in the .la files, libtool seems to get + confused with ordering in presence of static system libraries. This could + cause missing symbol error at link time. Adding these depenencies explicitly + workaround the issue. + +2017-05-20 13:05:23 +0200 Nicolas Dufresne + + * gst-libs/ext/Makefile.am: + Don't fail if running "make clean" twice + +2017-05-20 20:02:39 +1000 Jan Schmidt + + * .gitmodules: + * configure.ac: + * gst-libs/ext/gas-preprocessor: + Pass $CC as AS, unless $AS is provided. Add gas-preprocessor + Add gas-preprocessor.pl as a git submodule, and put it in the + path so that it is available if libav wants it. + Switch back to providing $CC as $AS by default, but + respect an external $AS setting so that it can be + overridden in cerbero + https://bugzilla.gnome.org/show_bug.cgi?id=694416 + +2017-05-17 10:41:57 +0300 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to ffmpeg n3.3.1 + +2017-05-16 14:43:11 -0400 Nicolas Dufresne + + * configure.ac: + * ext/libav/Makefile.am: + * ext/libswscale/Makefile.am: + Remove plugin specific static build option + Static and dynamic plugins now have the same interface. The standard + --enable-static/--enable-shared toggle are sufficient. + +2017-05-16 18:54:32 +0300 Sebastian Dröge + + * ext/libav/gstavviddec.c: + avviddec: Don't expose NVIDIA CUVID decoder + It's not working without further changes on our side, like all hardware + decoders in ffmpeg. + +2017-05-11 21:17:21 -0400 Nicolas Dufresne + + * configure.ac: + * ext/libav/Makefile.am: + * gst-libs/ext/Makefile.am: + Generate .la for internal libav libraries + This should help libtool in getting the internal linking right. + Effectively, libtool can sometime get the link order wrong when + presented with a mix of .la and -l arguments. These .la file are + also required by the android build system and were previously + created by cerbero. + +2017-05-11 13:31:50 -0400 Nicolas Dufresne + + * ext/libav/Makefile.am: + Use automake to install dependency libraries + The install line was using -t parameter which is not supported on OSX. + Instead, use automake DATA installation mechanism, this way we rely on + automake to generate portable scripts. + +2017-05-10 21:20:05 -0400 Nicolas Dufresne + + * configure.ac: + * ext/libav/Makefile.am: + Use a portable method to link against internal FFMPEG + In the last iteration, we kept the original method to link the shared + plugin and edited the .a and .la files so satisfy what cerbero needed. + Unfortunately, that required adding .a file into the archive which is + not allowed with iOS ar command for universal builds. + This patch uses standard method to link a static library. One of the + benefit is that it removes some libtool warning about portability. + For the static case, we implement an install hook that installs + FFMPEG internal .a files in the plugin directory (so it does not get + confused with a possible system FFMPEG. This makes the static plugin + usable without depending on cerbero recipe. + +2017-05-10 12:10:54 -0400 Nicolas Dufresne + + * ext/libav/Makefile.am: + static: Update libgstlibav.lai too + Libtool will produce libgstlibav.la and libgstlibav.lai (the installed + version). We need to edit at least the installed version for the final + linking of static application to work. + +2017-05-10 09:47:12 -0400 Nicolas Dufresne + + * ext/libav/Makefile.am: + Simplify and fix the static linking + Some libtool will endup removing the shared build when running a static + build. That had unwanted side effect. Rather then fighting libtool to + get to build each static and shared seperatly, let libtool build with + the LIBAV_DEPS added to LIBADD (list of libav*.a) and finally remove the + extra .a from the archive and fix the .la to what cerbero will expect. + +2017-05-08 09:30:24 -0400 Nicolas Dufresne + + * ext/libav/Makefile.am: + libav: Allow build both static dynamic plugins + When building plugins with internal FFMPEG, we use different link + flags depending if it is static or shared. As we want to build both + static and dynamic plugins at once, rewrite the rules so we can + pass the right flags. + https://bugzilla.gnome.org/show_bug.cgi?id=779344 + +2017-05-04 18:59:14 +0300 Sebastian Dröge + + * configure.ac: + * meson.build: + Back to development + +=== release 1.12.0 === + +2017-05-04 15:39:47 +0300 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/inspect/plugin-libav.xml: + * gst-libav.doap: + * meson.build: + Release 1.12.0 + +=== release 1.11.91 === + +2017-04-27 17:35:41 +0300 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/gst-libav-plugins.args: + * docs/plugins/gst-libav-plugins.hierarchy: + * docs/plugins/gst-libav-plugins.interfaces: + * docs/plugins/inspect/plugin-libav.xml: + * gst-libav.doap: + * meson.build: + Release 1.11.91 + +2017-04-24 20:30:15 +0100 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From 60aeef6 to 48a5d85 + +2017-04-21 11:50:17 +1000 Jan Schmidt + + * configure.ac: + Revert "configure: Set the assembler used for libav to $CC" + This reverts commit 1a265f029aa9be1bf3f72d1dcd9feafbf23a6298. + It also makes it impossible to pass something other than $CC + as the assembler. People should adjust the passed AS variable + if they need something different. + +2017-04-14 14:55:52 +0200 Edward Hervey + + * configure.ac: + configure: Remove usage of memalign_hack in ffmpeg + It was removed in the last release + +2017-04-13 15:23:45 +0300 Sebastian Dröge + + * ext/libav/gstavauddec.c: + * ext/libav/gstavaudenc.c: + avaudenc/dec: Blacklist more PCM decoders/encoders + +2017-04-13 15:15:55 +0300 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to ffmpeg n3.3 + +2017-04-10 23:50:55 +0100 Tim-Philipp Müller + + * autogen.sh: + * common: + Automatic update of common submodule + From 39ac2f5 to 60aeef6 + +=== release 1.11.90 === + +2017-04-07 16:34:46 +0300 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/inspect/plugin-libav.xml: + * gst-libav.doap: + * meson.build: + Release 1.11.90 + +2017-03-22 12:55:40 +0530 Arun Raghavan + + * ext/libav/gstavvidenc.c: + avvidenc: Fix compiler errors in the previous commit + The declaration of 'const char *klass' was shadowing a function + argument. + +2017-03-20 22:19:47 +0530 Arun Raghavan + + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavcodecmap.h: + * ext/libav/gstavvidenc.c: + avvidenc: Classify image encoders with "Image" instead of "Video" + This allows gst_video_convert_sample*() to work with codecs for which we + have libav encoders (such as BMP). + https://bugzilla.gnome.org/show_bug.cgi?id=780317 + +2017-03-16 17:14:21 +0200 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + avcodecmap: Add mappings for I420/I422/Y444_12LE/BE and GBRA + https://bugzilla.gnome.org/show_bug.cgi?id=780100 + +2017-03-15 15:37:29 +0100 Emeric Grange + + * ext/libav/gstavcodecmap.c: + avcodecmap: Add GBR_12LE/BE and GBRA_12LE/BE pixel format mapping for CineForm decoder + +2017-03-16 15:23:01 +1100 Jan Schmidt + + * ext/libav/gstavvidenc.c: + avvidenc: Add Stereo3D mapping + Add mapping between GStreamer multiview modes/flags and + libav Stereo3D frame packings when encoding video. + https://bugzilla.gnome.org/show_bug.cgi?id=767938 + +2017-03-16 15:23:01 +1100 Jan Schmidt + + * ext/libav/gstavviddec.c: + * ext/libav/gstavviddec.h: + avviddec: Map any stereo3D info to multiview modes + Map any libav Stereo3D side data to GStreamer multiview + mode / flags for playback. + https://bugzilla.gnome.org/show_bug.cgi?id=767938 + +2017-03-14 15:01:41 +0200 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + avcodecmap: Add mapping for CineForm HD / CFHD codec + https://bugzilla.gnome.org/show_bug.cgi?id=780024 + +2017-02-24 15:59:51 +0200 Sebastian Dröge + + * meson.build: + meson: Update version + +2017-02-24 15:37:46 +0200 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 1.11.2 === + +2017-02-24 15:07:59 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/inspect/plugin-libav.xml: + * gst-libav.doap: + Release 1.11.2 + +2017-02-14 20:38:03 +0000 Tim-Philipp Müller + + * Makefile.am: + meson: dist meson build files + Ship meson build files in tarballs, so people who use tarballs + in their builds can start playing with meson already. + +2017-02-12 21:48:20 +0200 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to n3.2.4 + +2017-02-08 16:11:23 +0200 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to ffmpeg n3.2.3 + +2017-02-08 16:10:52 +0200 Sebastian Dröge + + * configure.ac: + configure: Require building against at least ffmpeg 3.0 + See also https://bugzilla.gnome.org/show_bug.cgi?id=778283 + +2017-01-13 12:43:37 +0000 Tim-Philipp Müller + + * meson.build: + meson: bump version + +2017-01-12 16:32:56 +0200 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 1.11.1 === + +2017-01-12 16:11:31 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/gst-libav-plugins.hierarchy: + * docs/plugins/inspect/plugin-libav.xml: + * gst-libav.doap: + Release 1.11.1 + +2017-01-02 09:06:09 +0530 Garima Gaur + + * ext/libav/gstavauddec.c: + * ext/libav/gstavaudenc.c: + * ext/libav/gstavdemux.c: + * ext/libav/gstavmux.c: + * ext/libav/gstavviddec.c: + * ext/libav/gstavvidenc.c: + Fix some caps leaks when creating pad templates + https://bugzilla.gnome.org/show_bug.cgi?id=776700 + +2016-12-16 17:33:44 +0000 Tim-Philipp Müller + + * .gitignore: + * Makefile.am: + * configure.ac: + Really remove generated .spec file + +2016-12-16 17:32:56 +0000 Tim-Philipp Müller + + * gst-libav.spec.in: + Remove generated .spec file + Likely extremely bitrotten, and we should not ship this anyway. + +2016-12-09 17:42:36 -0300 Thibault Saunier + + * meson.build: + meson: Support building without Gst debug + +2016-12-08 16:13:49 +0200 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to n3.2.2 + +2016-12-04 23:39:00 +0200 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + avcodecmap: Add mapping for Flash Screen2 codec + +2016-12-03 08:20:40 +0100 Edward Hervey + + * common: + Automatic update of common submodule + From f980fd9 to 39ac2f5 + +2016-12-02 17:06:50 +0200 Sebastian Dröge + + * ext/libav/gstavdemux.c: + avdemux: Disable GIF "demuxer" + It's actually a parser but it a) can only work with the ffmpeg GIF + decoder that is deactivated anyway, and b) it currently causes infinite + linking of avdemux_gif elements with a multiqueue in between in + decodebin. + https://bugzilla.gnome.org/show_bug.cgi?id=775516 + +2016-12-02 14:19:46 +0200 Sebastian Dröge + + * ext/libav/gstavprotocol.h: + avprotocol: Don't use GST_LOG_OBJECT() and friends on an arbitrary struct that is not a GObject + https://bugzilla.gnome.org/show_bug.cgi?id=775516 + +2016-11-26 14:00:39 +0200 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to ffmpeg n3.2.1 + +2016-11-26 13:59:12 +0200 Sebastian Dröge + + * .gitmodules: + libav: Change ffmpeg submodule from GIT protocol to HTTPS + +2016-11-26 11:26:46 +0000 Tim-Philipp Müller + + * .gitmodules: + common: use https protocol for common submodule + https://bugzilla.gnome.org/show_bug.cgi?id=775110 + +2016-11-23 15:38:49 +0100 Thibault Saunier + + * ext/libav/gstav.c: + Define plugin license outside the call to PLUGIN_DEFINE + Msvc fails at pre processing it and states that the + the use of "#" is invalid inside a macro. + +2016-11-23 06:05:26 -0800 Thibault Saunier + + * meson.build: + meson: Ignore spurious issues when building with msvc + +2016-11-23 06:04:58 -0800 Thibault Saunier + + * config.h.meson: + * ext/libav/gstavutils.c: + * meson.build: + Properly check if unistd.h is avalaible + And stop providing a meson.h.config as it is not needed (as meson dep + has been bumped to 0.36) + +2016-11-24 17:15:14 +0100 Edward Hervey + + * ext/libav/gstavcodecmap.c: + avcodecmap: Add support for packed 32bit RGBx variants + We can support those, so just add the mapping + +2016-11-16 17:06:54 +0200 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavdemux.c: + av: Enable IVF demuxer (and muxer) + It works and is a quite unimportant format, we should get rid of our + parser to reduce the amount of code to maintain. + +2016-11-14 11:49:52 +0100 Marinus Schraal + + * ext/libav/gstavdemux.c: + avdemux: Map artist to artist tag + It was incorrectly mapped to album-artist before. + https://bugzilla.gnome.org/show_bug.cgi?id=774398 + +2016-11-12 15:21:59 +0000 Tim-Philipp Müller + + * ext/libav/gstavmux.c: + avmux: blacklist fifo plugin + Avoids criticals in gst-inspect-1.0 -a + +2016-11-11 16:03:00 +0000 leigh123linux@googlemail.com + + * ext/libav/gstavviddec.c: + * ext/libav/gstavvidenc.c: + avvidenc/dec: Disable more hardware encoder/decoders + Important when using a system ffmpeg/libav. + https://bugzilla.gnome.org/show_bug.cgi?id=774278 + +2016-11-10 15:42:19 +0100 Michael Olbrich + + * configure.ac: + configure: fix target_os when cross-compiling for arm + For arm 'host_os' is '*-gnueabi' or '*-gnueabihf' so sed needs to cut of + more. Otherwise configuring ffmpeg will fail with "Unknown OS 'linuxeabi'." + or something like that. + https://bugzilla.gnome.org/show_bug.cgi?id=774215 + +2016-11-04 16:27:59 +0200 Sebastian Dröge + + * ext/libav/gstavviddec.c: + avviddec: Fix comment to say interlace-mode instead of interlaced-mode + +2016-11-04 16:22:07 +0200 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + avcodecmap: It's interlace-mode, not interlaced-mode + +2016-11-03 12:43:46 -0700 Scott D Phillips + + * meson.build: + meson: Include libav dependency in FFmpeg check + The FFmpeg-origin check can't work if it isn't provided the + dependency library. + https://bugzilla.gnome.org/show_bug.cgi?id=773911 + +2016-09-30 18:56:07 +0300 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + avcodecmap: Add variant to the ProRes caps + https://bugzilla.gnome.org/show_bug.cgi?id=769048 + +2016-09-29 15:35:01 +0300 Sebastian Dröge + + * ext/libav/gstavviddec.c: + * ext/libav/gstavviddec.h: + avviddec: Use interlaced-mode=interleaved and set field-order if possible + https://bugzilla.gnome.org/show_bug.cgi?id=771376 + +2016-09-29 15:18:46 +0300 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + avcodecmap: Configure field order in the context if we can + https://bugzilla.gnome.org/show_bug.cgi?id=771376 + +2016-09-29 13:26:34 +0300 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + avvidenc: Set colorimetry information in the context if known + https://bugzilla.gnome.org/show_bug.cgi?id=750882 + +2016-09-29 13:10:58 +0300 Sebastian Dröge + + * ext/libav/gstavviddec.c: + avviddec: Set colorimetry information from the context if known + But only if upstream did not provide that information. + https://bugzilla.gnome.org/show_bug.cgi?id=750882 + +2016-11-01 18:11:42 +0000 Tim-Philipp Müller + + * meson.build: + meson: update version + +2016-10-29 15:38:01 +0100 Tim-Philipp Müller + + * ext/libav/gstavcodecmap.c: + avcodecmap: Add mapping for Opus audio decoder + Make avdec_opus work. + https://bugzilla.gnome.org/show_bug.cgi?id=773672 + +=== release 1.11.0 === + +2016-11-01 18:53:15 +0200 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 1.10.0 === + +2016-11-01 18:10:45 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/gst-libav-plugins.args: + * docs/plugins/gst-libav-plugins.hierarchy: + * docs/plugins/gst-libav-plugins.interfaces: + * docs/plugins/inspect/plugin-libav.xml: + * gst-libav.doap: + Release 1.10.0 + +2016-10-28 12:55:34 +0100 Tim-Philipp Müller + + * gst-libs/ext/libav: + libav: Update to ffmpeg n3.2 + +2016-10-27 10:44:20 +0100 Tim-Philipp Müller + + * meson.build: + meson: fix version + +2016-10-26 23:29:18 +0300 Sebastian Dröge + + * ext/libav/gstavauddec.c: + * ext/libav/gstavaudenc.c: + avaudenc/dec: Allow compilation against ffmpeg < 3.2 again + +2016-10-26 23:17:28 +0300 Sebastian Dröge + + * ext/libav/gstavauddec.c: + * ext/libav/gstavaudenc.c: + avaudenc/dec: Ignore S64BE/LE pseudo-codecs + +2016-10-26 23:10:57 +0300 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to ffmpeg 3.2 release branch + Release 3.2.0 is planned tomorrow and we should keep track of the latest + major version for 1.10 as we did in the past too. + +2016-10-24 10:30:05 +0300 Sebastian Dröge + + * configure.ac: + configure: Fix shell syntax error + Assignments must not have spaces around the '=' + +2016-10-22 12:48:40 +0300 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to ffmpeg n3.1.5 + +2016-10-15 22:20:40 +0530 Nirbheek Chauhan + + * meson.build: + meson: Don't set c_std to gnu99 + Use the default for each compiler on every platform instead. This + improves our compatibility with compilers that don't have gnu99 as + a c_std. + +2016-10-06 14:25:17 +0300 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to ffmpeg n3.1.4 + +2016-09-30 11:35:41 -0300 Thibault Saunier + + * hooks/pre-commit.hook: + * meson.build: + meson: Setup pre-commit hooks when configuring + +=== release 1.9.90 === + +2016-09-30 13:03:42 +0300 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/inspect/plugin-libav.xml: + * gst-libav.doap: + Release 1.9.90 + +2016-09-29 12:01:59 +0300 Sebastian Dröge + + * ext/libav/gstavviddec.c: + avviddec: Use enum instead of magic numbers for the chroma siting values + +2016-09-14 11:31:07 +0200 Sebastian Dröge + + * configure.ac: + configure: Depend on gstreamer 1.9.2.1 + +2016-09-14 11:20:48 +0200 Sebastian Dröge + + * ext/libav/gstavaudenc.c: + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavvidenc.c: + av: Cast AVContext::bit_rate to a guint before passing to varargs functions + We expect it to be a int or uint, however it changed the type to a + int64_t in later versions of ffmpeg. As such it would be passed as a 64 + bit value to varargs functions, while the consumer of the arguments + assumes only 32 bits. This causes crashes. + https://bugzilla.gnome.org/show_bug.cgi?id=771092 + +2016-09-10 20:52:01 +1000 Jan Schmidt + + * autogen.sh: + * common: + Automatic update of common submodule + From b18d820 to f980fd9 + +2016-09-10 09:58:11 +1000 Jan Schmidt + + * autogen.sh: + * common: + Automatic update of common submodule + From f49c55e to b18d820 + +2016-08-29 11:08:16 -0300 Thibault Saunier + + * config.h.meson: + * configure.ac: + * ext/libav/meson.build: + * meson.build: + build: Do not link plugin against lzma and bz2 if using system install + And bump version to 1.9.2 + +2016-09-02 16:55:46 +0100 Iain Lane + + * ext/libav/gstavviddec.c: + * ext/libav/gstavvidenc.c: + Only use AV_CODEC_ID_WRAPPED_AVFRAME on new enough libavcodecs + https://bugzilla.gnome.org/show_bug.cgi?id=770753 + +2016-09-01 12:31:21 +0300 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 1.9.2 === + +2016-09-01 12:31:10 +0300 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/gst-libav-plugins.hierarchy: + * docs/plugins/inspect/plugin-libav.xml: + * gst-libav.doap: + Release 1.9.2 + +2016-08-29 17:03:18 +0300 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to ffmpeg n3.1.3 + +2016-08-28 21:47:35 -0300 Thibault Saunier + + * config.h.meson: + * ext/libav/meson.build: + * meson.build: + Add support for Meson as alternative/parallel build system + https://github.com/mesonbuild/meson + We only support building with ffmpeg installed system wide and not as + subproject yet. + +2016-08-19 11:13:44 -0700 Thibault Saunier + + * ext/libav/gstavdemux.c: + Use the new API to post flow ERROR messages on the bus + https://bugzilla.gnome.org/show_bug.cgi?id=770158 + +2016-08-26 21:46:18 +0200 Josep Torra + + * configure.ac: + * tests/check/Makefile.am: + build: silence error about pthread for 'make check' in osx + Fixes "clang: error: argument unused during compilation: '-pthread'" + +2016-08-20 10:53:07 +0100 Tim-Philipp Müller + + * ext/libav/gstavcodecmap.c: + libav: fix confusing 'insane framerate' debug log message + Usually means no framerate / variable framerate. Also the + fraction arguments were swapped. + +2016-08-16 21:11:35 +0300 Sebastian Dröge + + * configure.ac: + configure: Explicitly disable CrystalHD decoder + Otherwise it will pick it up when the system has the relevant headers, + and then linking produces an unusable plugin later as we don't ensure + that the plugin also links against the crystalhd library. + https://bugzilla.gnome.org/show_bug.cgi?id=769809 + +2016-08-16 10:43:18 +0300 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to ffmpeg n3.1.2 + +2016-08-04 10:45:14 +0200 Edward Hervey + + * ext/libav/gstavviddec.c: + avvidec: Ensure skipping strategy gets properly reset + When switching playback modes, like from TRICKMODE or TRICKMODE_KEY_UNITS + back to regular playback, we need to make sure we set the skip mode + back to the default setting. + While this field would be properly reset when we *have* feedback from + downstream (i.e. diff != G_MAXINT64), it would not be reset during + the initial phase (i.e. when the decoder hasn't pushed a buffer yet, + and therefore the sink hasn't sent back QoS information). + This avoids dropping plenty of frames when going back to regular playback + +2016-07-26 10:27:22 +0300 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to n3.1.1 + +2016-07-22 14:54:21 +0300 Sebastian Dröge + + * ext/libav/gstavauddec.c: + * ext/libav/gstavaudenc.c: + * ext/libav/gstavviddec.c: + * ext/libav/gstavvidenc.c: + libav: Ignore more quasi-codecs + +2016-07-22 14:42:59 +0300 Sebastian Dröge + + * ext/libav/gstavviddec.c: + * ext/libav/gstavvidenc.c: + libav: Ignore VAAPI decoders and VAAPI/nvenc encoders + These can show up when having a build against a system version of ffmpeg. + +2016-07-11 21:15:39 +0200 Stefan Sauer + + * common: + Automatic update of common submodule + From f363b32 to f49c55e + +2016-07-06 13:51:12 +0300 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 1.9.1 === + +2016-07-06 13:26:10 +0300 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/gst-libav-plugins.args: + * docs/plugins/gst-libav-plugins.hierarchy: + * docs/plugins/gst-libav-plugins.interfaces: + * docs/plugins/inspect/plugin-libav.xml: + * gst-libav.doap: + Release 1.9.1 + +2016-07-05 20:16:45 +0300 Sebastian Dröge + + * ext/libav/gstavaudenc.c: + avaudenc: Use gst_caps_fixate() instead of gst_caps_truncate() + Just truncating might not be enough. + +2016-07-05 20:16:09 +0300 Sebastian Dröge + + * ext/libav/gstavaudenc.c: + avaudenc: Create caps from the codec context after it is opened + We won't get codec_data and various other information otherwise. + +2016-07-05 20:15:28 +0300 Sebastian Dröge + + * ext/libav/gstavvidenc.c: + avvidenc: Create caps from the codec context after it is opened + We won't get codec_data and various other information otherwise. + +2016-07-01 09:29:03 +0200 Sebastian Dröge + + * configure.ac: + libav: Disable various other hardware related codecs + +2016-07-01 09:25:14 +0200 Edward Hervey + + * configure.ac: + configure: Disable VAAPI support + We have native plugins (gst-vaapi) for that + +2016-07-01 09:16:41 +0200 Edward Hervey + + * configure.ac: + configure: Disable {audio|video}toolbox support (osx/ios) + We already have native plugins for those + +2016-06-30 23:22:17 +0200 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to ffmpeg n3.1 + +2016-06-21 11:48:33 -0400 Nicolas Dufresne + + * common: + Automatic update of common submodule + From ac2f647 to f363b32 + +2016-05-31 20:29:32 +0100 Tim-Philipp Müller + + * tests/check/Makefile.am: + tests: use AM_TESTS_ENVIRONMENT + Needed by new automake test runner. + +2016-05-15 13:34:11 +0300 Sebastian Dröge + + * docs/plugins/inspect/plugin-libav.xml: + docs: Update for git master + +2016-05-14 12:09:06 +0200 Edward Hervey + + * ext/libav/gstavviddec.c: + avvidec: Don't set bogus latency + We might have cases where the framerate is not known (0/1). + +2016-05-12 11:09:13 +0200 Edward Hervey + + * ext/libav/gstavviddec.c: + avvidec: Report the latency once we're fully configured + Several decoders will only be able to report a real latency (has_b_frames) + once they're actually initialized (i.e. when they return their first frame). + Doing it earlier (in set_format) doesn't guarantee that the AVCodecContext + has_b_frames has been properly initialized. + https://bugzilla.gnome.org/show_bug.cgi?id=766362 + +2016-05-13 10:27:38 +0300 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + avcodecmap: Add mapping for G729 caps + https://bugzilla.gnome.org/show_bug.cgi?id=766333 + +2016-05-03 19:04:06 +0300 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to ffmpeg n3.0.2 + +2016-04-29 13:06:07 +0300 Sebastian Dröge + + * ext/libav/gstavauddec.c: + avauddec: Finish frames if they are header buffers only and don't produce any output + Otherwise we will consider them as one frame of raw audio that is still + pending, and shift all timestamps by the amount of time spent with header + buffers. + https://bugzilla.gnome.org/show_bug.cgi?id=765797 + +2016-04-29 12:55:19 +0300 Sebastian Dröge + + * ext/libav/gstavauddec.c: + avauddec: If decoding a frame failed, skip it + Otherwise the next successfully decoded frame will get its timestamp and we + will slowly let a/v sync drift apart. + https://bugzilla.gnome.org/show_bug.cgi?id=765797 + +2016-04-28 18:43:37 +0300 Sebastian Dröge + + * ext/libav/gstavaudenc.c: + avaudenc: Set all required fields in the AVFrame + Various functions in libavcodec need them, like the format, sample rate, etc. + and just having them in the context is not enough. + This fixes draining for codecs like MP2 that require a fixed frame size and + require libav to pad the last frame if required. + +2016-04-25 18:39:54 +0300 Sebastian Dröge + + * ext/libav/gstavcfg.c: + avcfg: Use av_strdup() instead of g_strdup() for strings owned by ffmpeg + It has its own allocator that depending on the configuration is incompatible + with GLib's and just causes a segmentation fault. Like on Windows. + https://bugzilla.gnome.org/show_bug.cgi?id=760266 + +2016-04-20 15:27:45 +0300 Sebastian Dröge + + * configure.ac: + * ext/libav/gstav.c: + avdeinterlace: Register all filters and only disable all except for yadif during compilation + Otherwise avdeinterlace won't find any filters, and we only use yadif in + there. + https://bugzilla.gnome.org/show_bug.cgi?id=765319 + +2016-04-15 12:51:07 +0300 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to n3.0.1 + +2016-04-14 10:04:23 +0100 Julien Isorce + + * common: + Automatic update of common submodule + From 6f2d209 to ac2f647 + +2016-03-24 18:31:27 +0100 Víctor Manuel Jáquez Leal + + * ext/libav/gstavviddec.h: + * ext/libav/gstavvidenc.h: + avvid{dec,enc}: remove dead gobject macros + The GObject macros either for GstFFMpegVidDec and GstFFMpegVidEnc can + break the compilation because they are not GTypes, since each av video + elements are registered in runtime. + https://bugzilla.gnome.org/show_bug.cgi?id=764162 + +2016-03-04 16:42:03 +0900 Vineeth TM + + * ext/libav/gstavdeinterlace.c: + * ext/libswscale/gstffmpegscale.c: + libav: use new gst_element_class_add_static_pad_template() + https://bugzilla.gnome.org/show_bug.cgi?id=763084 + +2016-03-24 13:33:33 +0200 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 1.8.0 === + +2016-03-24 12:55:15 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/inspect/plugin-libav.xml: + * gst-libav.doap: + Release 1.8.0 + +2016-03-20 13:43:00 +0000 Egor Zaharov + + * configure.ac: + configure: Restore CPPFLAGS after the last check + The next checks can also set CPPFLAGS. + https://bugzilla.gnome.org/show_bug.cgi?id=763940 + +=== release 1.7.91 === + +2016-03-15 12:23:48 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/inspect/plugin-libav.xml: + * gst-libav.doap: + Release 1.7.91 + +2016-03-11 15:44:16 +0200 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + avcodecmap: Only set the bitrate if we actually got it from the caps + Otherwise we set a random value from the stack as bitrate. The default (0) + is a better choice and doesn't upset valgrind. + +=== release 1.7.90 === + +2016-03-01 18:51:22 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/inspect/plugin-libav.xml: + * gst-libav.doap: + Release 1.7.90 + +2016-02-26 12:42:36 +0200 Sebastian Dröge + + * common: + Automatic update of common submodule + From b64f03f to 6f2d209 + +2016-02-23 18:19:18 +0200 Sebastian Dröge + + * ext/libav/gstavdeinterlace.c: + avdeinterlace: Don't assume that get_current_caps() returns non-NULL caps after has_current_caps() + Remove calls to gst_pad_has_current_caps() which then go on to call + gst_pad_get_current_caps() as the caps can go to NULL in between. Instead just + use gst_pad_get_current_caps() and check for NULL. + https://bugzilla.gnome.org/show_bug.cgi?id=759539 + +2016-02-21 10:40:02 +0000 Tim-Philipp Müller + + * Makefile.am: + * win32/MANIFEST: + * win32/vs6/gst_ffmpeg.dsw: + * win32/vs6/libgstffmpeg.dsp: + win32: remove outdated build cruft + This hasn't been touched for generations, doesn't work, + and is just causing confusion. We also don't want to + maintain these files manually. + +2016-02-20 12:59:38 +0000 Tim-Philipp Müller + + * ext/libav/gstav.c: + * ext/libav/gstav.h: + * ext/libav/gstavauddec.c: + * ext/libav/gstavviddec.c: + Don't use exported but undeclared core debug category symbols + It's not right and won't work on Windows with MSVC. + +2016-02-19 12:38:37 +0200 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 1.7.2 === + +2016-02-19 12:00:24 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/gst-libav-plugins.args: + * docs/plugins/inspect/plugin-libav.xml: + * gst-libav.doap: + Release 1.7.2 + +2016-02-16 16:32:38 +0100 Edward Hervey + + * ext/libav/gstavcfg.c: + avcfg: rc-min-rate and rc-max-rate are now 64bit integers + Switch the gobject properties and internal handling to support that + +2016-02-16 09:11:08 +0200 Sebastian Dröge + + * ext/libav/gstavvidenc.c: + avvidenc: Set width/height and format in the AVFrame we pass to the encoder API + +2016-02-16 09:02:21 +0200 Sebastian Dröge + + * docs/plugins/gst-libav-plugins.args: + * docs/plugins/gst-libav-plugins.hierarchy: + * docs/plugins/gst-libav-plugins.interfaces: + * docs/plugins/inspect/plugin-libav.xml: + docs: Update docs to not have unstaged changes after build again + There are some new codec IDs that we probably would like to map too, e.g. + Dirac/VC2 and Cineform HD. + +2016-02-15 17:06:05 +0200 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to n3.0 + +2016-02-05 18:10:53 -0300 Thiago Santos + + * autogen.sh: + * common: + Automatic update of common submodule + From 86e4663 to b64f03f + +2016-01-25 20:13:10 +0100 Sebastian Dröge + + * ext/libav/gstavaudenc.c: + avaudenc: Also use av_free() instead of g_free() + +2016-01-25 20:08:11 +0100 Sebastian Dröge + + * ext/libav/gstavaudenc.c: + avaudenc: Use av_malloc() instead of GLib malloc() wrappers for memory freed by ffmpeg + It has its own allocator that is not necessarily doing the same as malloc and + will then usually crash. E.g. on Windows or when memalign() is available. + +2016-01-21 17:35:51 +0100 Edward Hervey + + * ext/libav/gstavviddec.c: + avvidec: Bring mpeg video decoders up to PRIMARY rank + We should have done that ages ago ... + https://bugzilla.gnome.org/show_bug.cgi?id=574461 + +2016-01-21 11:41:45 +0200 Sebastian Dröge + + * configure.ac: + libav: Ensure to link with -lavfilter + +2016-01-20 10:31:40 +0200 Sebastian Dröge + + * ext/libav/gstavviddec.c: + avviddec: Use AVFrame API instead of deprecated AVPicture API + +2016-01-19 09:42:47 +0200 Sebastian Dröge + + * ext/libav/gstavdeinterlace.c: + * ext/libav/gstavscale.c: + av: Use av_image_get_buffer_size() instead of deprecated avpicture_get_size() + +2016-01-19 09:39:00 +0200 Sebastian Dröge + + * ext/libav/gstavdemux.c: + avdemux: Use av_packet_unref() instead of deprecated av_free_packet() + +2016-01-19 09:36:01 +0200 Sebastian Dröge + + * ext/libav/gstavvidenc.c: + avvidenc: Use AVPacket.flags for detecting keyframes + AVCodec.coded_frame is deprecated and will disappear at some point + in the future. + +2016-01-16 16:43:16 +0200 Sebastian Dröge + + * ext/libav/gstavdeinterlace.c: + avdeinterlace: Chain up to parent class' dispose() + https://bugzilla.gnome.org/show_bug.cgi?id=757498 + +2016-01-16 16:40:52 +0200 Sebastian Dröge + + * ext/libav/gstavaudenc.c: + * ext/libav/gstavcodecmap.c: + libav: Bitrate field changed from int to int64_t, fix compiler warnings + Cast it to a gint64 for now though, as otherwise we will fail compilation + with ffmpeg 2.8. + https://bugzilla.gnome.org/show_bug.cgi?id=757498 + +2015-11-04 21:18:56 +0100 Andreas Cadhalpun + + * ext/libav/gstavcfg.c: + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavcodecmap.h: + * ext/libav/gstavdeinterlace.c: + * ext/libav/gstavutils.c: + * ext/libav/gstavutils.h: + * ext/libav/gstavviddec.c: + * ext/libav/gstavviddec.h: + * ext/libav/gstavvidenc.c: + * ext/libswscale/gstffmpegscale.c: + libav: Remove usage of deprecated API + https://bugzilla.gnome.org/show_bug.cgi?id=757498 + +2015-11-04 21:16:18 +0100 Andreas Cadhalpun + + * configure.ac: + * ext/libav/gstavdeinterlace.c: + avdeinterlace: Port non-deprecated AVFilter API + https://bugzilla.gnome.org/show_bug.cgi?id=757498 + +2016-01-16 11:09:31 +0100 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to ffmpeg n2.8.5 + +2016-01-07 17:13:29 +0000 Tim-Philipp Müller + + * ext/libav/gstavauddec.c: + * ext/libav/gstavdemux.c: + * ext/libav/gstavmux.c: + av: canonicalise av plugin name more consistently in more places + Use g_strdelimit(), make sure to include comma as well, which + isn't included in G_STR_DELIMITERS. + https://bugzilla.gnome.org/show_bug.cgi?id=734451 + +2015-12-24 15:29:11 +0100 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 1.7.1 === + +2015-12-24 14:49:39 +0100 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/inspect/plugin-libav.xml: + * gst-libav.doap: + Release 1.7.1 + +2015-12-24 13:06:13 +0100 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + avcodecmap: Add special mapping for mono channel layouts + In ffmpeg this is the same as FRONT_CENTER, but we distinguish between + FRONT_CENTER and MONO in GStreamer. Add an explicit mapping for this special + case in the translations functions. + https://bugzilla.gnome.org/show_bug.cgi?id=759846 + +2015-11-27 11:16:07 +0900 Vineeth TM + + * ext/libav/gstavviddec.c: + * ext/libav/gstavviddec.h: + avviddec: remove realvideo slice_offset handling + Handling slice_offset in avviddec is resulting in invalid memory read. + Since rv decoders anyways handle slice_offset, removing the same to fix + memory mishandlings + https://bugzilla.gnome.org/show_bug.cgi?id=758726 + +2015-12-21 12:41:02 +0100 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to ffmpeg n2.8.4 + +2015-12-21 12:34:11 +0100 Sebastian Dröge + + * configure.ac: + configure: Use -Bsymbolic-functions if available + While this is more useful for libraries, some of our plugins with multiple + files and some internal API can also benefit from this. + +2015-12-16 09:36:25 +0100 Sebastian Dröge + + * docs/plugins/gst-libav-plugins.hierarchy: + * docs/plugins/inspect/plugin-libav.xml: + docs: update to git + +2015-12-07 09:11:30 -0500 Nicolas Dufresne + + * autogen.sh: + * common: + Automatic update of common submodule + From b319909 to 86e4663 + +2015-12-02 12:27:08 -0800 Reynaldo H. Verdejo Pinochet + + * ext/libav/gstav.c: + Require libav provided by FFmpeg at run-time + Error out if system's libav* libraries are not + provided by FFmpeg. Libav-incompatible changes + were introduced to support the latter so we + can no longer support both. + https://bugzilla.gnome.org/show_bug.cgi?id=758183 + +2015-11-23 23:45:38 -0800 Reynaldo H. Verdejo Pinochet + + * configure.ac: + Require libav provided by FFmpeg at build-time + Libav-incompatible changes were introduced to support + FFmpeg and we can no longer properly support Libav. + FFmpeg micro versions for libav* start at 100 (this was + done to differentiate from Libav builds). We use this + to bail at configure time if the system libav* libraries + are not provided by FFmpeg. + https://bugzilla.gnome.org/show_bug.cgi?id=758183 + +2015-12-01 15:12:22 +0200 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to n2.8.3 + +2015-11-30 19:01:41 +0200 Sebastian Dröge + + * ext/libav/gstavviddec.c: + avviddec: Make sure to use a buffer pool with the correct width/height configured on it for pushing buffers downstream + If downstream does not provide a (usable) pool, we would use our internal + pool. But the internal pool might be configured with a different width/height + because of padding, which then will cause problems if we push buffers from it + directly downstream. + Instead create a new pool if the width/height is different. + This prevents crashes with vaapisink and d3dvideosink for example. + Based on the debugging results and discussions with + Nicolas Dufresne + https://bugzilla.gnome.org/show_bug.cgi?id=758344 + +2015-11-23 10:31:39 +0900 Vineeth T M + + * ext/libav/gstavviddec.c: + avviddec: Fix structure memory leak + gst_structure_copy already takes a reference for config_copy. + No need to take another reference while setting it to buffer pool + https://bugzilla.gnome.org/show_bug.cgi?id=758512 + +2015-11-20 10:48:47 -0800 Reynaldo H. Verdejo Pinochet + + * ext/libav/gstavvidenc.c: + Remove unnecessary NULL checks before g_free() + g_free() is NULL-safe + (Includes unrelated formatting change to go through + indent checker commit hook) + +2015-11-12 10:44:25 +0100 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to n2.8.2 + +2015-11-07 12:11:57 -0500 Nicolas Dufresne + + * ext/libav/gstavviddec.c: + avviddec: Don't fallback on allocation failure + Allocation should keep working, falling back causes the stride to + change which is not supported in direct rendering. + https://bugzilla.gnome.org/show_bug.cgi?id=756028 + +2015-11-02 10:00:55 +0900 Vineeth TM + + * ext/libav/gstavvidenc.c: + avvidenc: Fix frame memory leak + The frame being passed to handle_frame should be unref'ed in all cases + https://bugzilla.gnome.org/show_bug.cgi?id=757453 + +2015-11-02 10:20:02 +0900 Vineeth TM + + * ext/libav/gstavdemux.c: + avdemux: Fix string memory leaks + https://bugzilla.gnome.org/show_bug.cgi?id=757454 + +2015-10-26 19:54:10 +0100 Mark Nauwelaerts + + * ext/libav/gstavviddec.c: + avviddec: _drain and _finish need slightly different handling + ... since they handle separate cases in video decoder with different requirements. + Consider e.g. x264enc ! rtph264pay ! identity drop-probability=0.1 ! rtph264depay + to illustrate a need for such separation. + +2015-10-21 14:37:05 +0100 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From b99800a to b319909 + +2015-10-20 17:29:42 +0300 Sebastian Dröge + + * configure.ac: + Use new GST_ENABLE_EXTRA_CHECKS #define + https://bugzilla.gnome.org/show_bug.cgi?id=756870 + +2015-10-21 14:28:34 +0300 Sebastian Dröge + + * common: + Automatic update of common submodule + From 9aed1d7 to b99800a + +2015-10-16 18:52:57 +0300 Sebastian Dröge + + * ext/libav/gstavviddec.c: + avviddec: Fix bufferpool config double free by taking a copy as needed + Also free the config in two code paths where we leaked it before. + +2015-10-14 10:18:01 +0300 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to n2.8.1 + +2015-10-09 21:22:12 -0300 Thiago Santos + + * ext/libav/gstavcodecmap.c: + avcodecmap: add jpeg2000 decoder mapping + Map the 3 possible jpeg2000 caps to JPEG2000 codec id + +2015-10-03 18:25:35 +0100 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + avcodecmap: Don't allocate dummy codec data anymore, it causes crashes nowadays + Multithreaded encoders are going to free this dummy codec data twice, e.g. + with this pipeline + gst-launch-1.0 videotestsrc num-buffers=40 ! \ + videoconvert ! avenc_mjpeg ! fakesink + +2015-10-03 18:14:05 +0100 Sebastian Dröge + + * ext/libav/gstavvidenc.c: + avvidenc: Pass the correct user_data to gst_buffer_new_wrapped_full() + Fixes crash with e.g. + gst-launch-1.0 videotestsrc num-buffers=40 ! \ + videoconvert ! avenc_huffyuv ! fakesink + +2015-10-02 23:02:01 +0300 Sebastian Dröge + + * ext/libav/gstavutils.c: + * ext/libav/gstavutils.h: + libav: G_CONST_RETURN is deprecated since GLib 2.30 + +2015-10-02 22:26:36 +0300 Sebastian Dröge + + * configure.ac: + Add configure check for GLib for consistency with other modules + +2015-10-02 11:49:35 +0100 Luis de Bethencourt + + * ext/libav/gstavviddec.c: + avviddec: only free config when pool doesn't take ownership + Since gst_buffer_pool_set_config() takes ownership of the config structure, + it is only necessary to free the structure before using it when the true + branch of if (gst_buffer_pool_config_validate_params) hasn't run. + gst_buffer_pool_set_config() always takes ownership of the structure + regardless of success or failure. Which means the return, checked with + if (!working_pool), has no relation to the state of the structure. + +2015-08-28 15:15:39 +0100 Luis de Bethencourt + + * ext/libav/gstavviddec.c: + avviddec: fix memory leak + Free config before overwriting. + CID #1320708 + +2015-09-25 23:51:15 +0200 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 1.6.0 === + +2015-09-25 23:32:21 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/inspect/plugin-libav.xml: + * gst-libav.doap: + Release 1.6.0 + +=== release 1.5.91 === + +2015-09-18 20:10:32 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/gst-libav-plugins.args: + * docs/plugins/gst-libav-plugins.hierarchy: + * docs/plugins/inspect/plugin-libav.xml: + * gst-libav.doap: + Release 1.5.91 + +2015-08-28 09:38:53 +0100 Tim-Philipp Müller + + * ext/libav/gstavviddec.c: + avvidec: increase default alignment to 32 bytes + Change default alignment from 16 to 32 bytes, which fixes crashes + when decoding H.265 using AVX2-based decoder code paths and when + using ximagesink/glimagesink. + https://bugzilla.gnome.org/show_bug.cgi?id=754120 + +2015-09-11 23:19:21 +0100 Tim-Philipp Müller + + * ext/libav/gstavviddec.c: + avvideodec: ensure required mem alignment fixing avdec_h265 crashes with ximagesink/glimagesink + Make sure the alignment requirement in GstAllocationParams + matches the GstVideoAlignment requirements. This fixes + issues with avdec_h265 crashing in the avx2 code path when + used with playbin and ximagesink/glimagesink as videosink. + The internal video pool would allocate buffers with an + alignment of 15 even though GstVideoAlignment specified + a stride_align requirement of 31 (which comes from ffmpeg). + https://bugzilla.gnome.org/show_bug.cgi?id=754120 + +2015-09-12 14:06:10 +0200 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to ffmpeg n2.8 + https://bugzilla.gnome.org/show_bug.cgi?id=754920 + +2015-07-30 01:24:54 +1000 Jan Schmidt + + * ext/libav/gstavaudenc.c: + * ext/libav/gstavvidenc.c: + avvid/audenc: Set some tags in the output for downstream's info + Add the codec name and bitrate into the output for informational + purposes. Bitrate in particular is now used by flvmux to set + videodatarate and audiodatarate in the resulting stream + +2015-08-20 08:02:11 -0700 Nicolas Dufresne + + * ext/libav/gstavviddec.c: + * ext/libav/gstavviddec.h: + avviddec: Fix pool reallocation logic + Some check where incorect and also unsafe. The only reliable information + in get_buffer2 is the picture width/height really. The side effect is + that the width/height of the internal pool endup padded, so when we + switch we also need to switch to the a new width/height, hence we save + the pool info. + https://bugzilla.gnome.org/show_bug.cgi?id=753869 + +=== release 1.5.90 === + +2015-08-19 14:12:35 +0300 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/gst-libav-plugins.args: + * docs/plugins/gst-libav-plugins.hierarchy: + * docs/plugins/gst-libav-plugins.interfaces: + * docs/plugins/inspect/plugin-libav.xml: + * gst-libav.doap: + Release 1.5.90 + +2015-08-16 19:08:16 +0200 Nicolas Dufresne + + * ext/libav/gstavviddec.c: + * ext/libav/gstavviddec.h: + aviddec: Re-enable direct rendering + This is achieved by using a tempory internal pool. We can then switch to a + downstream pool if the downstream pool buffer have matching strides. + https://bugzilla.gnome.org/show_bug.cgi?id=752802 + +2015-08-17 04:36:39 -0300 Thiago Santos + + * ext/libav/gstavvidenc.c: + avvidenc: use template subset check for accept-caps + It is faster than doing a query that propagates downstream and + should be enough + +2015-08-17 04:35:41 -0300 Thiago Santos + + * ext/libav/gstavaudenc.c: + avaudenc: use pad template caps for accept-caps + use template subset check for accept-caps + It is faster than doing a query that propagates downstream and + should be enough + +2015-08-16 14:14:27 -0300 Thiago Santos + + * ext/libav/gstavaudenc.c: + avaudenc: remove useless getcaps method + It just calls the exact same function as the default handler + +2015-08-16 14:13:05 -0300 Thiago Santos + + * ext/libav/gstavvidenc.c: + avvidenc: remove useless getcaps method + It just calls the exact same function as the default handler + +2015-08-15 07:30:26 -0300 Thiago Santos + + * ext/libav/gstavauddec.c: + avauddec: let audiodecoder call the default pad query handler + Avoids repeating the same handling in many decoders + +2015-08-15 07:18:07 -0300 Thiago Santos + + * ext/libav/gstavviddec.c: + avviddec: let videodecoder call the default pad query handler + Avoids repeating the same handling in many decoders + +2015-08-15 12:51:19 +0200 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to n2.7.2 + +2015-08-14 08:22:39 -0300 Thiago Santos + + * ext/libav/gstavviddec.c: + avviddec: use template caps intersection for accept-caps + Avoid doing downstream caps queries when accept-caps should just + do a shallow caps check on the element itself + https://bugzilla.gnome.org/show_bug.cgi?id=753623 + +2015-08-14 08:21:51 -0300 Thiago Santos + + * ext/libav/gstavauddec.c: + avauddec: use template caps intersection for accept-caps + Avoid doing downstream caps queries when accept-caps should just + do a shallow caps check on the element itself + https://bugzilla.gnome.org/show_bug.cgi?id=753623 + +2015-07-30 23:07:39 +1000 Jan Schmidt + + * ext/libav/gstavdemux.c: + Map ffmpeg metadata to GStreamer tags + Update to the metadata API ffmpeg has had in + place for a long time now, and reenable output + of GStreamer tags from the demuxer. + https://bugzilla.gnome.org/show_bug.cgi?id=566605 + +2015-07-28 17:54:23 -0400 Olivier Crête + + * ext/libav/gstavviddec.c: + avviddec: Remove unused force parameter + This parameter has been always false for a long time. + +2015-08-03 21:40:12 -0400 Olivier Crête + + * ext/libav/gstavviddec.c: + avviddec: Use caps-like size in get_buffer2() + The size in the AVFrame in get_buffer2 don't match the output size, + instead they match ffmpeg's memory requirements, so we can't compare + them from the values of the output AVFrame. Those are comparable to + the values in the passed AVCodecContext. + +2015-08-03 21:02:37 -0400 Olivier Crête + + * ext/libav/gstavviddec.c: + avviddec: Reset current_dr on close and when not chosing it + https://bugzilla.gnome.org/show_bug.cgi?id=753189 + +2015-07-28 16:16:10 -0400 Olivier Crête + + * ext/libav/gstavviddec.c: + avviddec: Disable direct rendering before a frame has been produces + ffmpeg doesn't provide the final's image width & height in the get_buffer2() + callback, so it's not possible to create an output state for GstVideoDecoder + at this stage. So only try to do direct rendering if the buffer pool has already + been negotiated based on the final decoded size. + This partially reverts the effects of 2e621f8db + https://bugzilla.gnome.org/show_bug.cgi?id=752802 + +2015-07-28 11:19:52 +0300 Sebastian Dröge + + * configure.ac: + Revert "For static builds, add the ffmpeg library directories to the linker flags" + This reverts commit ac3437153dc6cb3d82cdda0d1f60ffc5600fdf67. + Doesn't actually make sense as it will put the (uninstalled) library paths + into the installed .la files. How does this all work? + +2015-07-28 11:02:47 +0300 Sebastian Dröge + + * configure.ac: + For static builds, add the ffmpeg library directories to the linker flags + +2015-07-27 18:49:49 -0400 Olivier Crête + + * ext/libav/gstavviddec.c: + avviddec: Get code out of loop + Code was executed only on the first iteration, so just pull it out + of the loop entirely. This makes it clear it has nothing to do with the loop. + +2015-07-27 18:44:53 -0400 Olivier Crête + + * ext/libav/gstavviddec.c: + avviddec: Only create the AVBuffer once the stride is validated + If it is created earlier and the stride is invalid, then the frame + will be freed and it won't be possible to use it in the fallback path. + Not doing this causes a segfault because it will try to use + already freed memory. + +2015-07-27 15:29:49 -0400 Olivier Crête + + * ext/libav/gstavviddec.c: + avviddec: Re-enable direct rendering + +2015-07-25 02:54:20 -0400 Olivier Crete + + * ext/libav/gstavauddec.c: + avauddec: Read channels from the channels field + If there is no layout, just read the channel count from the + channels field. + https://bugzilla.gnome.org/show_bug.cgi?id=752186 + +2015-07-23 19:15:43 -0400 Olivier Crête + + * ext/libav/gstavviddec.c: + avviddec: Ignore negotiation error on shutdown + https://bugzilla.gnome.org/show_bug.cgi?id=752800 + +2015-07-25 03:05:25 -0400 Olivier Crête + + * ext/libav/gstavauddec.c: + avauddec: Access field using accessors + Those fields are documented to only be safe to access using + accessors as their position is not part of the ABI. + +2015-07-22 09:44:27 +0100 James Smith + + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavdemux.c: + Add support for musepack (mpc) sv8 audio + https://bugzilla.gnome.org/show_bug.cgi?id=732682 + +2015-07-16 18:17:05 +0900 Vineeth T M + + * ext/libav/gstavviddec.c: + avviddec: fix slice_offset memory leak + In case of real videos, slice_offset is being allocated, + but the same is not being freed. + https://bugzilla.gnome.org/show_bug.cgi?id=752404 + +2015-07-16 17:24:48 +0100 Tim-Philipp Müller + + * gst-libav.doap: + Update mailing list in doap file + +2015-07-07 17:52:49 +0300 Sebastian Dröge + + * configure.ac: + Disable iconv support to fix Windows build + It's needed only for subtitle charset conversion, and we don't + use the ffmpeg subtitle support anyway. + Also disable d3d11va and dxva2 support, we don't use the hardware + codec support. + +2015-07-03 21:59:42 +0200 Stefan Sauer + + * common: + Automatic update of common submodule + From f74b2df to 9aed1d7 + +2015-07-02 15:44:45 +0200 Heinrich Fink + + * configure.ac: + Fix OSX build: Explicitly disable VDA h264 decoder + VideoDecodeAcceleration framework is deprecated in 10.11, and currently + cuases linker errors when compiling on OSX. Oddly, --disable-hwaccels + did not also disable h264_vda already. + https://bugzilla.gnome.org/show_bug.cgi?id=751838 + +2015-07-01 22:40:02 +0200 Sebastian Dröge + + * configure.ac: + * ext/libav/gstav.c: + * ext/libswscale/gstffmpegscale.c: + Make the LGPL build the default and require --enable-gpl to build a GPL licensed version + +2015-07-01 22:11:52 +0200 Sebastian Dröge + + * ext/libav/gstavmux.c: + avmux: Blacklist some subtitle and adaptive streaming muxers + +2015-06-30 12:05:46 +0200 Sebastian Dröge + + * .gitmodules: + * configure.ac: + * ext/libav/Makefile.am: + * gst-libs/ext/libav: + Switch from libav v11.4 to ffmpeg n2.7.1 + ffmpeg seems to be the one of the two forks, which is most widely used by + Linux distributions and in general. Also Google is using it for e.g. Chrome + and has engineers working on finding and fixing security issues in it. + https://bugzilla.gnome.org/show_bug.cgi?id=751607 + +2015-06-30 19:59:54 +0200 Sebastian Dröge + + * ext/libav/gstavaudenc.c: + avaudenc: Remember how many samples the codec consumed for telling the base class + +2015-06-30 19:18:53 +0200 Thomas Bluemel + + * ext/libav/gstavauddec.c: + * ext/libav/gstavauddec.h: + avauddec: Ensure input buffers have FF_INPUT_BUFFER_PADDING_SIZE padding, which is required by avcodec_decode_audio4 () + +2015-06-29 13:29:05 +0200 Sebastian Dröge + + * ext/libav/gstavmux.c: + avmux: Ignore stream_segment,ssegment muxer that is provided by ffmpeg + The comma confuses our code, e.g. it's not a valid element name or structure + name. + +2015-06-28 16:54:35 +0200 Sebastian Dröge + + * ext/libav/gstavvidenc.c: + avvidenc: Fix compiler warning + gstavvidenc.c: In function 'gst_ffmpegvidenc_flush_buffers': + gstavvidenc.c:733:7: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement] + GstFFMpegVidEncClass *oclass = + ^ + cc1: all warnings being treated as errors + +2015-06-28 16:35:46 +0200 Sebastian Dröge + + * ext/libav/gstavvidenc.c: + avvidenc: Set AVFrame flags for interlacing per frame and not in set_format() + They will get overridden by av_frame_unref() with the defaults. + +2015-06-28 16:32:02 +0200 Sebastian Dröge + + * ext/libav/gstavaudenc.c: + * ext/libav/gstavvidenc.c: + av{aud,vid}enc: Create wrapped output buffers with GST_MEMORY_FLAG_READONLY + libav might still have references to the buffers itself and uses a writability + system similar to ours based on reference counts. + +2015-06-28 16:30:54 +0200 Sebastian Dröge + + * ext/libav/gstavvidenc.c: + avvidenc: Properly wrap and free the output AVPackets generated during draining + +2015-06-28 16:27:52 +0200 Sebastian Dröge + + * ext/libav/gstavvidenc.c: + avvidenc: Make sure to keep input data alive until libav is done with it + +2015-06-28 16:21:33 +0200 Sebastian Dröge + + * ext/libav/gstavaudenc.c: + avaudenc: Make sure to keep input data alive until libav is done with it + +2015-06-28 15:37:23 +0200 Sebastian Dröge + + * ext/libav/gstavaudenc.c: + * ext/libav/gstavaudenc.h: + * ext/libav/gstavvidenc.c: + av{aud,vid}enc: Stop using deprecated AVFrame APIs + +2015-06-28 12:33:49 +0200 Sebastian Dröge + + * ext/libav/gstavauddec.c: + avauddec: Remove custom buffer allocation function + libav always uses planar audio formats nowadays, not much use in + us trying to allocate anything here until we add support for planar + aka non-interleaved audio formats at least in audioconvert. + +2015-06-27 20:25:36 +0200 Sebastian Dröge + + * ext/libav/gstavauddec.c: + * ext/libav/gstavauddec.h: + avauddec: Use undeprecated AVFrame API + +2015-06-27 20:25:18 +0200 Sebastian Dröge + + * ext/libav/gstavviddec.c: + avviddec: Free frame before the codec is freed + Who knows, maybe freeing the frame calls cleanup inside the codec. + +2015-06-27 20:15:20 +0200 Sebastian Dröge + + * ext/libav/gstavviddec.c: + avviddec: Use undeprecated AVFrame API and unref frame once we're done with it + +2015-06-27 20:08:46 +0200 Sebastian Dröge + + * ext/libav/gstavauddec.c: + avauddec: Negotiate based on the AVFrame instead of just the AVCodecContext + +2015-06-26 20:38:01 +0200 Sebastian Dröge + + * ext/libav/gstavviddec.c: + avviddec: Use the new get_buffer2() API instead of the deprecated APIs + And do the frame reference counting by adding AVBufferRefs to the frame. + +2015-06-26 20:20:14 +0200 Sebastian Dröge + + * ext/libav/gstavviddec.c: + avviddec: Also proxy the data/size pointers for our wrapper AVBufferRef + +2015-06-26 17:30:25 +0200 Wim Taymans + + * ext/libav/gstavcodecmap.c: + codecmap: add vp9 mapping + +2015-06-26 16:50:16 +0200 Sebastian Dröge + + * ext/libav/gstavviddec.c: + avviddec: Wrap the original AVBufferRef in our own buffer for the destroy function + Just adding a dummy buffer at the very end might not be enough as there + already might be too many buffers. + +2015-06-26 15:38:38 +0200 Sebastian Dröge + + * ext/libav/gstavviddec.c: + avviddec: libav will already copy the reordered_opaque pointer for us + If we do it ourselves, it might get the wrong value if our assumptions are + broken by libav at a later time. + +2015-06-26 15:34:30 +0200 Sebastian Dröge + + * ext/libav/gstavviddec.c: + * ext/libav/gstavviddec.h: + avviddec: Negotiate based on the AVFrame information, not the context information + The context contains the information from the latest input frame, we're + however interested in the information from the latest output frame. As we have + to negotiate for the buffer that is about to come next. + This should fix some crashes that happened when both information got out of + sync. If that happens now, we will do fallback allocation until the output + is renegotiated too. + https://bugzilla.gnome.org/show_bug.cgi?id=750865 + +2015-06-25 00:04:23 +0200 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 1.5.2 === + +2015-06-24 23:40:51 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/gst-libav-plugins.hierarchy: + * docs/plugins/inspect/plugin-libav.xml: + * gst-libav.doap: + Release 1.5.2 + +2015-06-16 17:50:03 -0400 Nicolas Dufresne + + * common: + Automatic update of common submodule + From 6015d26 to f74b2df + +2015-06-04 19:11:02 -0400 Nicolas Dufresne + + * ext/libav/gstavcodecmap.c: + avcodec: Check against codec format list + There exist few formats (deprecated though) used by mjpeg decoder + and encoder that maps to the same GStreamer format. To properly + pick the right format, also lookup each Codec list before accepting + the format. This fixes error when trying to use mjpeg encoder. + Note that this may results in faded colors. In fact, these special + format are meant to specify that this is full range YUV. Colorimetry + in gst-libav is not yet implemented, hence is ignored in general. So + I think it's fine to first fix the issue before addressing the missing + feature. + https://bugzilla.gnome.org/show_bug.cgi?id=750398 + +2014-10-07 16:33:07 +1100 Jan Schmidt + + * ext/libav/gstavviddec.c: + viddec: Replicate any 3D/multiview info from input caps onto output + +2015-06-09 15:41:46 +0200 Stefan Sauer + + * Makefile.am: + cruft: add the obsolete tmpl dir to cruft-dirs + +2015-06-09 11:30:44 +0200 Edward Hervey + + * common: + Automatic update of common submodule + From d9a3353 to 6015d26 + +2015-06-08 23:08:20 +0200 Stefan Sauer + + * common: + Automatic update of common submodule + From d37af32 to d9a3353 + +2015-06-07 23:06:58 +0200 Stefan Sauer + + * common: + Automatic update of common submodule + From 21ba2e5 to d37af32 + +2015-06-07 17:32:20 +0200 Stefan Sauer + + * common: + Automatic update of common submodule + From c408583 to 21ba2e5 + +2015-06-07 17:03:46 +0200 Stefan Sauer + + * docs/plugins/Makefile.am: + docs: remove variables that we define in the snippet from common + This is syncing our Makefile.am with upstream gtkdoc. + +2015-06-07 17:16:38 +0200 Stefan Sauer + + * autogen.sh: + * common: + Automatic update of common submodule + From c8fb372 to c408583 + +2015-06-07 16:44:49 +0200 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 1.5.1 === + +2015-06-07 11:10:59 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/gst-libav-plugins.args: + * docs/plugins/gst-libav-plugins.hierarchy: + * docs/plugins/gst-libav-plugins.interfaces: + * docs/plugins/inspect/plugin-libav.xml: + * gst-libav.doap: + Release 1.5.1 + +2015-06-05 11:57:37 +0200 Sebastian Dröge + + * ext/libav/gstavviddec.c: + avviddec: Release stream lock while calling avcodec_decode_video2() + It might call back into us from another thread and try to take the stream lock + again, e.g. to allocate a buffer. + https://bugzilla.gnome.org/show_bug.cgi?id=726020 + +2015-06-02 20:48:33 -0400 Olivier Crête + + * ext/libav/gstavviddec.c: + avviddec: Post error message before returning a flow error + This is required. + +2015-06-02 16:32:55 +0200 Edward Hervey + + * tests/check/generic/libavcodec-locking.c: + * tests/check/generic/plugin-test.c: + check: Use GST_CHECK_MAIN () macro everywhere + Makes source code smaller, and ensures we go through common initialization + path (like the one that sets up XML unit test output ...) + +2015-06-02 12:32:42 +0100 Tim-Philipp Müller + + * Makefile.am: + Make top-level 'check-torture' and 'check-valgrind' targets functional + +2014-09-12 09:44:16 +0200 Aurélien Zanelli + + * ext/libav/gstavcodecmap.c: + avcodecmap: Use video/x-cavs mime type instead of video/x-gst-av-cavs + More generic mime-type which can be used by other decoders than libav. + https://bugzilla.gnome.org/show_bug.cgi?id=727731 + +2015-03-25 10:24:52 +0100 Aurélien Zanelli + + * configure.ac: + configure: don't disable Chinese AVS (cavs) decoder + It enables GStreamer to decode Chinese AVS video streams. + Also fix indentation. + https://bugzilla.gnome.org/show_bug.cgi?id=727731 + +2015-06-02 09:09:09 +0200 Sebastian Dröge + + * ext/libav/gstavauddec.c: + avauddev: Unref decoded AVFrame after we're done with it + Otherwise we might leak some memory, like all compressed data when using + avdec_ac3. + +2015-05-31 21:32:07 +0200 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to v11.4 + +2015-04-23 17:12:26 +0100 Tim-Philipp Müller + + * .gitignore: + Update .gitignore + +2015-04-23 17:09:36 +0100 Tim-Philipp Müller + + * configure.ac: + configure: bump automake requirement to 1.14 and autoconf to 2.69 + This is only required for builds from git, people can still + build tarballs if they only have older autotools. + https://bugzilla.gnome.org//show_bug.cgi?id=747624 + +2015-04-03 18:58:12 +0100 Tim-Philipp Müller + + * autogen.sh: + * common: + Automatic update of common submodule + From bc76a8b to c8fb372 + +2015-03-29 14:01:50 +0200 Mark Nauwelaerts + + * ext/libav/gstavdemux.c: + avdemux: resurrect some flow return handling + https://bugzilla.gnome.org/show_bug.cgi?id=744572 + +2015-03-14 11:26:16 +0000 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to v11.3 + +2015-03-10 09:37:19 +0000 Tim-Philipp Müller + + * ext/libav/gstavdemux.c: + avdemux: fix double semicolon + +2015-03-10 10:18:53 +0100 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + libav: Add support for 10 bit planar AYUV formats + +2015-03-10 10:17:45 +0100 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavdeinterlace.c: + * ext/libav/gstavmux.c: + * ext/libav/gstavscale.c: + * ext/libav/gstavutils.c: + * ext/libav/gstavvidenc.c: + libav: Change from deprecated PIX_FMT_* to AV_PIX_FMT_* + +2015-03-09 22:02:38 +0100 Sebastian Dröge + + * ext/libav/gstavviddec.c: + avviddec: Don't copy padding if handling a frame failed + We will return an error right afterwards anyway. + +2015-03-09 22:02:19 +0100 Sebastian Dröge + + * ext/libav/gstavviddec.c: + avviddec: If a flow return during draining is not OK, don't drain any further + +2015-03-09 22:01:43 +0100 Sebastian Dröge + + * ext/libav/gstavviddec.c: + avviddec: Error out if we try to allocate a buffer without being negotiated + Otherwise we just run into assertions because we should've errored out + already. + +2015-03-05 14:25:16 +0000 Luis de Bethencourt + + * ext/libav/gstavdemux.c: + avdemux: remove duplicate goto block + +2015-03-05 14:23:44 +0000 Luis de Bethencourt + + * ext/libav/gstavdemux.c: + avdemux: check AVIO Context has been allocated + +2015-02-08 05:35:19 +1100 Jan Schmidt + + * ext/libav/gstavviddec.c: + Add drain() vfunc implementation that does the same as finish() + finish() is called at EOS, drain() is called at all other times + when the decoder should be drained out. gst-libav decoder behaviour + is the same in both cases, so use the same implementation + See https://bugzilla.gnome.org/show_bug.cgi?id=734617 + +2014-12-11 21:07:44 +1100 Jan Schmidt + + * ext/libav/gstavviddec.c: + avviddec: Implement SKIP and new SKIP_KEY_UNITS_ONLY flags + Respect any skip flags set in the incoming segment. + https://bugzilla.gnome.org/show_bug.cgi?id=735666 + +2015-01-17 22:13:36 +0100 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to v11.2 + +2015-01-12 16:13:15 +0100 Stefan Sauer + + * common: + Automatic update of common submodule + From f2c6b95 to bc76a8b + +2014-12-18 10:56:03 +0100 Sebastian Dröge + + * common: + Automatic update of common submodule + From ef1ffdc to f2c6b95 + +2014-12-12 09:57:35 +0100 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to v11.1 + +2014-11-27 20:44:31 +0100 Aurélien Zanelli + + * ext/libav/gstav.c: + av: use GMutex instead of deprecated GStaticMutex + https://bugzilla.gnome.org/show_bug.cgi?id=740822 + +2014-11-27 17:12:26 +0100 Edward Hervey + + * common: + Automatic update of common submodule + From 7bb2bce to ef1ffdc + +2014-11-16 16:11:53 -0500 Nicolas Dufresne + + * ext/libav/gstavviddec.c: + videodec: Ensure update_pool is initialized + This was probably not causing any issues, but we would randomly + and needlessly update the pool in the query due to uninitialized + variable. + +2014-10-27 18:00:07 +0100 Sebastian Dröge + + * common: + Automatic update of common submodule + From 84d06cd to 7bb2bce + +2014-10-21 13:03:27 +0100 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From a8c8939 to 84d06cd + +2014-10-21 12:59:52 +0200 Stefan Sauer + + * common: + Automatic update of common submodule + From 36388a1 to a8c8939 + +2014-09-22 14:00:07 -0700 Aleix Conchillo Flaqué + + * ext/libav/gstavauddec.c: + avauddec: drain samples until libav doesn't have more data + We use have_data (that comes from libav), instead of only trying 10 + times, to know if there are more samples available. The old code was + machine dependent as different amount of samples could be decoded by + different type of (more powerful) machines, and 10 times was not always + sufficient. + https://bugzilla.gnome.org/show_bug.cgi?id=737144 + +2014-09-15 22:50:05 +0300 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to v11 + +2014-09-11 19:37:33 -0400 IBM Thinklab + + * ext/libav/gstavviddec.c: + avviddec: drain frames until libav doesn't have more data + We use have_data (that comes from libav), instead of only trying 10 times, + to know if there are more frames available. The old code was machine + dependant as different amount of frames could be decoded by different + type of (more powerful) machines, and 10 times was not always sufficient. + https://bugzilla.gnome.org/show_bug.cgi?id=736515 + +2014-08-27 12:39:49 +0300 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to v11_beta1 + +2014-08-12 16:17:11 +0300 Sebastian Dröge + + * configure.ac: + * ext/libav/gstavcfg.c: + libav: Minor changes to build properly with v11alpha1 + +2014-08-12 15:54:04 +0300 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to v11alpha1 + +2014-08-08 20:04:20 +1000 Jan Schmidt + + * ext/libav/gstavviddec.c: + avviddec: After draining frames, flush the libav decoder + Makes sure that there's really nothing stale left in the decoder + after draining. + https://bugzilla.gnome.org/show_bug.cgi?id=734661 + +2014-08-11 14:16:55 +0200 Aleix Conchillo Flaqué + + * ext/libav/gstavviddec.c: + avviddec: Don't lose frames on EOS + have_data is not propagated from gst_ffmpegviddec_video_frame to + gst_ffmpegviddec_frame. have_data is only set to 1 in + gst_ffmpegviddec_frame if a frame pointer is passed. However, this is + not true while draining, which means that have_data from libav will be + ignored. + https://bugzilla.gnome.org/show_bug.cgi?id=734608 + +2014-08-06 10:14:17 +0200 Thibault Saunier + + * ext/libav/gstavauddec.c: + avauddec: Bump the rank of avdec_aac so it is used by default + https://bugzilla.gnome.org/show_bug.cgi?id=676131 + +2014-08-04 15:06:50 +0200 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to v10.3 + +2014-08-01 10:41:28 +0200 Edward Hervey + + * Makefile.am: + * common: + Makefile: Add usage of build-checks step + Allows building checks without running them + +2014-07-19 18:04:49 +0200 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 1.4.0 === + +2014-07-19 17:49:04 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/inspect/plugin-libav.xml: + * gst-libav.doap: + Release 1.4.0 + +=== release 1.3.91 === + +2014-07-11 11:49:03 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/inspect/plugin-libav.xml: + * gst-libav.doap: + Release 1.3.91 + +=== release 1.3.90 === + +2014-06-28 11:44:41 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/gst-libav-plugins.hierarchy: + * docs/plugins/inspect/plugin-libav.xml: + * gst-libav.doap: + Release 1.3.90 + +2014-06-28 09:59:49 +0200 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to v10.2 + +2014-06-22 19:36:14 +0200 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 1.3.3 === + +2014-06-22 19:27:47 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/inspect/plugin-libav.xml: + * gst-libav.doap: + Release 1.3.3 + +2014-06-21 18:29:32 +0200 Sebastian Dröge + + * ext/libav/gstavvidenc.c: + avvidenc: Make sure to fixate caps before setting them on the pad + After the recent addition of negotiation support for MPEG4 part 2 + profiles via caps it can happen that the generated caps at this + point still contain multiple profiles. For example if downstream + does not care. Just fixate anything here and use those caps. + +2014-06-06 16:52:28 +0200 Wim Taymans + + * ext/libav/gstavcodecmap.c: + avcodecmap: place supported profiles in mpeg4 caps + Place the supported profiles in the srcpad caps of the mpeg4 encoder. + +2014-06-06 16:25:43 +0200 Wim Taymans + + * ext/libav/gstavcodecmap.c: + avcodecmap: remove deprecated media types + Remove x-xvid and x-3ivx. The last place where they were used are + in the srcpad caps of the decoder but since the decoder will never + actually output those caps we can safely remove them. + +2014-06-06 16:19:07 +0200 Wim Taymans + + * ext/libav/gstavcodecmap.c: + codecmap: don't expose more deprecated media types + x-xvid is deprecated, we don't want to expose it on the encoder, just + leave it only exposed on the decoder. + +2014-06-06 16:16:27 +0200 Wim Taymans + + * ext/libav/gstavcodecmap.c: + Revert "avcodecmap: do more reverse mapping of MPEG4" + This reverts commit e066785ad05f9119e3c1eded46260bcabd556b4d. + x-xvid and x-3ivx are removed, we don't want to expose them again. + +2014-06-06 12:40:57 +0100 Vincent Penquerc'h + + * ext/libav/gstavaudenc.c: + avaudenc: add a comment about using -1 in _finish_frame + See https://bugzilla.gnome.org/show_bug.cgi?id=729268 + +2014-04-30 15:30:45 +0100 Vincent Penquerc'h + + * ext/libav/gstavaudenc.c: + avaudenc: avoid using wrong number of samples + If audio_in is NULL, we'll send a NULL frame to libav, to flush + the codec. In that case, we won't know how many samples the codec + will have used, so we use -1 (for don't know) when letting the + base class know about the buffer. + Coverity 1195177 + +2014-06-02 09:27:17 +0200 Sebastian Dröge + + * ext/libav/gstavvidenc.c: + avvidenc: Fix indention and "bracketing" of goto labels + Should fix CID 1219865, which looks like the code analysis + algorithm was just confused. + +2014-05-29 18:24:20 +0200 Wim Taymans + + * ext/libav/gstavcodecmap.c: + avcodecmap: handle simple and advanced-simple profile in MPEG4 + Always enable 4MV flag for MPEG4 + Pare the profile property and enable more features for advanced-simple + profile. + video/x-xvid is advanced-simple profile so enable more features. + We now also support encoding of video/x-xvid so add this to the caps. + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=651320 + +2014-05-29 18:16:42 +0200 Wim Taymans + + * ext/libav/gstavvidenc.c: + avvidenc: do all negotiation before opening the decoder + We first want to complete negotiation before opening the encoder. + Negotiation might configure flags and other things that might be needed + when opening the encoder. + +2014-05-29 17:00:23 +0200 Wim Taymans + + * ext/libav/gstavcodecmap.c: + avcodecmap: do more reverse mapping of MPEG4 + We previously mapped some caps to MPEG4 and codec_tag so we can use the + codec_tag again to map to the original caps. + +2014-05-26 16:04:50 -0300 Thiago Santos + + * ext/libav/gstavdemux.c: + avdemux: use GstFlowCombiner + To remove replicated code from all demuxers to a single standard way + of aggregating flow returns + +2014-05-26 16:02:11 -0300 Thiago Santos + + * ext/libav/gstavdemux.c: + avdemux: remove legacy check from pad-alloc times + The 'no_buffer' error case is from the 0.10 era when a pad_alloc was + made before decoding the data and avdemuxer could check again the + flow returns for a not-linked. This isn't a valid use case anymore in + 1.0 + +2014-05-21 13:23:36 +0200 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 1.3.2 === + +2014-05-21 13:06:36 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * common: + * configure.ac: + * docs/plugins/gst-libav-plugins.args: + * docs/plugins/inspect-build.stamp: + * docs/plugins/inspect.stamp: + * docs/plugins/inspect/plugin-libav.xml: + * gst-libav.doap: + Release 1.3.2 + +2014-05-21 10:53:31 +0200 Sebastian Dröge + + * common: + Automatic update of common submodule + From 211fa5f to 1f5d3c3 + +2014-03-17 22:26:52 -0700 Gavin Hurlbut + + * ext/libav/gstavvidenc.c: + * ext/libav/gstavvidenc.h: + avvidenc: Add thread-count parameter for libav encoders + As some libav encoders (such as MPEG2) use a thread_count parameter to control + how many threads to use, and since it was always being set to 0 (which uses + the default), suboptimal threading can sometimes be chosen. This extends the + libav encoders to allow for a max-threads parameter which is passed into + the internal structure to control this knob if applicable to the encoder. + https://bugzilla.gnome.org/show_bug.cgi?id=726612 + +2014-05-13 20:17:17 +0200 Mathieu Duponchelle + + * ext/libav/gstavviddec.c: + gstavviddec: Sanitize and fix qos handling. + gst_video_decoder_get_max_decding_time doesn't return a GstClockTime + but a GstClockTimeDiff, and thus one needs to compare it against + G_MAXINT_64. + The returning of a boolean and the extra subsequent code in _video_frame + was uselessly complicated. + The previous behaviour led to artefacts when the decoder tried to + hurry up. + https://bugzilla.gnome.org/show_bug.cgi?id=730075 + +2014-05-14 10:19:44 +0200 Sebastian Dröge + + * gst-libs/ext/libav: + Update to libav 10.1 + +2014-03-27 18:53:53 -0400 Nicolas Dufresne + + * ext/libav/gstavviddec.c: + videodec: Don't use non-growable pool + As we don't know how many output buffers we need to operate, we need to + avoid pool that can't grow. Otherwise the pipeline may stall, waiting + for buffers. For now, we require it to be able to grow to at least + 32 buffers, which I think is a fair amount of buffers for decoders. + https://bugzilla.gnome.org/show_bug.cgi?id=726299 + +2014-05-03 20:48:40 +0200 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 1.3.1 === + +2014-05-03 18:34:52 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/gst-libav-plugins.hierarchy: + * docs/plugins/inspect/plugin-libav.xml: + * gst-libav.doap: + Release 1.3.1 + +2014-05-03 10:17:23 +0200 Sebastian Dröge + + * common: + Automatic update of common submodule + From bcb1518 to 211fa5f + +2014-04-30 16:14:50 +0100 Vincent Penquerc'h + + * ext/libav/gstavcodecmap.c: + libav: avoid dividing by zero on insane fps/par + While there, fix mixup in num/den with par (copied from fps, + apparently, and fps inverts fps to time base). + Coverity 1139696 + +2014-04-30 15:59:04 +0100 Vincent Penquerc'h + + * ext/libav/gstavvidenc.c: + avvidenc: guard against division by zero + and other nonsensical time base values while we're at it. + Coverity 1139699 + +2014-04-29 09:13:44 +0200 Sebastian Dröge + + * ext/libav/gstavaudenc.c: + avaudenc: Fix leak of AVBufferRef + AVPacket contains AVBufferRef which may leak unless unreffed properly. + https://bugzilla.gnome.org/show_bug.cgi?id=726814 + +2014-03-21 10:10:14 +0100 Stian Selnes + + * ext/libav/gstavvidenc.c: + avvidenc: Fix leak of AVBufferRef + AVPacket contains AVBufferRef which may leak unless unreffed properly. + https://bugzilla.gnome.org/show_bug.cgi?id=726814 + +2014-04-14 13:37:02 +0200 Edward Hervey + + * ext/libav/gstavaudenc.c: + avaudenc: Fix compile without gst debug + We can just re-use the encoder variable + +2014-04-08 08:05:24 +0200 Edward Hervey + + * ext/libav/gstavdemux.c: + avdemux: Remove unused variable + CID #1139943 + +2014-04-08 08:00:55 +0200 Edward Hervey + + * ext/libav/gstavcodecmap.c: + codecmap: Add missing break + CID #1139752 + +2014-04-06 09:02:46 +0200 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + avcodecmap: Add mapping for Apple Intermediate Codec + https://bugzilla.gnome.org/show_bug.cgi?id=727673 + +2014-03-29 10:45:16 +0100 Sebastian Dröge + + * gst-libs/ext/libav: + Update to libav v10 + +2014-03-22 17:10:24 +0100 Mark Nauwelaerts + + * ext/libav/gstavvidenc.c: + avvidenc: discard input frame upon encoding error + +2014-03-05 17:40:13 +0100 Christian Fredrik Kalager Schaller + + * gst-libav.spec.in: + add docs directory to spec file + +2014-02-28 09:36:02 +0100 Sebastian Dröge + + * common: + Automatic update of common submodule + From fe1672e to bcb1518 + +2014-02-27 21:49:42 +0100 Stefan Sauer + + * docs/Makefile.am: + docs: also reactivate make dist for the docs + +2014-02-26 22:14:28 +0100 Stefan Sauer + + * common: + Automatic update of common submodule + From 1a07da9 to fe1672e + +2014-02-26 22:05:23 +0100 Stefan Sauer + + * docs/plugins/Makefile.am: + * docs/plugins/gst-libav-plugins-docs.sgml: + * docs/plugins/gst-libav-plugins-sections.txt: + * docs/plugins/gst-libav-plugins.hierarchy: + docs: try to make the generated docs more useful + Generate the section.txt file. Update the -docs.sgml file with the new sections. + If we want to actually see the baseclasses, we should define them with a _get_type() function + and have the wrapped types subclass them. + +2014-02-26 19:13:01 +0100 Stefan Sauer + + * docs/plugins/inspect/plugin-libav.xml: + docs: add the inspected data + Not even this file was previously in the repo. + +2014-02-26 12:01:52 +0100 Stefan Sauer + + * configure.ac: + * docs/plugins/Makefile.am: + * docs/plugins/gst-libav-plugins-docs.sgml: + * docs/plugins/gst-libav-plugins.args: + * docs/plugins/gst-libav-plugins.hierarchy: + * docs/plugins/gst-libav-plugins.interfaces: + * docs/plugins/gst-libav-plugins.prerequisites: + docs: make the docs build again + They are still bad, but if we don't want to have them, we should rather remove this totally. + +2014-02-26 11:52:07 +0100 Stefan Sauer + + * configure.ac: + configure: add missing docs/plugins/Makefile + +2014-02-26 11:40:08 +0100 Stefan Sauer + + * docs/Makefile.am: + docs: install prebuilt plugin docs if gtk-doc is disabled + Sync to the Makefile.am from gst-plugin-base where it is done right. + Fixes #725034 + +2014-02-23 11:40:14 +0100 Mark Nauwelaerts + + * ext/libav/gstavvidenc.c: + avvidenc: make all properties work again + ... as previously broken due to additional compliance property + (see 13ffed87b1597fa60ccee293f71c3993ec59d1b2). + +2014-02-22 21:54:08 +0100 Mark Nauwelaerts + + * ext/libav/gstavmux.c: + avmux: stream-start and segment event before data-flow + +2014-02-20 20:39:29 +0100 Thijs Vermeir + + * ext/libav/gstavviddec.c: + avviddec: rename hevc decoder element to h265 for consistency + We use h265 for the parser, typefinder, caps, etc. everywhere. + https://bugzilla.gnome.org/show_bug.cgi?id=724823 + +2014-02-21 13:18:47 +0000 Tim-Philipp Müller + + * ext/libav/gstavviddec.c: + avvidec: don't crash on EOS when no buffers have been received + Fixes crash on EOS when no buffers have been received for some + reason, e.g. because the parser didn't output any. + fakesrc num-buffers=0 format=time ! avdec_h264 ! fakesink + +2014-02-21 09:28:16 +0100 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to v10 beta1 + +2014-02-20 17:25:35 -0300 Thiago Santos + + * ext/libav/gstavaudenc.c: + avaudenc: fix audio encoder flushing according to libav docs + * @param[in] frame AVFrame containing the raw audio data to be encoded. + * May be NULL when flushing an encoder that has the + * CODEC_CAP_DELAY capability set. + The AVFrame itself should be null, not the frame.data pointer + https://bugzilla.gnome.org/show_bug.cgi?id=724536 + +2014-02-16 15:58:15 +0100 Mark Nauwelaerts + + * gst-libs/ext/Makefile.am: + gst-libs: handle make dist for out-of-tree build + +2014-02-04 18:17:32 +0200 Dmitry Melnichenko + + * ext/libav/gstavmux.c: + avmux: Fix invalid address passing to av_opt_set_int() + https://bugzilla.gnome.org/show_bug.cgi?id=723615 + +2014-02-01 14:40:24 +0100 Mark Nauwelaerts + + * ext/libav/gstavvidenc.c: + avvidenc: avoid busy-looping when flushing frames + ... such as when receiving EOS event. + +2014-01-30 10:45:05 +0100 Edward Hervey + + * common: + Automatic update of common submodule + From d48bed3 to 1a07da9 + +2014-01-24 21:58:35 +0100 Sjoerd Simons + + * ext/libav/gstavdemux.c: + avdemux: Don't go into pull mode when the sequential flag is set + When the scheduling query results has GST_SCHEDULING_FLAG_SEQUENTIAL set + in its flags don't go into pull mode to prevent over-eager seeking. + https://bugzilla.gnome.org/show_bug.cgi?id=722935 + +2014-01-21 22:58:42 +1100 Tim 'mithro' Ansell + + * ext/libav/gstavmux.c: + avmux: Force DV audio input format to 48kHz, 2 channels + libavformat only supports muxing 16bit, 48kHz stereo into DV containers. + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=722672 + +2014-01-19 10:33:01 +0100 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to version 10_alpha2 + +2014-01-17 12:38:23 -0800 Aleix Conchillo Flaqué + + * ext/libav/gstavviddec.c: + * ext/libav/gstavviddec.h: + avviddec: Add output-corrupt property + The output-corrupt property will set the CODEC_FLAG_OUTPUT_CORRUPT flag + in the codec context. The user can now decide whether libav outputs + corrupt frames or not. + Previous libav versions had this flag always set. + https://bugzilla.gnome.org/show_bug.cgi?id=722453 + +2014-01-16 13:45:58 +0100 Sebastian Dröge + + * ext/libav/gstavauddec.c: + avauddec: Mark frames as corrupted if libav tells us they are + This is currently only implemented by the h264 codec and no audio codec. + https://bugzilla.gnome.org/show_bug.cgi?id=722290 + +2014-01-16 13:44:56 +0100 Sebastian Dröge + + * ext/libav/gstavviddec.c: + avviddec: Mark frames as corrupted if libav tells us they are + This is currently only implemented by the h264 codec. + https://bugzilla.gnome.org/show_bug.cgi?id=722290 + +2014-01-15 09:02:33 +0000 Vincent Penquerc'h + + * ext/libav/gstavauddec.c: + * ext/libav/gstavaudenc.c: + * ext/libav/gstavcfg.c: + * ext/libav/gstavdeinterlace.c: + * ext/libav/gstavviddec.c: + * ext/libav/gstavvidenc.c: + gst-libav: fix context leaks + A AVCodecContext needs cleaning up before being freed. + Go through all of the allocations/setups to ensure none of them + can leak a context or its contents. + +2014-01-13 16:31:05 +0100 Wim Taymans + + * ext/libav/gstavviddec.c: + avviddec: set output chroma-site + Use libav provided chroma-site and place it on the output caps. + +2014-01-10 17:18:53 +0100 Wim Taymans + + * ext/libav/gstavviddec.c: + avviddec: release buffers when not direct rendering + New libav will not call the release_buffer callback anymore when + avcodec_default_get_buffer() is called from get_buffer. Releasing of the + memory in a picture should now be done by registering a callback to the + avbuffer objects in the picture. There is some compatibility code to + wrap the memory we provide in get_buffer in avbuffer with a callback to + release_buffer but that is not done when avcodec_default_get_buffer() + is called. + Work around this by adding a dummy avbuffer object to the picture that + will release the frame. + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=721077 + +2014-01-10 13:16:20 +0100 Sebastian Dröge + + * ext/libav/gstavauddec.c: + avauddec: Give MP3 decoder a MARGINAL rank too + There's no reason why this decoder should not be autoplugged + +2014-01-06 13:36:39 +0100 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavviddec.c: + av: Enable HEVC / h265 support + +2014-01-06 13:02:07 +0100 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to v10_alpha1 tag + +2014-01-03 15:58:26 +0000 Tim-Philipp Müller + + * ext/libav/gstavcodecmap.c: + avcodecmap: fix regression with wmv3 video in WMVA format + The VC-1 decoder should handle that. Before avdec_wmv3 handled + it, but then we added format=WMV3 to its sink pad template + caps, at which point nothing handled WMVA any longer. + https://bugzilla.gnome.org/show_bug.cgi?id=697665 + +2014-01-03 16:28:44 +0100 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavcodecmap.h: + * ext/libav/gstavmux.c: + * ext/libav/gstavutils.c: + * ext/libav/gstavutils.h: + av: Update for CodecID -> AVCodecID related changes + +2014-01-03 16:28:02 +0100 Sebastian Dröge + + * ext/libav/gstavcfg.c: + avcfg: Update config parameters a bit to fix compilation + This needs a major rework and should use the new configuration + interface where useful. + +2014-01-03 16:27:34 +0100 Sebastian Dröge + + * ext/libav/gstavaudenc.c: + * ext/libav/gstavvidenc.c: + avenc: Stop using the removed inter_threshold field + +2014-01-03 16:27:11 +0100 Sebastian Dröge + + * ext/libav/gstavvidenc.c: + avviddec rebase + +2014-01-03 16:26:10 +0100 Sebastian Dröge + + * ext/libav/gstavauddec.c: + avauddec: Stop using AVCODEC_MAX_AUDIO_FRAME_SIZE + And properly use the have_data variable. It's a boolean. + +2014-01-03 16:25:39 +0100 Sebastian Dröge + + * ext/libav/gstavdemux.c: + avdemux: Stop using r_frame_rate field + It was removed and quite meaningless anyway. + Use the average framerate instead. + +2014-01-03 16:24:28 +0100 Sebastian Dröge + + * ext/libav/gstavvidenc.c: + avvidenc: Port to av_encode_video2() + av_encode_video() is deprecated and an ugly API anyway. + +2014-01-03 16:23:26 +0100 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to libav master (libav 10 API) + +2013-12-27 12:06:28 +0100 Sebastian Dröge + + * configure.ac: + configure.ac: Remove warning when building against a system version of libav + Nowadays libav has proper releases and API/ABI guarantees. + We're not living in last decade. + +2013-12-22 22:35:12 +0000 Tim-Philipp Müller + + * autogen.sh: + * common: + Automatic update of common submodule + From dbedaa0 to d48bed3 + +2013-12-15 21:17:26 -0800 Todd Agulnick + + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavdeinterlace.c: + Some compiler warning fixes to satisfy XCode compiler + https://bugzilla.gnome.org/show_bug.cgi?id=720513 + +2013-12-07 11:35:09 +0100 Mark Nauwelaerts + + * ext/libav/gstavviddec.c: + avviddec: improve buffer handling and semantics + ... so as to focus on providing *a* buffer rather than one (too) tied + to a frame, in particular allowing multiple allocations related to a frame. + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=697806 + +2013-12-07 12:10:13 +0100 Mark Nauwelaerts + + * ext/libav/gstavvidenc.c: + avvidenc: plug input_state leak + +2013-12-05 11:51:27 +0100 Sebastian Dröge + + * ext/libav/gstavviddec.c: + avviddec: Use new gst_video_decoder_set_needs_format() API + +2013-12-03 13:16:49 +0100 Christian Fredrik Kalager Schaller + + * gst-libav.spec.in: + Update spec file with latest changes + +2013-12-02 20:21:34 +0100 Mark Nauwelaerts + + * ext/libav/gstavviddec.c: + avviddec: only use upstream framerate if really specified + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=704161 + +2013-11-26 20:57:37 +0100 Mark Nauwelaerts + + * ext/libav/gstavviddec.c: + avviddec: discard unused input frames + ... to avoid these piling up in list of pending frames. + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=693772 + +2013-11-26 20:55:43 +0100 Mark Nauwelaerts + + * ext/libav/gstavviddec.c: + avviddec: really release frame at proper time + ... by also removing it from the pending list of frames, + where it may still be in if it has never been submitted to _finish. + This could happen if is a decode-only frame, or in skipped decoding + situation, ... + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=693772 + +2013-11-05 11:21:43 +0000 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From 865aa20 to dbedaa0 + +2013-11-04 23:20:17 +0000 Tim-Philipp Müller + + * ext/libav/gstavcodecmap.c: + avaudec: don't put bogus 0 channel-mask on output caps for mono audio + +2013-10-26 09:34:30 +0100 Tim-Philipp Müller + + * ext/libav/gstavaudenc.c: + avaudenc: post better error message if experimental codecs don't work + https://bugzilla.gnome.org/show_bug.cgi?id=691617 + +2013-10-26 09:09:28 +0100 Tim-Philipp Müller + + * ext/libav/gstavcodecmap.c: + codecmap: use TRUE for boolean fields in caps + +2013-10-15 09:28:08 +0200 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to v9.10 + +2013-10-14 14:50:57 -0600 Greg Rutz + + * ext/libav/gstavaudenc.c: + * ext/libav/gstavaudenc.h: + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavcodecmap.h: + * ext/libav/gstavvidenc.c: + * ext/libav/gstavvidenc.h: + avenc: Add compliance property + Add a new property to GstFFMpegVidEnc and GstFFMpegAudEnc to supply + the "strict compliance" value to AVCodecContext + https://bugzilla.gnome.org/show_bug.cgi?id=691617 + +2013-10-03 15:25:30 +0100 Matthieu Bouron + + * ext/libav/gstavcodecmap.c: + avcodecmap: Make avdec_mjpeg requires a parsed input + Actually avdec_mjpeg does not deal well with incomplete buffers and try + to decode incomplete frames. A parser which will also acts as + an accumulator needs to be inserted before it. + https://bugzilla.gnome.org/show_bug.cgi?id=709352 + +2013-10-02 13:59:04 +0200 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + avcodecmap: gst_value_can_intersect() does not do what you would think + Check for uniqueness differently now. + +2013-10-02 12:57:36 +0200 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + avcodecmap: Only append values to the video/audio format lists if we don't have them already + +2013-10-02 12:52:35 +0200 Sebastian Dröge + + * ext/libav/gstavviddec.c: + avviddec: Reset some more fields in ::stop() + +2013-10-02 12:51:40 +0200 Sebastian Dröge + + * ext/libav/gstavviddec.c: + avviddec: Don't believe we're negotiated if negotiation failed + It can happen that negotiation fails during get_buffer(), but then + we don't retry later and never return NOT_NEGOTIATED upstream... + and instead run into assertions. + +2013-10-02 12:45:44 +0200 Sebastian Dröge + + * ext/libav/gstavauddec.c: + avauddec: Don't believe we're negotiated if negotiation failed + It can happen that negotiation fails during get_buffer(), but then + we don't retry later and never return NOT_NEGOTIATED upstream... + and instead run into assertions. + https://bugzilla.gnome.org/show_bug.cgi?id=708769 + +2013-10-01 22:38:32 +0200 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + avenc: Choose 25 fps if we don't have any in the caps + Some encoders require a non-zero framerate to be configured properly + and just choosing something will make them not fail completely at + least. + https://bugzilla.gnome.org/show_bug.cgi?id=708732 + +2013-09-23 15:19:51 +0200 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + avcodecmap: Fix boolean expression to fix uninitialized usage of variables + +2013-09-23 15:08:18 +0200 Sebastian Dröge + + * configure.ac: + configure: Chose right target-os for iOS + +2013-09-24 18:34:20 +0100 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From 6b03ba7 to 865aa20 + +2013-09-24 15:06:03 +0200 Sebastian Dröge + + * configure.ac: + configure: Actually use 1.3.0.1 as version to make configure happy + +2013-09-24 15:00:34 +0200 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 1.2.0 === + +2013-09-24 14:42:30 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-libav.doap: + Release 1.2.0 + +2013-09-20 16:18:03 +0200 Edward Hervey + + * common: + Automatic update of common submodule + From b613661 to 6b03ba7 + +2013-09-19 18:45:20 +0100 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From 74a6857 to b613661 + +2013-09-19 17:38:10 +0100 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From 12af105 to 74a6857 + +2013-09-19 11:35:08 +0200 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 1.1.90 === + +2013-09-19 10:53:46 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-libav.doap: + Release 1.1.90 + +2013-09-12 13:56:31 +0200 Sebastian Dröge + + * ext/libav/gstavviddec.c: + * ext/libav/gstavviddec.h: + avviddec: Initialize strides with the ones of avcodec_default_get_buffer() if we ever call it + https://bugzilla.gnome.org/show_bug.cgi?id=704769 + +2013-09-12 12:41:51 +0200 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to v9.9 + +2013-09-12 12:12:23 +0200 Sebastian Dröge + + * ext/libav/gstavviddec.c: + avviddec: Use the correct context for negotiation + During get_buffer() it can happen that the main context is not + updated yet and only the context passed here has the correct + width, height, etc. + +2013-09-12 12:11:29 +0200 Sebastian Dröge + + * ext/libav/gstavviddec.c: + * ext/libav/gstavviddec.h: + avviddec: Remember initially used stride and don't allow stride changes + libav does not allow stride changes currently, fall back to + non-direct rendering here: + https://bugzilla.gnome.org/show_bug.cgi?id=704769 + https://bugzilla.libav.org/show_bug.cgi?id=556 + +2013-09-10 21:47:55 +0200 Matej Knopp + + * ext/libav/gstavcodecmap.c: + avcodecmap: Add support for TechSmith Screen Capture 2 + https://bugzilla.gnome.org/show_bug.cgi?id=707878 + +2013-08-30 11:48:51 +0100 Alex Ashley + + * ext/libav/gstavcodecmap.c: + avcodecmap: exclude avc3 stream format from AV_CODEC_ID_H264 + As part of the changes to support the "avc3" variant of the ISO-BMFF + (see bug #702004) a new stream-format has been created + (video/x-h264, stream-format="avc3", alignment="au") that requires + changes to gstavcodecmap to exclude this format because avdec_h264 + expects the SPS and PPS to be in the codec_data. + Amendment 2 of ISO/IEC 14496-15 (AVC file format) is defining a new + structure for fragmented MP4 called "avc3". The principal difference + between AVC1 and AVC3 is the location of the codec initialisation data + (e.g. SPS, PPS). In AVC1 this data is placed in the initial MOOV box + (moov.trak.mdia.minf.stbl.stsd.avc1) but in AVC3 this data goes in the + first sample of every fragment. + https://bugzilla.gnome.org/show_bug.cgi?id=702004 + +2013-08-30 13:58:14 +0200 Josep Torra + + * ext/libav/gstavcodecmap.c: + codecmap: add mapping for MSS1 and MSS2 + Windows Media Video Screen (WMV Screen) are video formats that + specilise in screencast content. + +2013-08-29 16:53:28 +0200 Sebastian Dröge + + * ext/libav/gstavauddec.c: + * ext/libav/gstavaudenc.c: + * ext/libav/gstavviddec.c: + * ext/libav/gstavvidenc.c: + libav: avcodec_close() also resets fields like the AVCodec + We need to reload the defaults for the codec after closing it, + otherwise we can't access codec information like the supported + sample rates and can crash. + https://bugzilla.gnome.org/show_bug.cgi?id=707040 + +2013-08-28 13:27:12 +0200 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 1.1.4 === + +2013-08-28 13:11:19 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-libav.doap: + Release 1.1.4 + +2013-08-28 12:09:33 +0200 Sebastian Dröge + + * configure.ac: + configure.ac: Fix typo + +2013-08-23 09:58:30 +0200 Sebastian Dröge + + * configure.ac: + configure: Disable build of dxva2 and vdpau support explicitely + It is enabled although we pass --disable-hwaccels apparently and + makes the build fail on Windows because libav looks for the d3d headers + in the wrong places. We can't make use of these features via libav. + https://bugzilla.gnome.org/show_bug.cgi?id=706601 + +2013-08-22 14:56:11 +0200 Sebastian Dröge + + * configure.ac: + configure: Fix bz2 configure check for Windows + Due to function decorations on Windows AC_CHECK_LIB can't be used to check for bz2. + https://bugzilla.gnome.org/show_bug.cgi?id=465924 + +2013-08-22 14:23:12 +0200 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavdemux.c: + avdemux: Add support for video/x-pva + https://bugzilla.gnome.org/show_bug.cgi?id=158719 + +2013-08-21 13:40:03 +0100 Tim-Philipp Müller + + * ext/libav/gstavvidenc.c: + avvidenc: propagate flow return values upstream in finish() + +2013-08-20 15:58:35 +0200 Sebastian Dröge + + * tests/check/elements/avdemux_ape.c: + tests: Enable avdemux_ape test again, it works now + https://bugzilla.gnome.org/show_bug.cgi?id=684684 + +2013-08-15 15:51:52 +0200 Sebastian Dröge + + * ext/libav/gstavviddec.c: + * ext/libav/gstavvidenc.c: + libav: Use new flush vfunc of video codec base classes and remove reset implementations + +2013-08-13 12:49:26 +0200 Hans de Goede + + * ext/libav/gstavmux.c: + avmux: Don't fail on commas in the libav muxer type names + https://bugzilla.gnome.org/show_bug.cgi?id=697512 + +2013-08-02 14:18:25 +0200 Lubosz Sarnecki + + * configure.ac: + build: add subdir-objects to AM_INIT_AUTOMAKE + Fixes warnings with automake 1.14 + https://bugzilla.gnome.org/show_bug.cgi?id=705350 + +2013-07-29 14:48:40 +0200 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 1.1.3 === + +2013-07-29 13:59:50 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-libav.doap: + Release 1.1.3 + +2013-07-29 12:19:22 +0200 Sebastian Dröge + + * ext/libav/gstavdemux.c: + avdemux: Implement SEGMENT query + +2013-07-24 12:22:04 +0200 Edward Hervey + + * ext/libav/gstavcodecmap.c: + avcodecmap: Demote WARNING to DEBUG + We cover all the needed formats already. The warning was just getting + in the way. + +2013-02-20 20:50:15 -0500 Olivier Crête + + * ext/libav/gstavviddec.c: + avviddec: Initialise opaque from the start + https://bugzilla.gnome.org/show_bug.cgi?id=693581 + +2013-07-23 09:59:43 +0200 Sebastian Dröge + + * ext/libav/gstavdemux.c: + avdemux: Add support for group-id in the stream-start event + +2013-07-19 09:45:24 +0200 Sebastian Dröge + + * configure.ac: + configure: Remove workaround from last decade and make SIMD optimizations work on OSX + https://bugzilla.gnome.org/show_bug.cgi?id=704442 + +2013-07-18 16:11:16 +0200 Arnaud Vrac + + * ext/libav/gstavviddec.c: + avviddec: increase bottom padding for output frames + libav can write slightly after the plane end in some SIMD optimized + functions. The extra padding value needs to be at least 16+stride_align + for each plane, so just increase the bottom padding value for the output + frame. + https://bugzilla.gnome.org/show_bug.cgi?id=694299 + +2013-07-11 16:57:28 +0200 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 1.1.2 === + +2013-07-11 16:52:48 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-libav.doap: + Release 1.1.2 + +2013-07-09 16:19:11 +0100 Tim-Philipp Müller + + * gst-libs/ext/libav: + libav: update libav from v9.6 to v9.8 + version 9.8: + - kmvc: Clip pixel position to valid range + - kmvc: Use fixed sized arrays in the context + - indeo: Reject negative array indexes + - indeo: Check for reference when inheriting motion vectors + - indeo: Properly forward the error codes + - mjpeg: Check the unescaped size for overflows + - wmapro: Error out on impossible scale factor offsets + - wmapro: Check the min_samples_per_subframe + - wmapro: Return early on unsupported condition + - wmapro: Check num_vec_coeffs against the actual available buffer + - wmapro: Make sure there is room to store the current packet + - lavc: Move put_bits_left in put_bits.h + - 4xm: Do not overread the source buffer in decode_p_block + - 4xm: Check bitstream_size boundary before using it + version 9.7: + Most of the following fixes resulted from test samples that the Google + Security Team has kindly made available to us: + - 4xm: fix several programming errors to avoid crashes, etc. + - apetag: use int64_t for filesize + - jpegls: Fix invalid writes to memory + - ljpeg: use the correct number of components in YUV + - mjpeg: Validate sampling factors + - mjpegdec: properly report unsupported disabled features + - mjpegdec: validate parameters in mjpeg_decode_scan_progressive_ac + - mpegvideo: allocate sufficiently large scratch buffer for interlaced vid + - pixdesc: mark gray8 as pseudopal + - smacker: fix several programming errors to avoid crashes, etc. + - tiff: do not overread the source buffer + - vmd: drop incomplete chunks and spurious samples + - vmdav: convert to bytestream2 to avoid invalid reads and writes + - wavpack: check packet size early + - wavpack: use bytestream2 in wavpack_decode_block + - wavpack: validate samples size parsed in wavpack_decode_block + +2013-06-25 14:03:07 +0200 Wim Taymans + + * ext/libav/gstavcodecmap.c: + codecmap: realvideo does not have systemstream property + realvideo does not have the systemstream property and nobody ever sets it so + better remove it here to make it link to something else. + +2013-06-18 13:36:01 +0100 Tim-Philipp Müller + + * autogen.sh: + * common: + autogen.sh: generate from common module, fixing srcdir != builddir build + https://bugzilla.gnome.org/show_bug.cgi?id=702319 + +2013-06-11 08:24:17 -0300 Thiago Santos + + * ext/libav/gstavviddec.c: + avviddec: reset coded_width/_height before trying to open codec + If coded_width/_height is supplied, the codec might use it as the + width/height and if it is wrong can lead to segfaults or video + corruption. + This is specially harmful on renegotiation scenarios where the + resolution changed. There seems to be no specific function for reseting + the AV Context in libav, so just set it directly. + https://bugzilla.gnome.org/show_bug.cgi?id=702003 + +2013-06-05 18:36:40 +0200 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 1.1.1 === + +2013-06-05 17:58:51 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * common: + * configure.ac: + * gst-libav.doap: + Release 1.1.1 + +2013-06-05 15:16:55 +0200 Sebastian Dröge + + * common: + Automatic update of common submodule + From 098c0d7 to 01a7a46 + +2013-05-20 11:07:57 +0200 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to v9.6 + +2013-05-15 10:53:59 +0200 Sebastian Dröge + + * common: + Automatic update of common submodule + From 5edcd85 to 098c0d7 + +2013-05-06 23:56:22 +0100 Tim-Philipp Müller + + * ext/libav/gstavauddec.c: + * ext/libav/gstavaudenc.c: + * ext/libav/gstavcfg.c: + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavdemux.c: + * ext/libav/gstavmux.c: + * ext/libav/gstavviddec.c: + * ext/libav/gstavvidenc.c: + CODEC_ID_* -> AV_CODEC_ID_* + +2013-05-06 23:53:01 +0100 Tim-Philipp Müller + + * ext/libav/gstavcodecmap.c: + codecmap: add mapping for WMA Lossless + Only 16 bits is supported for now though. + +2013-04-23 14:19:48 +0200 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to v9.5 + +2013-04-23 14:10:54 +0200 Sebastian Dröge + + * ext/libav/gstavviddec.c: + avviddec: Enable FRAME based threaded decoding if upstream is not live + If upstream is live we don't want FRAME based threaded decoding as + it adds latency. + +2013-04-22 23:54:48 +0100 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From 3cb3d3c to 5edcd85 + +2013-04-16 14:49:59 +0200 Sebastian Dröge + + * configure.ac: + libav: Fix typo in the SWSCALE libraries for static plugins + +2012-09-13 11:10:05 +0000 Andoni Morales Alastruey + + * configure.ac: + * ext/libav/Makefile.am: + * ext/libswscale/Makefile.am: + libav: fix static linking + +2012-10-24 12:18:56 +0200 Sebastian Dröge + + * configure.ac: + * ext/libav/Makefile.am: + * ext/libswscale/Makefile.am: + gst: Add better support for static plugins + +2013-04-09 22:13:42 +0200 Matej Knopp + + * ext/libav/gstavcodecmap.c: + av: Add WMV3 format for WMV 3 caps + +2013-04-14 17:57:18 +0100 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From aed87ae to 3cb3d3c + +2013-04-09 21:01:54 +0200 Stefan Sauer + + * common: + Automatic update of common submodule + From 04c7a1e to aed87ae + +2013-04-09 20:40:06 +0200 Siva Chandran P + + * ext/libav/gstavviddec.c: + avvidec: Make sure to store newly set caps after resetting the decoder + Otherwise we'll just set the to NULL while resetting the decoder and + don't have them available anymore later. + https://bugzilla.gnome.org/show_bug.cgi?id=697548 + +2013-03-25 18:06:39 -0700 David Schleef + + * ext/libav/gstavdemux.c: + Use %03u instead of %u in gst_pad_create_stream_id_printf() + +2013-03-25 09:47:49 +0100 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to v9.4 + +2013-03-07 09:30:55 +0100 Sebastian Dröge + + * configure.ac: + configure: Set the assembler used for libav to $CC + libav assumes that it's not just an assembler but something that + can also handle CPPFLAGS and other things. + https://bugzilla.gnome.org/show_bug.cgi?id=694416 + +2013-03-07 09:04:16 +0100 Sebastian Dröge + + * configure.ac: + configure: Add AG_GST_ARG_GCOV to make automake happy again + + running automake -a -c -Wno-portability... + common/check.mak:107: error: GST_GCOV_ENABLED does not appear in AM_CONDITIONAL + tests/check/Makefile.am:1: 'common/check.mak' included from here + +2013-03-07 00:03:06 +0000 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From 2de221c to 04c7a1e + +2013-03-02 18:12:39 +0000 Tim-Philipp Müller + + * gst-libs/ext/libav: + libav: update to v9.3 + +2013-03-01 15:10:41 -0500 Olivier Crête + + * ext/libswscale/gstffmpegscale.c: + swscale: Use 1.0-style video/x-raw caps + +2013-02-28 19:34:02 +0000 Tim-Philipp Müller + + * Makefile.am: + * configure.ac: + * pkgconfig/.gitignore: + * pkgconfig/Makefile.am: + * pkgconfig/gstreamer-plugins-libav-uninstalled.pc.in: + Add uninstalled pkg-config file so other modules can find libav elements for unit tests + e.g. gst-plugins-bad has some unit tests that draw on av* elements. + +2013-02-15 13:00:02 +0000 Rico Tzschichholz + + * gst-libs/ext/Makefile.am: + Fix 'make dist' + This time for real hopefully. Make sure to remove any + libav-dist directories that may still be around from + previous make dist attempts first. + +2013-02-12 10:22:11 +0000 Tim-Philipp Müller + + * gst-libs/ext/libav: + libav: update to v9.1 + +2013-02-04 18:10:42 -0800 David Schleef + + * ext/libav/gstavcodecmap.c: + Add mapping for SMPTE 302m audio + +2013-01-28 20:44:16 +0100 Stefan Sauer + + * common: + Automatic update of common submodule + From a942293 to 2de221c + +2013-01-26 12:35:10 +0000 Tim-Philipp Müller + + * ext/libav/gstavauddec.c: + Revert "avdec_aac: disable for autoplugging until it gets fixed" + This reverts commit c5980dc52ac57cf0147ed269e3b2c863d7251f84. + It's fixed now. + https://bugzilla.gnome.org/show_bug.cgi?id=690940 + +2013-01-26 12:50:49 +0000 Tim-Philipp Müller + + * ext/libav/gstavauddec.c: + avauddec: fix decoding of mono audio as well + https://bugzilla.gnome.org/show_bug.cgi?id=690940 + +2013-01-25 14:40:15 -0500 Nicolas Dufresne + + * ext/libav/gstavauddec.c: + avauddec: fix garbled audio decoding in some cases + Calculate output buffer size based on the number of + samples, channels and bytes per sample. The buffer + size was calculated based on linesize, which may + be larger than what's required. + https://bugzilla.gnome.org/show_bug.cgi?id=690940 + +2013-01-22 12:57:41 +0000 Tim-Philipp Müller + + * ext/libav/gstavaudenc.c: + avenc_aac: downgrade to RANK_NONE until it gets fixed + Currently just fails to initialize. + https://bugzilla.gnome.org/show_bug.cgi?id=691617 + +2013-01-22 12:53:48 +0000 Tim-Philipp Müller + + * ext/libav/gstavauddec.c: + avdec_aac: disable for autoplugging until it gets fixed + Currently outputs garbled audio. Use faad in the meantime. + https://bugzilla.gnome.org/show_bug.cgi?id=690940 + +2013-01-14 17:00:17 +0100 Andoni Morales Alastruey + + * configure.ac: + libav: fix checks for internal libav configure options + https://bugzilla.gnome.org/show_bug.cgi?id=691723 + +2013-01-17 23:56:17 +0000 Tim-Philipp Müller + + * ext/Makefile.am: + Disable libswscale/avvideoscale plugin until it works at least somewhat + It needs some fixing. + +2013-01-16 12:09:39 +0000 Tim-Philipp Müller + + * tests/check/Makefile.am: + tests: use GST_*_1_0 environment variables everywhere + The _1_0 suffixed environment variables override the + non-suffixed ones, so if we're in an environment that + sets the _1_0 suffixed ones, such as jhbuild, we need + to set those to make sure ours actually always get + used. + +2013-01-15 15:08:10 +0000 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From a72faea to a942293 + +2012-12-31 00:32:41 +0000 Tim-Philipp Müller + + * configure.ac: + configure: replace deprecated AM_CONFIG_HEADER with AC_CONFIG_HEADERS + AM_CONFIG_HEADER has been removed in the just-released automake 1.13: + https://lists.gnu.org/archive/html/automake/2012-12/msg00038.html + https://bugzilla.gnome.org/show_bug.cgi?id=690881 + +2012-12-22 10:52:47 +0100 Sebastian Dröge + + * ext/libav/gstav.c: + * ext/libav/gstav.h: + av: Remove some unused variables and function declarations + +2012-12-22 10:49:52 +0100 Sebastian Dröge + + * ext/libav/Makefile.am: + * ext/libav/gstav.h: + * ext/libav/gstavdemux.c: + * ext/libav/gstavmux.c: + * ext/libav/gstavprotocol.c: + * ext/libav/gstavprotocol.h: + av: Move gst_ffmpegdata functions to gstavprotocol.h too + Just for consistency. + +2012-12-21 23:16:44 +0100 Thijs Vermeir + + * ext/libav/gstav.h: + * ext/libav/gstavpipe.h: + av: Fix redefinition of typedef 'GstFFMpegPipe' + Move declaration of pipe function to correct headers file + +2012-12-21 14:28:57 +0100 Sebastian Dröge + + * configure.ac: + configure: Pass CC, LD, AS, AR and NM to the libav configure if set + +2012-12-21 11:03:27 +0100 Sebastian Dröge + + * ext/libav/gstavauddec.c: + * ext/libav/gstavviddec.c: + av: Use correct printf format strings for gsize + +2012-12-18 10:57:43 +0100 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to today's master + +2012-12-17 16:35:36 +0100 Sebastian Dröge + + * ext/libav/gstavauddec.c: + * ext/libav/gstavaudenc.c: + * ext/libav/gstavcfg.c: + * ext/libav/gstavdemux.c: + * ext/libav/gstavmux.c: + * ext/libav/gstavviddec.c: + * ext/libav/gstavvidenc.c: + av: Fix some memory leaks and misuse of libav API + +2012-12-17 15:58:37 +0100 Sebastian Dröge + + * ext/libav/gstavauddec.c: + * ext/libav/gstavauddec.h: + avauddec: Use a GstBuffer instead of a GstAdapter for collecting the output buffers + This might cause less memcpies as the GstMemories of the buffers + are just appended into a single buffer. + +2012-12-03 16:38:53 -0300 Thiago Santos + + * ext/libav/gstavauddec.c: + * ext/libav/gstavauddec.h: + avauddec: accumulate buffers from a single input to push it all at once + The base audio decoder wants a 1:1 mapping for input and output + buffers, so this decoder must accumulate data in an adapter and push + it all at once after all input has been processed. + https://bugzilla.gnome.org/show_bug.cgi?id=689565 + +2012-12-17 13:42:13 +0100 Sebastian Dröge + + * ext/libav/gstavaudenc.c: + * ext/libav/gstavcodecmap.c: + avcodecmap: Only set "formats" field on raw audio/video caps + +2012-12-17 13:41:42 +0100 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + avcodecmap: Correctly convert GStreamer channel positions to libav channel mask + +2012-12-17 11:11:12 +0100 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + avcodecmap: Add more and correct restrictions for DV + https://bugzilla.gnome.org/show_bug.cgi?id=600895 + +2012-12-12 17:36:33 +0000 Sebastian Dröge + + * ext/libav/gstav.h: + libav: Fix some compilation errors caused by circular includes + +2012-12-12 17:20:03 +0000 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to today's master + +2012-12-12 17:01:28 +0100 Wim Taymans + + * ext/libav/gstavcodecmap.c: + avcodec: set bits_per_coded_sample for G726 + Use the bitrate and the samplerate to set the bits_per_coded_sample for G726 + because the decoder needs this. + +2012-12-12 15:57:19 +0000 Sebastian Dröge + + * ext/libav/gstavauddec.c: + avauddec: Set frame defaults for the audio decoders too + +2012-12-12 15:53:34 +0000 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavcodecmap.h: + avcodecmap: Remove some unused functions + +2012-12-12 16:45:53 +0100 Wim Taymans + + * ext/libav/gstavaudenc.c: + avaudenc: init frame with defaults + Init the AVFrame with the right method. This sets the extended_data field + correctly that is needed for some formats (G726 for example). + +2012-12-12 15:42:09 +0000 Sebastian Dröge + + * ext/libav/gstavauddec.c: + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavviddec.c: + avdec: Improve src template caps + +2012-12-12 13:04:54 +0000 Sebastian Dröge + + * ext/libav/gstavaudenc.c: + avaudenc: Properly handle planar audio formats with more than AV_NUM_DATA_POINTERS channels + +2012-12-12 13:04:38 +0000 Sebastian Dröge + + * ext/libav/gstavauddec.c: + avauddec: Properly handle planar audio formats with more than AV_NUM_DATA_POINTERS channels + +2012-12-12 12:09:32 +0000 Christiaan Welvaart + + * ext/libav/gstav.c: + * ext/libav/gstav.h: + * ext/libav/gstavdemux.c: + * ext/libav/gstavmux.c: + * ext/libav/gstavprotocol.c: + avprotocol: Port from the URL protocol handler to saner public API + +2012-12-12 09:48:53 +0100 Wim Taymans + + * ext/libav/gstavviddec.c: + * ext/libav/gstavviddec.h: + libav: fix palette support again + +2012-12-11 18:56:24 +0000 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + avcodecmap: Take framerate restrictions into account for encoders + +2012-12-11 18:48:34 +0000 Sebastian Dröge + + * ext/libav/gstavaudenc.c: + * ext/libav/gstavaudenc.h: + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavvidenc.c: + * ext/libav/gstavvidenc.h: + avvidenc: Simplify color formats in the raw video caps + +2012-12-11 18:07:34 +0000 Sebastian Dröge + + * ext/libav/gstavaudenc.c: + * ext/libav/gstavaudenc.h: + * ext/libav/gstavcodecmap.c: + avaudenc: Reorder audio channels if necessary and add proper support for channel layouts + +2012-12-11 17:25:41 +0000 Sebastian Dröge + + * ext/libav/gstavauddec.c: + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavcodecmap.h: + avcodecmap: Take channel layout constraints into account if possible + +2012-12-11 16:54:09 +0000 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + avcodecmap: Take generic samplerate limitations into account + +2012-12-11 16:46:43 +0000 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + avcodecmap: Simplify raw audio caps + +2012-12-11 15:14:10 +0000 Sebastian Dröge + + * ext/libav/gstavauddec.c: + avauddec: Close context when it was opened + +2012-12-11 10:34:42 +0000 Sebastian Dröge + + * ext/libav/gstavviddec.c: + avviddec: Fix memory leak if we already allocated an output buffer for the frame + +2012-12-11 10:22:34 +0100 Wim Taymans + + * ext/libav/gstavviddec.c: + Revert "avviddec: Fix memory leaks and assertions in error cases if we can't allocate a frame" + This reverts commit 47647e1caca117ff8a62caf8bf0b6c94eb6dd025. + Breaks playback when direct rendering is disabled. + The reason is that we set the opaque vaue to NULL and then try to use the NULL + value when we decoded a frame. + +2012-12-10 14:54:03 +0100 Rasmus Rohde + + * ext/libav/gstavpipe.h: + Fix incorrect use of object in log statement. We are given a pointer to the object and should not try to take the address of it. + +2012-12-06 06:29:13 +0400 Руслан Ижбулатов + + * ext/libav/gstavutils.c: + avutils: Add missing includes for Windows + Fixes #689751 + +2012-12-05 19:28:33 +0100 Sebastian Dröge + + * ext/libav/gstavaudenc.c: + * ext/libav/gstavcodecmap.c: + avaudenc: Add support for planar audio formats + +2012-12-05 19:25:37 +0100 Sebastian Dröge + + * ext/libav/gstavauddec.c: + * ext/libav/gstavaudenc.c: + * ext/libav/gstavviddec.c: + * ext/libav/gstavvidenc.c: + av: Correctly populate the codec context with the defaults + +2012-12-05 10:52:34 +0100 Sebastian Dröge + + * ext/libav/gstavauddec.c: + * ext/libav/gstavaudenc.c: + * ext/libav/gstavviddec.c: + * ext/libav/gstavvidenc.c: + av: Use av_codec_is_{en,de}coder() API instead of private struct fields + +2012-12-04 22:09:05 +0100 Sebastian Dröge + + * ext/libav/gstavauddec.c: + avauddec: release_buffer is not supposed to be used for audio + And calling it causes crashes in some situations. + +2012-12-04 20:45:28 +0100 Sebastian Dröge + + * ext/libav/gstavauddec.c: + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavutils.c: + avauddec: Add support for planar audio formats + +2012-12-04 20:44:58 +0100 Sebastian Dröge + + * ext/libav/gstavviddec.c: + avviddec: Fix memory leaks and assertions in error cases if we can't allocate a frame + +2012-12-04 18:28:11 +0100 Sebastian Dröge + + * ext/libav/gstavauddec.c: + * ext/libav/gstavaudenc.c: + * ext/libav/gstavcfg.c: + * ext/libav/gstavdemux.c: + * ext/libav/gstavmux.c: + * ext/libav/gstavutils.c: + * ext/libav/gstavviddec.c: + * ext/libav/gstavvidenc.c: + av: Port remaining simple bits + +2012-12-04 18:02:56 +0100 Sebastian Dröge + + * ext/libav/gstavauddec.c: + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavviddec.c: + av: Remove palette support for now + It was never ported to the way how paletted color formats work + in 1.0 anyway and the API changed in libav upstream. + +2012-12-04 17:56:40 +0100 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + av: Update for some constant changes + +2012-12-04 17:47:20 +0100 Sebastian Dröge + + * ext/libav/gstav.c: + * ext/libav/gstav.h: + * ext/libav/gstavprotocol.c: + av: Port to new avio protocol handler + +2012-11-19 15:25:42 +0100 Luca Barbato + + * ext/libav/gstav.c: + * ext/libav/gstavauddec.c: + * ext/libav/gstavaudenc.c: + * ext/libav/gstavcfg.c: + * ext/libav/gstavdeinterlace.c: + * ext/libav/gstavmux.c: + * ext/libav/gstavviddec.c: + * ext/libav/gstavvidenc.c: + av: update to use AVOption variants. + +2012-12-04 17:19:11 +0100 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Switch to master (9) + +2012-12-02 12:31:43 +0000 Tim-Philipp Müller + + * ext/libav/gstavaudenc.c: + avaudenc: log error string as well in debug output + +2012-12-01 23:21:41 +0000 Tim-Philipp Müller + + * ext/libav/gstavaudenc.c: + avaudenc: use sample rate as ticks per second fallback + The 25/1 value presumably came from the video encoder class. + +2012-12-01 23:05:23 +0000 Tim-Philipp Müller + + * ext/libav/gstavaudenc.c: + avaudenc: fix output timestamping + We need to pass the number of samples encode in the output buffer + to gst_audio_encoder_finish_frame(), not the number of frames. + Fixes output timestamps being way too small, and transcoding + problems. + https://bugzilla.gnome.org/show_bug.cgi?id=689398 + +2012-11-20 11:56:57 +0100 Sebastian Dröge + + * ext/libav/gstavaudenc.c: + * ext/libav/gstavvidenc.c: + avvidenc: Implement reset vfunc + +2012-11-20 11:53:52 +0100 Sebastian Dröge + + * ext/libav/gstavvidenc.c: + avvidenc: Don't send any frames downstream when draining unless requested to do so + +2012-11-20 11:51:13 +0100 Sebastian Dröge + + * ext/libav/gstavaudenc.c: + avaudenc: Implement draining + +2012-11-20 11:45:34 +0100 Sebastian Dröge + + * ext/libav/gstavaudenc.c: + avaudenc: Implement flush vfunc properly + +2012-11-20 11:39:45 +0100 Sebastian Dröge + + * ext/libav/gstavauddec.c: + * ext/libav/gstavauddec.h: + avauddec: Port to non-deprecated avcodec_decode_audio4() API + Fixes bug #666435. + +2012-11-20 10:55:55 +0100 Sebastian Dröge + + * ext/libav/gstavaudenc.c: + * ext/libav/gstavaudenc.h: + avaudenc: Some minor cleanup + +2012-11-20 10:53:01 +0100 Sebastian Dröge + + * ext/libav/gstavaudenc.c: + avaudenc: Use non-deprecated avcodec_encode_audio2() API + This also allows us to always get an output buffer of the required size + instead of risking that it is too small. + +2012-11-20 10:36:29 +0100 Sebastian Dröge + + * ext/libav/gstavaudenc.c: + * ext/libav/gstavaudenc.h: + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavcodecmap.h: + avaudenc: Port to audio encoder base class + +2012-11-20 10:35:01 +0100 Sebastian Dröge + + * ext/libav/gstavvidenc.c: + avvidenc: Use gst_caps_truncate() + +2012-11-19 17:08:23 +0100 Sebastian Dröge + + * ext/libav/gstavaudenc.c: + * ext/libav/gstavmux.c: + * ext/libav/gstavvidenc.c: + av: Use PROP_ instead of ARG_ + +2012-11-19 14:10:23 +0100 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + avcodecmap: Y41B is YUV411P, not YUV410P + +2012-11-19 12:57:19 +0100 Sebastian Dröge + + * ext/libav/gstavauddec.c: + * ext/libav/gstavauddec.h: + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavcodecmap.h: + avauddec: Port to audio base classes + +2012-11-19 11:29:22 +0000 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From 6bb6951 to a72faea + +2012-11-19 10:29:00 +0100 Sebastian Dröge + + * ext/libav/Makefile.am: + * ext/libav/gstavauddec.c: + * ext/libav/gstavauddec.h: + * ext/libav/gstavaudenc.c: + * ext/libav/gstavaudenc.h: + * ext/libav/gstavviddec.c: + * ext/libav/gstavviddec.h: + * ext/libav/gstavvidenc.h: + av: Put declarations in header files and rename audio codec files + +2012-11-14 12:43:51 +0000 Tim-Philipp Müller + + * ext/libav/gstavenc.c: + gst_adapter_prev_timestamp -> gst_adapter_prev_pts + +2012-11-10 16:57:06 +0100 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + avcodecmap: Add mappings for the GBR color formats + +2012-11-04 00:22:16 +0000 Tim-Philipp Müller + + * COPYING.LIB: + * ext/libav/gstav.c: + * ext/libav/gstav.h: + * ext/libav/gstavaudioresample.c: + * ext/libav/gstavcfg.c: + * ext/libav/gstavcfg.h: + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavcodecmap.h: + * ext/libav/gstavdec.c: + * ext/libav/gstavdeinterlace.c: + * ext/libav/gstavdemux.c: + * ext/libav/gstavenc.c: + * ext/libav/gstavenc.h: + * ext/libav/gstavmux.c: + * ext/libav/gstavpipe.h: + * ext/libav/gstavprotocol.c: + * ext/libav/gstavscale.c: + * ext/libav/gstavutils.c: + * ext/libav/gstavutils.h: + * ext/libav/gstavviddec.c: + * ext/libav/gstavvidenc.c: + * ext/libav/gstavvidenc.h: + * ext/libswscale/gstffmpegscale.c: + * tests/check/elements/avdec_adpcm.c: + * tests/check/elements/avdemux_ape.c: + * tests/check/generic/libavcodec-locking.c: + * tests/check/generic/plugin-test.c: + Fix FSF address + +2012-10-29 14:12:03 +0100 Sebastian Dröge + + * ext/libav/gstavcodecmap.c: + avcodecmap: Remove redundant function to map PixelFormat to GstVideoFormat + And merge everything into a single one. + +2012-10-25 13:11:43 +0200 Sebastian Dröge + + * ext/libav/gstavdec.c: + avdec: Use gst_audio_buffer_clip() instead of manual clipping + +2012-10-25 12:51:41 +0100 Tim-Philipp Müller + + * configure.ac: + Back to feature development + +=== release 1.0.2 === + +2012-10-25 01:34:32 +0100 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-libav.doap: + Release 1.0.2 + +2012-10-24 16:01:36 +0200 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to 0.8.4 release + +2012-10-23 10:21:52 +0200 Andoni Morales Alastruey + + * configure.ac: + configure: fix os type configure option for android + +2012-10-07 17:00:08 +0100 Tim-Philipp Müller + + * configure.ac: + Back to development (bug fixing) + +=== release 1.0.1 === + +2012-10-07 16:12:38 +0100 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-libav.doap: + Release 1.0.1 + +2012-10-06 15:00:42 +0100 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From 6c0b52c to 6bb6951 + +2012-09-30 16:25:29 +0100 Tim-Philipp Müller + + * ext/libav/gstavvidenc.c: + avvidenc: also skip non-video encoders + Doesn't actually make any difference at the moment, but + seems the right thing to do. + https://bugzilla.gnome.org/show_bug.cgi?id=685113 + +2012-09-30 01:27:10 +0200 Alban Browaeys + + * ext/libav/gstavviddec.c: + avviddec: exclude non-video decoders + Otherwise audio decoders "ignored", ie blacklisted, end up + registered by avviddec as video decoders. + https://bugzilla.gnome.org/show_bug.cgi?id=685113 + +2012-09-28 16:53:49 +0100 Tim-Philipp Müller + + * ext/libav/gstavdemux.c: + avdemux: fix not-negotiated errors + Drop caps event received on the sink pad, instead of + putting it in the list of cached events to be sent + downstream later. We don't want to send our container + caps downstream to our decoders, that'll give us + nasty not-negotiated errors. + https://bugzilla.gnome.org/show_bug.cgi?id=680464 + +2012-09-27 12:20:30 +0200 Sebastian Dröge + + * ext/libav/gstavviddec.c: + avviddec: Correctly handle 0-sized buffers without crashing + Might e.g. be valid for Theora. + +2012-09-25 18:29:08 +0100 Tim-Philipp Müller + + * ext/libav/gstavviddec.c: + avviddec: don't try to set invalid latency + Avoids warnings when we don't know the latency. + +2012-09-24 17:01:00 +0100 Tim-Philipp Müller + + * configure.ac: + Back to development (bug fixing) + +=== release 1.0.0 === + +2012-09-24 14:53:57 +0100 Tim-Philipp Müller + + * NEWS: + * RELEASE: + * configure.ac: + * gst-libav.doap: + Release 1.0.0 + +2012-09-23 21:14:03 +0100 Tim-Philipp Müller + + * tests/check/elements/avdec_adpcm.c: + * tests/check/elements/avdemux_ape.c: + tests: skip broken tests + +2012-09-22 16:10:07 +0100 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From 4f962f7 to 6c0b52c + +=== release 0.11.99 === + +2012-09-17 18:05:23 +0100 Tim-Philipp Müller + + * configure.ac: + * gst-libav.doap: + Release 0.11.99 + +2012-09-17 17:53:29 +0100 Tim-Philipp Müller + + * configure.ac: + * tests/check/Makefile.am: + Remove -DGST_USE_UNSTABLE_API + +2012-09-14 13:24:37 +0200 Wim Taymans + + * ext/libav/gstavviddec.c: + avviddec: improve debug + +2012-09-14 02:59:37 +0100 Tim-Philipp Müller + + * configure.ac: + Back to development + +=== release 0.11.94 === + +2012-09-14 02:51:13 +0100 Tim-Philipp Müller + + * ChangeLog: + * configure.ac: + * gst-libav.doap: + Release 0.11.94 + +2012-09-13 09:36:14 -0400 Nicolas Dufresne + + * ext/libav/gstavviddec.c: + viddec: Set latency base on the number of bframes + +2012-09-13 09:34:29 -0400 Nicolas Dufresne + + * ext/libav/gstavviddec.c: + viddec: Cleanup unused has_b_frames flag + +2012-09-12 15:30:05 +0200 Edward Hervey + + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavutils.c: + * ext/libav/gstavutils.h: + * ext/libav/gstavviddec.c: + * ext/libav/gstavvidenc.c: + libav: Switch to non-deprecated symbols + This symbols/enums will all be deprecated in the next releases + +2012-09-12 21:15:24 +0200 Stefan Sauer + + * ext/libav/gstavmux.c: + collectpads: remove gst_collect_pads_add_pad_full + Rename gst_collect_pads_add_pad_full() to gst_collect_pads_add_pad() and fix all + invocations. + +2012-09-12 10:25:24 +0200 Michael Smith + + * ext/libav/gstavcodecmap.c: + libav: add decode support for prores + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=683840 + +2012-09-12 10:25:21 +0200 Mark Nauwelaerts + + * ext/libav/gstavdemux.c: + * ext/libav/gstavpipe.h: + avdemux: port to the new GLib thread API + +2012-09-11 20:40:07 +0200 Mark Nauwelaerts + + * configure.ac: + configure.ac: handle out-of-tree build + In file included from /gst-libs/ext/libav/libavutil/avutil.h:318:0, + from /gst-libs/ext/libav/libswscale/swscale.h:30, + from /ext/libswscale/gstffmpegscale.c:26: + /gst-libs/ext/libav/libavutil/common.h:38:32: fatal error: libavutil/avconfig.h: No such file or directory + compilation terminated. + +2012-09-11 17:52:57 +0200 Mark Nauwelaerts + + * ext/libav/gstavdemux.c: + avdemux: only activate in pull mode if upstream is seekable + +2012-09-11 13:27:55 +0100 Tim-Philipp Müller + + * configure.ac: + configure: actually check for orc + Otherwise we get a scary "orc acceleration disabled, orc + not found or too old" message at the end of the configure + output. It's used by libswscale. + +2012-09-11 13:53:23 +0200 Wim Taymans + + * ext/libav/gstavviddec.c: + avviddec: add support for codecs that use reget_buffer + Add support for codec that use reget_buffer. In this mode, it reuses the picture + and we need to attach the corresponding input frame to it or else we get the + timestamps wrong. + +2012-09-10 17:53:54 +0200 Edward Hervey + + * configure.ac: + * ext/Makefile.am: + * ext/libav/Makefile.am: + * ext/libav/gstav.c: + * ext/libav/gstav.h: + * ext/libav/gstavaudioresample.c: + * ext/libav/gstavcfg.c: + * ext/libav/gstavcfg.h: + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavcodecmap.h: + * ext/libav/gstavdec.c: + * ext/libav/gstavdeinterlace.c: + * ext/libav/gstavdemux.c: + * ext/libav/gstavenc.c: + * ext/libav/gstavenc.h: + * ext/libav/gstavmux.c: + * ext/libav/gstavpipe.h: + * ext/libav/gstavprotocol.c: + * ext/libav/gstavscale.c: + * ext/libav/gstavutils.c: + * ext/libav/gstavutils.h: + * ext/libav/gstavviddec.c: + * ext/libav/gstavvidenc.c: + * ext/libav/gstavvidenc.h: + ext: ffmpeg/gstffmpeg*.[ch] => libav/gstav*.[ch] + +2012-09-10 17:29:35 +0200 Edward Hervey + + * configure.ac: + configure: Fix name of binary to disable + +2012-09-10 17:18:30 +0200 Edward Hervey + + * configure.ac: + * ext/Makefile.am: + * ext/libpostproc/Makefile.am: + * ext/libpostproc/gstpostproc.c: + * tests/check/.gitignore: + * tests/check/Makefile.am: + * tests/check/elements/postproc.c: + remove postproc element + libpostproc is gone from upstream libav. + +2012-09-10 17:08:00 +0200 Edward Hervey + + * configure.ac: + * ext/ffmpeg/gstffmpeg.c: + * ext/ffmpeg/gstffmpeg.h: + * ext/ffmpeg/gstffmpegaudioresample.c: + * ext/ffmpeg/gstffmpegcodecmap.c: + * ext/ffmpeg/gstffmpegcodecmap.h: + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegdeinterlace.c: + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegenc.c: + * ext/ffmpeg/gstffmpegmux.c: + * ext/ffmpeg/gstffmpegprotocol.c: + * ext/ffmpeg/gstffmpegscale.c: + * ext/ffmpeg/gstffmpegutils.h: + * ext/ffmpeg/gstffmpegviddec.c: + * ext/ffmpeg/gstffmpegvidenc.c: + * ext/libpostproc/gstpostproc.c: + * ext/libswscale/gstffmpegscale.c: + configure.ac: Import top-level include directory + And fixup all includes + +2012-09-10 11:17:11 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdemux.c: + avdemux: Really ignore demuxers we want to ignore + +2012-09-07 17:56:43 +0100 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegviddec.c: + viddec: blacklist *crystalhd* decoder wrappers + There are gstreamer crystalhd elements as well, + so shouldn't be a big loss. + https://bugzilla.gnome.org/show_bug.cgi?id=683435 + +2012-08-26 18:17:17 +0200 Sjoerd Simons + + * ext/ffmpeg/gstffmpegenc.c: + ffmpegenc: Don't try to set caps to NULL + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=682736 + +2012-08-22 13:31:46 +0200 Stefan Sauer + + * common: + Automatic update of common submodule + From 668acee to 4f962f7 + +2012-08-22 13:20:36 +0200 Stefan Sauer + + * configure.ac: + configure: bump gtk-doc req to 1.12 (mar-2009) + This allows us to e.g. unconditionally use gtkdoc-rebase. + +2012-08-10 17:03:26 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegviddec.c: + viddec: use the right pointers + Use the plane pointers and strides. + Improve some debug + +2012-08-08 16:32:52 +0100 Tim-Philipp Müller + + * configure.ac: + Back to development + +=== release 0.11.93 === + +2012-08-08 16:32:16 +0100 Tim-Philipp Müller + + * configure.ac: + * gst-libav.doap: + Release 0.11.93 + +2012-08-08 15:59:59 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegviddec.c: + avviddec: Properly align and pad buffers for libav + https://bugzilla.gnome.org/show_bug.cgi?id=680796 + +2012-08-08 13:11:57 +0100 Tim-Philipp Müller + + * gst-libs/ext/Makefile.am: + Revert "ffmpeg: Fix make dist" + This reverts commit 4964bd753c06dfbf252dff3f520d74e91951ee08. + No idea what this fixes, for me it breaks make dist, which fails + with: + make[2]: Entering directory `/home/tpm/gst/0.11/gst-ffmpeg/gst-libs/ext' + GIT_DIR=libav/.git git checkout-index --prefix=../libav-dist/libav/ -a + touch libav-dist/libav/config.mak + touch: cannot touch `libav-dist/libav/config.mak': No such file or directory + after a clean build. + +2012-08-07 10:19:16 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegcodecmap.c: + av: Use */x-gst-av instead of */x-gst-ff for unknown caps + +2012-08-06 14:35:07 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegdemux.c: + avdemux: Remove unused variable + +2012-08-05 18:33:27 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegdemux.c: + avdemux: Add stream-id to stream-start events + +2012-07-26 12:37:01 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegviddec.c: + ffmpegviddec: Return NOT_NEGOTIATED when not configured + +2012-08-05 16:42:26 +0100 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From 94ccf4c to 668acee + +2012-08-04 16:19:37 +0100 Tim-Philipp Müller + + * tests/check/.gitignore: + Update .gitignore for ff->av + +2012-08-04 16:17:14 +0100 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegdemux.c: + * tests/check/elements/avdemux_ape.c: + gst_tag_list_free -> gst_tag_list_unref + +2012-08-03 13:38:22 +0200 Christian Fredrik Kalager Schaller + + * gst-libav.spec.in: + Add spec changelog entry + +2012-08-03 13:37:45 +0200 Christian Fredrik Kalager Schaller + + * autogen.sh: + * gst-libav.spec.in: + Update spec file and change package name to libav in autogen.sh file + +2012-07-28 00:33:51 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegdemux.c: + tag: Update for taglist/tag event API changes + +2012-07-25 11:55:21 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegcodecmap.c: + avdec: require alignment=au for h264 + Because we don't use a parser anymore we need to make sure that we feed the + decoder with full frames. For h264, require that we are aligned on access + units. + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680540 + +2012-07-23 23:29:26 +0100 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegenc.c: + audio encoders: use context default bitrate if no bitrate has been set + Fixes 'bitrate too low: got 0, need 24000 or higher' + error when doing audiotstsrc ! avenc_wmav1 ! fakesink + https://bugzilla.gnome.org/show_bug.cgi?id=680487 + https://bugzilla.gnome.org/show_bug.cgi?id=680487 + +2012-07-23 15:02:11 +0200 Mark Nauwelaerts + + * ext/ffmpeg/gstffmpegviddec.c: + ffmpeg: avoid assertion failure on duplicate frame allocation + +2012-07-23 11:37:57 +0200 Robert Swain + + * ext/ffmpeg/gstffmpegviddec.c: + ffmpegviddec: Correctly flag interlaced state + If the context interlaced state is indicated, the picture interlaced + state can be used to correctly indicate GST_VIDEO_BUFFER_FLAG_INTERLACED + on output buffers. + +2012-07-23 10:40:14 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegvidenc.c: + ffvidenc: Allocate output buffers with the base class functions + +2012-07-23 10:34:23 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegviddec.c: + ffmpegviddec: Update for video base classes API changes + +2012-07-23 08:47:21 +0200 Sebastian Dröge + + * common: + Automatic update of common submodule + From 98e386f to 94ccf4c + +2012-07-18 18:30:53 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegviddec.c: + viddec: Call gst_video_decoder_negotiate() + +2012-07-17 12:33:16 +0100 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegdeinterlace.c: + avdeinterlace: fix up output caps for new field as well + And presumably our output is always progressive and not + interlaced any more? + +2012-07-17 12:31:52 +0100 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegdeinterlace.c: + avdeinterlace: detect interlaced input properly + It's not a boolean field any more, and called "interlaced-mode" now. + +2012-07-13 14:01:44 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdemux.c: + demux: Push STREAM_START when needed + +2012-07-10 16:10:14 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + avdec: ignore AAC errors instead of erroring out + Also ignore decode errors for AAC and carry on decoding like we do for all + other formats. + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679639 + +2012-07-10 15:47:01 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegcodecmap.c: + avcodecmap: only restrict caps on encoders + We only want to restrict the channels/rate and width/height on the encoder pads. + For decoders can't assume that the input caps contain channels/rate or + width/height so we need to accept everything. + +2012-07-06 11:50:57 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegvidenc.c: + update for query api changes + +2012-07-06 11:27:33 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegviddec.c: + update for query api changes + +2012-07-06 11:03:30 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegvidenc.c: + update for allocation query changes + +2012-07-06 09:49:11 +0100 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegcfg.c: + cfg: remove some deprecated properties: statsfile, mb-qmin, mb-qmax + Use multipass-cache-file, qmin, qmax instead. + +2012-07-05 13:20:56 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegdemux.c: + avdemux: Implement segment-done event + +2012-07-03 17:05:17 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegviddec.c: + avdec: handle_frame should always unref the input frame + Unref the input frame in all cases. Previously it was only unreffed when the + frame was used for output. + When we produce an output frame, take an extra ref because the frame is now + freed elsewhere. + +2012-07-03 17:04:49 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegviddec.c: + avdec: small cleanup + +2012-07-03 17:04:03 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegviddec.c: + avdec: avoid some refs + We can let the ffmpeg structure take ownership of the buffer. + +2012-07-02 21:39:02 +0400 Руслан Ижбулатов + + * ext/ffmpeg/gstffmpegvidenc.c: + ffvidenc: Fix a format string to avoid warnings + istffmpegvidenc.c:412:3: error: format '%lu' expects argument of type 'long unsigned int', but argument 8 has type 'gint' [-Werror=format] + +2012-07-02 15:50:36 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegenc.c: + ffaudenc: Fix format string compiler warning + gstffmpegenc.c:266:3: error: format '%lu' expects argument of type 'long unsigned int', but argument 8 has type 'gint' + +2012-06-28 09:33:28 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegviddec.c: + avdec: don't wait for keyframe + Don't wait for a keyframe but try to decode as soon as possible. In most cases, + the demuxer will send a keyframe first and things will work fine, in other + cases, like RTP, we try to decode ASAP to provide quick feedback. Some formats + also have no keyframes (h264 with intra refresh). + +2012-06-26 12:36:56 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegvidenc.c: + avenc: don't leak frames + +2012-06-20 12:32:21 +0200 Wim Taymans + + * tests/check/elements/avdec_adpcm.c: + * tests/check/elements/avdemux_ape.c: + update for bus api changes + +2012-06-20 10:36:25 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdemux.c: + avdemux: update for task api change + +2012-06-19 21:41:14 -0400 Matej Knopp + + * ext/ffmpeg/gstffmpegviddec.c: + ffmpegviddec: Don't reopen decoder on same caps, fix memory leaks, only drain on EOS + +2012-06-19 12:23:32 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegviddec.c: + viddec: avoid renegotiation + Keep track of the context veriables and renegotiate when something changes. We + need to use separate values for this because not all values can be copied into a + GstVideoInfo. + Set the output interlacing based on the libav context. + Use the demuxer and decoder framerate to construct an output framerate. + Use demuxer and decoder par to construct an output framerate. + +2012-06-15 16:37:19 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegviddec.c: + ffmpegvidenc: Handle allocation queries and improve the padding/direct-rendering handling + +2012-06-15 15:18:47 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegviddec.c: + ffmpegviddec: Port to 0.11 again + No support for video meta, cropping, etc. yet + +2012-06-15 12:28:54 +0200 Sebastian Dröge + + Merge remote-tracking branch 'origin/0.10' + +2012-06-15 12:19:58 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegviddec.c: + ffmpegviddec: Properly return if negotiation fails + Instead of crashing .... + +2012-06-14 16:29:05 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegvidenc.c: + * ext/ffmpeg/gstffmpegvidenc.h: + ffvidenc: Port to 0.11 + +2012-06-14 15:44:18 +0200 Sebastian Dröge + + Merge remote-tracking branch 'origin/0.10' + +2012-06-14 12:41:34 +0200 Sebastian Dröge + + Merge remote-tracking branch 'origin/0.10' + Conflicts: + common + ext/ffmpeg/Makefile.am + ext/ffmpeg/gstffmpegcfg.c + ext/ffmpeg/gstffmpegcodecmap.c + ext/ffmpeg/gstffmpegcodecmap.h + ext/ffmpeg/gstffmpegdec.c + ext/ffmpeg/gstffmpegenc.c + ext/ffmpeg/gstffmpegenc.h + tests/check/Makefile.am + Porting of the new video elements to 0.11 still pending. + +2012-06-14 15:13:31 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegviddec.c: + ffmpegviddec: Properly update the interlacing + Fixes #678080 + +2012-06-14 15:04:33 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegviddec.c: + ffmpegviddec: Properly error out when codec doesn't open + Avoids ending up using an un-set codec + +2012-05-03 19:02:09 +0200 Matej Knopp + + * ext/ffmpeg/gstffmpegdec.c: + gstffmpegdec: only drain on EOS + See https://bugzilla.gnome.org/show_bug.cgi?id=675359 + +2012-06-09 16:49:54 +0100 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegenc.c: + avenc: make buffer-size property read-only + Fixes FIXME. + +2012-06-09 16:41:28 +0100 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegcfg.c: + * ext/ffmpeg/gstffmpegenc.c: + * ext/ffmpeg/gstffmpegenc.h: + avenc: change properties of type ulong to int + +2012-06-09 14:37:09 +0100 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegmux.c: + avmux: blacklist "segment" muxer + Causes run-time warnings. + +2012-06-08 15:06:23 +0200 Edward Hervey + + * common: + Automatic update of common submodule + From 03a0e57 to 98e386f + +2012-06-08 14:26:40 +0200 Edward Hervey + + * common: + Automatic update of common submodule + From b811047 to 3baf58a + +2012-06-08 10:11:46 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegcodecmap.c: + update for audio api changes + +2012-06-07 16:35:37 +0200 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 0.11.92 === + +2012-06-07 16:35:24 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-libav.doap: + Release 0.11.92 + +2012-06-07 12:29:41 +0200 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to 0.8.3 release + +2012-06-07 12:26:55 +0200 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to 0.8.3 release + +2012-06-06 18:20:06 +0200 Edward Hervey + + * common: + Automatic update of common submodule + From 1fab359 to 03a0e57 + +2012-06-06 18:19:20 +0200 Edward Hervey + + * common: + Automatic update of common submodule + From b098abb to b811047 + +2012-06-06 13:03:18 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdemux.c: + update for tag event change + +2012-06-01 10:30:15 +0200 Edward Hervey + + * common: + Automatic update of common submodule + From f1b5a96 to 1fab359 + +2012-06-01 10:22:26 +0200 Edward Hervey + + * common: + Automatic update of common submodule + From 96f075b to b098abb + +2012-05-31 13:43:48 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegcodecmap.c: + * ext/ffmpeg/gstffmpegdec.c: + * ext/libswscale/gstffmpegscale.c: + avdec: fix paletted formats + Pass the palette as the side data for AVPacket so that it is written in the + second plane of output AVFrame. + +2012-05-31 13:10:20 +0200 Sebastian Dröge + + * common: + Automatic update of common submodule + From 92b7266 to f1b5a96 + +2012-05-30 12:47:45 +0200 Sebastian Dröge + + * common: + Automatic update of common submodule + From ec1c4a8 to 92b7266 + +2012-05-30 12:40:59 +0200 Sebastian Dröge + + * common: + Automatic update of common submodule + From 1e6c5ea to 96f075b + +2012-05-30 12:31:59 +0200 Sebastian Dröge + + * common: + Automatic update of common submodule + From ff4cad1 to 1e6c5ea + +2012-05-30 11:26:18 +0200 Sebastian Dröge + + * common: + Automatic update of common submodule + From 3429ba6 to ec1c4a8 + +2012-05-30 11:26:07 +0200 Sebastian Dröge + + * common: + Automatic update of common submodule + From 7604bab to ff4cad1 + +2012-05-25 17:03:06 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegcodecmap.c: + libav: add support for 10 bits I420 + See https://bugzilla.gnome.org/show_bug.cgi?id=665034 + +2012-05-24 12:33:58 +0200 Sebastian Dröge + + * common: + Automatic update of common submodule + From dc70203 to 3429ba6 + +2012-05-22 12:57:40 +0200 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to 0.8.2 release + +2012-05-22 12:56:16 +0200 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to 0.8.2 release + +2012-05-16 08:16:50 +0100 Tim-Philipp Müller + + * .gitignore: + .gitignore: update for module name change + +2012-01-13 19:20:28 -0500 Matej Knopp + + * .gitignore: + .gitignore: add visual studio IDE files and OS X .DS_Store files + https://bugzilla.gnome.org/show_bug.cgi?id=667899 + +2012-05-16 09:13:15 +0200 Sebastian Dröge + + * configure.ac: + configure: Require core/base 0.11.91 + +2012-05-15 14:43:19 +0200 Sebastian Dröge + + * tests/check/Makefile.am: + tests: Don't run the postproc test if compiled as an LGPL plugin + +2012-05-15 14:41:18 +0200 Sebastian Dröge + + * tests/check/Makefile.am: + tests: Don't run the postproc test if compiled as an LGPL plugin + +2012-05-13 17:01:02 +0200 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 0.11.91 === + +2012-05-13 16:54:19 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * common: + * configure.ac: + * gst-libav.doap: + Release 0.11.91 + +2012-05-13 15:57:59 +0200 Sebastian Dröge + + * common: + Automatic update of common submodule + From dc70203 to 3429ba6 + +2012-04-26 15:31:41 -0400 Nicolas Dufresne + + * ext/ffmpeg/gstffmpegcodecmap.c: + codecmap: correctly set height in AVCodecContext + https://bugzilla.gnome.org/show_bug.cgi?id=674899 + +2012-04-26 18:56:35 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegviddec.c: + ffmpegviddec: Always keep a reference to the frame + Ensures no data gets cleared before the decoders are really done + with it. + +2012-04-26 17:00:43 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegviddec.c: + ffmpegviddec: Flush and drain when needed + we need to flush avcodec internal state on hard resets + we need to drain out pending buffers on EOS and soft resets + +2012-04-24 15:36:30 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegviddec.c: + ffmpegviddec: Add video/x-raw-gray to src pad template + +2012-04-24 15:36:00 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.c: + codecmap: Add more GstVideoInfo<=>PixelFormat mappings + +2012-04-18 12:37:53 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegviddec.c: + ffmpegviddec: Port to GstVideoDecoder + +2012-04-24 11:31:27 +0200 Edward Hervey + + * ext/ffmpeg/Makefile.am: + * ext/ffmpeg/gstffmpegvidenc.c: + * ext/ffmpeg/gstffmpegvidenc.h: + gstffmpegvidenc: Port to -base video classes + +2012-04-07 11:14:45 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpeg.c: + * ext/ffmpeg/gstffmpeg.h: + * ext/ffmpeg/gstffmpegcfg.c: + * ext/ffmpeg/gstffmpegcfg.h: + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegenc.c: + * ext/ffmpeg/gstffmpegenc.h: + * ext/ffmpeg/gstffmpegviddec.c: + * ext/ffmpeg/gstffmpegvidenc.c: + * ext/ffmpeg/gstffmpegvidenc.h: + ffmpegenc/dec: Remove audio/video specific code + Makes each file more manageable, second step to porting to base classes + +2012-04-07 10:36:04 +0200 Edward Hervey + + * ext/ffmpeg/Makefile.am: + * ext/ffmpeg/gstffmpegviddec.c: + * ext/ffmpeg/gstffmpegvidenc.c: + * ext/ffmpeg/gstffmpegvidenc.h: + ffmpeg: Clone encoder and decoder files + First step in porting to base video classes + +2012-04-24 11:31:44 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.c: + * ext/ffmpeg/gstffmpegcodecmap.h: + codecmap: Add utility for using with GstVideoFormat + +2012-04-22 11:52:18 +0100 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegdemux.c: + ffmpegdemux: skip ffmpeg matroska,webm typefinder again + Causes warnings, and shouldn't be needed. + +2012-04-20 16:23:41 +0200 Wim Taymans + + Merge remote-tracking branch 'origin/0.10' + +2012-04-20 16:16:25 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: don't flush buffers on DISCONT + Don't flush the buffers that ffmpeg has on DISCONT but instead let it recover. + This gives a much better image in the case of packet loss. + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=635020 + +2012-04-19 15:37:06 +0200 Wim Taymans + + Merge remote-tracking branch 'origin/0.10' + +2012-04-19 15:35:48 +0200 Wim Taymans + + * ext/libpostproc/gstpostproc.c: + postproc: fix compilation when ORC is missing + Fix 'set but not used' compiler error when ORC is missing. + +2012-04-19 14:49:18 +0200 Wim Taymans + + Merge remote-tracking branch 'origin/0.10' + Conflicts: + ext/libswscale/gstffmpegscale.c + +2012-04-19 14:45:42 +0200 Wim Taymans + + * ext/libswscale/gstffmpegscale.c: + ffscale: fix compilation when ORC is missing + Fix set but not used compiler error when ORC is missing. + +2012-04-17 15:36:12 +0200 Mark Nauwelaerts + + * ext/ffmpeg/gstffmpegmux.c: + collectpads2: rename to collectpads + +2012-04-16 09:11:01 +0200 Sebastian Dröge + + * common: + Automatic update of common submodule + From 6db25be to dc70203 + +2012-04-13 13:53:37 +0200 Sebastian Dröge + + * autogen.sh: + * configure.ac: + configure: Modernize autotools setup a bit + Also we now only create tar.bz2 and tar.xz tarballs. + +2012-04-13 13:38:52 +0200 Sebastian Dröge + + * common: + Automatic update of common submodule + From 464fe15 to 6db25be + +2012-04-13 09:32:11 +0200 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 0.11.90 === + +2012-04-13 09:29:45 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-libav.doap: + Release 0.11.90 + +2012-04-12 19:56:12 +0200 Sebastian Dröge + + * Makefile.am: + * gst-libav.doap: + Fix make distcheck + +2012-04-12 19:46:24 +0200 Sebastian Dröge + + * configure.ac: + configure: Remove another occurence of ffmpeg + +2012-04-12 19:41:52 +0200 Sebastian Dröge + + * configure.ac: + * docs/plugins/Makefile.am: + * docs/plugins/gst-libav-plugins-docs.sgml: + * docs/plugins/gst-libav-plugins-sections.txt: + * docs/plugins/gst-libav-plugins.args: + * docs/plugins/gst-libav-plugins.hierarchy: + * docs/plugins/gst-libav-plugins.interfaces: + * docs/plugins/gst-libav-plugins.prerequisites: + * docs/plugins/gst-libav-plugins.signals: + * docs/plugins/gst-libav-plugins.types: + * docs/plugins/inspect/plugin-ffmpeg.xml: + * ext/Makefile.am: + * ext/ffmpeg/Makefile.am: + * ext/ffmpeg/gstffmpeg.c: + * ext/ffmpeg/gstffmpeg.h: + * ext/ffmpeg/gstffmpegaudioresample.c: + * ext/ffmpeg/gstffmpegcfg.c: + * ext/ffmpeg/gstffmpegcodecmap.c: + * ext/ffmpeg/gstffmpegcodecmap.h: + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegdeinterlace.c: + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegenc.c: + * ext/ffmpeg/gstffmpegmux.c: + * ext/ffmpeg/gstffmpegprotocol.c: + * ext/ffmpeg/gstffmpegscale.c: + * ext/ffmpeg/gstffmpegutils.h: + * ext/libpostproc/gstpostproc.c: + * ext/libswscale/Makefile.am: + * ext/libswscale/gstffmpegscale.c: + * gst-libav.doap: + * gst-libav.spec.in: + * tests/check/Makefile.am: + * tests/check/elements/avdec_adpcm.c: + * tests/check/elements/avdemux_ape.c: + * tests/check/generic/libavcodec-locking.c: + * tests/check/generic/plugin-test.c: + * tests/check/gst-libav.supp: + Rename everything from gst-ffmpeg to gst-libav + Also change elements factory names to avenc_*, avdec_*, + avmux_* and avdemux_*. The actual filenames, type names, + function/variable names are not touched to make merging + with 0.10 easier at this point. Once 0.10 is not supported + anymore everything should be renamed. + +2012-04-12 11:06:22 +0200 Sebastian Dröge + + * gst-libs/ext/Makefile.am: + ffmpeg: Fix make dist + +2012-04-10 00:59:24 +0100 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegenc.c: + * ext/ffmpeg/gstffmpegmux.c: + ffmpeg: use set_metadata() for generated strings + Reverts parts of previous commit. + +2012-04-10 00:53:43 +0100 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegaudioresample.c: + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegdeinterlace.c: + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegenc.c: + * ext/ffmpeg/gstffmpegmux.c: + * ext/ffmpeg/gstffmpegscale.c: + * ext/libpostproc/gstpostproc.c: + * ext/libswscale/gstffmpegscale.c: + Use new gst_element_class_set_static_metadata() + +2012-04-05 18:44:32 +0200 Sebastian Dröge + + * common: + Automatic update of common submodule + From 7fda524 to 464fe15 + +2012-04-05 17:41:11 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpeg.c: + * ext/libpostproc/gstpostproc.c: + * ext/libswscale/gstffmpegscale.c: + gst: Update for GST_PLUGIN_DEFINE() API changes + +2012-04-05 13:28:41 +0200 Sebastian Dröge + + * configure.ac: + configure: Update version to 0.11.89.1 + +2012-04-04 14:48:25 +0200 Sebastian Dröge + + * configure.ac: + * docs/plugins/Makefile.am: + * docs/plugins/gst-ffmpeg-plugins-docs.sgml: + * docs/version.entities.in: + * ext/ffmpeg/Makefile.am: + * ext/libpostproc/Makefile.am: + * ext/libswscale/Makefile.am: + * gst-ffmpeg.spec.in: + ffmpeg: Update versioning + +2012-04-03 11:52:05 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: handle DTS/PTS + Now that we can know about PTS and DTS on incomming buffers, track them and set + the correct output timestamps. + We can remove the code to estimate if input buffers have pts or dts. + +2012-03-30 18:14:00 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegutils.c: + update for buffer api change + +2012-03-28 12:50:19 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + update for buffer changes + +2012-03-27 16:39:09 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegenc.c: + ffenc: fix caps handling + Avoid copies and leaks + +2012-03-26 12:13:46 +0200 Wim Taymans + + Replace master with 0.11 + +2012-03-22 15:56:32 +0100 Wim Taymans + + * configure.ac: + back to development + +=== release 0.11.2 === + +2012-03-22 15:53:13 +0100 Wim Taymans + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-ffmpeg.doap: + Release 0.11.2 + +2012-03-22 15:31:40 +0100 Wim Taymans + + Merge branch 'master' into 0.11 + Conflicts: + gst-libs/ext/libav + +2012-03-21 12:54:44 +0100 Wim Taymans + + * tests/check/generic/libavcodec-locking.c: + test: fix unit test + +2012-03-19 11:06:40 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: ensure padding is big enough + +2012-03-19 10:29:34 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: check if input is already 0-padded + When the input buffer is already 0-padded we don't need to copy. This can happen + because in the ALLOCATION query we suggest this. + Only do temporary padding when we are using a parser. + +2012-03-15 22:11:54 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + update for bufferpool changes + +2012-03-15 20:39:10 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + update for allocation query changes + +2012-03-14 20:04:53 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: propose some padding in the allocation query + Hopefully upstream can add some padding and then we don't have to memcpy. + +2012-03-14 19:53:06 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + take padding into account + +2012-03-14 17:35:28 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: remove unused crop property + +2012-03-14 17:33:40 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: remove padding property + Users should not mess with this + +2012-03-14 12:58:38 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: make bufferpool setup recalculate direct rendering + We need to recalculate if we can use direct rendering after we have setup the + bufferpool. + +2012-03-14 11:53:42 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: add some PERFORMANCE logging + +2012-03-13 13:24:39 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegcodecmap.c: + ffcodec: add voc demuxer + +2012-03-13 13:24:23 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdemux.c: + ffdemux: activate pad before setting caps + +2012-03-12 13:50:46 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: implement accept-caps + Implement a potentially faster accept-caps function + +2012-03-11 19:07:31 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegenc.c: + * ext/libswscale/gstffmpegscale.c: + fix for caps api changes + +2012-03-08 13:04:57 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: enable alignment if videometa is allowed + Use the videobufferpool when downstream didn't suggest one. + Only enable video alignment in the bufferpool when downstream supports video + metadata. + +2012-03-06 15:27:22 +0100 Sebastian Dröge + + * ext/ffmpeg/gstffmpegmux.c: + ffmux: Use correct enum type for return value + +2012-03-02 17:27:30 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: Use auto-threads if available, and only slice-threading + Slice threading causes less latency (and corruption) + +2012-02-27 06:26:02 +0100 Alessandro Decina + + * ext/ffmpeg/gstffmpegcodecmap.c: + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegenc.c: + * ext/ffmpeg/gstffmpegprotocol.c: + * ext/libswscale/gstffmpegscale.c: + Fix compiler warnings + +2012-02-22 12:28:49 +0100 Wim Taymans + + * ext/libswscale/gstffmpegscale.c: + update for fixate_caps change + +2012-02-22 12:14:21 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.c: + codecmap: Add mapping for Indeo 4 video codec + +2012-02-22 11:53:35 +0100 Edward Hervey + + * gst-libs/ext/libav: + libav: Switch to tracking 0.8 release branch + +2012-02-22 02:08:06 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegutils.c: + update for new memory api + +2012-02-21 18:02:56 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: disable multithreading + It causes refcounting problems. + +2011-12-11 06:25:23 +0100 Matej Knopp + + * ext/ffmpeg/gstffmpegdec.c: + only reopen decoder when new caps are different + +2012-02-17 11:07:33 +0100 Wim Taymans + + * configure.ac: + back to development + +=== release 0.11.1 === + +2012-02-17 11:07:09 +0100 Wim Taymans + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-ffmpeg.doap: + RELEASE 0.11.1 + +2012-02-08 16:41:19 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegprotocol.c: + GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING + +2012-02-02 01:36:05 +0000 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegdemux.c: + Fix for gst_type_find_register() API change + +2012-01-25 14:11:17 +0100 Thomas Vander Stichele + + * common: + Automatic update of common submodule + From c463bc0 to 7fda524 + +2012-01-25 13:14:51 +0100 Sebastian Dröge + + Merge branch 'master' into 0.11 + +2012-01-25 13:10:07 +0100 Sebastian Dröge + + * common: + * configure.ac: + configure: Add --disable-fatal-warnings configure option + +2012-01-24 14:40:37 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegcodecmap.c: + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegdeinterlace.c: + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegenc.c: + * ext/ffmpeg/gstffmpegmux.c: + ffmpeg: port to new memory API + +2012-01-25 11:39:58 +0100 Sebastian Dröge + + * common: + Automatic update of common submodule + From 2a59016 to c463bc0 + +2012-01-19 11:34:59 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdemux.c: + port to new gthread API + +2012-01-18 16:47:51 +0100 Sebastian Dröge + + * common: + Automatic update of common submodule + From 0807187 to 2a59016 + +2012-01-18 10:21:36 +0100 Sebastian Dröge + + Merge branch 'master' into 0.11 + +2012-01-18 10:05:09 +0100 Sebastian Dröge + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: Only set get_buffer() function for video + Fixes bug #666435. + +2012-01-12 18:03:10 +0000 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegdemux.c: + ffmpegdemux: demote swf demuxer to GST_RANK_NONE + SWF doesn't really make sense in our context, don't pretend + to support it. People should use a dedicated swf player for that. + +2012-01-12 14:57:48 +0000 Vincent Penquerc'h + + * ext/ffmpeg/gstffmpegdemux.c: + ffmpegdemux: fix caps leak + +2012-01-10 13:41:23 +0100 Mark Nauwelaerts + + * ext/ffmpeg/Makefile.am: + ffmpeg: fix and extend LIBS in Makefile.am + ... to account for -base video helper functions. + +2011-01-27 22:25:13 +0100 Mark Nauwelaerts + + * configure.ac: + configure.ac: improve path handling in out-of-tree build + That is, handle the srcdir being given by a relative path as well as + an absolute path by using autotools provided absolute path. + +2012-01-10 11:49:57 +0100 Sebastian Dröge + + * ext/ffmpeg/gstffmpegmux.c: + ffmux: gst_element_class_add_pad_template() takes ownership of the pad template + +2012-01-10 11:39:27 +0100 Sebastian Dröge + + * ext/ffmpeg/gstffmpegdec.c: + * ext/libpostproc/gstpostproc.c: + * gst-libs/ext/libav: + ffmpeg: Fix merge mistakes + +2012-01-10 11:35:55 +0100 Sebastian Dröge + + Merge branch 'master' into 0.11 + Conflicts: + configure.ac + ext/ffmpeg/gstffmpegcodecmap.c + ext/ffmpeg/gstffmpegdec.c + ext/ffmpeg/gstffmpegdeinterlace.c + ext/ffmpeg/gstffmpegmux.c + ext/libswscale/gstffmpegscale.c + +2012-01-10 10:08:05 +0100 Sebastian Dröge + + * ext/ffmpeg/gstffmpegcodecmap.c: + ffmpeg: Channel layouts are now set for DTS and (E)AC3 by libav + +2012-01-10 11:12:59 +0100 Sebastian Dröge + + * gst-libs/ext/libav: + libav: Update to current GIT master + +2012-01-10 11:04:56 +0100 Sebastian Dröge + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: Give the (E)AC3/DTS decoders a rank of marginal + Even if they don't downmix to stereo, they're still working + correctly. The only advantage of dtsdec/a52dec is that they + downmix to stereo (using the special downmixing matrices) if + downstream prefers stereo but in every other case they should + be equivalent. + +2012-01-10 10:59:57 +0100 Sebastian Dröge + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: Revert accidentially committed rank change of the (E)AC3/DTS decoders + +2012-01-10 10:45:42 +0100 Sebastian Dröge + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: Reorder audio channels after clipping the audio buffer + +2012-01-10 10:37:50 +0100 Sebastian Dröge + + * ext/ffmpeg/gstffmpegcodecmap.c: + * ext/ffmpeg/gstffmpegcodecmap.h: + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: Correctly reorder audio channels to the GStreamer order if necessary + +2012-01-10 10:08:05 +0100 Sebastian Dröge + + * ext/ffmpeg/gstffmpegcodecmap.c: + ffmpeg: Channel layouts are now set for DTS and (E)AC3 by libav + +2012-01-10 10:01:26 +0100 Sebastian Dröge + + * ext/ffmpeg/gstffmpegcodecmap.c: + * ext/ffmpeg/gstffmpegdec.c: + ffmpeg: Use stack-allocated channel positions array + +2012-01-09 13:40:05 +0100 Sebastian Dröge + + * ext/ffmpeg/gstffmpegcodecmap.c: + ffmpeg: Put the new layout field in raw audio caps + +2012-01-09 13:24:55 +0100 Sebastian Dröge + + * ext/ffmpeg/gstffmpegcodecmap.c: + ffdec: Add mappings for the top channel positions + +2012-01-09 13:23:29 +0100 Sebastian Dröge + + * ext/ffmpeg/gstffmpegcodecmap.c: + ffdec: Correctly set the channel-mask and also set it for stereo + +2012-01-07 19:56:42 +0000 Tim-Philipp Müller + + * configure.ac: + configure: require core from git/pre-release + For gst_element_class_add_static_pad_template() which + was added only recently. + +2012-01-05 14:06:33 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegcodecmap.c: + * ext/ffmpeg/gstffmpegcodecmap.h: + ffmpeg: port to new channel mapping + +2012-01-04 19:54:49 +0000 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From 11f0cd5 to 0807187 + +2012-01-04 10:17:01 +0100 Wim Taymans + + * tests/check/elements/ffdec_adpcm.c: + * tests/check/elements/ffdemux_ape.c: + * tests/check/generic/libavcodec-locking.c: + tests: make tests compile + +2012-01-03 15:27:54 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegmux.c: + * ext/ffmpeg/gstffmpegprotocol.c: + GST_FLOW_UNEXPECTED -> GST_FLOW_EOS + +2011-12-21 23:52:00 +0100 Wim Taymans + + * ext/libpostproc/gstpostproc.c: + update for videofilter changes + +2011-12-21 18:06:32 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: fill in the stride alignment + Copy the stride alignment we got from ffmpeg to the alignment structure. + +2011-12-19 18:14:27 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: update for new interlace fields + +2011-12-15 14:28:00 +0000 Vincent Penquerc'h + + * ext/ffmpeg/gstffmpegmux.c: + ffmpeg: port to GstCollectPads2 + +2011-11-08 18:56:54 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: Report latency if B-frames are present + ... and cleanup the query handler while we're at it + https://bugzilla.gnome.org/show_bug.cgi?id=663616 + +2011-11-28 13:23:42 +0000 Vincent Penquerc'h + + * ext/ffmpeg/gstffmpegaudioresample.c: + * ext/ffmpeg/gstffmpegdeinterlace.c: + * ext/ffmpeg/gstffmpegmux.c: + * ext/ffmpeg/gstffmpegscale.c: + * ext/libpostproc/gstpostproc.c: + * ext/libswscale/gstffmpegscale.c: + ffmpeg: fix pad template ref leaks + https://bugzilla.gnome.org/show_bug.cgi?id=662664 + +2011-11-26 15:39:40 +0000 Tim-Philipp Müller + + Merge remote-tracking branch 'origin/master' into 0.11 + +2011-11-24 00:41:27 +0100 Matej Knopp + + * ext/ffmpeg/gstffmpegutils.c: + Fix cpu cores detection on OS X + https://bugzilla.gnome.org/show_bug.cgi?id=664687 + +2011-11-24 00:41:27 +0100 Matej Knopp + + * ext/ffmpeg/gstffmpegutils.c: + Fix cpu cores detection on OS X + https://bugzilla.gnome.org/show_bug.cgi?id=664687 + +2011-11-21 13:36:34 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdemux.c: + update for activation changes + +2011-11-18 18:00:59 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdemux.c: + update for new scheduling query + +2011-11-18 13:59:59 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdemux.c: + add parent to activate functions + +2011-11-17 12:49:33 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegdeinterlace.c: + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegenc.c: + * ext/ffmpeg/gstffmpegmux.c: + * ext/libswscale/gstffmpegscale.c: + add parent to pad functions + +2011-11-17 08:25:48 +0100 Stefan Sauer + + * ext/ffmpeg/gstffmpegmux.c: + collectpads: port API changes + +2011-11-16 17:29:22 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegenc.c: + add parent to query function + +2011-11-15 17:55:29 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + _query_peer_*() -> _peer_query_*() + +2011-11-15 17:23:21 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegenc.c: + _peer_get_caps() -> _peer_query_caps() + +2011-11-15 16:35:17 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegenc.c: + ffmpeg: change getcaps to query + +2011-11-10 18:25:21 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegenc.c: + update for adapter api change + +2011-11-09 11:58:15 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdemux.c: + remove query types + +2011-11-04 16:23:32 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: get the pixfmt correctly + Use the pixfmt from the passed context, which can be different from our other + context and which might not have the pixfmt set correctly. + +2011-11-04 12:43:17 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegmux.c: + ffmpeg: fix template to %u + +2011-11-04 11:02:32 +0100 Wim Taymans + + Merge branch 'master' into 0.11 + Conflicts: + configure.ac + +2011-11-04 10:15:32 +0100 Edward Hervey + + * tests/check/elements/ffdemux_ape.c: + tests: Fix for pad probe API change + +2011-11-02 17:47:40 +0100 Edward Hervey + + Merge remote-tracking branch 'origin/0.10.13' + +=== release 0.10.13 === + +2011-11-02 17:26:54 +0100 Edward Hervey + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-ffmpeg.doap: + 0.10.13 Release "Speeding, sparks like lightning" + +2011-11-02 12:10:25 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdemux.c: + tags: update for tag API removal + +2011-11-02 10:31:57 +0100 Wim Taymans + + Merge branch 'master' into 0.11 + +2011-10-29 09:27:46 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdemux.c: + demux: update for new task api + +2011-10-29 09:11:53 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegenc.c: + structure: fix for api upate + +2011-10-31 14:53:01 +0000 Tim-Philipp Müller + + Merge remote-tracking branch 'origin/master' into 0.11 + +2011-10-31 11:47:10 +0100 Edward Hervey + + * configure.ac: + configure.ac: Remove --enable-postproc from the default flags + fixes previous patch + +2011-10-31 11:40:37 +0100 Edward Hervey + + * configure.ac: + 0.10.12.3 pre-release + +2011-07-05 21:35:46 +0300 Martin Storsjo + + * configure.ac: + * ext/Makefile.am: + * ext/ffmpeg/gstffmpeg.c: + * ext/libswscale/gstffmpegscale.c: + Allow building a LGPL only gst-ffmpeg plugin + This removes --enable-gpl and --enable-postproc from the + ffmpeg configure line, and disables building the postproc + gstreamer plugin. + https://bugzilla.gnome.org/show_bug.cgi?id=654037 + Conflicts: + configure.ac + +2011-10-10 23:56:04 +0100 Sjoerd Simons + + * ext/ffmpeg/gstffmpegenc.c: + ffmpegenc: Pass the size of the output buffer to avcodec_encode_audio + avcodec_encode_audio is documented as taking the size of the output + buffer not the size of the input buffer. This fixes the use of the G722 + encoder and makes the code more consistent with avconv from the libav + source tree. + +2011-10-10 22:04:48 +0100 Sjoerd Simons + + * ext/ffmpeg/gstffmpegcodecmap.c: + ffmpegcodecmap: Further specify allowed rates for G722 and G726 + +2011-10-10 14:50:09 +0100 Sjoerd Simons + + * ext/ffmpeg/gstffmpegcodecmap.c: + ffmpegcodecmap: Always restrict audio codec in the unfixed cases + If the context isn't fixed yet or if it doesn't exist then always + restrict the caps. + Also restrict the maximum channels for G726 and G722 to 1 channel + +2011-07-05 21:35:46 +0300 Martin Storsjo + + * configure.ac: + * ext/Makefile.am: + * ext/ffmpeg/gstffmpeg.c: + * ext/libswscale/gstffmpegscale.c: + Allow building a LGPL only gst-ffmpeg plugin + This removes --enable-gpl and --enable-postproc from the + ffmpeg configure line, and disables building the postproc + gstreamer plugin. + https://bugzilla.gnome.org/show_bug.cgi?id=654037 + +2011-10-30 12:23:51 +0000 Tim-Philipp Müller + + * tests/check/Makefile.am: + * tests/check/elements/ffdec_adpcm.c: + * tests/check/elements/ffdemux_ape.c: + * tests/check/generic/libavcodec-locking.c: + tests: port to 0.11 + Some still fail though, for various reasons. ffmpeg warning: + "get_buffer() cannot be called after ff_thread_finish_setup()". + +2011-10-30 12:03:36 +0000 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegdemux.c: + ffmpegdemux: update for taglist API changes + +2011-10-28 16:35:54 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegcodecmap.c: + * ext/ffmpeg/gstffmpegenc.c: + fix compilation with new caps api + +2011-10-27 16:47:18 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegenc.c: + ffenc: fix compilation + +2011-10-27 16:31:30 +0200 Wim Taymans + + Merge branch 'master' into 0.11 + Conflicts: + ext/ffmpeg/gstffmpegcodecmap.c + +2011-10-10 23:56:04 +0100 Sjoerd Simons + + * ext/ffmpeg/gstffmpegenc.c: + ffmpegenc: Pass the size of the output buffer to avcodec_encode_audio + avcodec_encode_audio is documented as taking the size of the output + buffer not the size of the input buffer. This fixes the use of the G722 + encoder and makes the code more consistent with avconv from the libav + source tree. + +2011-10-10 22:04:48 +0100 Sjoerd Simons + + * ext/ffmpeg/gstffmpegcodecmap.c: + ffmpegcodecmap: Further specify allowed rates for G722 and G726 + +2011-10-10 14:50:09 +0100 Sjoerd Simons + + * ext/ffmpeg/gstffmpegcodecmap.c: + ffmpegcodecmap: Always restrict audio codec in the unfixed cases + If the context isn't fixed yet or if it doesn't exist then always + restrict the caps. + Also restrict the maximum channels for G726 and G722 to 1 channel + +2011-10-18 10:23:44 +0200 Edward Hervey + + * configure.ac: + 0.10.12.2 pre-release + +2011-10-18 10:18:27 +0200 Edward Hervey + + * gst-libs/ext/libav: + libav: Update to v0.7.2 release + +2011-10-17 16:29:10 +0200 Edward Hervey + + Merge remote-tracking branch 'origin/master' into 0.11 + +2011-10-17 16:27:36 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + gstffmpegdec: Re-enable MT-decoding by default + +2011-10-17 16:26:52 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegutils.h: + gstffmpegutils: Fix include + +2011-10-17 16:26:20 +0200 Edward Hervey + + * configure.ac: + configure.ac: Fix for new libav + +2011-10-17 16:02:51 +0200 Edward Hervey + + * gst-libs/ext/libav: + libav: Switch to current git master + +2011-10-11 14:02:53 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.c: + gstffmpegcodecmap: Avoid string operations on NULL + +2011-10-03 11:34:34 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + dec: remove interlaced update code + +2011-10-03 11:32:24 +0200 Wim Taymans + + Merge branch 'master' into 0.11 + +2011-08-29 15:18:39 +0100 Vincent Penquerc'h + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: ensure buffers have correct interlacedness in caps + Whether a frame is interlaced or not is unknown at the time of + buffer allocation, so caps on the buffer in opaque will have + a previous frame's interlaced flag set. So if interlacedness + changes, we update the buffer (if any) caps with the correct + interlaced flag once we know. + https://bugzilla.gnome.org/show_bug.cgi?id=656155 + +2011-09-28 13:29:08 +0200 Wim Taymans + + Merge branch 'master' into 0.11 + Conflicts: + configure.ac + ext/ffmpeg/gstffmpegcodecmap.c + ext/ffmpeg/gstffmpegdeinterlace.c + +2011-09-01 16:46:47 +0100 Vincent Penquerc'h + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: post QoS messages when dropping a frame + There seems to be a little bit of non obvious logic where + the QoS logic can decide to not drop decoding a frame and + pass it to ffmpeg, telling it to drop. + In this case, the QoS logic does not drop the frame itself, + but since the frame will end up being dropped, we still + mark it as dropped and post a QoS message. + https://bugzilla.gnome.org/show_bug.cgi?id=657950 + +2011-09-26 19:55:54 +0100 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: disable parser for already-parsed FLAC input + Not needed to make anything work, just seems to make sense. + https://bugzilla.gnome.org/show_bug.cgi?id=589361 + +2011-09-26 19:54:52 +0100 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegcodecmap.c: + ffmpegcodecmap: don't create dummy codec data for FLAC decoder + Since then it just errors out because it's too small, as it + wants the flac headers as codec data if there is codec data. + https://bugzilla.gnome.org/show_bug.cgi?id=589361 + +2011-08-12 09:06:03 +0100 Tvrtko Ursulin + + * ext/ffmpeg/gstffmpegdeinterlace.c: + ffdeinterlace: add "mode" property including automatic mode + Just like deinterlace. + https://bugzilla.gnome.org/show_bug.cgi?id=656328 + +2011-09-07 16:10:02 +0200 Stefan Sauer + + * docs/plugins/Makefile.am: + docs: cleanup makefiles + Remove commented out parts that we don't need. Remove "the wingo addition" - no + so useful after all. Narrow down file-globs for plugin docs. + +2011-09-06 21:52:50 +0200 Stefan Sauer + + * common: + Automatic update of common submodule + From a39eb83 to 11f0cd5 + +2011-09-06 16:06:23 +0200 Stefan Sauer + + * common: + Automatic update of common submodule + From 605cd9a to a39eb83 + +2011-09-06 15:29:26 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegcodecmap.c: + ffmpeg: fix for audio caps change + +2011-09-02 16:25:16 -0400 Nicolas Dufresne + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: Blacklist non-working subtitle decoders + This include decoder for ASS, SRT, PGS, DVD and DVB. Those are generated + with bad capabilities and are not usable in GStreamer. Other elements exist + to handle those subtitle formats. + https://bugzilla.gnome.org/show_bug.cgi?id=658019 + +2011-07-18 12:12:38 +0100 Tim-Philipp Müller + + * tests/check/.gitignore: + * tests/check/Makefile.am: + * tests/check/elements/postproc.c: + tests: add simple test for creating postproc elements + https://bugzilla.gnome.org/show_bug.cgi?id=654634 + +2011-09-03 12:30:26 +0100 Tim-Philipp Müller + + * gst-libs/ext/libav: + Update internal libav snapshot to latest releases/0.7 tip for postproc fix + https://bugzilla.gnome.org/show_bug.cgi?id=654634 + +2011-09-03 12:27:28 +0100 Tim-Philipp Müller + + * configure.ac: + configure: back to development + +2011-08-25 16:41:36 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: port to new flags + +2011-08-22 13:33:31 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegcodecmap.c: + * ext/libswscale/gstffmpegscale.c: + ffmpeg: convert to new caps + +2011-08-19 18:33:11 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegaudioresample.c: + * ext/ffmpeg/gstffmpegcodecmap.c: + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegmux.c: + ffmpeg: port to new audio caps + +2011-08-05 12:04:13 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: react to the reconfigure event + Also renegotiate the caps and bufferpool when we have a rereconfigure event + pending. + +2011-08-04 11:10:26 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: ensure bufferpool size + Make sure the bufferpool size is at least what we expect. + Add some more debug. + +2011-08-01 18:10:53 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: enable direct rendering for all formats + Since we now support padding, we can enable direct rendering for all formats. + +2011-08-01 17:57:38 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: add alignment support + Always diable EMU_EDGE. Use the bufferpool options to enable extra padding on + allocated frames. If the downstream bufferpool does not support the padding, + disable direct rendering and do the final copy/cropping into the non-padded + output frame. + +2011-07-29 13:40:30 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: refactor picture fill code + Make a method to hold the code to convert a GstVideoFrame to an AVFrame so that + we can reuse it in the non-direct rendering case. + +2011-07-29 13:08:53 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: cleanups + Make things a little more readable. + +2011-07-29 12:36:12 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: use video frame helpers + Use the video frame helper functions to map and set up the strides in the + picture for ffmpeg. + +2011-07-29 12:34:04 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: fix for query API change + +2011-07-29 12:32:45 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegprotocol.c: + ffmpeg: fix for query API changes + +2011-07-29 10:57:20 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: remove unused variable + +2011-07-29 10:31:03 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffmpeg: First set of cleanups + Store incomming info from the caps, current context and output formats into + separate variables so that we can more easily handle them. + Refactor the negotiation code. + Rework the bufferpool setup code. Take into account that we might want to + negotiate extra borders around the image in direct rendering. + Remove some of the cropping code for now. + +2011-07-29 10:25:03 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegcodecmap.c: + * ext/ffmpeg/gstffmpegcodecmap.h: + ffmpeg: add GstVideoFormat helper function + Add a function to convert an ffmpeg pixfmt to a GStreamer GstVideoFormat. + +2011-07-28 11:38:27 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: cleanups + Remove useless switch + Remove old EXTRA_REF define + Move errors out of the main code path + +2011-07-28 10:50:01 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: small cleanups + USe gst_pad_peer_query() to forward the query to the peer. + +2011-07-22 17:54:32 +0200 Wim Taymans + + Merge branch 'master' into 0.11 + Conflicts: + configure.ac + ext/ffmpeg/gstffmpegcodecmap.c + +=== release 0.10.12 === + +2011-07-20 12:14:45 +0200 Edward Hervey + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + Release 0.10.12 + +2011-07-20 12:05:34 +0200 Edward Hervey + + * gst-ffmpeg.doap: + Update dope file + +2011-06-17 14:05:58 +0300 Raimo Järvi + + * ext/ffmpeg/gstffmpegcodecmap.c: + codecmap: Don't create dummy extradata for AAC LATM + If extradata is created for LATM, libav will use it for initialising AAC + decoder and decoding will fail. + Fixes bug #652812. + +2011-07-15 12:34:19 +0200 Edward Hervey + + Merge branch 'master' into 0.11 + +2011-07-12 18:36:35 +0200 Edward Hervey + + * gst-libs/ext/libav: + gst-libs: Update libav checkout to latest 0.7 tip + Contains MT fixes + +2011-06-04 19:10:15 -0700 David Schleef + + * configure.ac: + configure: Remove -gnu from target_os + Fixes #651768. + +2011-07-11 10:47:26 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: Set default number of threads to 1 + Too many suspicious errors/warnings pop up when more than 1 thread + is used. + Fixes #653649 + +2011-07-07 18:52:23 +0200 Wim Taymans + + * configure.ac: + remove -Wcast-align + See: https://bugzilla.gnome.org/show_bug.cgi?id=615698 + +2011-07-07 18:52:23 +0200 Wim Taymans + + * configure.ac: + remove -Wcast-align + See: https://bugzilla.gnome.org/show_bug.cgi?id=615698 + +2011-07-07 13:50:18 +0200 Wim Taymans + + Merge branch 'master' into 0.11 + Conflicts: + configure.ac + ext/ffmpeg/gstffmpegdec.c + +2011-07-05 10:42:56 +0100 Tim-Philipp Müller + + * ext/libswscale/gstffmpegscale.c: + ffmpegscale: add cast to fix compiler warning + +2011-07-05 10:39:52 +0100 Tim-Philipp Müller + + * ext/libswscale/gstffmpegscale.c: + ffmpegscale: update for GstVideoInfo API changes + +2011-07-05 10:34:24 +0100 Tim-Philipp Müller + + * configure.ac: + Add -DGST_USE_UNSTABLE_API to the compiler flags to avoid warnings + +2011-06-30 21:38:57 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: Setting AC3/EAC3/DTS decoders to rank NONE for release + This still causes issues with bad (missing?) downmixing. + They can be handled by existing a52dec/dtsdec + See Bug #608892 + +2011-06-30 09:06:21 +0200 Mark Nauwelaerts + + * ext/ffmpeg/gstffmpegcodecmap.c: + ffmpegcodecmap: really include all supported sample formats in audio caps + Fixes #653717. + +2011-06-29 16:22:48 +0200 Mark Nauwelaerts + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: avoid allocating and leaking local avpacket helpers + ... by _init'ing them as locals rather than _new'ing them. + Fixes #653648. + +2011-06-30 09:21:31 +0200 Mark Nauwelaerts + + * ext/ffmpeg/gstffmpegenc.c: + ffmpegenc: handle filter caps in _getcaps + +2011-06-30 09:20:11 +0200 Mark Nauwelaerts + + * ext/ffmpeg/gstffmpegenc.c: + ffmpegenc: properly handle caps event + ... which comes down to unconditionally eating incoming caps event, + since that one could never correctly describe the setup for downstream + elements. + +2011-06-30 09:18:42 +0200 Mark Nauwelaerts + + * ext/ffmpeg/gstffmpegenc.c: + ffmpegenc: ensure properly negotiated prior to processing + Doing so is even more pertinent in 0.11, since core assists much less + in setting up negotiation and feedback on handling caps event is more likely + to get lost. + +2011-06-29 11:44:27 +0200 Mark Nauwelaerts + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: unref eaten caps event + +2011-06-29 11:44:11 +0200 Mark Nauwelaerts + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: unref allocation query + +2011-06-25 13:05:41 +0200 Edward Hervey + + * configure.ac: + configure.ac: 0.10.11.2 pre-release + +2011-06-16 20:02:40 +0200 Edward Hervey + + * gst-libs/ext/libav: + ext: Bumping libav checkout to current tip of v0.7 branch + +2011-06-23 11:29:42 -0700 David Schleef + + * common: + Automatic update of common submodule + From 69b981f to 605cd9a + +2011-06-21 14:33:29 +1000 Jan Schmidt + + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegutils.c: + * ext/ffmpeg/gstffmpegutils.h: + Enable threading in ffmpeg decoders that support it. + Add a max-threads property, which defaults to '0 = auto' + Add a utility function taken from libschroedinger which sets + the ffmpeg worker thread count to match the computer processor + count by default. + +2011-06-20 11:57:29 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegcodecmap.c: + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegenc.c: + ffmpeg: port to new caps + +2011-06-20 11:29:10 +0200 Wim Taymans + + * ext/libswscale/gstffmpegscale.c: + swscale: port to new video API + +2011-06-20 10:42:30 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdeinterlace.c: + * ext/libpostproc/gstpostproc.c: + * ext/libswscale/gstffmpegscale.c: + ffmpeg: fix some caps + +2011-06-13 16:34:18 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegutils.c: + utils: update for buffer API change + +2011-06-11 18:55:05 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: update for bufferpool API change + +2011-06-10 18:07:28 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: small cleanups + We can use or to calculate the max alignment + +2011-06-10 17:56:27 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + dec: fix for new alignment values + +2011-06-10 17:56:01 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdemux.c: + ffdemux: fix for API change of flush_start + +2011-06-08 18:04:38 +0200 Edward Hervey + + Merge branch 'master' into 0.11 + +2011-06-08 18:04:07 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdeinterlace.c: + * ext/ffmpeg/gstffmpegenc.c: + * ext/ffmpeg/gstffmpegmux.c: + ext: caps are now set via GstEvent and not setcaps + +2011-06-02 18:02:38 +0300 Raimo Järvi + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: Fix calculating frame duration from last timestamp and frame count. + Fixes bug #651714. + +2011-06-02 18:39:07 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: use caps event instead of setcaps + +2011-06-02 17:03:21 +0200 Wim Taymans + + Merge branch 'master' into 0.11 + +2011-06-02 16:23:19 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegdeinterlace.c: + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegenc.c: + * ext/ffmpeg/gstffmpegmux.c: + * ext/ffmpeg/gstffmpegprotocol.c: + * ext/ffmpeg/gstffmpegutils.c: + * ext/ffmpeg/gstffmpegutils.h: + * ext/libswscale/gstffmpegscale.c: + ffmpeg: port to new API + +2011-05-31 13:16:26 +0300 Raimo Järvi + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: Check for AV_NOPTS_VALUE in PTS value. + https://bugzilla.gnome.org/show_bug.cgi?id=651625 + +2011-05-30 13:14:09 +0300 Raimo Järvi + + * ext/ffmpeg/gstffmpegcodecmap.c: + ffdec: Add mpegversion 2 to AAC decoder caps + Fixes bug #651447. + +2011-05-29 17:39:38 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: Don't discard timestamps if output AND input are in order + Avoids bogus timestamps for AVCHD-lite streams + +2011-05-29 17:43:46 +0200 Edward Hervey + + * gst-libs/ext/libav: + ext: Update to libav git master as of Sunday 29th May 2011 + +2011-05-27 10:54:12 +0200 Sebastian Dröge + + * ext/ffmpeg/Makefile.am: + * ext/ffmpeg/gstffmpegcodecmap.c: + ffenc_aac: Add profile and level to the caps + Fixes bug #650596. + +2011-05-26 15:09:18 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: Always use parser for AAC LATM/LOAS + +2011-05-25 10:08:06 +0200 Rafael Diniz + + * ext/ffmpeg/gstffmpegcodecmap.c: + * ext/ffmpeg/gstffmpegdec.c: + ffmpeg: Add codec mapping for AAC LATM/LOAS + Also add the stream-format fields to the CODEC_ID_AAC caps. + Fixes bug #650695. + +2011-05-19 22:59:07 +0300 Stefan Kost + + * common: + Automatic update of common submodule + From 9e5bbd5 to 69b981f + +2011-05-18 16:12:49 +0300 Stefan Kost + + * common: + Automatic update of common submodule + From fd35073 to 9e5bbd5 + +2011-05-18 12:26:15 +0300 Stefan Kost + + * common: + Automatic update of common submodule + From 46dfcea to fd35073 + +2011-02-28 21:16:24 +0000 Thadeu Lima de Souza Cascardo + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: Do not use invalid input timestamp as next timestamp. + When input buffer timestamps are invalid, next timestamp are used for + audio. Then, the next out timestamp is updated with the used timestamp + and the calculated duration. However, if the used timestamp is invalid, + it should not be used. Otherwise, the next buffer will use a wrong + timestamp that is not in the clipped segment, making the buffer to be + dropped. + This fixes playback with SBTVD MPEG TS streams, using AAC LATM. + +2011-05-04 17:33:03 +0300 Vincent Penquerc'h + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: do not try to resync to the next keyframe when late + A keyframe may be quite a while in the future, and the decoder + has no way of knowing this. A poor decision could mean quite some + time with no video output. + This decision should be left to the upstream element: a demuxer + might know about incoming keyframes, or some other element might + be able to request a keyframe. + Fixes bug #649372. + +2011-05-05 11:12:20 -0500 Punya Prakash + + * configure.ac: + configure: Fix ac_cs_config handling + Previously autoconf appended too many additional quotes + to parameters like --with-ffmpeg-extra-configure=" --target-os=linux + --extra-cflags='-mfpu=neon -mfloat-abi=softfp'". + Fixes bug #648816. + +2011-05-02 11:12:10 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: fix for ALLOCATION query API changes + +2011-04-29 18:40:36 +0200 Wim Taymans + + Merge branch 'master' into 0.11 + Conflicts: + configure.ac + ext/ffmpeg/gstffmpegdec.c + +2011-04-29 18:35:55 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegdeinterlace.c: + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegprotocol.c: + ffmpeg: use bufferpool instead of pad_alloc + +2011-04-24 14:05:34 +0100 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From c3cafe1 to 46dfcea + +2011-04-22 12:53:22 -0700 David Schleef + + * autogen.sh: + autogen.sh: Also check for libav submodule + +2011-04-21 12:57:24 +0200 Edward Hervey + + * ext/libpostproc/gstpostproc.c: + postproc: pp_*_t => pp_* + +2011-04-21 12:54:49 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegaudioresample.c: + audioresample: Use new av_audio_resample API + We might want to expose the various properties in the future + +2011-04-21 12:53:23 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: Set caps on outgoing audio buffers + +2011-04-21 12:52:04 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: Use new AVPacket-based API + Right now it doesn't use any of the extra fields AVPacket provides. + It might be wise to investigate the pts/dts ones to see if we can finally + get rid of the timing-related cruft we have. + +2011-04-21 12:51:25 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + gstffmpegdec: Use non-deprecated av_parser_parse2 + +2011-04-20 19:01:30 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: Use skip_frame instead of deprecated hurry_up + +2011-04-20 19:00:49 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegcfg.c: + ffmpegcfg: mb_qmin/mb_qmax are deprecated/removed + We just use qmin/qmax instead + +2011-04-20 17:38:32 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdemux.c: + ffmpegdemux: Define our own MAX_STREAMS + +2011-04-20 17:37:34 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegmux.c: + ffmpeg: Disable code using old metadata API + It is now gone and we need to switch to the new API + See #566605 + +2011-04-20 17:36:53 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdemux.c: + ffmpegdemux: The index_built AVFormatContext hasn't been used in over 2 years + +2011-04-19 19:31:01 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.c: + codecmap: _XVID is gone + It was always a bogus one, since it used the external libxvid for encoding. + +2011-04-19 19:30:44 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegmux.c: + ffmpeg: PKT_FLAG_KEY => AV_PKT_FLAG_KEY + +2011-04-19 19:30:23 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegprotocol.c: + ffmpeg: AVERROR_* => AVERROR(*) + +2011-04-19 19:29:57 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.c: + * ext/ffmpeg/gstffmpegcodecmap.h: + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegdeinterlace.c: + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegenc.c: + * ext/ffmpeg/gstffmpegmux.c: + ffmpeg: CodecType => AVMediaType + +2011-04-19 19:28:30 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpeg.c: + gstffmpeg: register_protocol => av_register_protocol2 + +2011-04-19 19:27:40 +0200 Edward Hervey + + * configure.ac: + configure.ac: FFmpeg => Libav + +2011-04-19 19:25:54 +0200 Edward Hervey + + * Makefile.am: + * autogen.sh: + * ffmpegrev: + * gst-libs/ext/Makefile.am: + Remove usage of SVN now that we use git submodules for libav + +2011-04-19 17:30:40 +0200 Edward Hervey + + * .gitmodules: + * gst-libs/ext/libav: + ext: Add libav as a git submodule + +2011-04-19 19:04:36 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdeinterlace.c: + * ext/libswscale/gstffmpegscale.c: + ffmpeg_use G_DEFINE_TYPE + +2011-04-19 19:03:06 +0200 Wim Taymans + + Merge branch 'master' into 0.11 + +2011-04-19 16:26:55 +0200 Marc Plano-Lesay + + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegdemux.c: + * ext/libpostproc/gstpostproc.c: + * ext/libswscale/gstffmpegscale.c: + Fix unused-but-set-variable warnings with gcc 4.6 + +2011-04-09 01:17:24 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdemux.c: + gstffmpeg(de)mux: Disable known broken (de)muxers + Idea provided by David Schleef + Support provided by Michael Smith and Tim Mueller + Food and Drinks provided by Toronado + +2011-02-08 12:17:53 +0200 Stefan Kost + + * ext/ffmpeg/gstffmpegcodecmap.c: + ffmpeg: don't divide by 0 when checking the framerates + Check for denom==0 first and set it to on in that case. + +2011-04-07 12:38:01 +0200 Wim Taymans + + Merge branch 'master' into 0.11 + Conflicts: + ext/ffmpeg/gstffmpegdec.c + +2011-04-07 12:37:09 +0200 Wim Taymans + + * common: + common: recommit to updated version + +2011-04-07 12:34:51 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + dec: avoid making the buffer writable + Set the caps right after allocation of the buffer because we know the buffer is + writable then and we are correctly negotiated. Since ffmpeg keeps around + references to frames, making the buffer metadata writable where it was done + before pushing will always end up with a copy and that makes the sink do a slow + memcpy all the time. + +2011-04-07 12:11:37 +0200 Wim Taymans + + Merge branch 'master' into 0.11 + Conflicts: + ext/ffmpeg/gstffmpegdec.c + +2011-04-07 12:02:57 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + dec: Fixes + Set caps on buffers right after we allocate them to avoid refcounting problems + and having to make the buffer metadata writable for no good reason. + Don't unmap the memory with a 0 size or we would modify the memory size when + it's not needed. + +2011-04-04 16:37:42 +0200 Miguel Angel Cabrera Moya + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: do buffer padding before parsing and before decoding + FFMpeg parsing and decoding calls require to additionally allocate bytes + at the end of the input bitstream and this padding must be initialized + to zero. + https://bugzilla.gnome.org/show_bug.cgi?id=595590 + +2011-04-04 15:58:24 +0300 Stefan Kost + + * common: + Automatic update of common submodule + From 1ccbe09 to c3cafe1 + +2011-04-04 13:18:13 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegaudioresample.c: + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegdeinterlace.c: + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegmux.c: + * ext/libpostproc/gstpostproc.c: + * ext/libswscale/gstffmpegscale.c: + ffmpeg: port to new memory API + +2011-04-04 12:24:03 +0200 Wim Taymans + + Merge branch 'master' into 0.11 + +2011-04-04 12:23:05 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegcodecmap.c: + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegenc.c: + * ext/ffmpeg/gstffmpegprotocol.c: + * ext/ffmpeg/gstffmpegutils.c: + WIP: porting to 0.11 + +2011-03-25 22:35:11 +0100 Sebastian Dröge + + * common: + Automatic update of common submodule + From 193b717 to 1ccbe09 + +2011-03-25 14:57:12 +0200 Stefan Kost + + * common: + Automatic update of common submodule + From b77e2bf to 193b717 + +2011-03-25 09:33:36 +0100 Sebastian Dröge + + * common: + Automatic update of common submodule + From d8814b6 to b77e2bf + +2011-03-25 09:09:54 +0100 Sebastian Dröge + + * common: + Automatic update of common submodule + From 6aaa286 to d8814b6 + +2011-03-24 18:50:36 +0200 Stefan Kost + + * common: + Automatic update of common submodule + From 6aec6b9 to 6aaa286 + +2011-03-18 19:34:57 +0100 Luis de Bethencourt + + * autogen.sh: + autogen: wingo signed comment + +2011-03-04 14:00:28 +0100 Wim Taymans + + Merge branch 'master' into 0.11 + +2011-01-23 14:43:26 +0100 Mark Nauwelaerts + + * configure.ac: + configure.ac: no need to mess with AS + +2011-01-27 22:22:02 +0100 Mark Nauwelaerts + + * configure.ac: + configure.ac: cygwin/mingw32; enable linking static non-import libs + ... such as to internal ffmpeg static libs. + Fixes #642507. + +2011-01-27 22:22:22 +0100 Mark Nauwelaerts + + * configure.ac: + configure.ac: export plugin description more platform independent + Fixes #642504. + +2011-02-28 18:33:49 +0100 Mark Nauwelaerts + + * common: + Automatic update of common submodule + From 1de7f6a to 6aec6b9 + +2011-02-28 10:37:34 +0100 Wim Taymans + + * ext/ffmpeg/Makefile.am: + * ext/ffmpeg/gstffmpeg.c: + ffmpeg: disable resample + +2011-02-26 15:09:43 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegcodecmap.c: + codecmap: use new g_value getters + +2011-02-28 12:12:51 +0100 Wim Taymans + + Merge branch 'master' into 0.11 + Conflicts: + configure.ac + +2011-02-10 12:00:11 +0100 Julien Isorce + + * ext/libswscale/gstffmpegscale.c: + ffvideoscale: add support for UYVY + Fixes #642015 + +2011-02-14 12:54:26 +0200 Stefan Kost + + * common: + Automatic update of common submodule + From f94d739 to 1de7f6a + +2011-01-31 23:28:33 +0000 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: improve error message when set_caps is called but we have no mapping + This may happen e.g. if gst-ffmpeg is compiled against an external + libavcodec and the external lib is upgraded. + See e.g. + https://bugzilla.gnome.org/show_bug.cgi?id=640825 + +2011-01-25 16:34:04 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.c: + codecmap: Add mapping for g722 + +2011-01-25 11:30:02 +0100 Edward Hervey + + * gst-libs/ext/Makefile.am: + gst-libs: Remove .config file from ffmpeg build when cleaning up + +2011-01-24 18:29:24 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.c: + codecmap: Add proper caps name for Camstudio + +2011-01-24 18:29:00 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegdemux.c: + gstffmpegdemux: Ignore more pseudo demuxers + +2011-01-24 17:43:44 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegmux.c: + gstffmpegmux: Blacklist some muxer formats + +2011-01-24 17:20:56 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.c: + gstffmpegcodecmap: Add some new codec mappings + VP8 + LAGARITH + GSM + GSM_MS + +2010-11-07 17:08:50 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegprotocol.c: + ffmpegprotocol: Slight API change + +2010-11-07 17:08:19 +0100 Edward Hervey + + * configure.ac: + configure.ac: Don't forget to include new libavcore library + +2010-11-07 17:08:04 +0100 Edward Hervey + + * ffmpegrev: + ffmpegrev: Switch to revision 26402 of ffmpeg + This is the last svn revision. They have switched to using git... + but since there's still some controversy, we'll stick to this version + for the time being and maybe switch to using a git submodule in a month + with the same equivalent revision (or newer/older if needed) + +2011-01-14 09:35:17 +0000 Tim-Philipp Müller + + * configure.ac: + configure: require core 0.10.31 + For gst_util_fraction_compare() + +2011-01-11 15:51:38 +0200 Stefan Kost + + * common: + Automatic update of common submodule + From e572c87 to f94d739 + +2011-01-10 16:37:49 +0000 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From ccbaa85 to e572c87 + +2011-01-10 14:55:03 +0000 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From 46445ad to ccbaa85 + +2011-01-07 18:08:15 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: Set the mp3 decoder to a rank of NONE + It's just causing too many headaches. This will force people to use + a working mp3 decoder, like mad. + +2011-01-05 16:59:55 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: Fix unitialized variables on macosx + +2011-01-03 11:45:04 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegenc.c: + ffmpegenc: Disable non-audio/video encoders + Fixes #629648 + +2010-12-21 12:11:32 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffmpgdec: work around parser timestamp bug + Sometimes the parser loses track of timestamps and starts to reuse old + timestamp. Feed it some dummy data and clear some context variables to work + around the problem. + +2010-12-20 17:47:51 +0100 Edward Hervey + + * common: + Automatic update of common submodule + From 169462a to 46445ad + +2010-12-16 10:12:02 +0100 Sebastian Dröge + + * ext/ffmpeg/gstffmpegscale.c: + ffvideoscale: Change classification to Filter/Converter/Video/Scaler + +2010-12-16 10:05:03 +0100 Sebastian Dröge + + * ext/ffmpeg/gstffmpegdeinterlace.c: + ffdeinterlace: Change classification to Filter/Effect/Video/Deinterlace + +2010-12-15 14:56:50 +0200 Stefan Kost + + * common: + Automatic update of common submodule + From 20742ae to 169462a + +2010-12-13 16:24:24 +0200 Stefan Kost + + * common: + Automatic update of common submodule + From 011bcc8 to 20742ae + +2010-12-12 12:38:55 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + dec: scale the estimated duration by number of frames + When estimating the frame duration, the diff between two incomming timestamps + should be scaled by the amount of frames in the interval. Improves duration + estimation and DTS interpolation. + +2010-12-12 10:54:09 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + dec: use input timestamp diff for duration estimation + Use the diff between input timestamps to estimate the duration when no duration + is set on input buffers. Only do this when there are no reordered input + timestamps. Improves interpolation in DTS mode when no input duration is set. + +2010-12-06 12:32:41 +0100 Wim Taymans + + * configure.ac: + configure: open 0.11 branch + +2010-10-27 13:17:43 +0100 Jan Schmidt + + * common: + Automatic update of common submodule + From 7bbd708 to 011bcc8 + +2010-10-25 12:14:42 +0200 Mark Nauwelaerts + + * ext/ffmpeg/gstffmpegenc.c: + ffmpegenc: ensure proper clean state prior to (re-)negotiation + Fixes #632691. + +2010-10-22 13:03:12 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: don't destroy the parser state + When we flush the parser cache, we only need to clear the bytes of the cache, + not the complete state of the cache. In the case of H264 this doesn't require + the parser to receive a new SPS/PPS after a DISCONT buffer. + +2010-10-22 12:59:02 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: be more careful with DTS timestamp interpolation + Don't use -1 and 0 duration buffers to calculate next output timestamp as they + are very likely wrong. + Fixes #632877 + +2010-10-19 17:26:08 +0300 Stefan Kost + + * ext/ffmpeg/gstffmpegenc.c: + * ext/ffmpeg/gstffmpegmux.c: + * ext/libpostproc/gstpostproc.c: + various: add missing G_PARAM_STATIC_STRINGS flags + +2010-10-13 20:48:19 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegcodecmap.c: + * ext/ffmpeg/gstffmpegutils.c: + ffmpeg: Add mapping for YUVA420P <-> A420 + This is used by VP6a, which is used by Flash. + See bug #613901. + +2010-10-14 12:32:28 -0700 David Schleef + + * common: + Automatic update of common submodule + From 5a668bf to 7bbd708 + +2010-10-12 16:17:51 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: Fix debug statements + +2010-10-08 12:45:01 -0700 David Schleef + + * common: + Automatic update of common submodule + From c4a8adc to 5a668bf + +2010-10-08 12:56:28 +0200 Sebastian Dröge + + * common: + Automatic update of common submodule + From 5e3c9bf to c4a8adc + +2010-10-07 17:46:22 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: use a better algorithm to detect DTS timestamps + Add function to reset the timestamp tracking. + Check for reordered timestamps on the input buffers and assume PTS input + timestamps when we see reordered timestamps. + Recover from an occasionally wrong input timestamp by also tracking the output + timestamps. When we detect a reordered output timestamp, assume DTS input + timestamps again. + Fixes #611500 + +2010-10-06 18:51:24 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: add debug line + +2010-10-06 18:23:57 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: add fixmes + +2010-10-06 18:15:03 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: add some comments + +2010-10-06 16:00:05 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: Add timestamp tracking + Use ffmpeg reordered_opaque to track an id that combines all timing info we have + for a frame. The ids are kept in a 255 item cache. + Fixes #631075 + +2010-10-06 12:30:57 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: remove broken TSHandler + Remove the TShandler code, it is broken when QoS is enabled and ffmpeg provides + much easier methods for tracking timestamps. + Simplify pcache joining. + +2010-10-06 16:43:27 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegcodecmap.c: + ffcodecmap: avoid setting large framerates + When the framerate is bigger than 1000/1, set it to 0/1 instead. This avoids + letting the videosink do QoS on these very small frame durations. + +2010-10-06 12:26:09 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: rename time variable + Rename the time variable to avoid confusion with the time function. + Add some debug to the QoS update function. + +2010-10-05 19:22:28 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegenc.c: + ffenc: pass the input size to the encoder + Pass the input buffer size to the encoder instead of the expected output size. + This is needed to make fixed input/output encoder work. + +2010-09-21 18:34:43 +0200 Edward Hervey + + * common: + Automatic update of common submodule + From aa0d1d0 to 5e3c9bf + +2010-09-07 11:43:15 +0100 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From c2e10bf to aa0d1d0 + +2010-09-05 18:58:59 -0700 David Schleef + + * common: + Automatic update of common submodule + From d3d9acf to c2e10bf + +2010-09-05 12:27:58 +0200 Sebastian Dröge + + * configure.ac: + configure: Require orc >= 0.4.6 for --compat + +2010-09-05 12:20:44 +0200 Sebastian Dröge + + * common: + Automatic update of common submodule + From ec60217 to d3d9acf + +2010-08-27 18:29:15 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegdemux.c: + ffmpegdemux: Don't use GST_FLOW_IS_FATAL() and GST_FLOW_IS_SUCCESS() + +2010-08-13 17:24:53 +0300 Stefan Kost + + * common: + Automatic update of common submodule + From 3e8db1d to ec60217 + +2010-08-10 10:59:24 +0100 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From bd2054b to 3e8db1d + +2010-08-05 13:57:39 +0300 Stefan Kost + + * common: + Automatic update of common submodule + From a519571 to bd2054b + +2010-08-04 19:41:06 +0200 Sebastian Dröge + + * configure.ac: + configure: Use AC_PROG_CC_STDC instead of the automake variant + +2010-08-04 19:32:51 +0200 Sebastian Dröge + + * configure.ac: + configure: Fix FIXME comment + +2010-07-18 20:15:32 +0100 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegdeinterlace.c: + ffdeinterlace: some minor clean-ups + Don't use studlyCaps; gboolean != GstFlowReturn; use gst_caps_set_simple() + instead of creating a GValue just to set a boolean field on a caps structure. + See #622736. + +2010-07-16 12:45:18 +0200 Edward Hervey + + * configure.ac: + Back to development. + +=== release 0.10.11 === + +2010-07-15 21:28:30 +0200 Edward Hervey + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-ffmpeg.doap: + releasing 0.10.11, "Feeding trolls is strictly forbidden" + +2010-07-07 12:41:24 +0200 Edward Hervey + + * configure.ac: + configure.ac: 0.10.10.5 pre-release + +2010-07-06 13:58:30 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegmux.c: + ffmpegmux: Use "Formatter/Metadata" klass when needed + https://bugzilla.gnome.org/show_bug.cgi?id=623671 + +2010-07-06 13:58:05 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegmux.c: + ffmpegmux: Add more replacements + https://bugzilla.gnome.org/show_bug.cgi?id=623671 + +2010-07-06 12:03:25 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.c: + codecmap: Fix the caps of various mov/amr formats + https://bugzilla.gnome.org/show_bug.cgi?id=623671 + +2010-07-06 11:58:40 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegmux.c: + gstffmpegmux: Set rank of blacklisted muxers to GST_RANK_NONE + https://bugzilla.gnome.org/show_bug.cgi?id=623671 + +2010-07-05 15:48:06 +0200 Edward Hervey + + * ext/ffmpeg/Makefile.am: + * ext/libpostproc/Makefile.am: + * ext/libswscale/Makefile.am: + ext: Fix CFLAGS order + We'd pick up system-wide ffmpeg headers otherwise + +2010-07-05 10:32:42 +0200 Mark Nauwelaerts + + * ext/ffmpeg/gstffmpegenc.c: + ffmpegenc: fix timestamp resyncing some more + Convert bytes to samples in remaining occurrence. + See #623388. + +2010-07-02 18:38:06 -0300 Thiago Santos + + * ext/ffmpeg/gstffmpegenc.c: + ffmpegenc: Fix timestamp resyncing + Properly convert bytes into time using sample size, sample rate + and channels number, instead of sample rate only. + This can cause huge timestamp discontinuities (even though the + durations remain correct) and might cause problems to muxers. + Fixes #623388 + +2010-07-02 17:21:27 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegmux.c: + ffmpegmux: Add rtp to the blacklisted muxers + +2010-07-02 12:40:03 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.c: + codecmap: Specify the quicktime variant for mov and mp4 formats + +2010-06-30 10:32:25 +0200 Edward Hervey + + * configure.ac: + configure.ac: 0.10.10.4 pre-release + +2010-06-28 17:13:50 +0100 Tim-Philipp Müller + + * autogen.sh: + * configure.ac: + Bump automake requirement to 1.10, autoconf to 2.60 and libtool to 1.5 + For maintainability reasons. These are the versions we require in + other modules. + +2010-06-27 12:52:39 +0200 Edward Hervey + + * configure.ac: + 0.10.10.3 pre-release + +2010-06-27 12:49:02 +0200 Edward Hervey + + * gst-libs/ext/Makefile.am: + gst-libs: Simplify make dist by a metric truckload + Just use svn export instead of trying to be smart about which files + we need. + This makes the resulting gst-ffmpeg tarball a bit bigger, but at least + we know we have everything needed to build gst-ffmpeg + +2010-06-27 10:51:48 +0200 Edward Hervey + + * configure.ac: + 0.10.10.2 pre-release + +2010-06-25 15:59:24 -0700 David Schleef + + * ext/ffmpeg/gstffmpegmux.c: + ffmpegmux: Add alternate element in description + For muxers where there is a better GStreamer alternative, add + "(not recommended, use alternate_element_name instead)" to + the description. + https://bugzilla.gnome.org/show_bug.cgi?id=622773 + +2010-06-25 15:57:45 -0700 David Schleef + + * ext/ffmpeg/gstffmpegmux.c: + ffmpegmux: Disable raw muxers + They are effectively identity elements. Many are already + disabled via blacklist. + https://bugzilla.gnome.org/show_bug.cgi?id=622773 + +2010-06-25 16:26:00 +0200 Andoni Morales Alastruey + + * ext/ffmpeg/gstffmpegdeinterlace.c: + ffdeinterlace: Set "interlaced=false" in the source pad's caps + https://bugzilla.gnome.org/show_bug.cgi?id=622736 + +2010-06-24 15:09:59 +0300 Stefan Kost + + * common: + Automatic update of common submodule + From 35617c2 to a519571 + +2010-06-16 12:10:34 +0200 Edward Hervey + + * gst-libs/ext/Makefile.am: + gst-libs: Fixup make distclean for new ffmpeg + +2010-06-16 11:55:40 +0200 Edward Hervey + + * configure.ac: + configure: Disable doc/applicatoin building + +2010-06-16 11:46:02 +0200 Edward Hervey + + * configure.ac: + configure: Use --enable-pic instead of --enabled-shared + Not sure when that option was added, but it does what we want (i.e. produce + PIC code in .a/.la that we can then link into a shared library) + +2010-06-16 10:53:39 +0200 Edward Hervey + + * ffmpegrev: + ffmpegrev: Switch to head of ffmpeg SVN as of Wed Jun 5th + +2010-06-15 19:50:29 +0200 Sebastian Dröge + + * ffmpegrev: + ffmpegrev: Fix checkout directory to prevent a new checkout every time autogen.sh runs + +2010-06-15 16:50:33 +0200 Edward Hervey + + * common: + Automatic update of common submodule + From 9339ccc to 35617c2 + +2010-06-15 16:54:55 +0300 Stefan Kost + + * common: + Automatic update of common submodule + From 5adb1ca to 9339ccc + +2010-06-15 16:36:03 +0300 Stefan Kost + + * common: + Automatic update of common submodule + From 57c89b7 to 5adb1ca + +2010-06-15 15:50:24 +0300 Stefan Kost + + * common: + Automatic update of common submodule + From c804988 to 57c89b7 + +2010-06-15 09:40:18 +0200 Thijs Vermeir + + * ext/libpostproc/gstpostproc.c: + * ext/libswscale/gstffmpegscale.c: + Fix build if ORC is not installed + +2010-06-14 15:31:34 +0200 Sebastian Dröge + + * ext/libpostproc/gstpostproc.c: + * ext/libswscale/gstffmpegscale.c: + ffmpeg: Call orc_init() before trying to get target flags + +2010-06-14 14:38:44 +0200 Sebastian Dröge + + * configure.ac: + * ext/libpostproc/Makefile.am: + * ext/libpostproc/gstpostproc.c: + * ext/libswscale/Makefile.am: + * ext/libswscale/gstffmpegscale.c: + Use orc instead of liboil for CPU feature detection + +2010-06-14 13:28:41 +0200 Sebastian Dröge + + * configure.ac: + configure: Use GLIB_EXTRA_CFLAGS + +2010-06-14 13:05:39 +0200 Sebastian Dröge + + * common: + Automatic update of common submodule + From 7a0fdf5 to c804988 + +2010-06-14 11:35:21 +0200 Sebastian Dröge + + * common: + Automatic update of common submodule + From 6da3bab to 7a0fdf5 + +2010-06-12 08:29:43 +0200 Sebastian Dröge + + * common: + Automatic update of common submodule + From 733fca9 to 6da3bab + +2010-06-11 08:23:34 +0200 Albert Lee + + * ext/ffmpeg/gstffmpegcodecmap.c: + gstffmpegcodecmap: Fix ATRAC1/3 caps + +2010-06-09 12:40:29 -0700 David Schleef + + * common: + Automatic update of common submodule + From fad145b to 733fca9 + +2010-06-09 12:34:23 -0700 David Schleef + + * common: + Automatic update of common submodule + From 47683c1 to fad145b + +2010-06-04 18:30:59 +0100 Zaheer Abbas Merali + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: fix typo in comment + +2010-06-01 23:49:41 -0700 David Schleef + + * common: + Automatic update of common submodule + From 17f89e5 to 47683c1 + +2010-06-01 22:55:28 -0700 David Schleef + + * common: + Automatic update of common submodule + From fd7ca04 to 17f89e5 + +2010-05-31 19:18:20 +0200 Edward Hervey + + * configure.ac: + configure.ac: Execute ffmpeg's configure command from that directory + Avoids stupid sed warnings + +2010-05-31 18:53:51 +0200 Edward Hervey + + * configure.ac: + configure.ac: Don't build filters + We don't use them + +2010-05-31 18:53:34 +0200 Edward Hervey + + * ffmpegrev: + ffmpegrev: Switch to head of 0.6 branch + In preparation for ffmpeg 0.6 release + +2010-05-31 18:53:12 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.c: + codecmap: First round of type mapping wrapping : image formats + +2010-05-31 18:44:02 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegenc.c: + ffmpegdec/enc: Blacklist more raw formats + +2010-05-26 11:56:11 +0100 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From 357b0db to fd7ca04 + +2010-05-25 14:01:34 +0100 Tim-Philipp Müller + + * .gitignore: + * Makefile.am: + * autogen.sh: + build: make autotools put .m4 files into m4/ instead of common/m4/ + We don't want generated/copied files in common. + +2010-05-25 13:56:49 +0100 Tim-Philipp Müller + + * configure.ac: + configure: avoid bash-ism + +2010-05-25 13:26:45 +0100 Tim-Philipp Müller + + * Makefile.am: + build: add cruft rules for common/shave* + +2010-05-25 12:55:14 +0100 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: sipro decoder should have higher rank than realaudiodec + +2010-05-17 19:42:41 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: Don't leak the GstDataPassThrough items + +2010-05-14 18:25:58 +0100 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From 4d67bd6 to 357b0db + +2009-03-06 13:47:05 -0500 Olivier Crête + + * ext/ffmpeg/gstffmpegenc.c: + gstffmpegenc: Make getcaps proxy the downstream height/width/framerate requirements + See #577784. + +2009-03-05 21:35:46 -0500 Olivier Crête + + * ext/ffmpeg/gstffmpegcodecmap.c: + codecmap: Respect the various h263 options + See #577784. + +2009-03-05 19:12:18 -0500 Olivier Crête + + * ext/ffmpeg/gstffmpegcfg.c: + gstffmpegcfg: Expose loop-filter flag + See #577784. + +2010-05-08 13:24:47 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.c: + ffmpegcodecmap: Add mapping for SIPR + +2010-04-20 17:24:50 +0100 Tim-Philipp Müller + + * gst-ffmpeg.doap: + doap: update repository info from cvs->git and maintainers + +2010-04-23 14:42:03 +0100 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From fc85867 to 4d67bd6 + +2010-04-09 11:23:37 +0200 Sebastian Dröge + + * common: + Automatic update of common submodule + From c1d07dd to fc85867 + +2010-03-24 18:55:48 +0100 Edward Hervey + + * common: + Automatic update of common submodule + From 55cd514 to c1d07dd + +2010-03-24 16:37:37 +0100 Sebastian Dröge + + * ext/libpostproc/gstpostproc.c: + postproc: Mark postproc filters table as const + +2010-03-24 13:15:18 +0100 Sebastian Dröge + + * tests/check/generic/libavcodec-locking.c: + tests: Fix compiler warning + +2010-03-24 12:36:27 +0100 Sebastian Dröge + + * ext/libpostproc/gstpostproc.c: + * ext/libswscale/gstffmpegscale.c: + ffmpeg: Fix some remaining compiler warnings + +2010-03-24 12:07:28 +0100 Sebastian Dröge + + * configure.ac: + * ext/ffmpeg/gstffmpegaudioresample.c: + * ext/ffmpeg/gstffmpegcfg.c: + * ext/ffmpeg/gstffmpegcfg.h: + * ext/ffmpeg/gstffmpegcodecmap.c: + * ext/ffmpeg/gstffmpegcodecmap.h: + * ext/ffmpeg/gstffmpegdeinterlace.c: + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegutils.c: + * ext/ffmpeg/gstffmpegutils.h: + build: Add all kinds of compiler warning flags and fix the resulting warnings + +2010-03-24 11:53:46 +0100 Sebastian Dröge + + * configure.ac: + configure: $GST_CVS -> $GST_GIT + +2010-03-24 11:51:26 +0100 Sebastian Dröge + + * ext/ffmpeg/gstffmpegaudioresample.c: + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegdeinterlace.c: + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegenc.c: + * ext/ffmpeg/gstffmpegmux.c: + * ext/ffmpeg/gstffmpegscale.c: + ffmpeg: Use gst_element_set_details_simple() + +2010-03-23 18:53:24 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.c: + gstffmpegcodecmap: Give a proper mapping for NSV format + +2010-03-18 14:08:51 +0100 Raimo Järvi + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: Update caps if the aspect ratio changes + Fixes bug #613231. + +2010-03-12 14:00:10 +0100 Edward Hervey + + * common: + Automatic update of common submodule + From e272f71 to 55cd514 + +2010-03-11 10:13:46 -0300 Thiago Santos + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: Make metadata writable before setting caps + In case we haven't created the output buffer, we should make + metadata writable before setting caps on it. + Fixes check unit tests. + +2010-03-08 15:00:05 -0300 Thiago Santos + + * ext/ffmpeg/gstffmpegdec.c: + ffdec_aac: Do not parse raw format + If the stream is 'raw' format, do not use parsers. + Re-enables the aac decoder by putting it back to default + ffdec rank. + Fixes #566250 + +2010-03-11 11:21:30 +0100 Benjamin Otte + + * common: + Automatic update of common submodule + From df8a7c8 to e272f71 + +2010-03-10 22:10:08 +0100 Benjamin Otte + + * configure.ac: + Update for recent changes to common submodule + This just replaces every "$ERROR_CFLAGS" usage with a usage of + "$WARNING_CFLAGS $ERROR_CFLAGS" to get the same functionality as + previously. + Actually using that separation will happen later. + +2010-03-10 21:52:41 +0100 Benjamin Otte + + * common: + Automatic update of common submodule + From 9720a7d to df8a7c8 + +2010-03-10 20:44:28 +0100 Benjamin Otte + + * common: + Automatic update of common submodule + From 0b6e072 to 9720a7d + +2010-03-10 16:10:27 +0100 Benjamin Otte + + * common: + Automatic update of common submodule + From 7cc5eb4 to 0b6e072 + +2010-03-10 10:06:46 +0100 Edward Hervey + + * configure.ac: + configure.ac: And back to development we go... + ... even if some people didn't pay attention :P + +2010-03-10 01:11:09 +0000 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From 7aa65b5 to 7cc5eb4 + +2010-03-09 21:41:00 +0000 Sebastian Dröge + + * common: + Automatic update of common submodule + From 44ecce7 to 7aa65b5 + +2010-02-26 15:48:43 +0100 Sebastian Dröge + + * configure.ac: + configure: Use automake 1.11 silent rules instead of shave if available + This makes sure that we use something that is still maintained and + also brings back libtool 1.5 support. + +=== release 0.10.10 === + +2010-03-06 14:06:06 +0100 Edward Hervey + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + releasing 0.10.10, "It's the bomb" + +2010-03-04 09:55:33 +0100 Edward Hervey + + * configure.ac: + 0.10.9.4 pre-release + +2010-03-04 08:58:36 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegdemux.c: + ffmpegdemux: Use av_free_packet. + Fixes #611782 + +2010-03-03 18:46:25 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + gstffmpegdec: Disable direct-rendering for svq1/vp56 decoders. + They use a non-standard stride which we can't support. + Fixes #610613 + +2010-03-03 18:35:40 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.c: + gstffmpegcodecmap: Remove 'format' specified for wmv3 decoder. + Allows WMVA (Advanced Profile) videos to be properly auto-linked. + Doesn't introduce a regression for VC1 files. + Fixes #611722 + +2010-02-28 15:10:34 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + gstffmpegdec: Handle durations in reordered frames + The buffer durations were not being reordered along with the timestamp + and offset of the buffers, resulting in buffers using the duration of the + latest incoming frame instead of their original frame. + Fixes #611398 + +2010-02-24 22:05:50 +0000 Tim-Philipp Müller + + * configure.ac: + 0.10.9.3 pre-release + +2010-02-19 20:33:06 +0100 Mark Nauwelaerts + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: do not store timestamp for buffer that will be skipped + Fixes #610481. + +2010-02-19 16:23:27 +0100 Edward Hervey + + * configure.ac: + configure.ac: 0.10.19.2 pre-release + +2010-02-19 17:40:07 +0100 Edward Hervey + + * configure.ac: + configure.ac: Add build directories to CFLAGS + Needed to pick up files created at compile time (like libavutil/avconfig.h) + +2010-02-18 13:28:40 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + gstffmpegdec: Don't enable xvmc decoders, we can't support the output + +2010-02-18 13:27:15 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.c: + gstffmpegcodecmap: Add mapping for Indeo 5 + +2010-02-18 13:24:39 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.c: + gstffmpegcodecmap: Add mapping for Windows Media Speech + +2010-02-18 13:29:03 +0100 Edward Hervey + + * ffmpegrev: + ffmpegrev: Move to FFmpeg revision of Feb 18th 2010 + +2010-02-14 23:18:58 +0100 Sebastian Dröge + + * common: + Automatic update of common submodule + From 96dc793 to 44ecce7 + +2010-02-04 17:08:41 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegcodecmap.c: + ffdec: fixup QCELP to always be mono + Make QCELP always mono, even if the caps tell us a different layout. + +2010-02-04 13:26:16 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: only clip to a smaller region + When we have an input width/height that should be used for clipping, only + perform the clipping if the rectangle is smaller than the actual picture size. + Fixes #330681 + +2010-02-01 15:25:11 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: free audio buffer when not decoded + When we don't decode an audio frame (for audio codecs that need a previous audio + frame) free the buffer we allocated. + See #608564 + +2010-01-30 15:20:12 +0000 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From 15d47a6 to 96dc793 + +2010-01-29 13:58:20 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegcodecmap.c: + ffmpegcodecmap: don't escape codec_data + Don't escape the codec_data, it breaks some streams (but likely also fixes + others). It's better to leave it as is, like most other players do. + See #608332 + +2010-01-25 16:40:20 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegmux.c: + ffmpegmux/demux: Blacklist ASS/SSA 'demuxers'. + They're not a container format, but a subtitle format, and we already + have plugins to handle those subtitle formats. + +2010-01-25 11:59:29 +0100 Edward Hervey + + * ffmpegrev: + ffmpegrev: Update to ffmpeg/swscale checkouts of Mon Jan 25 2010 + ffmpeg received an overwhelming amount of h264 decoding improvements since + the last checkout, some minor fixes here and there and no apparent regressions. + Also set a specific swscale revision to checkout. + +2010-01-23 15:34:28 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.c: + ffmpegcodecmap: Add proper mapping for Zip Block Motion Video + +2010-01-23 14:41:49 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.c: + ffmpegcodecmap: Add proper mapping for LOCO Lossless codec + +2010-01-23 13:51:24 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.c: + gstffmpegcodecmap: Make a proper mapping for Autodesk Animator Codec + +2010-01-22 13:46:01 +0100 Alessandro Decina + + * ext/ffmpeg/gstffmpegdec.c: + Revert a change I accidentally introduced in 7c91fb. + I removed the plugin name from an error message for no good reason. + +2010-01-22 12:58:13 +0100 Alessandro Decina + + * configure.ac: + Fix the check if libswscale needs enabling explicitly under OS X. + +2010-01-22 11:43:39 +0100 Alessandro Decina + + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegprotocol.c: + Fix compiler warnings under OS X. + +2010-01-20 00:55:26 +0000 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From 14cec89 to 15d47a6 + +2010-01-15 22:21:42 +0100 Julien Moutte + + * ext/libswscale/gstffmpegscale.c: + ffvideoscale: Fix build warning. + FFMpeg swscale function wants some const pointers. + +2010-01-06 11:53:23 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.c: + gstffmpegcodecmap: Add mappings for new codecs + WMAPro + Dolby TrueHD + Atrac1 + TwinVQ + +2010-01-06 11:51:54 +0100 Edward Hervey + + * configure.ac: + configure.ac: re-indent long line, remove --disable-vhook, use --disable-hwaccels + +2010-01-06 11:53:01 +0100 Edward Hervey + + * ffmpegrev: + ffmpegrev: Bump to ffmpeg r21150 from Jan 11th 2010 + +2009-12-14 21:20:53 +0100 Mark Nauwelaerts + + * ext/ffmpeg/gstffmpegenc.c: + ffmpegenc: more consideration for upstream (audio) timestamps + +2009-12-21 19:13:14 +0100 Mark Nauwelaerts + + * common: + Automatic update of common submodule + From 47cb23a to 14cec89 + +2009-12-09 15:27:14 +0000 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: ignore all vdpau decoders + Make check for vdpau decoders more generic. There might be vdpau + decoders we don't expect when using an external ffmpeg version, + and we want those blacklisted as well (e.g. ffdec_mpeg4_vdpau). + +2009-12-01 15:08:27 +0000 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From 87bf428 to 47cb23a + +2009-12-01 14:18:06 +0100 Sebastian Dröge + + * common: + Automatic update of common submodule + From da4c75c to 87bf428 + +2009-11-27 18:56:28 +0100 Edward Hervey + + * common: + Automatic update of common submodule + From 53a2485 to da4c75c + +2009-11-20 20:28:06 +0100 Jan Schmidt + + * ext/ffmpeg/gstffmpegcodecmap.c: + caps: Use default audio channel layouts for some codecs + For a few white-listed codecs, use default fallback channel + layouts when ffmpeg doesn't inform us. + +2009-11-20 21:46:33 -0500 Olivier Crête + + * ext/ffmpeg/gstffmpegenc.c: + * ext/ffmpeg/gstffmpegenc.h: + ffenc: Make keyframe forcing thread-safe + Make the keyframe forcing thread-safe, also emit a downstream event + to allow muxers or payloaders to react appropriately. + https://bugzilla.gnome.org/show_bug.cgi?id=602556 + +2009-11-19 10:31:39 +0000 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From 0702fe1 to 53a2485 + +2009-11-18 17:36:48 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegenc.c: + * ext/ffmpeg/gstffmpegmux.c: + Move encoders and muxers to GST_RANK_SECONDARY. + +2009-11-16 13:54:16 +0100 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: remove clipping hack + Remove a hack that seems to produce wrong clipping values. + +2009-10-01 02:48:35 +0100 Jan Schmidt + + * ext/ffmpeg/gstffmpegcodecmap.c: + ffmpeg: VC-1/WMV3 fixes. + Use format field in the pad caps to differentiate VC-1 from WMV3. + Fix a typo in the caps creation and parsing - the field is called + 'format' - not 'fourcc' + Add a dodgy hack to populate the extradata size field + (first byte) when it is 0 - as it seems to be for some (Matroska) + test files. + +2009-11-10 12:30:50 +0100 Sjoerd Simons + + * ext/ffmpeg/gstffmpegcodecmap.c: + Always give the most video restricted caps possible + When the video caps aren't fixed yet, make sure we return the most + precise set of caps. It seems a regression was introduced in cc082f, + causing restricted caps to never be used if the context == NULL + None of the restricted caps generation uses the context, so no need to + check whether the context. + Fixes bug #578160. + +2009-11-09 19:19:25 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: Only restore default in AVCodecContext when needed. + Resetting default values is currently very complex in libavcodec, so + we only call it when needed (i.e. when a context was previously used). + Shaves off 10% of the setup of a decoder. + +2009-11-05 23:54:47 +0000 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: printf format fixes + +2009-11-02 09:05:13 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: Don't use an allocated 1-entry structure for private data. + If there's only one entry, just use that entry. + +2009-11-02 08:49:43 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegmux.c: + ffmux: avoid generating caps when registering + Don't generate caps when we register the class but delay that till when + we actually create an instance of the class. + +2009-11-02 08:47:12 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegdemux.c: + ffdemux: avoid generating caps when registering + Don't generate caps when we register the class but delay that till when + we actually create an instance of the class. + +2009-11-02 08:43:17 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegenc.c: + * ext/ffmpeg/gstffmpegenc.h: + ffenc: avoid generating caps when registering + Don't generate caps when we register the class but delay that till when + we actually create an instance of the class. + +2009-10-22 16:27:28 -0400 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: avoid generating caps when registering + Don't generate caps when we register the class but delay that till when + we actually create an instance of the class. + +2009-10-16 10:17:23 +0300 Stefan Kost + + * common: + Automatic update of common submodule + From 85d1530 to 0702fe1 + +2009-10-14 10:41:59 +0200 Edward Hervey + + * common: + Automatic update of common submodule + From a3e3ce4 to 85d1530 + +2009-10-08 13:54:45 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegenc.c: + ffmpegenc: Add a note to the buffer-size property description + Setting it has no effect anymore and is deprecated. + +2009-10-08 13:52:22 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegenc.c: + Revert "ffenc: Make the buffer-size property read-only" + This reverts commit 98439aacc752432022b6fc3e5bc487d60b12dc48. + Instead of printing a warning when trying to set the property + it should do nothing as before and the property description + should contain a note that setting it has no effect. + +2009-10-08 12:27:59 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegenc.c: + ffenc: Make the buffer-size property read-only + ...instead of just doing nothing when setting it. This makes sure + that people notice that they shouldn't set the property because + it creates a warning now. + +2009-10-08 11:01:19 +0100 Jan Schmidt + + * common: + Automatic update of common submodule + From 19fa4f3 to a3e3ce4 + +2009-10-01 16:44:22 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegenc.c: + ffenc: Make sure to always provide large enough buffers + For audio always add the minimum ffmpeg buffer size, for video + use the same weird buffer size as they use in ffmpeg.c: + width*height*6 + 200 + Also make setting of the buffer-size property a no-op. + Fixes bug #593651. + +2009-10-01 16:20:13 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegenc.c: + ffmpegenc: Use dash instead of underscore in property names + GLib internally converts them to dashs anyway. + +2009-10-06 19:50:37 +0100 Jan Schmidt + + * configure.ac: + back to development -> 0.10.9.1 + +=== release 0.10.9 === + +2009-10-05 14:34:22 +0100 Jan Schmidt + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-ffmpeg.doap: + Release 0.10.17 + +2009-10-05 15:28:33 +0100 Jan Schmidt + + * gst-libs/ext/Makefile.am: + Fix distclean/distcheck + +2009-10-01 17:03:49 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegenc.c: + Revert "ffmpegenc: Use dash instead of underscore in property names" + This reverts commit b814d25cc9c59d227d9987f9011cfa9744fdd65d. + +2009-10-01 17:03:42 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegenc.c: + Revert "ffenc: Make sure to always provide large enough buffers" + This reverts commit d9f6febe7015bbbbce7ddc82503f43751f7eb168. + +2009-10-01 17:03:33 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegenc.c: + Revert "ffmpegenc: Also add FF_MIN_BUFFER_SIZE to video buffers too" + This reverts commit 577525af3d492469edd54e1c86b4ba0bfc214048. + +2009-10-01 16:46:34 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegenc.c: + ffmpegenc: Also add FF_MIN_BUFFER_SIZE to video buffers too + Just to make sure we never get below it in case of very small videos. + +2009-10-01 16:44:22 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegenc.c: + ffenc: Make sure to always provide large enough buffers + For audio always add the minimum ffmpeg buffer size, for video + use the same weird buffer size as they use in ffmpeg.c: + width*height*6 + 200 + Also make setting of the buffer-size property a no-op. + Fixes bug #593651. + +2009-10-01 16:20:13 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegenc.c: + ffmpegenc: Use dash instead of underscore in property names + GLib internally converts them to dashs anyway. + +2009-09-12 01:51:11 +0100 Jan Schmidt + + * ChangeLog: + * configure.ac: + 0.10.8.2 pre-release + +2009-09-11 22:35:33 +0100 Jan Schmidt + + * .gitignore: + * COPYING: + * COPYING.LIB: + * README: + license: Add COPYING and COPYING.LIB + Add GPLv2 COPYING file, and LGPL COPYING.LIB. Add the boilerplate + text about the plugin code being LGPL versus the linked plugin + being GPL. + Fixes: #590964 + +2009-09-10 14:11:18 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: correctly check for NONE timestamp + +2009-09-09 13:33:53 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegcodecmap.c: + ffmpeg: add support for G721 + Add support for g721, which is like G726 but with 1 channel, 8KHz and a bitrate + of 32000. + Fixes #594454 + +2009-09-06 23:09:21 +1000 Jonathan Matthew + + * ext/ffmpeg/gstffmpegcodecmap.c: + codecmap: don't set channel-positions for common mono and stereo cases + +2009-09-05 10:24:36 +0200 Sebastian Dröge + + * common: + Automatic update of common submodule + From 94f95e3 to 19fa4f3 + +2009-09-01 21:42:26 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: disable interpolation when dropping frames + When we are dropping frames because of QoS disable the DTS interpolation because + we won't be able to update the timestamps and end up setting the wrong + timestamps. Instead, simply use the timestamps from ffmpeg. + +2009-08-26 15:37:02 +0400 Руслан Ижбулатов + + * configure.ac: + Add AG_GST_ARG_WITH_PKG_CONFIG_PATH to configure + +2009-08-21 02:58:58 +0100 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegdemux.c: + typefinders: skip ffmpeg typefinders if there isn't enough data + ffmpeg typefinders don't do bounds checking for small chunks of + data, so just skip them if we don't have a lot of data, to avoid + invalid memory access and/or crashes. + +2009-08-14 16:39:19 +0100 Tim-Philipp Müller + + * tests/check/.gitignore: + * tests/check/Makefile.am: + * tests/check/elements/ffdec_adpcm.c: + * tests/files/591809.wav: + * tests/files/Makefile.am: + checks: add minimal unit test for adpcm decoder + The sample file is so small, we may just as well add a little + unit test for the previously fixed bug. + +2009-08-19 15:28:35 +0200 Jarkko Palviainen + + * gst-libs/ext/Makefile.am: + build: Remove gst-libs/ext/ffmpeg in maintainerclean target only + Fixes bug #586894. + +2009-08-18 13:20:29 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: reset timestamp queue after flush + +2009-08-14 16:07:07 +0100 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegcodecmap.c: + Lower minimum sample rate in generic template caps from 8000 to 4000 + Fixes playback of ADPCM clip (#591809). + +2009-08-13 17:38:32 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: Fix strict aliasing warnings + +2009-08-12 10:57:18 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: Don't use guintptr as it's new in GLib 2.18 + Fixes bug #591469. + +2009-08-10 12:04:39 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegenc.c: + * ext/ffmpeg/gstffmpegmux.c: + gstffmpeg: Lower debugging levels from WARNING to DEBUG + These statements aren't critical per se... and just clutter debug logs. + +2009-08-09 09:47:26 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegenc.c: + ffmpegenc: Return all supported caps instead of only the first + +2009-08-08 22:43:06 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegcodecmap.c: + * ext/ffmpeg/gstffmpegcodecmap.h: + * ext/ffmpeg/gstffmpegenc.c: + ffmpegenc: If an encoder lists the supported pixfmts use them to create the caps + ...instead of creating standard caps with all pixfmts. + Fixes bug #591038. + +2009-08-08 17:41:18 +0100 Sjoerd Simons + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: Fix duration calculation when ticks_per_frame isn't 1 + Fixes bug #591163. + +2009-08-06 06:56:44 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: Fix compiler warning and indention + +2009-07-30 19:02:12 +0400 Руслан Ижбулатов + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: Assign offsets to outgoing buffers more accurate + This now uses ffmpeg functionality to keep random metadata next to + the buffers and to get the correct offset for a frame, similar to how + timestamps are handled. + Fixes bug #578278. + +2009-08-04 09:53:18 +0200 Sebastian Dröge + + * ffmpegrev: + Update ffmpeg revision to 19580 of the 0.5 branch + This cleans up licensing and makes it possible to build with LGPL code + only again. + Apart from that an opencore-amr encoder/decoder exists now but this + is not enabled as we don't want to use external libraries through ffmpeg + and have our own plugins for this already. + +2009-07-31 13:27:28 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegenc.c: + gstffmpegenc: Try getting the caps for the declared pixfmt without a context. + PixFmt that are declared in AVCodec.pix_fmts are ones which are 'officially' + declared as being supported. We should therefore not have to create a + AVCodecContext and open an encoder to know if it's supported or not. + Also, doing it this way allows us to better pickup configuration overrides + we have in gstffmpegcodecmap for some codecs (like restrictions on width, + height, framerate like it's the case for dnxhd). + Fixes #575545 + +2009-07-29 14:49:56 -0400 Olivier Crête + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: Disable theora decoder + The wrapper does not give the decoder the extradata correctly. + Just use theoradec. + Fixes bug #590172 + +2009-07-18 18:53:22 +0400 Руслан Ижбулатов + + * ext/ffmpeg/gstffmpegdec.c: + Codec frame delay fix and trailing zero-length frame fix + Takes codec frame delay into account (roughly the same way it does for timestamps for reordered frames) to produce frames with correct offsets. + A special hack to allow trailing frame with timestamp=segment.stop to be displayed. + Fixes bug #578278. + +2009-07-28 23:48:21 +0100 Tim-Philipp Müller + + * tests/check/generic/plugin-test.c: + check: remove unused variable from unit test + +2009-07-28 23:40:31 +0100 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegdemux.c: + ffmpegdemux: use gst_element_found_tags() for global tags + So we get a message on the bus *and* tag events pushed downstream. + +2009-07-28 23:21:11 +0100 Tim-Philipp Müller + + * configure.ac: + * ext/ffmpeg/gstffmpegdemux.c: + * tests/Makefile.am: + * tests/check/.gitignore: + * tests/check/Makefile.am: + * tests/check/elements/ffdemux_ape.c: + * tests/files/586957.ape: + * tests/files/Makefile.am: + ffmpegdemux: cache events from upstream and re-send them later + Cache any events we get from upstream before we're open, especially + tag events we may be getting from apedemux/id3demux or the like, and + push them downstream later when we've added our pads instead of just + dropping them silently. Fixes transcoding tags for Monkey's Audio + Files with preceding APE or ID3v2 tags (#586957). Add minimal unit + test for this. + Also push stream tags later after the global tags and the newsegment + event rather than right after creating the pad. + +2009-07-24 00:43:20 +0300 Stefan Kost + + * common: + Automatic update of common submodule + From fedaaee to 94f95e3 + +2009-07-20 11:48:45 +0200 Jordi Mas + + * ext/ffmpeg/gstffmpegcodecmap.c: + ffmpegmux: Add proper audio mapping for DVD muxer. Fixes #588546 + +2009-07-13 12:24:25 -0400 Olivier Crête + + * common: + Automatic update of common submodule + From 5845b63 to fedaaee + +2009-06-30 02:27:22 +0100 Tim-Philipp Müller + + * configure.ac: + configure: pass --disable-vhook to ffmpeg's configure + So we don't build stuff we don't use, with the added benefit that + the GStreamer registry won't complain about not being able to + load these 'plugins' when running GStreamer uninstalled. + +2009-06-30 02:15:21 +0100 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegmux.c: + ffmpegmux: don't leak caps if type already exists + We don't know if gst_element_register() will replace the known type + or reject it, so we really need to free the caps before. + +2009-06-30 02:11:14 +0100 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegdemux.c: + ffmpegdemux: post tags after the initial newsegment event + +2009-07-01 10:06:26 +0100 Jan Schmidt + + * autogen.sh: + autogen.sh: Use printf instead of 'echo -n'. Check for automake-1.1[01] + Check for more automake command variants. Use printf instead of 'echo -n' + for portability + +2009-07-01 10:05:05 +0100 Jan Schmidt + + * configure.ac: + Back to development - 0.10.8.1 + +2009-07-01 11:23:59 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: don't wait for keyframe after discont + After a DISCONT, mark the next frame with DISCONT but don't wait for a new + keyframe. This greatly improves performance on lossy networks or currupted + frames as the decoder can usually continue and conceil errors up to the next + keyframe. + +2009-07-01 11:21:46 +0200 Wim Taymans + + Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-ffmpeg + +=== release 0.10.8 === + +2009-06-29 22:42:00 +0100 Jan Schmidt + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-ffmpeg.doap: + release 0.10.8 + +2009-06-29 13:53:50 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + gstffmpegdec: Fix debug arguments. Fixes #587297 + +2009-06-26 13:43:34 +0100 Jan Schmidt + + * common: + Automatic update of common submodule + From f810030 to 5845b63 + +2009-06-25 15:53:52 +0100 Jan Schmidt + + * configure.ac: + 0.10.7.3 pre-release + +2009-06-09 16:34:04 +0200 Arnout Vandecappelle + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: don't drop buffers when caps change. + Fixes #585257 + +2009-06-24 15:24:25 +0100 Jan Schmidt + + * docs/plugins/Makefile.am: + docs: Fix a comment in the plugin docs Makefile + +2009-06-18 01:11:25 +0100 Jan Schmidt + + * ext/ffmpeg/gstffmpegdec.c: + ffmpeg: Don't enter infinite loops in the timestamp tracking + Avoid an infinite loop consuming buffer timestamp info when + the video frames contain only GST_CLOCK_TIME_NONE timestamps. + Add some debug logging in the timestamp tracking paths. + Fixes: #585845 + +2009-06-24 15:15:53 +0100 Jan Schmidt + + * common: + Automatic update of common submodule + From c572721 to f810030 + +2009-06-17 09:22:14 +0300 Stefan Kost + + * ext/ffmpeg/gstffmpegmux.c: + debug: fix unused variable when building with debug disabled + +2009-06-06 15:14:45 +0100 Jan Schmidt + + * autogen.sh: + * ffmpegrev: + * gst-libs/ext/Makefile.am: + build: Fix the dist - libswscale isn't an external on the 0.5 branch + The 0.5 ffmpeg branch includes libswscale directly, not as an external, + breaking the dist (and warning in autogen.sh) about not being able to + update its revision. + Add some code to not update the svn external if the + FFMPEG_EXTERNALS_REVISION variable is empty. + Also, in autogen.sh check that the current FFmpeg checkout is from the + right branch according to ffmpegrev, and check it out again if + it's not. + +2009-06-05 22:12:24 +0100 Jan Schmidt + + * configure.ac: + 0.10.7.2 pre-release + +2009-06-05 13:47:15 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: don't do QoS on invalid timestamps + When we convert the timestamp to running_time, don't try to do QoS on invalid + times. + Fixes #580810 + +2009-06-05 13:19:03 +0200 Jordi Mas + + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegenc.c: + * ext/ffmpeg/gstffmpegmux.c: + ffmpeg: make elements reusable after registry rescan + If the same instance of the plugin is asked to be initialised more that once, + instances after the first one do not register the elements properly and the + elements become not usable. + For example, if you call gst_update_registry (), is not possible to create + elements after the call since the plugin is asked to be initialised again and + does not register the elements. + Fixes #584291 + +2009-06-05 13:17:09 +0200 Wim Taymans + + * tests/check/generic/plugin-test.c: + check: add registry rescan test + +2009-06-05 12:32:25 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffmpeg: properly integrate timestamp handling + The patch from Bug #580796 hacked around existing infrastructure to handle + timestamps as DTS (as in all AVI files) causing the logic to be disabled. + Properly hook the timestamp handling into the existing infrastructure to handle + these cases too, partially reverting a26b94d92c2e9e9f6dac0cdb5fb44ba06ee089c8 + and moving some stuff around. + Refixes #580796. + +2009-06-01 17:24:53 +0200 LRN + + * configure.ac: + ffmpeg: change library inclusion order + Fixes #584399 + +2009-05-29 13:51:31 +0200 Sebastian Dröge + + * ffmpegrev: + Switch back to the ffmpeg 0.5 branch to allow us to release in the next weeks + +2009-05-26 17:20:14 +0100 Jan Schmidt + + * common: + Automatic update of common submodule + From 888e0a2 to c572721 + +2009-05-25 12:36:06 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegcfg.c: + enc: use standard multipass-cache-file + Deprecate the old statsfile property and add a the new standard + mulitpass-cache-file property to match other encoders. + Fixes #583627 + +2009-05-22 10:21:02 +0100 Jan Schmidt + + * common: + Automatic update of common submodule + From 6ab11d1 to 888e0a2 + +2009-05-15 15:48:35 +0100 Jan Schmidt + + * ext/ffmpeg/gstffmpegmux.c: + ffmpeg: Don't add sink pad template to the muxers when not needed. + If the set of caps for either audio or video is completely empty, skip + adding that pad template to the class. Some muxers only support audio-only + or video-only and otherwise end up with EMPTY caps in the pad template. + +2009-05-13 23:18:50 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegenc.c: + ffenc: avoid malloc more for audio encoders + Use _adapter_peek() to retrieve data so that we can reuse previously + allocated memory. + +2009-05-13 19:35:32 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + gstffmpegdec: demote mpeg2 video decoding back to MARGINAL. Fixes #574461 + +2009-05-13 16:21:36 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegcodecmap.c: + Add mapping for VQF caps + +2009-05-13 16:19:21 +0200 Sebastian Dröge + + * ffmpegrev: + Update ffmpeg revision to latest trunk + +2009-05-13 13:47:58 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + gstffmpegdec: Don't forget to copy over the reordered_opaque in our buffers. + This is to be on-par with the default get_buffer() implementation (which is + detailed in libavcodec/utils.c). + +2009-05-13 12:37:42 +0200 Vanista + + * ext/ffmpeg/gstffmpegdec.c: + gstffmpegdec: Handle out-of-order frames. Fixes #580796 + +2009-05-13 11:21:13 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegenc.c: + ffenc: make the output buffer big enough + The ffmpeg docs say that the output buffer should at least be + FF_MIN_BUFFER_SIZE (which is overly large, but anyways). + +2009-05-13 01:04:30 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegenc.c: + * ext/ffmpeg/gstffmpegenc.h: + ffmpeg: rewrite audio encoders. + Rewrite the audio encoders to use the right API functions of ffmpeg. Also get + rid of the handrolled cache and use adapter instead for formats that require + fixed frame_size as input. + +2009-05-12 22:20:49 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegcodecmap.c: + codecmap: revert bogus commit. + We don't need to set a default frame_size, ffmpeg has set this value to 0 to + inform us that there is a fixed relation between the amount of input samples + and output samples. Now we only need to implement handling that fact. + +2009-05-12 18:13:16 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegcfg.c: + ffmpegcfg: Expose two more CODEC_FLAG. + +2009-05-12 15:30:10 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + gstffmpegdec: No, really, we don't want the VDPAU decoders. + They've changed the names, keeping the old ones til we switch upstream + revision. + +2009-05-12 11:20:08 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: Update rank of ffdec_mpeg2video to SECONDARY to make it the default + ffdec_mpeg2video is much faster, fixes bug #574461. + +2009-05-12 11:16:43 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + gstffmpegdec: Implement interlaced support. + ffmpeg only tells us on a per-decoded-buffer basis if the stream is + interlaced or not. When we see a change, we force negotiation. + We can't detect that in our get_buffer() (when doing downstream allocation), + because at that point the interlaced flags aren't set on the outgoing + buffer. + +2009-05-10 11:17:16 +0200 Marc-Andre Lureau + + * autogen.sh: + Run libtoolize before aclocal + This unbreaks the build in some cases. Fixes bug #582021 + +2009-05-09 10:57:55 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegprotocol.c: + win32: Fix non-portable printf format. + +2009-05-07 12:57:10 +0200 David Hoyt + + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegmux.c: + Use av_{i,o}format_next instead of the private next field + This fixes compilation with MSVC where the initializer variables + are aliased to different names. Fixes bug #576126. + +2009-05-05 17:32:07 +0100 Christian Schaller + + * gst-ffmpeg.spec.in: + Add videoscaler to spec file + +2009-05-05 17:27:27 +0100 Christian Schaller + + * gst-ffmpeg.spec.in: + removing make flags in spec file to make things flow easy with GCC 4.4.0 + +2009-05-04 13:00:49 +0200 Sebastian Dröge + + * ext/ffmpeg/gstffmpegenc.c: + ffenc: Implement preset interface + +2009-04-23 14:35:10 -0300 Thiago Santos + + * ext/ffmpeg/gstffmpegenc.c: + ffenc: Send error upstream when gst_pad_push return is different from GST_FLOW_OK + +2009-04-21 22:13:51 +0100 Jan Schmidt + + * common: + Automatic update of common submodule + From b3941ea to 6ab11d1 + +2009-04-21 18:38:03 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegenc.c: + gstffmpegenc: Don't change properties once opened. Fixes #570815 + Based on a patch by Tristan Matthews + +2009-04-21 18:34:22 +0200 Janin Kolenc + + * ext/ffmpeg/gstffmpegcfg.c: + gstffmpegcfg: Add H263 to the list of mpeg property-compatible codecs. + +2009-03-08 11:31:35 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.h: + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegutils.c: + * ext/ffmpeg/gstffmpegutils.h: + Make sure we provide ffmpeg with 128bit-aligned data. + Add a new function new_aligned_buffer() which creates a GstBuffer of + the requested size/caps, with the memory being allocated/freed by ffmpeg's + av_malloc/av_free which guarantees properly aligned memory. + Added a can_allocate_aligned internal property which we use to figure out + whether downstream can provide us with 128bit aligned buffers. + +2009-04-19 14:07:58 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpeg.c: + Reverting Jan's fix-the-buildbot commit + This reverts commit 5465d40b8dcb7650c024bf8c6b6329d26df5a610. + +2009-04-19 02:39:30 +0100 Jan Schmidt + + * ext/ffmpeg/gstffmpeg.c: + build: Deliberately break the build, temporarily. + This is to force the buildbots to run autogen.sh one time. I can't + figure out a more elegant way. + +2009-04-19 02:34:50 +0100 Jan Schmidt + + * autogen.sh: + * configure.ac: + build: Fix maintainer-mode and embedded FFmpeg configuration parameters + Don't use AC_CONFIG_SUBDIRS to call the FFmpeg configure script, as it + complains about all the unknown parameters autoconf gives it, and fiddling + with ac_configure_args makes maintainer-mode call our real configure script + with a bunch of bogus arguments. + Instead, use AC_CONFIG_COMMANDS to call the FFmpeg configure script + ourselves. + Remove autogen.sh code that modifies the FFmpeg configure script, as it's + not needed now that we only pass it arguments it understands, and move + the detection of flags like --disable-ffmpeg into the configure script, + otherwise they never get passed to FFmpeg if we call configure ourselves, + such as from a tarball. + +2009-04-18 09:08:39 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + gstffmpegdec: Really fix the arguments this time. + I blame compilers who can't figure out there's the wrong number of arguments + for the given print format :) + +2009-04-18 08:50:12 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + gstffmpegdec: Fix build on macosx. + The arguments were in the wrong order (and therefore the types were wrong). + +2009-04-17 19:07:26 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: resize padding buffer when it's small + Only resize the padding buffer when the size is too small, when it's just right, + we don't need to call realloc. + +2009-04-17 16:25:12 +0200 Wim Taymans + + * ext/ffmpeg/gstffmpegcodecmap.c: + ffmpeg: add default frame_size for g726 + Without a frame_size configured in the context, the ffmpeg encoders do nothing. + Since the G726 does not configure a size itself, we set ourselves a frame_size + that corresponds to 20ms of audio, which is a reasonable default. + +2009-04-17 13:46:39 +0100 Jan Schmidt + + * tests/check/Makefile.am: + * tests/check/generic/.gitignore: + * tests/check/generic/plugin-test.c: + check: Add a simple test that the FFmpeg plugin loads + Check that the ffmpeg plugin actually exists after building. + +2009-04-16 11:00:46 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegutils.c: + * ext/ffmpeg/gstffmpegutils.h: + gstffmpegutils: Add the files :) + +2009-04-15 22:33:16 +0200 Edward Hervey + + * ext/ffmpeg/Makefile.am: + * ext/ffmpeg/gstffmpeg.c: + * ext/ffmpeg/gstffmpegcodecmap.c: + * ext/ffmpeg/gstffmpegcodecmap.h: + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegdeinterlace.c: + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegenc.c: + * ext/ffmpeg/gstffmpegmux.c: + Move all non-codecmap-related methods to a new file. + We were starting to get too much unrelated code in there. This makes it + a bit easier to maintain. + +2009-04-15 22:14:09 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpeg.c: + gstffmpeg.c: Fix the description of the plugin. + +2009-04-15 22:11:33 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpeg.c: + gstffmpeg.c: Point to the new ffmpeg website (ffmpeg.org). + +2009-04-15 22:11:10 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpeg.c: + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegenc.c: + * ext/ffmpeg/gstffmpegmux.c: + The proper spelling is 'FFmpeg'. + +2009-04-15 22:04:02 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegmux.c: + gstffmpegmux: Use the AVFormat long_name in our descriptions. + This is the same behaviour we use in the demuxers. + +2009-04-15 21:56:00 +0200 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegenc.c: + Disable more fake codecs (raw audio). + +2009-04-10 00:19:50 +0200 LRN + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: copy input offsets to output buffers + Copy the incomming offsets to the outgoing buffers. + Fixes 578278. + +2009-04-04 21:19:34 +0300 Felipe Contreras + + * common: + Automatic update of common submodule + From d0ea89e to b3941ea + +2009-04-04 14:54:55 +0200 Edward Hervey + + * common: + Automatic update of common submodule + From f8b3d91 to d0ea89e + +2009-04-04 08:53:54 +0200 Branko Čibej + + * configure.ac: + ffmpeg: Fix handling of --with-ffmpeg-extra-configure + Fixes bug #577879. + +2009-03-25 12:51:55 +0100 Janin Kolenc + + * ext/ffmpeg/gstffmpegenc.c: + ffenc: Add support for I-frame request. + Add request for I-frame request using GstForceKeyUnit event. + Fixes #575709. + +2009-03-15 10:19:53 +0100 Sebastian Dröge + + * ext/ffmpeg/gstffmpegmux.c: + ffmux: Actually set caps on the srcpad instead of working with NULL caps + +2009-03-22 20:16:24 +0000 Jan Schmidt + + * configure.ac: + back to development -> 0.10.7.1 + +=== release 0.10.7 === + +2009-03-21 01:02:05 +0000 Jan Schmidt + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-ffmpeg.doap: + Release 0.10.7 + +2009-03-18 00:03:27 +0000 Jan Schmidt + + * configure.ac: + 0.10.6.4 pre-release + +2009-03-17 23:44:43 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.c: + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegenc.c: + Take into account ticks_per_frame for framerate calculation. Fixes #575759 + +2009-03-17 11:51:28 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegmux.c: + Re-enable amr muxer. It's a muxer after all. Fixes #575664 + +2009-03-13 23:52:01 +0000 Jan Schmidt + + * configure.ac: + 0.10.6.3 pre-release + +2009-03-11 13:25:40 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + gstffmpegdec: Disable vdpau decoders. Fixes #573400 + +2009-03-11 12:56:29 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.c: + * ext/libswscale/gstffmpegscale.c: + pixfmt: Stop using PIX_FMT that were marked as deprecated 3 years ago. + It still worked... until the 0.5 ffmpeg release, which made those defines unused. + See the bottom of libavutil/pixfmt.h for more details. + +2009-03-11 10:16:46 +0100 Edward Hervey + + * ffmpegrev: + ffmpegrev: bump up upstream revision to the *exact* release revision. + This is only a one-commit svn-props change.. but we might as well keep + it accurate. + +2009-03-10 21:14:21 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.c: + codecmapping: Fix caps for ATRAC3. Fixes #574663 + +2009-03-10 21:11:43 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegenc.c: + Disable exposing decoder/encoder using external library. Fixes #574746 + +2009-03-10 21:05:52 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegmux.c: + blacklist bogus demuxer/muxer/typefind. Fixes #567336 and #574814 + +2009-03-10 00:22:10 +0000 Jan Schmidt + + * configure.ac: + 0.10.6.2 pre-release + +2009-03-09 23:13:40 +0000 Jan Schmidt + + * common: + Automatic update of common submodule + From 7032163 to f8b3d91 + +2009-03-09 18:17:30 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + gstffmpegdec: Use 64bit scaling function to avoid overflows detected in some situations. + +2009-03-09 15:09:10 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegdemux.c: + demux: If the demuxer isn't initialized yet, forward serialized events without waiting. + We do this, because the demuxer is initialized in the loop function. If it's not + initialized yet, that means the loop hasn't been entered... and therefore the + PIPE GCond will never be signalled. + +2009-03-09 13:46:06 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegdemux.c: + demuxers: Blacklist push-mode for avformat demuxers which aren't reliable in push-mode. + Currently, only one is blacklisted : ffdemux_ape. This has been confirmed by + ffmpeg developers. + +2009-03-09 13:45:22 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegpipe.h: + * ext/ffmpeg/gstffmpegprotocol.c: + demuxers: Add more debugging + +2009-03-06 19:02:14 +0100 Edward Hervey + + * ffmpegrev: + ffmpegrev: and update once more for last-minute fixes to upstream release branch + +2009-03-09 10:05:04 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.c: + gstffmpegcodecmap: Add proper caps for Fraps video codec + +2009-03-08 12:06:11 +0100 Sebastian Dröge + + * common: + Automatic update of common submodule + From ffa738d to 7032163 + +2009-03-08 11:21:48 +0100 Sebastian Dröge + + * common: + Automatic update of common submodule + From 3f13e4e to ffa738d + +2009-03-07 11:47:21 +0100 Sebastian Dröge + + * common: + Automatic update of common submodule + From 3c7456b to 3f13e4e + +2009-03-07 10:47:28 +0100 Sebastian Dröge + + * common: + Automatic update of common submodule + From 57c83f2 to 3c7456b + +2009-03-06 17:49:24 +0000 Tim-Philipp Müller + + * configure.ac: + configure: require a released version of gstreamer, to avoid confusion + +2009-03-06 17:37:51 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: Make sure we provide 16 byte aligned data to ffmpeg. Fixes #572863 + We simply allocate the memory using ffmpeg's av_malloc which provides us + with properly memalign'ed data. + This avoids write-outside-of-bounds when sse/altivec code is being used. + +2009-03-06 12:47:12 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegaudioresample.c: + ffaudioresample: Add padding to output buffer. Fixes #573649 + The internal resampling functions seem to require a slightly bigger buffer + for output than what we require. Therefore we give it an extra 64bytes (although + 16 should have been enough). + +2009-03-06 11:01:55 +0000 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegdec.c: + ffmpegdec: post an error message on the bus when decoding fails + We should post a STREAM DECODE error message on the bus when we return + GST_FLOW_ERROR, otherwise the user ends up seeing an ugly internal flow + error message, which isn't very nice. + +2009-03-05 12:09:32 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + gstffmpegdec: Set the rank of the AAC decoder to NONE. + It will stay this way until the ffmpeg aac decoder can report before decoding + whether it can handle a given stream or not. + +2009-03-05 09:10:37 +0100 Damien Lespiau + + * configure.ac: + * ext/ffmpeg/Makefile.am: + Make bz2 requirement optional. Fixes #564867 + +2009-03-05 08:52:11 +0100 Jordi Mas + + * ext/ffmpeg/gstffmpegcodecmap.c: + * ext/ffmpeg/gstffmpegmux.c: + gstffmpegmux: Expose the 'preload' and 'maxdelay' properties, add dvd mux mapping. + Fixes #570975 + +2009-03-05 07:48:24 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.c: + codecmap. The VC1 decoder can also handle the Advanced Profile. + Fixes #565269 + +2009-03-04 20:58:08 +0000 Tim-Philipp Müller + + * ext/ffmpeg/gstffmpegdec.c: + ffdec: fix build + +2009-03-04 21:10:22 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + gstffmpegdec: Abort on first failure by AAC decoder. Fixes #566250. + The problem is that the ffmpeg aac decoder fails... but still accepts + the following buffers as if nothing happened. But because some things + were not properly set in the internal code, all hell breaks loose. + +2009-03-04 20:04:25 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegdec.c: + gstffmpegdec: Bring the real decoders up to GST_RANK_PRIMARY. + They have proven by now that they're more reliable than the + -bad real wrapper plugins. + +2009-03-04 12:25:34 +0100 Sebastian Dröge + + * ext/ffmpeg/gstffmpegdemux.c: + ffmpeg: Don't register the MXF typefinder, we have our own in -base + +2009-03-04 12:24:47 +0100 Sebastian Dröge + + * ext/ffmpeg/gstffmpegcodecmap.c: + ffmpeg: mxf_d10 is application/mxf too, it only specifies the used mapping + +2009-03-03 17:23:25 +0100 Edward Hervey + + * ffmpegrev: + ffmpegrev: Update to actual ffmpeg 0.5 release branch + Normally this should be the last commit before they release 0.5. + We should use this for pre-releases in order to help them squash down bugs. + +2009-03-02 12:07:32 +0100 Edward Hervey + + * ffmpegrev: + ffmpegrev: Switch to 0.5 ffmpeg release branch + +2009-02-27 09:41:24 +0100 Edward Hervey + + * ffmpegrev: + ffmpeg: Bump up to current upstream HEAD of ffmpeg and swscale + +2009-02-27 09:40:03 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.c: + * ext/ffmpeg/gstffmpegcodecmap.h: + * ext/ffmpeg/gstffmpegmux.c: + ffmpegmux: Use information from AVOutputFormat to expose more muxers. + AVOutputFormat does *NOT* contain the full list of codecs a muxer can handle, + but does contain the recommended audio and video codecs. Therefore we use that + information to expose more muxers, until AVOutputFormat contains a list of + *ALL* compatible codecs. + +2009-02-25 15:08:38 +0000 Jan Schmidt + + * common: + * configure.ac: + build: Update shave init statement for changes in common. Bump common. + +2009-02-25 11:32:50 +0000 Jan Schmidt + + * common: + Automatic update of common submodule + From 9cf8c9b to a6ce5c6 + +2009-02-22 20:04:07 +0000 Jan Schmidt + + * configure.ac: + * docs/plugins/Makefile.am: + Use shave for the build + +2009-02-22 19:44:12 +0100 Sebastian Dröge + + * ext/ffmpeg/gstffmpegcodecmap.c: + And remove unused variable + +2009-02-22 19:43:19 +0100 Sebastian Dröge + + * ext/ffmpeg/gstffmpegcodecmap.c: + Remove unreachable code + +2009-02-22 19:40:51 +0100 Sebastian Dröge + + * ext/ffmpeg/gstffmpegcodecmap.c: + Cast const GstBuffer * to GstBuffer * before unreffing + +2009-02-22 16:00:40 +0000 Jan Schmidt + + * common: + Automatic update of common submodule + From 5d7c9cc to 9cf8c9b + +2009-02-22 14:30:01 +0100 Edward Hervey + + * ffmpegrev: + ffmpegrev: Update upstream revisions used + +2009-02-21 11:14:01 -0800 David Schleef + + * common: + Automatic update of common submodule + From 80c627d to 5d7c9cc + +2009-02-18 19:06:52 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.c: + codecmap: map more codecs + +2009-02-18 19:06:34 +0100 Edward Hervey + + * ffmpegrev: + ffmpegrev: update upstream ffmpeg/libswscale revisions to use. + +2009-02-10 12:34:36 +0100 Edward Hervey + + * gst-libs/ext/Makefile.am: + Fix 'make distcheck'. + +2009-02-10 12:33:57 +0100 Edward Hervey + + * ffmpegrev: + Bump upstream ffmpeg revision to use. + We should update this gradually as ffmpeg will be releasing within 2 weeks. + +2009-02-09 12:03:42 +0100 Edward Hervey + + * common: + Bump revision to use for common submodule. + +2009-02-05 17:19:20 +0100 Sebastian Dröge + + * ext/ffmpeg/gstffmpegdemux.c: + Don't register ASS/SSA typefinder + +2009-01-30 22:29:43 +0200 Stefan Kost + + * docs/plugins/gst-ffmpeg-plugins-docs.sgml: + Add releaseinfo with online url. + +2009-01-30 09:05:51 +0100 Edward Hervey + + * autogen.sh: + Fix previous commit, wasn't actually setting up a symbolic link + +2009-01-30 08:57:53 +0100 Edward Hervey + + * autogen.sh: + * common: + Use a symbolic link for the pre-commit client-side hook + +2009-01-29 07:48:19 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegcodecmap.c: + * ext/ffmpeg/gstffmpegcodecmap.h: + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegenc.c: + Only use valid SampleFormat for audio encoders/decoders. + For a given AVCodec, when the sample_fmts field is non-NULL, that means that + that codec can only handle a specific set of SampleFormat. + With this patch, we now look for its presence and create the proper pad template + caps. + Fixes #569441 + +2009-01-29 07:44:30 +0100 Edward Hervey + + * .gitignore: + add more files to ignore + +2009-01-27 21:10:53 +0100 Mark Nauwelaerts + + * gst-libs/ext/Makefile.am: + Do not corrupt ffmpeg build checkout during make dist. + Use a separate helper directory to build ffmpeg distributables + rather than replacing and corrupting (no more .svn dirs) + the existing checkout used for standard make/building. + +2009-01-27 19:35:19 +0100 Mark Nauwelaerts + + * Makefile.am: + * autogen.sh: + * configure.ac: + * ffmpegrev: + * gst-libs/ext/Makefile.am: + Distribute intended ffmpeg revision(s) and include more files. + Bring make dist in sync with autogen.sh's retrieval of ffmpeg + checkout, which also includes an update to selected revision + of libswscale external. Also include *.S files (needed for + e.g. ARM build). + +2009-01-27 15:59:25 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegdemux.c: + Differentiate between "no more data" from "IO failure" when reading. + Where no more data is available, av_read_frame just returns an error code + instead of making the difference between "I am not returning anything because + we finished reading" and "I am not returning anything because the underlying + read failed". + We differentiate between the two by looking at whether we outputted any + data previously or not. + +2009-01-27 11:39:18 +0100 Edward Hervey + + * ext/ffmpeg/Makefile.am: + * ext/ffmpeg/gstffmpeg.c: + * ext/ffmpeg/gstffmpeg.h: + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegmux.c: + * ext/ffmpeg/gstffmpegpipe.h: + * ext/ffmpeg/gstffmpegprotocol.c: + Implement push-based support for demuxers + Fixes #392534 + +2009-01-26 18:21:50 +0100 Edward Hervey + + * ext/ffmpeg/gstffmpegprotocol.c: + Add support for AVSEEK_SIZE in seek handler. This should make demuxers work again (sigh) + +2009-01-24 17:59:11 +0100 Sebastian Dröge + + * ext/ffmpeg/gstffmpegcodecmap.c: + * ext/ffmpeg/gstffmpegdec.c: + Add MP1 and ADPCM IMA/ISS variant + +2009-01-24 17:58:13 +0100 Sebastian Dröge + + * ffmpegrev: + Update ffmpeg SVN revision to r16753 + +2009-01-22 18:21:08 +0200 Stefan Kost + + * common: + Update common snapshot. + +2009-01-22 13:45:16 +0100 Sebastian Dröge + + * common: + Fix pre-commit hook + +2009-01-22 06:16:14 +0100 Edward Hervey + + * autogen.sh: + * common: + Install and use pre-commit indentation hook from common + +2009-01-21 04:34:37 +0100 Edward Hervey + + * autogen.sh: + autogen.sh : Use git submodule + +2009-01-05 18:08:20 +0000 Dejan Sakelšak + + ext/ffmpeg/gstffmpegcodecmap.c: Narrow down the allowed channels and sample rates for AMR. + Original commit message from CVS: + Patch by: Dejan Sakelšak + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ff_aud_caps_new): + Narrow down the allowed channels and sample rates for AMR. + Fixes #566647. + +2009-01-05 11:15:44 +0000 Sebastian Dröge + + ffmpegrev: Update ffmpeg SVN revision to r16434 and update to the corresponding swscale snapshot. This new ffmpeg ver... + Original commit message from CVS: + * ffmpegrev: + Update ffmpeg SVN revision to r16434 and update to the corresponding + swscale snapshot. This new ffmpeg version has initial support for + metadata (i.e. tags) but we don't use them yet (see bug #566605). + +2008-12-30 15:59:58 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegcodecmap.c: Add mapping for IMC and MLP audio codecs. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps): + Add mapping for IMC and MLP audio codecs. + +2008-12-30 09:04:30 +0000 Sebastian Dröge + + ffmpegrev: Updating ffmpeg SVN revision to r16396 and update to the corresponding swscale snapshot. This update featu... + Original commit message from CVS: + * ffmpegrev: + Updating ffmpeg SVN revision to r16396 and update to the corresponding + swscale snapshot. This update features a lot of bugfixes, some of them + being security related. + +2008-12-24 08:09:53 +0000 Sebastian Dröge + + ffmpegrev: Updating ffmpeg SVN revision to r16304 and update to the corresponding swscale snapshot. + Original commit message from CVS: + * ffmpegrev: + Updating ffmpeg SVN revision to r16304 and update to the corresponding + swscale snapshot. + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_codecid): + Enable the Real Video 3.0 decoder. + +2008-12-17 12:05:12 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegcodecmap.*: Add mapping for EAC3 and QCELP audio codecs. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ff_aud_caps_new), + (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_smpfmt_to_caps), + (gst_ffmpeg_codectype_to_caps), (gst_ffmpeg_caps_to_smpfmt), + (gst_ffmpeg_caps_to_codecid), (av_smp_format_depth): + * ext/ffmpeg/gstffmpegcodecmap.h: + Add mapping for EAC3 and QCELP audio codecs. + Add conversion functions for all available audo SampleFormat. + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open), + (gst_ffmpegdec_setcaps), (gst_ffmpegdec_negotiate), + (clip_audio_buffer), (gst_ffmpegdec_audio_frame): + Remove assumptions that we can only handle stereo 16bit signed integer + audio, and store the depth locally. + +2008-12-16 16:21:28 +0000 Stefan Kost + + configure.ac: Require core cvs. + Original commit message from CVS: + * configure.ac: + Require core cvs. + +2008-12-16 15:58:05 +0000 Stefan Kost + + ext/ffmpeg/gstffmpegmux.c: Renaming tagsetter_flush to _reset_tags(). + Original commit message from CVS: + * ext/ffmpeg/gstffmpegmux.c: + Renaming tagsetter_flush to _reset_tags(). + +2008-12-16 14:24:05 +0000 Stefan Kost + + Fix tag merging. Use tagsetter and not internal copies. Depend on + Original commit message from CVS: + * configure.ac: + * ext/ffmpeg/gstffmpegmux.c: + Fix tag merging. Use tagsetter and not internal copies. Depend on + CVS core and use new API to flush. + +2008-12-13 08:01:45 +0000 Sebastian Dröge + + ext/ffmpeg/gstffmpegcodecmap.c: If no channel layout is provided don't set a NONE layout in the case of >2 channels b... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ff_channel_layout_to_gst): + If no channel layout is provided don't set a NONE layout in the + case of >2 channels but instead let audioconvert add some default + layout. + +2008-12-13 07:55:40 +0000 Sebastian Dröge + + ext/ffmpeg/: Set the channel layout if it's exposed by the decoder. + Original commit message from CVS: + * ext/ffmpeg/Makefile.am: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ff_channel_layout_to_gst), + (gst_ff_aud_caps_new): + * ext/ffmpeg/gstffmpegcodecmap.h: + Set the channel layout if it's exposed by the decoder. + Fixes bug #548002. + +2008-12-13 06:51:26 +0000 Sebastian Dröge + + ffmpegrev: Update ffmpeg revision to 16086 and update to the corresponding swscale revision. + Original commit message from CVS: + * ffmpegrev: + Update ffmpeg revision to 16086 and update to the corresponding + swscale revision. + +2008-12-05 09:30:45 +0000 Sebastian Dröge + + Makefile.am: Add gst-libs to DIST_SUBDIRS to make sure that it's always disted. + Original commit message from CVS: + * Makefile.am: + Add gst-libs to DIST_SUBDIRS to make sure that it's always + disted. + * autogen.sh: + Remove -I m4 from autogen.sh, it's not disted and used anymore and + thus makes autogen.sh fail if run on a tarball. Fixes bug #563305. + +2008-12-04 20:12:41 +0000 Sebastian Dröge + + configure.ac: Apparently AC_CONFIG_MACRO_DIR breaks when using more than one macro directory, reverting last change. + Original commit message from CVS: + * configure.ac: + Apparently AC_CONFIG_MACRO_DIR breaks when using more + than one macro directory, reverting last change. + +2008-12-04 19:51:46 +0000 Sebastian Dröge + + configure.ac: Set AC_CONFIG_MACRO_DIR to common/m4 to point autoconf to our M4 macros. + Original commit message from CVS: + * configure.ac: + Set AC_CONFIG_MACRO_DIR to common/m4 to point autoconf to + our M4 macros. + +2008-12-04 07:41:16 +0000 Sebastian Dröge + + ffmpegrev: Update ffmpeg rev to 16001 and update the date for the corresponding swscale checkout. + Original commit message from CVS: + * ffmpegrev: + Update ffmpeg rev to 16001 and update the date for the corresponding + swscale checkout. + +2008-12-03 17:43:45 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegdec.c: Fix check for memory to free. + Original commit message from CVS: + reviewed by: Edward Hervey + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_finalize): + Fix check for memory to free. + Fixes #560644 + +2008-11-27 23:39:51 +0000 Jan Schmidt + + configure.ac: Back to development -> 0.10.6.1 + Original commit message from CVS: + * configure.ac: + Back to development -> 0.10.6.1 + +=== release 0.10.6 === + +2008-11-27 23:37:42 +0000 Jan Schmidt + + * ChangeLog: + * NEWS: + * RELEASE: + * common: + * configure.ac: + * gst-ffmpeg.doap: + Release 0.10.6 + Original commit message from CVS: + Release 0.10.6 + +2008-11-19 14:21:06 +0000 Jan Schmidt + + * ChangeLog: + Unfreeze gst-ffmpeg pending resolution of #559467 and an out-of-cycle release attempt next month perhaps. + Original commit message from CVS: + 2008-11-19 Jan Schmidt + Unfreeze gst-ffmpeg pending resolution of #559467 and an out-of-cycle + release attempt next month perhaps. + +2008-11-12 23:22:43 +0000 Jan Schmidt + + configure.ac: 0.10.5.3 pre-release + Original commit message from CVS: + * configure.ac: + 0.10.5.3 pre-release + +2008-11-11 17:18:46 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegmux.c: Copy the codec aspect ratio to the stream, ffmpeg expects them to be the same. Fixes #560305. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_setcaps): + Copy the codec aspect ratio to the stream, ffmpeg expects them to be the + same. Fixes #560305. + +2008-11-10 12:37:46 +0000 Sebastian Dröge + + configure.ac: Fix typo: libswcale -> libswscale for the pkg-config check. + Original commit message from CVS: + * configure.ac: + Fix typo: libswcale -> libswscale for the pkg-config check. + * ext/libswscale/gstffmpegscale.c: + Fix include path, newer ffmpeg installs the headers for all + libraries into separate directories. Fixes bug #560137. + +2008-11-07 11:43:42 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegcodecmap.c: Initialize some more variables. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_avpicture_fill): + Initialize some more variables. + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps), + (alloc_output_buffer): + Disable direct rendering for h264, some functions just seem to read from + invalid memory. + +2008-11-06 11:47:40 +0000 Wim Taymans + + ext/ffmpeg/: Add G_PARAM_STATIC_STRINGS to avoid numerous strcpy calls. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_cfg_init): + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init), + (gst_ffmpegdec_init), (gst_ffmpegdec_setcaps), + (gst_ffmpegdec_get_buffer), (get_output_buffer), + (gst_ffmpegdec_set_property), (gst_ffmpegdec_get_property): + Add G_PARAM_STATIC_STRINGS to avoid numerous strcpy calls. + +2008-11-05 17:05:46 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdec.c: Enable direct rendering. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps), + (gst_ffmpegdec_get_buffer), (get_output_buffer): + Enable direct rendering. + Add some more debug info about image strides. + +2008-11-05 12:34:58 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegcodecmap.c: Don't convert caps to strings when we don't have debugging enabled. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_pixfmt_to_caps), + (gst_ffmpeg_smpfmt_to_caps), (gst_ffmpeg_caps_to_codecid), + (gst_ffmpeg_avpicture_fill): + Don't convert caps to strings when we don't have debugging enabled. + +2008-11-04 18:53:01 +0000 Mark Nauwelaerts + + ext/ffmpeg/gstffmpegcodecmap.c: Fix regression in template caps limitations; expose more than 2 channels in both src ... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ff_aud_caps_new): + Fix regression in template caps limitations; + expose more than 2 channels in both src and sink template + if so supported. + +2008-11-04 12:49:40 +0000 Stefan Kost + + ext/: Don't install static libs for plugins. Fixes #550851 for -ffmpeg. + Original commit message from CVS: + * ext/ffmpeg/Makefile.am: + * ext/libpostproc/Makefile.am: + * ext/libswscale/Makefile.am: + Don't install static libs for plugins. Fixes #550851 for -ffmpeg. + +2008-10-30 12:05:45 +0000 Alexis Ballier + + Update ffmpeg/swscale snapshot to the latest revision and adjust to API changes. Fixes bug #556405. + Original commit message from CVS: + Based on a patch by: Alexis Ballier + * configure.ac: + * ext/ffmpeg/gstffmpeg.c: + * ext/ffmpeg/gstffmpeg.h: + * ext/ffmpeg/gstffmpegaudioresample.c: + * ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_flags_get_type), + (gst_ffmpeg_cfg_init): + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), + (gst_ffmpeg_caps_to_pixfmt), (gst_ffmpeg_caps_with_codecid): + * ext/ffmpeg/gstffmpegcodecmap.h: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps), + (gst_ffmpegdec_register): + * ext/ffmpeg/gstffmpegdeinterlace.c: + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps), + (gst_ffmpegenc_setcaps), (gst_ffmpegenc_register): + * ext/ffmpeg/gstffmpegmux.c: + * ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_seek): + * ext/libpostproc/gstpostproc.c: + * ffmpegrev: + Update ffmpeg/swscale snapshot to the latest revision and adjust + to API changes. Fixes bug #556405. + Require libavutil for swscale too when building with an external + ffmpeg and fix includes for external ffmpeg. + +2008-10-15 11:28:05 +0000 Robin Stocker + + ext/ffmpeg/gstffmpegdec.c: If both, the decoder and the demuxer, provide a non-1:1 PAR prefer the one of the demuxer ... + Original commit message from CVS: + Patch by: Robin Stocker + * ext/ffmpeg/gstffmpegdec.c: + (gst_ffmpegdec_add_pixel_aspect_ratio): + If both, the decoder and the demuxer, provide a non-1:1 PAR + prefer the one of the demuxer instead of the one of the decoder. + Fixes bug #556336. + +2008-10-08 14:20:37 +0000 Mark Nauwelaerts + + ext/ffmpeg/: Add some more width/height/channels/rate limitations to caps to cater for more automagic negotiation. A... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ff_vid_caps_new), + (gst_ff_aud_caps_new), (gst_ffmpeg_codecid_to_caps), + (gst_ffmpeg_codectype_to_caps): + * ext/ffmpeg/gstffmpegcodecmap.h: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_negotiate), + (gst_ffmpegdec_register): + * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps), + (gst_ffmpegenc_register): + Add some more width/height/channels/rate limitations to caps + to cater for more automagic negotiation. Addresses #532422. + +2008-10-08 13:11:54 +0000 Mark Nauwelaerts + + Rewrite ffvideoscale using libswscale and put into a separate plugin. + Original commit message from CVS: + * configure.ac: + * ext/Makefile.am: + * ext/libswscale/Makefile.am: + * ext/libswscale/gstffmpegscale.c: + (gst_ffmpegscale_method_get_type), (gst_ffmpegscale_base_init), + (gst_ffmpegscale_class_init), (gst_ffmpegscale_init), + (gst_ffmpegscale_reset), (gst_ffmpegscale_finalize), + (gst_ffmpegscale_caps_remove_format_info), + (gst_ffmpegscale_transform_caps), (gst_ffmpegscale_fixate_caps), + (gst_ffmpegscale_get_unit_size), (gst_ffmpeg_caps_to_pixfmt), + (gst_ffmpegscale_fill_info), (gst_ffmpegscale_set_caps), + (gst_ffmpegscale_transform), (gst_ffmpegscale_handle_src_event), + (gst_ffmpegscale_stop), (gst_ffmpegscale_set_property), + (gst_ffmpegscale_get_property), (gst_ffmpeg_log_callback), + (plugin_init): + Rewrite ffvideoscale using libswscale and put into a separate plugin. + Fixes #504056. + +2008-10-08 11:24:26 +0000 Damien Lespiau + + Fix cross compilation and add support for compilation with mingw32. + Original commit message from CVS: + Patch by: Damien Lespiau + * configure.ac: + * ext/ffmpeg/Makefile.am: + Fix cross compilation and add support for compilation with mingw32. + Fixes bug #542216. + +2008-09-06 09:55:12 +0000 Stefan Kost + + configure.ac: Fix type in error messgae. + Original commit message from CVS: + * configure.ac: + Fix type in error messgae. + * tests/check/.cvsignore: + Ignore more files. + +2008-09-04 15:50:03 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegcodecmap.c: Add some debug that revealed that the escape code was disabled... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (nal_escape), (copy_config), + (gst_ffmpeg_caps_with_codecid): + Add some debug that revealed that the escape code was disabled... + +2008-09-04 14:08:50 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdec.c: If we have a parser and we did not consume any of the bytes of a new buffer, make sure we ... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame), + (gst_ffmpegdec_chain): + If we have a parser and we did not consume any of the bytes of a new + buffer, make sure we submit the buffer again with its original timestamp + instead of a -1 timestamp. Fixes various h264 cases with reordered + frames. + If we have a discont and a timestamp but the first buffer after the + discont did not produce any data, make sure we set the timestamp on the + next buffer instead. Fixes initial timestamp on realaudio in many cases. + +2008-09-04 13:54:58 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegcodecmap.c: Escape the codec_data for h264 before we put it in the extra_data because ffmpeg expe... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (nal_escape), (copy_config), + (gst_ffmpeg_caps_with_codecid): + Escape the codec_data for h264 before we put it in the extra_data + because ffmpeg expects it escaped. + +2008-09-04 13:43:44 +0000 Edward Hervey + + configure.ac: And back to development we go... + Original commit message from CVS: + * configure.ac: + And back to development we go... + +=== release 0.10.5 === + +2008-09-03 14:52:45 +0000 Edward Hervey + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + releasing 0.10.5, "This little piggy went to market" + Original commit message from CVS: + releasing 0.10.5, "This little piggy went to market" + +2008-09-03 14:06:45 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegcodecmap.c: Give the TrueSpeech audio codec a proper caps. This is now synchronized with libriff ... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps): + Give the TrueSpeech audio codec a proper caps. This is now synchronized + with libriff in -base cvs. + +2008-09-01 07:12:44 +0000 Tim-Philipp Müller + + * ChangeLog: + ChangeLog surgery: fix garbled UTF-8 + Original commit message from CVS: + ChangeLog surgery: fix garbled UTF-8 + +2008-08-31 11:51:23 +0000 Edward Hervey + + configure.ac: 0.10.4.3 pre-release + Original commit message from CVS: + * configure.ac: + 0.10.4.3 pre-release + +2008-08-31 11:49:06 +0000 Edward Hervey + + ffmpegrev: Adjust time of swscale checkout to ffmpeg revision being used. + Original commit message from CVS: + * ffmpegrev: + Adjust time of swscale checkout to ffmpeg revision being used. + * gst-libs/ext/Makefile.am: + Fix make distcheck + +2008-08-29 09:59:29 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegdec.c: Finalizing a decoder that was never used shouldn't trigger an assertion. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_finalize), + (gst_ffmpegdec_get_buffer), (gst_ffmpegdec_frame): + Finalizing a decoder that was never used shouldn't trigger an assertion. + Add debug messages for the two other g_assert_if_reached(). + +2008-08-29 09:53:29 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegcodecmap.c: Instead of marking all audio decoders/encoders as accepting up to 6 channels, we whit... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ff_aud_caps_new): + Instead of marking all audio decoders/encoders as accepting up to 6 + channels, we white-list those for which we are sure they can handle + those 6 channels. + Fixes #549799 + +2008-08-29 00:27:28 +0000 Michael Smith + + ext/ffmpeg/gstffmpegdemux.c: gst_pad_template_new() takes ownership of caps; ref them beforehand since we want to kee... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdemux.c: + gst_pad_template_new() takes ownership of caps; ref them beforehand + since we want to keep using them afterwards. + +2008-08-28 18:03:26 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegcodecmap.c: ffmpeg audio decoders can now do up to 6 channels... and actually expose it properly.... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ff_aud_caps_new): + ffmpeg audio decoders can now do up to 6 channels... and actually + expose it properly. Don't expect any channel mapping though. + +2008-08-28 08:45:48 +0000 Edward Hervey + + configure.ac: Slim down the build of 'prefered' ffmpeg snapshot to disable compilation of things we don't need. + Original commit message from CVS: + * configure.ac: + Slim down the build of 'prefered' ffmpeg snapshot to disable compilation + of things we don't need. + * ffmpegrev: + Update our 'prefered' ffmpeg snapshot to rev 15004. This has the fix for a nasty + wma2 decoding regression. + +2008-08-18 21:30:05 +0000 Thijs Vermeir + + configure.ac: Check if bz2 is installed (#548304) + Original commit message from CVS: + * configure.ac: + Check if bz2 is installed (#548304) + +2008-08-12 09:26:00 +0000 Jan Schmidt + + configure.ac: 0.10.4.2 pre-release. + Original commit message from CVS: + * configure.ac: + 0.10.4.2 pre-release. + * docs/Makefile.am: + Disable recursion into the plugins docs directory - there's no + docs in there anyway, and it breaks distcheck. + +2008-08-01 18:37:02 +0000 Mark Nauwelaerts + + ext/ffmpeg/: Latest ffmpeg revision's avcodec_close frees more; use safer coding to prevent double free and other rel... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_cfg_fill_context): + * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps): + Latest ffmpeg revision's avcodec_close frees more; use safer coding to + prevent double free and other related segfaults. + +2008-07-28 11:50:56 +0000 Mark Nauwelaerts + + ext/ffmpeg/gstffmpegcodecmap.c: Recognize video/x-raw-gray and map to proper pixfmt. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_pixfmt): + Recognize video/x-raw-gray and map to proper pixfmt. + * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_setcaps), + (gst_ffmpegenc_chain_video): + Fail negotiation if pixfmt cannot be determined from input caps. + Prevent segfault accessing non-existant coded_frame, provide some + warning debug output instead. + +2008-07-23 13:33:32 +0000 Edward Hervey + + ffmpegrev: Updating to today's ffmpeg upstream revision, mostly to fix a security issue. + Original commit message from CVS: + * ffmpegrev: + Updating to today's ffmpeg upstream revision, mostly to fix a security + issue. + +2008-07-11 17:54:26 +0000 Mark Nauwelaerts + + ext/ffmpeg/gstffmpegcodecmap.c: Prevent likely segfault on EMPTY provided caps. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_with_codecid): + Prevent likely segfault on EMPTY provided caps. + +2008-07-06 21:06:45 +0000 Aurelien Grimaud + + ext/ffmpeg/gstffmpegmux.c: Properly convert buffer duration to an ffmpeg packet duration. + Original commit message from CVS: + Based on a patch by: Aurelien Grimaud + * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_collected): + Properly convert buffer duration to an ffmpeg packet duration. + Fixes #371939. + +2008-07-01 09:39:19 +0000 Jan Schmidt + + ext/ffmpeg/gstffmpegdec.c: If ffmpeg reports 0 bytes of input data consumed, don't break out unless it also didn't pr... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: + If ffmpeg reports 0 bytes of input data consumed, don't break out + unless it also didn't produce any output. Fixes the audio in #377400 + and doesn't break anything else I've tested. + Enable the mp3 parser, and set mp3 and mpeg2-video decoding autoplug + at marginal level, as they seem to both work fine now. + +2008-06-13 17:59:43 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegcodecmap.c: MP4 does not allow H263 and AMR. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: + (gst_ffmpeg_formatid_get_codecids): + MP4 does not allow H263 and AMR. + +2008-06-13 17:08:31 +0000 Edward Hervey + + * ChangeLog: + ChangeLog surgery, forgot to mention the addition of new codecs + Original commit message from CVS: + ChangeLog surgery, forgot to mention the addition of new codecs + +2008-06-13 17:06:55 +0000 Edward Hervey + + ext/ffmpeg/: FFMpeg now provides proper long_name for AVCodec, remove our internal mapping and directly use upstream ... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), + (gst_ffmpeg_get_codecid_longname): + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_base_init), + (gst_ffmpegdec_register): + * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_base_init), + (gst_ffmpegenc_register): + * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_register): + FFMpeg now provides proper long_name for AVCodec, remove our + internal mapping and directly use upstream naming. + Improve debugging messages. + Remove g_warning() which isn't really needed. + +2008-06-13 15:23:08 +0000 Edward Hervey + + Bump upstream ffmpeg revision to todays (rev 13766). ffmpeg now requires libbz2. + Original commit message from CVS: + * ext/ffmpeg/Makefile.am: + * ffmpegrev: + Bump upstream ffmpeg revision to todays (rev 13766). + ffmpeg now requires libbz2. + +2008-05-26 10:25:59 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdemux.c: Set flv demuxer to rank NONE, we have a better, working demuxer in -bad and we don't wan... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): + Set flv demuxer to rank NONE, we have a better, working demuxer in -bad + and we don't want any bug reports about this one. Fixes #534783. + +2008-05-26 09:19:53 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegcodecmap.c: Add more specific width/height for DV video so that it negotiates more automatically. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ff_vid_caps_new), + (gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_with_codecid): + Add more specific width/height for DV video so that it negotiates more + automatically. + Try to avoid accessing NULL caps. + * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps): + Add some more debuggin to the caps generation. + +2008-05-26 07:45:35 +0000 Sebastian Dröge + + Makefile.am: Dist autogen.sh. Fixes bug #534371. + Original commit message from CVS: + * Makefile.am: + Dist autogen.sh. Fixes bug #534371. + +2008-05-26 07:43:00 +0000 Sebastian Dröge + + ext/ffmpeg/gstffmpegdec.c: Explicitely disable the AAC decoders as they don't work very well and we have better alter... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register): + Explicitely disable the AAC decoders as they don't work very well + and we have better alternatives. Fixes bug #534392. + +2008-05-26 07:39:19 +0000 Sebastian Dröge + + Use av_picture_copy() instead of libswscale to copy pictures. This removes the swscale dependency and is faster. Fixe... + Original commit message from CVS: + Patch by: + Hans de Goede + * configure.ac: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_avpicture_fill): + * ext/ffmpeg/gstffmpegcodecmap.h: + * ext/ffmpeg/gstffmpegdec.c: (get_output_buffer): + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop): + * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_collected): + Use av_picture_copy() instead of libswscale to copy pictures. This + removes the swscale dependency and is faster. Fixes bug #534390. + +2008-05-25 21:55:24 +0000 Tim-Philipp Müller + + ext/ffmpeg/gstffmpegdemux.c: Explicitly disable 'raw' mpeg-ts typefinder as well; better debug logging for the gst-ff... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_type_find), + (gst_ffmpegdemux_register): + Explicitly disable 'raw' mpeg-ts typefinder as well; better debug logging + for the gst-ffmpeg typefinders. (#533708). + +2008-05-25 21:48:39 +0000 Tim-Philipp Müller + + ext/ffmpeg/gstffmpegdemux.c: Implement SEEKING query, so players such as totem can query seekability. Fix a comment t... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_src_query_list), + (gst_ffmpegdemux_src_query), (gst_ffmpegdemux_get_stream), + (gst_ffmpegdemux_open): + Implement SEEKING query, so players such as totem can query + seekability. Fix a comment typo or two. + +2008-05-25 21:24:23 +0000 Jan Schmidt + + configure.ac: Back to development -> 0.10.4.1 + Original commit message from CVS: + * configure.ac: + Back to development -> 0.10.4.1 + +=== release 0.10.4 === + +2008-05-21 23:08:12 +0000 Jan Schmidt + + * ChangeLog: + * NEWS: + * RELEASE: + * common: + * configure.ac: + * docs/plugins/gst-ffmpeg-plugins.args: + * docs/plugins/gst-ffmpeg-plugins.hierarchy: + * docs/plugins/gst-ffmpeg-plugins.prerequisites: + * docs/plugins/inspect/plugin-ffmpeg.xml: + * gst-ffmpeg.doap: + Release 0.10.4 + Original commit message from CVS: + Release 0.10.4 + +2008-05-20 11:56:51 +0000 Jan Schmidt + + configure.ac: 0.10.3.3 pre-release + Original commit message from CVS: + * configure.ac: + 0.10.3.3 pre-release + +2008-05-13 15:07:25 +0000 Sebastian Dröge + + Fix build with (Debian's) system ffmpeg. Fixes bug #532803. + Original commit message from CVS: + * configure.ac: + * ext/ffmpeg/gstffmpegcodecmap.c: + * ext/ffmpeg/gstffmpegdemux.c: + * ext/libpostproc/gstpostproc.c: + Fix build with (Debian's) system ffmpeg. Fixes bug #532803. + +2008-05-12 14:28:58 +0000 Edward Hervey + + configure.ac: 0.10.3.2 pre-release + Original commit message from CVS: + * configure.ac: + 0.10.3.2 pre-release + +2008-05-12 14:08:49 +0000 Edward Hervey + + docs/plugins/: Update docs + Original commit message from CVS: + * docs/plugins/gst-ffmpeg-plugins.args: + * docs/plugins/gst-ffmpeg-plugins.hierarchy: + * docs/plugins/gst-ffmpeg-plugins.interfaces: + * docs/plugins/gst-ffmpeg-plugins.prerequisites: + * docs/plugins/inspect/plugin-ffmpeg.xml: + Update docs + +2008-05-12 13:02:41 +0000 Edward Hervey + + gst-libs/ext/Makefile.am: More fixes for make dist + Original commit message from CVS: + * gst-libs/ext/Makefile.am: + More fixes for make dist + +2008-05-08 16:06:12 +0000 Edward Hervey + + ffmpegrev: Update to today's upstream ffmpeg. No visible regressions. + Original commit message from CVS: + * ffmpegrev: + Update to today's upstream ffmpeg. No visible regressions. + +2008-05-08 16:04:32 +0000 Edward Hervey + + More fixes for make dist. + Original commit message from CVS: + * configure.ac: + * gst-libs/ext/Makefile.am: + More fixes for make dist. + +2008-05-08 13:45:14 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegcodecmap.c: Replace usage of img_convert (deprecated) by sws_scale. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_img_convert): + Replace usage of img_convert (deprecated) by sws_scale. + Fixes #529015 + +2008-05-08 13:40:12 +0000 Edward Hervey + + configure.ac: Fix doc-building and make dist. + Original commit message from CVS: + * configure.ac: + Fix doc-building and make dist. + +2008-05-08 13:17:20 +0000 Edward Hervey + + gst-libs/ext/Makefile.am: Don't copy file which is no longer present. + Original commit message from CVS: + * gst-libs/ext/Makefile.am: + Don't copy file which is no longer present. + +2008-05-08 11:15:52 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegaudioresample.c: small gst-indent run. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegaudioresample.c: + (gst_ffmpegaudioresample_class_init), + (gst_ffmpegaudioresample_init), + (gst_ffmpegaudioresample_transform_caps), + (gst_ffmpegaudioresample_transform_size), + (gst_ffmpegaudioresample_get_unit_size), + (gst_ffmpegaudioresample_set_caps), + (gst_ffmpegaudioresample_transform): + small gst-indent run. + +2008-05-08 09:18:45 +0000 Edward Hervey + + gst-libs/ext/Makefile.am: Use 'make clean' and not 'make dist-clean' for local cleanups. + Original commit message from CVS: + * gst-libs/ext/Makefile.am: + Use 'make clean' and not 'make dist-clean' for local cleanups. + Fixes #519235 + +2008-05-07 10:15:53 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegdec.c: Previous commit in fact broke playback for standard wmv3. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps), + (gst_ffmpegdec_register): + Previous commit in fact broke playback for standard wmv3. + Instead make both ffdec_vc1 and ffdec_wmv3 accept any wmv3 variant and + figure out the proper codecid when opening the ffmpeg decoder. + +2008-05-07 09:47:57 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegdec.c: Bump the priority of VC1 decoder so that it goes before the WMV3 decoder. This allows prop... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps), + (gst_ffmpegdec_video_frame), (gst_ffmpegdec_register): + Bump the priority of VC1 decoder so that it goes before the WMV3 + decoder. This allows proper auto-pluggin with decodebin/playbin. + Fixes #531857 + +2008-05-06 14:31:22 +0000 Gabriel Bouvigne + + ext/libpostproc/gstpostproc.c: Support for non-I420 colorspaces in postproc + Original commit message from CVS: + Patch by: Gabriel Bouvigne + * ext/libpostproc/gstpostproc.c: + Support for non-I420 colorspaces in postproc + Fixes #496127 + +2008-04-21 12:24:15 +0000 Edward Hervey + + * ChangeLog: + ChangeLog surgery, forgot to mention which bug it fixed + Original commit message from CVS: + ChangeLog surgery, forgot to mention which bug it fixed + +2008-04-21 12:17:33 +0000 Dejan Sakelšak + + autogen.sh: Check for Subversion presence. + Original commit message from CVS: + Patch by: Dejan Sakelšak + * autogen.sh: + Check for Subversion presence. + +2008-04-19 20:27:25 +0000 Sebastian Dröge + + ext/ffmpeg/: Add support for MusePack StreamVersion 7 and disable the StreamVersion 8 typefinder. Fixes bug #510745. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), + (gst_ffmpeg_formatid_to_caps), (gst_ffmpeg_caps_to_codecid), + (gst_ffmpeg_get_codecid_longname): + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): + Add support for MusePack StreamVersion 7 and disable the StreamVersion + 8 typefinder. Fixes bug #510745. + +2008-04-19 19:43:54 +0000 Sebastian Dröge + + ext/ffmpeg/: Add support for Monkey's Audio (APE). Fixes bug #518033. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), + (gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_formatid_to_caps), + (gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_get_codecid_longname): + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): + Add support for Monkey's Audio (APE). Fixes bug #518033. + +2008-04-15 10:17:15 +0000 Andy Wingo + + configure.ac (FFMPEG_SOURCE): Enable PIC code using what ffmpeg wants us to tell it, --enable-shared. Works for me on... + Original commit message from CVS: + 2008-04-15 Andy Wingo + * configure.ac (FFMPEG_SOURCE): Enable PIC code using what ffmpeg + wants us to tell it, --enable-shared. Works for me on mac os 10.5 + and on x86-64 rawhide. + +2008-04-15 10:02:40 +0000 Andy Wingo + + * ext/libpostproc/gstpostproc.c: + Revert my patch, it was the badness. + Original commit message from CVS: + (gst_post_proc_transform_ip): Revert my patch, it was the badness. + +2008-04-15 09:58:02 +0000 Andy Wingo + + * ChangeLog: + Revert my patch, it was the badness. + Original commit message from CVS: + (gst_post_proc_transform_ip): Revert my patch, it was the badness. + +2008-04-15 09:11:52 +0000 Andy Wingo + + ext/libpostproc/gstpostproc.c (gst_post_proc_transform_ip): Fix some mistyping when calling pp_postprocess. + Original commit message from CVS: + 2008-04-15 Andy Wingo + * ext/libpostproc/gstpostproc.c (gst_post_proc_transform_ip): Fix + some mistyping when calling pp_postprocess. + +2008-04-14 16:14:58 +0000 Andy Wingo + + Because ffmpeg checks out libswscale via an svn:externals, checking out an old ffmpeg does not check out a correspond... + Original commit message from CVS: + 2008-04-14 Andy Wingo + * autogen.sh: + * ffmpegrev (FFMPEG_EXTERNALS_UPDATE): Because ffmpeg checks out + libswscale via an svn:externals, checking out an old ffmpeg does + not check out a corresponding libswscale. Keep the swscale + checkout manually synchronized, then. Update this when you update + FFMPEG_REVISION. + +2008-04-06 08:59:49 +0000 Damien Lespiau + + configure.ac: Actually build dlls when cross-compiling with mingw32. + Original commit message from CVS: + Patch by: Damien Lespiau + * configure.ac: + Actually build dlls when cross-compiling with mingw32. + Fixes bug #526247. + +2008-04-03 09:32:46 +0000 Edward Hervey + + ffmpegrev: Bump upstream ffmpeg revision to todays + Original commit message from CVS: + * ffmpegrev: Bump upstream ffmpeg revision to todays + * configure.ac: Fix configure for build modification in upstream + * ext/libpostproc/gstpostproc.c: (gst_post_proc_transform_ip): + Fix build for modifications in upstream + +2008-03-18 10:35:40 +0000 Andy Wingo + + ext/ffmpeg/gstffmpegdec.c (gst_ffmpegdec_sink_event): Only drain if we've already set up a codec. + Original commit message from CVS: + 2008-03-18 Andy Wingo + * ext/ffmpeg/gstffmpegdec.c (gst_ffmpegdec_sink_event): Only drain + if we've already set up a codec. + +2008-03-17 14:09:54 +0000 Andy Wingo + + ext/ffmpeg/Makefile.am (libgstffmpeg_la_LIBADD): Re-add -lz explicitly here. + Original commit message from CVS: + 2008-03-17 Andy Wingo + * ext/ffmpeg/Makefile.am (libgstffmpeg_la_LIBADD): Re-add -lz + explicitly here. + * configure.ac: Remove -lz from FFMPEG_LIBS, because FFMPEG_LIBS + are used in the Makefile.am as a DEPENDENCIES target, and -lz is + not a target. Also in a blahriffic turn of events, MMX and Altivec + code on MacOS 10.5 produces non-PIC code. Turn them off on macos. + +2008-03-11 16:07:11 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdec.c: When we receive a newsegment event, we must drain any pending frames because they belong t... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_sink_event): + When we receive a newsegment event, we must drain any pending frames + because they belong to the previous segment. This fixes some cases of + very large timestamps when doing segment seeks. + +2008-03-06 14:47:57 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdec.c: Work around an ffmpeg bug where it always returns 0 timestamps. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open), + (get_output_buffer), (gst_ffmpegdec_video_frame), + (gst_ffmpegdec_chain): + Work around an ffmpeg bug where it always returns 0 timestamps. + +2008-03-06 12:18:48 +0000 Michael Smith + + ext/ffmpeg/gstffmpegcodecmap.c: Fix masks for RGBA32 caps. Fixes colours when decoding using ffdec_qtrle. Follows an ... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_pixfmt_to_caps): + Fix masks for RGBA32 caps. Fixes colours when decoding using + ffdec_qtrle. Follows an identical fix in the ffmpegcolorspace copy of + this code (revision 1.29). + +2008-03-05 17:02:33 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdec.c: Detect DTS or PTS as timestamps. This is done by tracking frame reordering on the output a... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init), + (gst_ffmpegdec_setcaps), (check_keyframe), + (gst_ffmpegdec_video_frame), (gst_ffmpegdec_sink_event), + (gst_ffmpegdec_set_property): + Detect DTS or PTS as timestamps. This is done by tracking frame + reordering on the output and making sure that timestamps don't go + backwards. Fixes #482660. + +2008-02-11 18:45:53 +0000 Damien Lespiau + + ext/ffmpeg/gstffmpegdec.c: Add property for controlling of motion vectors. Fixes #515811. + Original commit message from CVS: + Patch by: Damien Lespiau + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init), + (gst_ffmpegdec_init), (gst_ffmpegdec_setcaps), + (gst_ffmpegdec_set_property), (gst_ffmpegdec_get_property): + Add property for controlling of motion vectors. Fixes #515811. + API: GstFFMpegDec::debug-mv + +2008-02-08 15:12:03 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegdemux.c: Don't try handling a buffer if downstream allocation failed. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop): + Don't try handling a buffer if downstream allocation failed. + Avoids crashes and Fixes #515205 + +2008-01-29 17:53:47 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdec.c: Don't blindly copy input timestamp to output timestamp but prefer the one attached to the ... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_video_frame): + Don't blindly copy input timestamp to output timestamp but prefer the + one attached to the picture when we can. + Add new variables for the output timestamp and duration to make the code + a little more clear. + +2008-01-26 15:20:10 +0000 Sebastian Dröge + + ext/ffmpeg/gstffmpegdec.c: Initialize hurry_up to 0 to fix "might be used uninitialized" compiler warning. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_video_frame): + Initialize hurry_up to 0 to fix "might be used uninitialized" + compiler warning. + +2008-01-25 11:44:29 +0000 Wim Taymans + + ext/ffmpeg/: When doing QoS, don't drop the frame before decoding because we might drop an important reference frame,... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_base_init), + (gst_ffmpegdec_setcaps), (gst_ffmpegdec_video_frame): + * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_base_init): + When doing QoS, don't drop the frame before decoding because we might + drop an important reference frame, just make the decoder hurry_up on + this frame. + +2008-01-25 11:39:59 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegcodecmap.c: Add H263+ to valid 3GP muxing formats. Fixes #511476. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: + (gst_ffmpeg_formatid_get_codecids): + Add H263+ to valid 3GP muxing formats. Fixes #511476. + +2008-01-23 18:23:37 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdec.c: Add padding to input data before feeding it to ffmpeg. Also add option to disable this (al... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init), + (gst_ffmpegdec_init), (get_output_buffer), (gst_ffmpegdec_chain), + (gst_ffmpegdec_change_state), (gst_ffmpegdec_set_property), + (gst_ffmpegdec_get_property): + Add padding to input data before feeding it to ffmpeg. Also add option + to disable this (although it does not seem to cause slowdown). + +2008-01-23 16:08:27 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdec.c: Change the pad_alloc calculations for weird clipped sizes, refactor the code a bit. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps), + (alloc_output_buffer), (gst_ffmpegdec_get_buffer), + (gst_ffmpegdec_release_buffer), (gst_ffmpegdec_negotiate), + (get_output_buffer): + Change the pad_alloc calculations for weird clipped sizes, refactor the + code a bit. + Add support for some different refcounting algorithm. + Direct rendering still disabled by default. + +2008-01-22 18:24:40 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegdec.c: Disable direct-rendering by default until buffer allocation works correctly. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init): + Disable direct-rendering by default until buffer allocation works + correctly. + Rename the alias of the direct rendering property from 'direct' to + 'direct-rendering'. + +2008-01-22 17:16:12 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdec.c: Disable direct rendering for h264 since it does not always work. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps), + (gst_ffmpegdec_get_buffer): + Disable direct rendering for h264 since it does not always work. + +2008-01-22 16:44:51 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdec.c: Implement get/set for the new property too. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_set_property), + (gst_ffmpegdec_get_property): + Implement get/set for the new property too. + +2008-01-22 16:32:23 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdec.c: Reenable pad_alloc, seem to work now. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init), + (gst_ffmpegdec_init), (gst_ffmpegdec_close), (gst_ffmpegdec_open), + (gst_ffmpegdec_setcaps), (gst_ffmpegdec_get_buffer), + (gst_ffmpegdec_release_buffer), (get_output_buffer), + (gst_ffmpegdec_video_frame), (gst_ffmpegdec_audio_frame), + (gst_ffmpegdec_frame), (gst_ffmpegdec_change_state), + (gst_ffmpegdec_set_property), (gst_ffmpegdec_get_property): + Reenable pad_alloc, seem to work now. + Added property to easily disable it later on. + Remove some old code that tried hard to break the get_buffer + functions. Fixes #321662. + +2008-01-22 13:54:34 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegcfg.c: Add h263 to the list of codecs using the mpeg flags and options. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_flags_get_type): + Add h263 to the list of codecs using the mpeg flags and options. + Add some more H263 specific flags. Fixes #421068. + +2008-01-22 11:10:57 +0000 Sebastian Dröge + + ext/ffmpeg/gstffmpegdemux.c: Don't register typefinders for which we have better replacements in base. Fixes bug #510... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): + Don't register typefinders for which we have better replacements + in base. Fixes bug #510985. + +2008-01-21 11:19:03 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdec.c: Remove some more overly clever code that does nothing but mess up timestamps. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_video_frame), + (gst_ffmpegdec_chain): + Remove some more overly clever code that does nothing but mess up + timestamps. + +2008-01-18 17:48:21 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdec.c: Flush delayed frames on DISCONT if we have them. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_drain), + (gst_ffmpegdec_sink_event), (gst_ffmpegdec_chain): + Flush delayed frames on DISCONT if we have them. + +2008-01-18 14:50:46 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdec.c: Flush on DISCONT because ffmpeg does not reliably tell us about keyframes. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_video_frame), + (gst_ffmpegdec_chain): + Flush on DISCONT because ffmpeg does not reliably tell us about + keyframes. + +2008-01-18 12:18:08 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdec.c: Rewrite timestamping code to let ffmpeg track timestamps. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_init), + (gst_ffmpegdec_open), (gst_ffmpegdec_get_buffer), + (gst_ffmpegdec_release_buffer), (gst_ffmpegdec_video_frame), + (gst_ffmpegdec_sink_event), (gst_ffmpegdec_chain): + Rewrite timestamping code to let ffmpeg track timestamps. + Fixes #482660, #337866. + +2008-01-16 17:35:58 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdec.c: Add basic reverse playback for video. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (clear_queued), (flush_queued), + (gst_ffmpegdec_video_frame), (gst_ffmpegdec_frame), + (gst_ffmpegdec_sink_event), (gst_ffmpegdec_change_state): + Add basic reverse playback for video. + +2008-01-10 12:43:35 +0000 Sebastian Dröge + + autogen.sh: Add -Wno-portability to the automake parameters to stop warnings about GNU make extensions being used. We... + Original commit message from CVS: + * autogen.sh: + Add -Wno-portability to the automake parameters to stop warnings + about GNU make extensions being used. We require GNU make in almost + every Makefile anyway. + * configure.ac: + Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o + at the same time is required for per target flags. + +2008-01-09 15:46:18 +0000 Edward Hervey + + configure.ac: postproc needs some headers present in libavcodec/*.h + Original commit message from CVS: + * configure.ac: + postproc needs some headers present in libavcodec/*.h + +2008-01-09 12:00:33 +0000 Stefan Kost + + gst-libs/ext/Makefile.am: Remove trailing whitespace as warned by automake. + Original commit message from CVS: + * gst-libs/ext/Makefile.am: + Remove trailing whitespace as warned by automake. + +2008-01-04 22:14:50 +0000 Sebastian Dröge + + ext/ffmpeg/: Don't register the WavPack demuxer and decoder. They don't work, we have better ones and the output of t... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register): + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): + Don't register the WavPack demuxer and decoder. They don't work, + we have better ones and the output of the demuxer/input of the + decoder is in a different format than what audio/x-wavpack of the + wavpack plugin is (it seems that the demuxer strips of the wavpack + headers from every frame). + This fixes typefinding of Wavpack files again, as the ffmpeg + typefinder was preffered for some reason and gave + application/x-gst_ff-wv instead of audio/x-wavpack. + +2007-12-18 10:05:28 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegdemux.c: Fix demuxer to stop properly (emit an error message on the bus) if no pads are linked. U... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop): + Fix demuxer to stop properly (emit an error message on the bus) if no + pads are linked. Use aggregated flow return values a bit more. + +2007-12-18 09:31:39 +0000 Tim-Philipp Müller + + Makefile.am: Include common/win32.mak for CRLF check of win32 project files (see #393626). + Original commit message from CVS: + * Makefile.am: + Include common/win32.mak for CRLF check of win32 project + files (see #393626). + +2007-12-17 20:31:35 +0000 Sebastian Dröge + + ext/ffmpeg/: Add GIF (animations and single images) decoding and encoding support. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), + (gst_ffmpeg_formatid_get_codecids), + (gst_ffmpeg_get_codecid_longname): + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop), + (gst_ffmpegdemux_register): + * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_collected), + (gst_ffmpegmux_register): + Add GIF (animations and single images) decoding and encoding support. + Fixes #503249. + +2007-12-17 12:43:06 +0000 Edward Hervey + + * ChangeLog: + * Makefile.am: + * autogen.sh: + * common: + * configure.ac: + * ext/ffmpeg/Makefile.am: + * ext/ffmpeg/gstffmpeg.c: + * ext/ffmpeg/gstffmpeg.h: + * ext/ffmpeg/gstffmpegaudioresample.c: + * ext/ffmpeg/gstffmpegcfg.c: + * ext/ffmpeg/gstffmpegcodecmap.c: + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegdemux.c: + * ext/ffmpeg/gstffmpegenc.c: + * ext/ffmpeg/gstffmpegmux.c: + * ffmpegrev: + * gst-libs/ext/Makefile.am: + Merging GST_FFMPEG_NO_MIRROR branch to trunk + Original commit message from CVS: + Merging GST_FFMPEG_NO_MIRROR branch to trunk + +2007-12-04 21:06:47 +0000 Edward Hervey + + configure.ac: And back to development cycle. + Original commit message from CVS: + * configure.ac: + And back to development cycle. + +=== release 0.10.3 === + +2007-12-04 21:03:26 +0000 Edward Hervey + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-ffmpeg.doap: + Releasing 0.10.3 + Original commit message from CVS: + Releasing 0.10.3 + +2007-11-28 18:14:49 +0000 Edward Hervey + + configure.ac: 0.10.2.2 pre-release + Original commit message from CVS: + * configure.ac: + 0.10.2.2 pre-release + +2007-11-10 17:21:13 +0000 Tim-Philipp Müller + + * ChangeLog: + ChangeLog surgery: UTF8-ize latest entry + Original commit message from CVS: + ChangeLog surgery: UTF8-ize latest entry + +2007-11-08 14:44:36 +0000 Ole Andr� Vadla Ravn�s + + ext/ffmpeg/: + Original commit message from CVS: + Patch by: Ole Andr� Vadla Ravn�s + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_with_codecid): + * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_init): + +2007-11-03 16:14:53 +0000 Edward Hervey + + ext/ffmpeg/: gst-indent cleanup. + Original commit message from CVS: + * ext/ffmpeg/gstffmpeg.c: (gst_ffmpeg_avcodec_open), + (gst_ffmpeg_avcodec_close), (gst_ffmpeg_av_find_stream_info), + (gst_ffmpeg_log_callback), (plugin_init): + * ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_mb_decision_get_type), + (gst_ffmpeg_flags_get_type), (gst_ffmpeg_cfg_init), + (gst_ffmpeg_cfg_codec_has_pspec), + (gst_ffmpeg_cfg_install_property), (gst_ffmpeg_cfg_set_property), + (gst_ffmpeg_cfg_get_property), (gst_ffmpeg_cfg_set_defaults), + (gst_ffmpeg_cfg_fill_context), (gst_ffmpeg_cfg_finalize): + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps): + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open), + (gst_ffmpegdec_setcaps), (gst_ffmpegdec_save_incoming_values), + (gst_ffmpegdec_get_best_values), (gst_ffmpegdec_video_frame): + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_base_init), + (gst_ffmpegdemux_src_query): + * ext/ffmpeg/gstffmpegenc.c: (ffmpegenc_setup_working_buf), + (gst_ffmpegenc_chain_video), (gst_ffmpegenc_flush_buffers): + * ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_open), + (gst_ffmpegdata_peek), (gst_ffmpegdata_read), + (gst_ffmpegdata_write), (gst_ffmpegdata_seek), + (gst_ffmpegdata_close): + gst-indent cleanup. + +2007-10-12 14:44:55 +0000 Tim-Philipp Müller + + configure.ac: Add big fat warning message with explanation when building against an external copy of ffmpeg. Fixes #4... + Original commit message from CVS: + * configure.ac: + Add big fat warning message with explanation when building + against an external copy of ffmpeg. Fixes #407779. + +2007-10-10 09:31:32 +0000 Tuomas Kulve + + ext/ffmpeg/gstffmpegdec.c: Fix the return type of the setcaps function. Fixes #485033. + Original commit message from CVS: + Patch by: Tuomas Kulve + * ext/ffmpeg/gstffmpegdec.c: + Fix the return type of the setcaps function. Fixes #485033. + +2007-10-05 15:03:21 +0000 Yann Gilquin + + ext/ffmpeg/gstffmpegdemux.c: Don't return FALSE for the LATENCY event but instead forward it upstream. Fixes #482946. + Original commit message from CVS: + Patch by: Yann Gilquin + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_src_event): + Don't return FALSE for the LATENCY event but instead forward it + upstream. Fixes #482946. + +2007-10-03 14:51:49 +0000 Stefan Kost + + tests/check/generic/libavcodec-locking.c: Print message name and not just number. + Original commit message from CVS: + * tests/check/generic/libavcodec-locking.c: + Print message name and not just number. + +2007-10-01 17:27:42 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegcodecmap.c: Add Real Video 3.0 and remove some bogus caps. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), + (gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_get_codecid_longname): + Add Real Video 3.0 and remove some bogus caps. + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open), + (gst_ffmpegdec_video_frame): + When skipping because of QoS, pretend we consumed all bytes for the + frame so that the pcache's timestamp is updated correctly. + +2007-08-14 14:29:36 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegdec.c: Don't set rank of sp5x video decoder to NONE. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register): + Don't set rank of sp5x video decoder to NONE. + Fixes #466221 + Re-order the cases of the switch statement so that the default case + is last. + +2007-08-07 10:21:19 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegcodecmap.c: Improve debugging of codec data. realvideo caps are underspecified, use fields of alt... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_with_codecid): + Improve debugging of codec data. + realvideo caps are underspecified, use fields of alternative variant + before we settle this. + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open), + (gst_ffmpegdec_video_frame): + Add more debugging of used parsers. + Setup the realvideo slices correctly before calling the decoder, fixed + realvideo in matroska. + +2007-08-01 17:43:39 +0000 Stefan Kost + + ext/ffmpeg/: Free strings atleast when finalizing elements. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_cfg_install_property), + (gst_ffmpeg_cfg_finalize): + * ext/ffmpeg/gstffmpegcfg.h: + * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_finalize), + (ffmpegenc_setup_working_buf), (gst_ffmpegenc_chain_video), + (gst_ffmpegenc_flush_buffers): + Free strings atleast when finalizing elements. + * tests/check/generic/libavcodec-locking.c: (GST_START_TEST), + (simple_launch_lines_suite): + Fix some leaks. + +2007-08-01 15:06:44 +0000 Stefan Kost + + Check for libm and link against it (ffmpeg is using sqrt). + Original commit message from CVS: + * configure.ac: + * ext/ffmpeg/Makefile.am: + Check for libm and link against it (ffmpeg is using sqrt). + +2007-07-25 15:39:43 +0000 Julien Moutte + + ext/ffmpeg/: Handle buffers with invalid duration correctly even in the case where we have a demuxer AND a decoder fr... + Original commit message from CVS: + 2007-07-25 Julien MOUTTE + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_video_frame): + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop): Handle + buffers with invalid duration correctly even in the case where + we have a demuxer AND a decoder from ffmpeg linked. + Fixes: #460274. + +2007-07-13 16:35:45 +0000 Jan Schmidt + + Remove bogus check for libcheck, since we check for gstreamer-check and it pulls in the required info from there, and... + Original commit message from CVS: + * configure.ac: + * tests/Makefile.am: + Remove bogus check for libcheck, since we check for + gstreamer-check and it pulls in the required info from there, and we + weren't actually _using_ the information for libcheck ourselves + anyway. + +2007-07-12 11:13:13 +0000 Stefan Kost + + configure.ac: Use pkg-config to locate check. Bump core requirement. + Original commit message from CVS: + * configure.ac: + Use pkg-config to locate check. Bump core requirement. + * ext/ffmpeg/gstffmpegdeinterlace.c: (gst_ffmpegdeinterlace_chain): + * ext/ffmpeg/gstffmpegscale.c: (gst_ffmpegscale_transform): + Replace deprecated method. + +2007-07-05 11:19:21 +0000 Jan Schmidt + + ext/ffmpeg/gstffmpegenc.c: Fix the encoders by actually copying the encoded output data from the working area into th... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_chain_video), + (gst_ffmpegenc_flush_buffers): + Fix the encoders by actually copying the encoded output data from the + working area into the output buffer. + Fixes: #453135. + +2007-06-22 12:13:18 +0000 Jan Schmidt + + ext/ffmpeg/gstffmpegenc.*: Instead of allocating 512KB buffers and then setting BUFFER_SIZE to what ffmpeg produced, ... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegenc.c: (ffmpegenc_setup_working_buf), + (gst_ffmpegenc_chain_video), (gst_ffmpegenc_flush_buffers), + (gst_ffmpegenc_change_state): + * ext/ffmpeg/gstffmpegenc.h: + Instead of allocating 512KB buffers and then setting BUFFER_SIZE + to what ffmpeg produced, we're better off by far to use a single + working buffer and copy data out into neat little buffers. + This prevents exhorbitant virtual memory wastage in the form + of allocated but untouched buffers. + +2007-06-20 08:00:30 +0000 Stefan Kost + + ext/ffmpeg/gstffmpegcodecmap.c: Enable mjpeg-codec in more containers. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: + (gst_ffmpeg_formatid_get_codecids): + Enable mjpeg-codec in more containers. + +2007-06-19 14:14:29 +0000 Stefan Kost + + ext/ffmpeg/gstffmpeg.c: Cut off double \n. + Original commit message from CVS: + * ext/ffmpeg/gstffmpeg.c: (gst_ffmpeg_log_callback): + Cut off double \n. + * ext/ffmpeg/gstffmpegcodecmap.c: + (gst_ffmpeg_formatid_get_codecids): + Enable more codecs in containers. + +2007-06-15 09:32:47 +0000 Jan Schmidt + + win32/vs6/: Convert line endings to CRLF and mark files as binary. + Original commit message from CVS: + * win32/vs6/gst_ffmpeg.dsw: + * win32/vs6/libgstffmpeg.dsp: + Convert line endings to CRLF and mark files as binary. + +2007-06-05 18:00:26 +0000 Jan Schmidt + + gst-libs/ext/ffmpeg/: Recognise x86_64 builds and set flags appropriately so that the + Original commit message from CVS: + * gst-libs/ext/ffmpeg/configure.ac: + * gst-libs/ext/ffmpeg/patches/autotools.patch: + * gst-libs/ext/ffmpeg/patches/memalign.patch: + Recognise x86_64 builds and set flags appropriately so that the + MMX/SSE codepaths get enabled there - makes things considerably + faster. + +2007-06-05 16:33:39 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegcodecmap.c: Add MSMPEG4V3 video and MP3 audio to the asf muxer supported formats. + Original commit message from CVS: + Patch by: + * ext/ffmpeg/gstffmpegcodecmap.c: + (gst_ffmpeg_formatid_get_codecids): + Add MSMPEG4V3 video and MP3 audio to the asf muxer supported formats. + Fixes #444384. + +2007-06-05 13:58:30 +0000 Jan Arne Petersen + + ext/ffmpeg/gstffmpegdemux.c: Use total duration when the individual stream duration is not known. + Original commit message from CVS: + Patch by: Jan Arne Petersen + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_src_query): + Use total duration when the individual stream duration is not known. + Fixes #375534. + +2007-06-05 13:41:54 +0000 Laurent Glayal + + ext/ffmpeg/gstffmpegscale.c: don't leak refcounts in event handler. Fixes #444332. + Original commit message from CVS: + Patch by: Laurent Glayal + * ext/ffmpeg/gstffmpegscale.c: (gst_ffmpegscale_handle_src_event): + don't leak refcounts in event handler. Fixes #444332. + +2007-05-25 10:41:56 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdec.c: Be a bit smarter when clipping the frame without a duration, we don't want the frame to ex... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (clip_video_buffer), + (gst_ffmpegdec_video_frame): + Be a bit smarter when clipping the frame without a duration, we don't + want the frame to extend to the end of the segment in this case. + +2007-05-24 08:51:52 +0000 Tim-Philipp Müller + + configure.ac: Add -no-undefined to GST_ALL_LDFLAGS; without it, no shared libs will be built or installed on MingW fo... + Original commit message from CVS: + * configure.ac: + Add -no-undefined to GST_ALL_LDFLAGS; without it, no shared libs + will be built or installed on MingW for our plugins in ext/; also, + it looks like the right thing to do and we do it for all our other + plugin modules as well. Fixes #440253. + +2007-05-21 11:04:11 +0000 Jan Schmidt + + ext/ffmpeg/gstffmpegdemux.c: Reduce the probability of the MPEG-TS typefinder, because there's a better one in recent... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_type_find): + Reduce the probability of the MPEG-TS typefinder, because there's a + better one in recent base releases. + +2007-05-17 15:46:17 +0000 Edward Hervey + + Fix the build on MacOSX. since the one shipped by Apple is from the middle ages and is packed with issues. + Original commit message from CVS: + * configure.ac: + * ext/ffmpeg/Makefile.am: + * ext/libpostproc/Makefile.am: + Fix the build on MacOSX. + This requires a recent enough version of libtool (ex : 1.5.22), since + the one shipped by Apple is from the middle ages and is packed with + issues. + Fixes #435742 + +2007-05-09 15:30:51 +0000 Edward Hervey + + ext/ffmpeg/: Protect calls to ffmpeg functions that will implicitly call avcodec_open/close with the avcodec mutex. + Original commit message from CVS: + * ext/ffmpeg/gstffmpeg.c: (gst_ffmpeg_av_find_stream_info): + * ext/ffmpeg/gstffmpeg.h: + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_open): + Protect calls to ffmpeg functions that will implicitly call + avcodec_open/close with the avcodec mutex. + Fixes #433245 + +2007-05-02 16:06:09 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegdec.c: Fix timestamping for out-of-order incoming buffers. Instead of blindly copying the incomin... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_init), + (gst_ffmpegdec_open), (gst_ffmpegdec_save_incoming_values), + (gst_ffmpegdec_get_best_values), (gst_ffmpegdec_video_frame), + (gst_ffmpegdec_sink_event): + Fix timestamping for out-of-order incoming buffers. Instead of blindly + copying the incoming buffer timestamps on the outgoing buffers we cache + the latest 2 incoming buffer timestamps and duration and make a wise + choice as to what the outgoing buffer timestamp and duration should be. + Fixes #342962 + +2007-04-25 10:19:01 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegcodecmap.c: Remove cruft inserted by wim's last commit. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), + (gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_get_codecid_longname): + Remove cruft inserted by wim's last commit. + +2007-04-20 10:51:37 +0000 Michael Smith + + ext/ffmpeg/gstffmpegdemux.c: Allow ffmpeg typefinders to try and typefind very short (<4kB) files. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_type_find): + Allow ffmpeg typefinders to try and typefind very short (<4kB) + files. + +2007-04-12 11:06:46 +0000 Mark Nauwelaerts + + ext/ffmpeg/: Add the CODEC_FLAG_GLOBAL_HEADER to the exposed flags, and makes it as such configurable as a property. ... + Original commit message from CVS: + Patch by: Mark Nauwelaerts and + Thomas Vander Stichele + * ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_flags_get_type): + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), + (gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_caps_to_codecid), + (gst_ffmpeg_get_codecid_longname): + Add the CODEC_FLAG_GLOBAL_HEADER to the exposed flags, and makes it as such + configurable as a property. Fixes #393187. + +2007-04-12 10:56:42 +0000 Yves Lefebvre + + ext/ffmpeg/gstffmpegdec.c: Draw edges for h264. Fixes #364139. + Original commit message from CVS: + Patch by: Yves Lefebvre + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps): + Draw edges for h264. Fixes #364139. + Set the error resilience flag just in case... + +2007-03-17 12:58:48 +0000 Johan Dahlin + + ext/ffmpeg/gstffmpegcodecmap.c (gst_ffmpeg_get_codecid_longname): Fix typo in Indeo-2 codec name + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c (gst_ffmpeg_get_codecid_longname): + Fix typo in Indeo-2 codec name + +2007-03-02 12:05:39 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegcfg.c: Add mpeg1video and mpeg2video to the list of mpeg-derivatives for configuration settings. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_cfg_init): + Add mpeg1video and mpeg2video to the list of mpeg-derivatives for + configuration settings. + Renamed the mpeg4 category to mpeg. + Fixes #403739 + +2007-03-01 01:10:22 +0000 Sebastian Dröge + + configure.ac: Convert to new AG_GST style. + Original commit message from CVS: + * configure.ac: + Convert to new AG_GST style. + +2007-02-16 11:48:15 +0000 Tim-Philipp Müller + + ext/ffmpeg/: Don't use GINT_TO_POINTER and GPOINTER_TO_INT with GTypes, this can break horribly if sizeof(GType) happ... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_base_init), + (gst_ffmpegdec_register): + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_base_init), + (gst_ffmpegdemux_register): + * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_base_init), + (gst_ffmpegenc_register): + * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_base_init), + (gst_ffmpegmux_register): + Don't use GINT_TO_POINTER and GPOINTER_TO_INT with GTypes, this + can break horribly if sizeof(GType) happens to be bigger than + sizeof(int), because GPOINTER_TO_INT might then chop off some bits + of our GType (the reason this seems to works nevertheless is the + put-current-type-also-as-value-0-into-the-hash-table-as-fallback + hack used in the current code). + In any case, instead of just fixing this, let's not use a hash table + with GTypes here at all. g_type_{set|get}_qdata() seems to do the + job just as well. + +2007-02-14 09:47:01 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegcfg.c: Typo fix. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_flags_get_type): + Typo fix. + +2007-02-09 19:58:19 +0000 Thomas Vander Stichele + + ext/ffmpeg/gstffmpegdec.c: My console is not your TODO list. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register): + My console is not your TODO list. + If it were your TODO list, you would have DONE it by now. + +2007-02-09 17:30:19 +0000 Tim-Philipp Müller + + ext/ffmpeg/gstffmpegmux.c: ffmux_flv only accepts mpeg audio with a sample rate of 44100, 22050 or 11025. Fix up the ... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_register): + ffmux_flv only accepts mpeg audio with a sample rate of 44100, 22050 + or 11025. Fix up the caps in the sink pad template accordingly, so + that encoding piplines at least have a chance to automatically + negotiate to one of the allowed rates. + +2007-02-09 16:17:50 +0000 Tim-Philipp Müller + + ext/ffmpeg/gstffmpegmux.c: Only set the mux->opened flag after we've successfully written the header. This way we don... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_request_new_pad), + (gst_ffmpegmux_setcaps), (gst_ffmpegmux_collected): + Only set the mux->opened flag after we've successfully written the + header. This way we don't crash in mysterious ways if we can't write + the header for some reason (e.g. due to having accepted caps the + format doesn't really allow), then return a GST_FLOW_ERROR, and + then still receive another buffer afterwards despite having previously + returned FLOW_ERROR (#403168). + Also some minor logging improvements. + +2007-01-26 12:12:31 +0000 Mark Nauwelaerts + + ext/ffmpeg/gstffmpegdemux.c: register yuv4mpegpipe demuxer with MARGINAL rank to make it also typically available for... + Original commit message from CVS: + Patch by: Mark Nauwelaerts + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): + register yuv4mpegpipe demuxer with MARGINAL rank to + make it also typically available for auto-plugging. Fixes #399108. + +2007-01-22 10:26:04 +0000 Martin Szulecki + + ext/ffmpeg/gstffmpegcodecmap.c: Need to set depth on context for camtasia decoder (fixes #398875). + Original commit message from CVS: + Patch by: Martin Szulecki + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), + (gst_ffmpeg_caps_with_codecid): + Need to set depth on context for camtasia decoder (fixes #398875). + +2007-01-11 10:02:40 +0000 Mark Nauwelaerts + + ext/ffmpeg/gstffmpegcodecmap.c: Internally, ffmpeg (demuxer) expects YUV4MPEG version 2, this patch sets the caps cor... + Original commit message from CVS: + Patch by: Mark Nauwelaerts + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_to_caps): + Internally, ffmpeg (demuxer) expects YUV4MPEG version 2, this patch sets + the caps correctly. Fixes #394071. + +2007-01-10 19:56:32 +0000 Edward Hervey + + * ChangeLog: + Forgot number of bug fixed + Original commit message from CVS: + Forgot number of bug fixed + +2007-01-10 19:55:05 +0000 Mark Nauwelaerts + + ext/ffmpeg/gstffmpegdemux.c: Check the aggregated return value of pushes downstream to figure out if we really need t... + Original commit message from CVS: + Patch by: Mark Nauwelaerts + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_perform_seek), + (gst_ffmpegdemux_aggregated_flow), (gst_ffmpegdemux_get_stream), + (gst_ffmpegdemux_loop): + Check the aggregated return value of pushes downstream to figure out if + we really need to stop the task or not. + +2007-01-09 14:59:34 +0000 Wim Taymans + + ext/ffmpeg/: Use codecid as extra parameter when getting caps. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_get_palette), + (gst_ffmpeg_set_palette), (gst_ff_vid_caps_new), + (gst_ff_aud_caps_new), (gst_ffmpeg_codecid_to_caps), + (gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_smpfmt_to_caps), + (gst_ffmpeg_codectype_to_caps), (gst_ffmpeg_caps_to_pixfmt), + (gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_formatid_to_caps), + (gst_ffmpeg_formatid_get_codecids), (gst_ffmpeg_caps_to_codecid), + (gst_ffmpeg_init_pix_fmt_info), (gst_ffmpeg_avpicture_fill), + (gst_ffmpeg_img_convert): + * ext/ffmpeg/gstffmpegcodecmap.h: + * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps), + (gst_ffmpegenc_register): + Use codecid as extra parameter when getting caps. + Restrict H263 caps to allowed sizes for better negotiation. + MP4/3gp can contain AMR-WB as well. + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): + Indent. + +2007-01-09 14:53:36 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdec.c: Use caps to clip output images. Fixes #341736 + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open), + (gst_ffmpegdec_setcaps), (gst_ffmpegdec_negotiate), + (get_output_buffer), (gst_ffmpegdec_video_frame), + (clip_audio_buffer), (gst_ffmpegdec_audio_frame), + (gst_ffmpegdec_frame), (gst_ffmpegdec_chain), + (gst_ffmpegdec_register): + Use caps to clip output images. Fixes #341736 + +2007-01-08 16:39:00 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegenc.c: Make the name of the motion-estimation method enum values meaningful. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_me_method_get_type): + Make the name of the motion-estimation method enum values meaningful. + +2007-01-07 13:56:29 +0000 Sébastien Moutte + + Makefile.am: Add win32/MANIFEST to EXTRA_DIST so win32 files will be include in the next release. + Original commit message from CVS: + * Makefile.am: + Add win32/MANIFEST to EXTRA_DIST so win32 files will + be include in the next release. + * win32/MANIFEST: + Add manifest to win32 files in next releases. + * win32/vs6/gst_ffmpeg.dsw: + * win32/vs6/libgstffmpeg.dsp: + Add project files for VS6. + +2007-01-07 13:53:25 +0000 Sébastien Moutte + + win32/MANIFEST: Add manifest for win32 files. + Original commit message from CVS: + * win32/MANIFEST: + Add manifest for win32 files. + +2007-01-07 13:51:55 +0000 Sébastien Moutte + + win32/vs6/: Add project files for VS6. + Original commit message from CVS: + * win32/vs6/gst_ffmpeg.dsw: + * win32/vs6/libgstffmpeg.dsp: + Add project files for VS6. + +2007-01-05 16:04:12 +0000 Thomas Vander Stichele + + configure.ac: actually properly define HAVE_FFMPEG_UNINSTALLED also use it as a conditional + Original commit message from CVS: + * configure.ac: + actually properly define HAVE_FFMPEG_UNINSTALLED + also use it as a conditional + * ext/ffmpeg/Makefile.am: + add a dep on the internal lib so the plugin gets rebuilt on + code changes to the ffmpeg lib + +2007-01-03 17:00:08 +0000 Tim-Philipp Müller + + ext/ffmpeg/gstffmpegenc.c: Turn dispose function into finalize function to avoid double-frees and potential crashes c... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_class_init), + (gst_ffmpegenc_finalize): + Turn dispose function into finalize function to avoid double-frees + and potential crashes caused by them in some circumstances. + Fixes #392395. + +2006-12-21 12:21:51 +0000 Tim-Philipp Müller + + ext/ffmpeg/gstffmpegcodecmap.c: The "signed" field in raw audio caps is of boolean type, trying to extract the value ... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_smpfmt): + The "signed" field in raw audio caps is of boolean type, trying to + extract the value with _get_int() will fail. + +2006-12-15 14:59:31 +0000 Thomas Vander Stichele + + configure.ac: fix quoting so it works for fedora autotools too + Original commit message from CVS: + * configure.ac: + fix quoting so it works for fedora autotools too + +2006-12-15 13:58:17 +0000 Tim-Philipp Müller + + Spaces => tab + Original commit message from CVS: + * docs/Makefile.am: + * tests/check/Makefile.am: + Spaces => tab + +2006-12-15 12:57:40 +0000 Thomas Vander Stichele + + add doap file + Original commit message from CVS: + * Makefile.am: + * gst-ffmpeg.doap: + * gst-ffmpeg.spec.in: + add doap file + +2006-12-14 23:31:45 +0000 Josselin Mouette + + Allow building against an external FFMpeg install. Fixes: #363363 + Original commit message from CVS: + * Makefile.am: + * configure.ac: + * ext/ffmpeg/Makefile.am: + * ext/ffmpeg/gstffmpeg.c: + * ext/ffmpeg/gstffmpegdemux.c: + * ext/libpostproc/Makefile.am: + * ext/libpostproc/gstpostproc.c: + Allow building against an external FFMpeg install. Fixes: #363363 + Patch by: Josselin Mouette + When built against an external install, the plugin description will + say "system install" instead of "local snapshot" + +2006-12-14 09:59:23 +0000 Jan Schmidt + + configure.ac: Back to CVS + Original commit message from CVS: + * configure.ac: + Back to CVS + +=== release 0.10.2 === + +2006-12-13 21:05:10 +0000 Jan Schmidt + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/gst-ffmpeg-plugins.args: + * docs/plugins/inspect/plugin-ffmpeg.xml: + Release 0.10.2 + Original commit message from CVS: + Release 0.10.2 + +2006-12-07 18:07:32 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegcodecmap.c: Activate "amr" and "3gp" muxers. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_get_codecids): + Activate "amr" and "3gp" muxers. + Add AMR-NB as a valid audio codec for "mp4" muxer + +2006-12-07 11:37:10 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegcodecmap.c: Add H263p variants as possible format for mov. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: + (gst_ffmpeg_formatid_get_codecids): + Add H263p variants as possible format for mov. + Fixes #378796. + +2006-12-06 17:58:24 +0000 Jan Schmidt + + tests/check/generic/libavcodec-locking.c: Fix the filter caps string for the test. Limit it to 10 fps, which means en... + Original commit message from CVS: + * tests/check/generic/libavcodec-locking.c: (GST_START_TEST): + Fix the filter caps string for the test. Limit it to 10 fps, which + means encoding ~ 50 frames before timeout + +2006-12-04 20:30:30 +0000 Jan Schmidt + + HACKING: Update the hacking info with information about how to prepare your quilt setup to hack on the ffmpeg checkout + Original commit message from CVS: + * HACKING: + Update the hacking info with information about how to prepare + your quilt setup to hack on the ffmpeg checkout + +2006-11-27 18:58:38 +0000 Jan Schmidt + + ext/ffmpeg/gstffmpegdec.c: When H264 is presented without codec_data, use a parser to frame it by assuming that no co... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open), + (gst_ffmpegdec_chain): + When H264 is presented without codec_data, use a parser to frame it + by assuming that no codec_data implies it is unpacketised. + Always use the return value from the parser to advance the input + buffer position. + +2006-11-17 15:29:42 +0000 Thomas Vander Stichele + + ext/ffmpeg/gstffmpegenc.c: My console is not your TODO list. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_register): + My console is not your TODO list. + If it were your TODO list, you would have DONE it by now. + +2006-11-16 07:28:28 +0000 Ville Syrjala + + ext/ffmpeg/gstffmpegcodecmap.c: Specify H.263 variant and version in the caps (fixes #361636) + Original commit message from CVS: + Patch by: Ville Syrjala + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), + (gst_ffmpeg_caps_to_codecid): + Specify H.263 variant and version in the caps (fixes #361636) + +2006-11-14 12:34:20 +0000 Michael Smith + + ext/ffmpeg/gstffmpegcodecmap.c: Add mmf to _get_codecids, so we can use the mmf muxer. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: + (gst_ffmpeg_formatid_get_codecids), (gst_ffmpeg_caps_to_codecid): + Add mmf to _get_codecids, so we can use the mmf muxer. + Use "audio/x-adpcm" rather than the dubious looking "x-adpcm" as our + caps type for the adpcm variants. + * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_base_init): + Allow muxers that allow either only audio or only video, needed for + mmf (audio only). + +2006-10-26 11:41:45 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegenc.c: MPEG4 standard does not accept framerates with a denominator greater than (1<<16 - 1) (acc... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps), + (gst_ffmpegenc_setcaps), (gst_ffmpegenc_register): + MPEG4 standard does not accept framerates with a denominator greater + than (1<<16 - 1) (according to the ffmpeg encoder...). + We therefore scale down the framerate. + Small indentation fixes using gst-indent. + +2006-10-25 17:20:25 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegcodecmap.c: Fix AMR caps. Fixes #364956. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), + (gst_ffmpeg_caps_to_codecid): + Fix AMR caps. Fixes #364956. + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_get_stream): + Activate pads before adding them. + +2006-10-24 16:40:45 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegmux.c: The ->frame_size for RAW audio is 1. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_collected): + The ->frame_size for RAW audio is 1. + Should fix behaviour of some muxers. + +2006-10-24 13:13:14 +0000 Thomas Vander Stichele + + gst-ffmpeg.spec.in: Build with -O1 by default since otherwise assembler breaks + Original commit message from CVS: + * gst-ffmpeg.spec.in: + Build with -O1 by default since otherwise assembler breaks + +2006-10-24 09:27:16 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegcfg.c: FLV is in fact h263 and can take the same parameters as other mpeg derivatives. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcfg.c: + FLV is in fact h263 and can take the same parameters as other mpeg + derivatives. + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), + (gst_ffmpeg_caps_with_codecid): + Add pixel format to video/x-dv,systemstream=False + * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_class_init), + (gst_ffmpegenc_init): + Use EPZS (Enhanced Predictive Zonal Search) as the default motion + estimation method, since it's the best quality to speed compromise. + +2006-10-20 16:20:57 +0000 Thomas Vander Stichele + + * ChangeLog: + * gst-ffmpeg.spec.in: + spec updates + Original commit message from CVS: + spec updates + +2006-10-20 15:17:38 +0000 Edward Hervey + + configure.ac: postproc filters need liboil to detect the cpu architecture + Original commit message from CVS: + Reviewed by: Edward Hervey + * configure.ac: + postproc filters need liboil to detect the cpu architecture + * ext/libpostproc/Makefile.am: + Update for liboil requirement, libpostproc being moved around in + ffmpeg mirror, and removal of unused header file. + * ext/libpostproc/gstpostproc.h: + Header file not needed anymore + * ext/libpostproc/gstpostproc.c: (gst_pp_scope_get_type), + (change_context), (append), (change_mode), + (gst_post_proc_base_init), (gst_post_proc_class_init), + (gst_post_proc_init), (gst_post_proc_dispose), + (gst_post_proc_setcaps), (gst_post_proc_transform_ip), + (gst_post_proc_set_property), (gst_post_proc_get_property), + (gst_post_proc_deblock_set_property), + (gst_post_proc_deblock_get_property), + (gst_post_proc_tmpnoise_set_property), + (gst_post_proc_tmpnoise_get_property), + (gst_post_proc_autolevels_set_property), + (gst_post_proc_autolevels_get_property), + (gst_post_proc_forcequant_set_property), + (gst_post_proc_forcequant_get_property), (gst_post_proc_register), + (plugin_init): + Port of postprocessing elements to 0.10. + +2006-10-13 13:13:08 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegcodecmap.c: Added some codec mappings for dv and mov muxers. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: + (gst_ffmpeg_formatid_get_codecids): + Added some codec mappings for dv and mov muxers. + * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps), + (gst_ffmpegenc_register): + Don't attempt to add caps to a NULL caps. + Add video/x-raw-gray to the input raw video types. + +2006-10-09 13:31:55 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegcodecmap.c: Added proper mime types for mxf and gxf formats. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_to_caps), + (gst_ffmpeg_formatid_get_codecids): + Added proper mime types for mxf and gxf formats. + Added known configuration for asf muxer. Implies allowing the ffmpeg asf + muxer to take WMV and WMA. + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain): + Most demuxers/formats don't give keyframe information on encoded + audio streams. We therefore don't discard them, and use the clipping + functionnality to drop the decoded buffers we didn't need. + +2006-10-09 10:10:54 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegdemux.c: Set the rank of all demuxers for which we: _ Have no alternate demuxer, _ And are know n... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): + Set the rank of all demuxers for which we: + _ Have no alternate demuxer, + _ And are know not to crash like madmans, + to GST_RANK_MARGINAL + +2006-10-09 09:31:34 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegdemux.c: Disable the amr ffmpeg typefind function, it conflicts with gsttypefindfunctions' implem... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): + Disable the amr ffmpeg typefind function, it conflicts with + gsttypefindfunctions' implementation. + +2006-10-06 14:46:48 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegenc.c: Properly initialize ->lmin, ->lmax and ->max_key_interval so we don't end up passing compl... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_init): + Properly initialize ->lmin, ->lmax and ->max_key_interval so we don't + end up passing completely bogus data to the AVCodecContext. + Fixes #355584 + +2006-10-05 18:44:09 +0000 Tim-Philipp Müller + + ext/ffmpeg/: Printf format fixes. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_get_stream): + * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_setcaps): + Printf format fixes. + +2006-10-05 15:54:12 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegprotocol.c: Implement seeking for WRITE "gst" protocol. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_seek): + Implement seeking for WRITE "gst" protocol. + This allows muxers to properly seek and output correctly muxed files. + +2006-10-05 11:15:12 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegmux.c: We need to stop the collectpads in PAUSED->READY BEFORE chaining up to the parent class ch... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_change_state): + We need to stop the collectpads in PAUSED->READY BEFORE chaining up to + the parent class change_state. Else we end up in a locking behaviour + with the sink pads stream locks. + +2006-10-04 13:42:35 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdemux.c: Don't try to use or remove non-existing pads. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_averror), + (gst_ffmpegdemux_init), (gst_ffmpegdemux_close), + (gst_ffmpegdemux_push_event), (gst_ffmpegdemux_send_event), + (gst_ffmpegdemux_src_query), (gst_ffmpegdemux_open), + (gst_ffmpegdemux_loop), (gst_ffmpegdemux_sink_activate), + (gst_ffmpegdemux_sink_activate_push), + (gst_ffmpegdemux_sink_activate_pull): + Don't try to use or remove non-existing pads. + Use _scale some more. + Don't try to do maths with invalid timestamps. Fixes #359545. + Prepare for push based scheduling. + +2006-09-30 14:42:16 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegcodecmap.c: Clarify some CODEC_ID <=> mime type conversions for image formats. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps): + Clarify some CODEC_ID <=> mime type conversions for image formats. + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): + Cleanup on demuxer registration. + Bumped flv demuxer to RANK_MARGINAL since it proved solid enough. + Will have to go over more demuxers, for which we don't have any + gst-plugins-* alternative, to figure out which ones can move to + RANK_MARGINAL too. + +2006-09-29 17:17:01 +0000 Tim-Philipp Müller + + ext/ffmpeg/: Don't leak caps in some cases and make build bots happy again. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register): + * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_register): + Don't leak caps in some cases and make build bots happy again. + +2006-09-23 12:00:15 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegcodecmap.c: Added definitions for FLASHSV, Flash Screen Video format. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), + (gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_get_codecid_longname): + Added definitions for FLASHSV, Flash Screen Video format. + +2006-09-21 09:32:52 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegdec.c: wc1/wmv3 ffmpeg decoder now works. Bumping rank to GST_RANK_MARGINAL. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register): + wc1/wmv3 ffmpeg decoder now works. Bumping rank to GST_RANK_MARGINAL. + +2006-09-20 20:02:16 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegcodecmap.c: Adding codec mapping for vp5, vp6, vp6f and cavs. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), + (gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_get_codecid_longname): + Adding codec mapping for vp5, vp6, vp6f and cavs. + +2006-09-20 19:24:59 +0000 Edward Hervey + + ext/ffmpeg/: Seems like the ffmpeg folks finally understood that VC9 does not exist, and that it's in fact VC1 (aka W... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), + (gst_ffmpeg_get_codecid_longname): + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register): + Seems like the ffmpeg folks finally understood that VC9 does not + exist, and that it's in fact VC1 (aka WMV9 or WMV3, but that's yet + another debate). + +2006-09-16 22:19:40 +0000 Stefan Kost + + ext/ffmpeg/: More G_OBJECT macro fixing. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: + * ext/ffmpeg/gstffmpegdeinterlace.c: + * ext/ffmpeg/gstffmpegenc.h: + * ext/ffmpeg/gstffmpegmux.c: + * ext/ffmpeg/gstffmpegscale.c: + More G_OBJECT macro fixing. + +2006-09-13 11:39:49 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdec.c: Add some more timestamp debugging. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open), + (check_keyframe), (gst_ffmpegdec_video_frame), + (gst_ffmpegdec_chain): + Add some more timestamp debugging. + Fixed wrong duration whn not using a parser. + +2006-09-08 16:52:19 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegmux.c: Port tag-writing support in the muxers. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_request_new_pad), + (gst_ffmpegmux_sink_event), (gst_ffmpegmux_collected): + Port tag-writing support in the muxers. + +2006-09-08 15:25:51 +0000 Michal Benes + + ext/ffmpeg/: Port of FFMpeg muxers to 0.10. + Original commit message from CVS: + Patch by: Michal Benes + * ext/ffmpeg/Makefile.am: + * ext/ffmpeg/gstffmpeg.c: (plugin_init): + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_codecid): + * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_base_init), + (gst_ffmpegmux_init), (gst_ffmpegmux_finalize), + (gst_ffmpegmux_request_new_pad), (gst_ffmpegmux_setcaps), + (gst_ffmpegmux_collected), (gst_ffmpegmux_change_state), + (gst_ffmpegmux_register): + Port of FFMpeg muxers to 0.10. + Still needs some loving in gstffmpegcodecmap to have them all supported + with correct input formats. + Closes #332339 + +2006-09-06 15:15:05 +0000 Sebastien Moutte + + ext/ffmpeg/: Make stuff compile on Visual Studio 6. + Original commit message from CVS: + Patch by: Sebastien Moutte + * ext/ffmpeg/gstffmpeg.c: (plugin_init): + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ff_vid_caps_new), + (gst_ff_aud_caps_new), (gst_ffmpeg_codecid_to_caps), + (gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_smpfmt_to_caps), + (gst_ffmpeg_init_pix_fmt_info): + * ext/ffmpeg/gstffmpegcodecmap.h: + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_send_event): + * ext/ffmpeg/gstffmpegprotocol.c: + Make stuff compile on Visual Studio 6. + Convert some crach macros to functions. + Convert some static tables to _init functions. + Fixes #343951. + +2006-09-06 14:53:59 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdec.c: Do early keyframe check again, feeding bad data in ffmpeg is not a good idea after all. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain): + Do early keyframe check again, feeding bad data in ffmpeg is not a good + idea after all. + +2006-09-06 14:51:13 +0000 Mark Nauwelaerts + + ext/ffmpeg/: Added helper object to handle extra properties. + Original commit message from CVS: + Patch by: Mark Nauwelaerts + * ext/ffmpeg/Makefile.am: + * ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_pass_get_type), + (gst_ffmpeg_lim_pass_get_type), (gst_ffmpeg_mb_decision_get_type), + (gst_ffmpeg_mb_cmp_get_type), (gst_ffmpeg_dct_algo_get_type), + (gst_ffmpeg_idct_algo_get_type), (gst_ffmpeg_quant_type_get_type), + (gst_ffmpeg_pre_me_get_type), (gst_ffmpeg_pred_method_get_type), + (gst_ffmpeg_flags_get_type), (gst_ffmpeg_cfg_init), + (gst_ffmpeg_cfg_codec_has_pspec), + (gst_ffmpeg_cfg_install_property), (gst_ffmpeg_cfg_set_property), + (gst_ffmpeg_cfg_get_property), (gst_ffmpeg_cfg_set_defaults), + (gst_ffmpeg_cfg_fill_context): + * ext/ffmpeg/gstffmpegcfg.h: + Added helper object to handle extra properties. + * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_class_init), + (gst_ffmpegenc_init), (gst_ffmpegenc_dispose), + (gst_ffmpegenc_getcaps), (gst_ffmpegenc_setcaps), + (gst_ffmpegenc_chain_video), (gst_ffmpegenc_chain_audio), + (gst_ffmpegenc_flush_buffers), (gst_ffmpegenc_event_video), + (gst_ffmpegenc_set_property), (gst_ffmpegenc_get_property), + (gst_ffmpegenc_change_state), (gst_ffmpegenc_register): + * ext/ffmpeg/gstffmpegenc.h: + Exposes (quite some of) the AVCodecContext configurable + settings, as well as some additional (though simple) logic for b-frame + delay handling. + Most of the properties are only enabled for mpeg4-like codecs. + Fixes #344583. + +2006-09-05 18:09:33 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdec.c: Disable early keyframe check, it causes crashes and is not really needed. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain): + Disable early keyframe check, it causes crashes and is not really + needed. + +2006-09-05 17:46:50 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdec.c: Even more timestamp fixage. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame), + (gst_ffmpegdec_chain): + Even more timestamp fixage. + Also keep track of pending durations. + don't lose our timestamp when joining the cache. + +2006-09-05 17:16:05 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdec.c: More timestamp fixage. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_video_frame), + (gst_ffmpegdec_audio_frame), (gst_ffmpegdec_frame), + (gst_ffmpegdec_sink_event), (gst_ffmpegdec_chain): + More timestamp fixage. + Don't pass around buffers just to pass its timestamp since we + cannot update it. + After decoding a buffer, don't use the timestamp of the buffer + anymore but let the interpolation do its work. + +2006-09-05 15:34:00 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdec.c: Fix timestamping some more by actually using the ffmpeg parsers correctly. Fixes #341736 + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain): + Fix timestamping some more by actually using the ffmpeg parsers + correctly. Fixes #341736 + +2006-08-29 09:28:20 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdec.c: Mark outgoing buffers with DISCONT when needed. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open), + (gst_ffmpegdec_negotiate), (clip_video_buffer), + (clip_audio_buffer), (gst_ffmpegdec_audio_frame), + (gst_ffmpegdec_frame), (gst_ffmpegdec_sink_event), + (gst_ffmpegdec_chain): + Mark outgoing buffers with DISCONT when needed. + Small cleanups. + Fix timestamps on audio decoders. + better audio clipping. + Fixes #352579. + +2006-08-21 16:33:15 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegcodecmap.c: Pad extradata. Allocate dummy empty extradata because some codecs like to read it and... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_with_codecid): + Pad extradata. Allocate dummy empty extradata because some codecs like + to read it and segfault when it's not there. + +2006-08-16 09:18:28 +0000 Mark Nauwelaerts + + ext/ffmpeg/gstffmpegenc.c: If we are not operating in RTP mode, leave the default rtp encoder settings as they are so... + Original commit message from CVS: + Patch by: Mark Nauwelaerts + * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_setcaps): + If we are not operating in RTP mode, leave the default rtp encoder + settings as they are so that we don't unintentionally activate it. + Fixes #351415. + +2006-08-14 09:17:48 +0000 Edward Hervey + + configure.ac: Don't build programs in ffmpeg checkout, since we're never going to use them in the gstreamer plugin. A... + Original commit message from CVS: + * configure.ac: + Don't build programs in ffmpeg checkout, since we're never going to use + them in the gstreamer plugin. Also it allows building the plugin on + systems that don't have UI-specific libraries (like X). + +2006-07-19 16:35:13 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdec.c: Make some enums const. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_lowres_get_type), + (gst_ffmpegdec_skipframe_get_type), (gst_ffmpegdec_class_init), + (gst_ffmpegdec_init), (gst_ffmpegdec_open), + (gst_ffmpegdec_setcaps), (gst_ffmpegdec_negotiate), + (gst_ffmpegdec_do_qos), (clip_video_buffer), (check_keyframe), + (get_output_buffer), (gst_ffmpegdec_video_frame), + (gst_ffmpegdec_frame), (gst_ffmpegdec_sink_event), + (gst_ffmpegdec_chain): + Make some enums const. + Cleanups, refactoring. + Better video frame clipping. + Timestamp fixe: use timestamp from incomming buffer even if there + is no input framerate given (as this is totally unrelated). + +2006-06-12 13:19:22 +0000 Edward Hervey + + .cvsignore: ignore more files + Original commit message from CVS: + * .cvsignore: + ignore more files + +2006-06-06 08:31:48 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegdec.c: mpeg4 parsing still utterly broken :( + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open): + mpeg4 parsing still utterly broken :( + +2006-06-02 12:38:37 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegdec.c: Nothing to see, pass your way, I didn't screwup the previous commit. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain): + Nothing to see, pass your way, I didn't screwup the previous commit. + +2006-06-02 12:29:38 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegdec.c: Split out audio and video frame decoding. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_init), + (gst_ffmpegdec_query), (gst_ffmpegdec_update_qos), + (gst_ffmpegdec_reset_qos), (gst_ffmpegdec_read_qos), + (gst_ffmpegdec_open), (gst_ffmpegdec_setcaps), + (gst_ffmpegdec_get_buffer), (gst_ffmpegdec_release_buffer), + (gst_ffmpegdec_add_pixel_aspect_ratio), (gst_ffmpegdec_negotiate), + (gst_ffmpegdec_do_qos), (gst_ffmpegdec_video_frame), + (gst_ffmpegdec_audio_frame), (gst_ffmpegdec_frame), + (gst_ffmpegdec_flush_pcache), (gst_ffmpegdec_sink_event), + (gst_ffmpegdec_chain): + Split out audio and video frame decoding. + Added dropping/clipping of decoded buffers. + Ran gst-indent on code. + Small non-invasive code cleanups. + +2006-06-02 11:50:45 +0000 Michael Smith + + ext/ffmpeg/gstffmpegdemux.c: One of the ffmpeg 'plugins' changed its name with the latest update of the snapshot. Cha... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): + One of the ffmpeg 'plugins' changed its name with the latest update + of the snapshot. Change the blacklisted typefind list to match. + +2006-05-26 12:42:06 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegcodecmap.c: Change all GST_WARNING to GST_LOG. None of these warning are really critical issues a... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), + (gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_smpfmt_to_caps), + (gst_ffmpeg_formatid_to_caps), (gst_ffmpeg_formatid_get_codecids), + (gst_ffmpeg_get_codecid_longname): + Change all GST_WARNING to GST_LOG. None of these warning are + really critical issues anyway. + +2006-05-18 23:06:31 +0000 Thomas Vander Stichele + + configure.ac: fix test by finding base plugins + Original commit message from CVS: + 2006-05-19 Thomas Vander Stichele + * configure.ac: + fix test by finding base plugins + +2006-05-16 20:03:00 +0000 Philippe Kalaf + + * common: + * ext/ffmpeg/gstffmpegcodecmap.c: + Add variant=h263p to ffenc_h263p caps + Original commit message from CVS: + Add variant=h263p to ffenc_h263p caps + +2006-05-09 16:44:33 +0000 Tim-Philipp Müller + + tests/check/gst-ffmpeg.supp: Add missing file (which prepare-ChangeLog didn't pick up because it's empty). + Original commit message from CVS: + * tests/check/gst-ffmpeg.supp: + Add missing file (which prepare-ChangeLog didn't pick up + because it's empty). + +2006-05-09 16:33:20 +0000 Tim-Philipp Müller + + tests/check/generic/libavcodec-locking.c: Only run test when encoder element is available (we might have been configu... + Original commit message from CVS: + * tests/check/generic/libavcodec-locking.c: (GST_START_TEST), + (simple_launch_lines_suite), (main): + Only run test when encoder element is available (we might + have been configured with --disable-encoders). + +2006-05-09 16:18:17 +0000 Luca Ognibene + + tests/check/: Add test case for libavcodec locking + Original commit message from CVS: + Patch by: Luca Ognibene + * tests/check/Makefile.am: + * tests/check/generic/libavcodec-locking.c: (setup_pipeline), + (run_pipeline), (GST_START_TEST), (simple_launch_lines_suite), + (main): + Add test case for libavcodec locking + +2006-05-09 16:15:39 +0000 Tim-Philipp Müller + + Add test infrastructure to gst-ffmpeg (#324279). + Original commit message from CVS: + * Makefile.am: + * configure.ac: + * tests/Makefile.am: + * tests/check/.cvsignore: + * tests/check/Makefile.am: + * tests/check/generic/.cvsignore: + Add test infrastructure to gst-ffmpeg (#324279). + +2006-05-08 11:58:44 +0000 Edward Hervey + + autogen.sh: libtoolize on Darwin/MacOSX is called glibtoolize + Original commit message from CVS: + * autogen.sh: (CONFIGURE_DEF_OPT): + libtoolize on Darwin/MacOSX is called glibtoolize + +2006-05-07 01:18:46 +0000 Sam Morris + + ext/ffmpeg/: Add mappings for RealVideo 4.0, AMR-WB, AMR-NB and DTS to silence warnings when registering. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), + (gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_formatid_get_codecids), + (gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_get_codecid_longname): + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init): + Add mappings for RealVideo 4.0, AMR-WB, AMR-NB and DTS to silence + warnings when registering. + Only register the 1/2,1/4 size decode and frame-skipping properties + on video decoders. + * gst-libs/ext/ffmpeg/configure.ac: + * gst-libs/ext/ffmpeg/libavformat/Makefile.am: + * gst-libs/ext/ffmpeg/patches/autotools.patch: + Merge patch by Sam Morris to allow disabling of decoders. + Fixes #324366 + +2006-05-06 23:40:16 +0000 Jan Schmidt + + gst-libs/ext/ffmpeg/patches/: Refresh patches to incorporate MikeS' automake 1.9 changes from a while back. + Original commit message from CVS: + * gst-libs/ext/ffmpeg/patches/autotools.patch: + * gst-libs/ext/ffmpeg/patches/noinst.patch: + Refresh patches to incorporate MikeS' automake 1.9 changes from a + while back. + +2006-05-04 13:51:03 +0000 Christian Schaller + + * gst-ffmpeg.spec.in: + add missing rm line + Original commit message from CVS: + add missing rm line + +2006-05-02 13:53:57 +0000 Tim-Philipp Müller + + ext/ffmpeg/gstffmpegdemux.c: Give ffmpeg demuxers a rank of NONE for the time being, so that they are not auto-plugge... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): + Give ffmpeg demuxers a rank of NONE for the time being, so that + they are not auto-plugged; they are not stable enough for that + yet (e.g. #337785). Don't register AAC demuxer, it's not really + useful and can't be used as faad replacement (#338928). + +2006-04-24 18:51:15 +0000 Edgard Lima + + * ChangeLog: + * ext/ffmpeg/gstffmpegenc.c: + just make it compile with --disable-gst-debug. + Original commit message from CVS: + just make it compile with --disable-gst-debug. + +2006-04-21 16:29:01 +0000 Andy Wingo + + configure.ac (GST_MAJORMINOR): Drop the required gstreamer version back down to the latest release, I don't think tho... + Original commit message from CVS: + 2006-04-21 Andy Wingo + * configure.ac (GST_MAJORMINOR): Drop the required gstreamer + version back down to the latest release, I don't think thomas' + commit on 1 april was meant to change it. + +2006-04-21 15:48:17 +0000 Andy Wingo + + ext/ffmpeg/gstffmpegdec.c (gst_ffmpegdec_register): Up the rank of the dv video decoder. + Original commit message from CVS: + 2006-04-21 Andy Wingo + * ext/ffmpeg/gstffmpegdec.c (gst_ffmpegdec_register): Up the rank + of the dv video decoder. + +2006-04-19 15:35:12 +0000 Edward Hervey + + ext/ffmpeg/gstffmpegcodecmap.c: Added proper GstCaps <==> CodecId for Apple QDRaw. + Original commit message from CVS: + reviewed by: Edward Hervey + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), + (gst_ffmpeg_formatid_to_caps), (gst_ffmpeg_formatid_get_codecids), + (gst_ffmpeg_get_codecid_longname): + Added proper GstCaps <==> CodecId for Apple QDRaw. + Fixed up proper wrapping for GstCaps <==> FormatId. + +2006-04-18 11:02:04 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdemux.c: Don't try to convert -1 values when seeking. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_perform_seek), + (gst_ffmpegdemux_loop): + Don't try to convert -1 values when seeking. + Adjust timestamps with start_time of the stream. + +2006-04-13 16:22:53 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdemux.c: Rework the demuxer, implement all seeking stuff including seek in ready. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_base_init), + (gst_ffmpegdemux_class_init), (gst_ffmpegdemux_init), + (gst_ffmpegdemux_close), (gst_ffmpegdemux_push_event), + (gst_ffmpegdemux_set_flags), (gst_ffmpegdemux_is_eos), + (gst_ffmpegdemux_do_seek), (gst_ffmpegdemux_perform_seek), + (gst_ffmpegdemux_src_event), (gst_ffmpegdemux_send_event), + (gst_ffmpegdemux_src_query), (gst_ffmpegdemux_src_convert), + (gst_ffmpegdemux_get_stream), (my_safe_copy), + (gst_ffmpegdemux_read_tags), (gst_ffmpegdemux_open), + (gst_ffmpegdemux_loop), (gst_ffmpegdemux_sink_activate), + (gst_ffmpegdemux_sink_activate_pull), + (gst_ffmpegdemux_change_state), (gst_ffmpegdemux_register): + Rework the demuxer, implement all seeking stuff including + seek in ready. + * ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_peek), + (gst_ffmpegdata_close): + Handle some more cases. + +2006-04-11 17:55:33 +0000 Wim Taymans + + * ChangeLog: + Mention the bug this latest commit fixed. + Original commit message from CVS: + Mention the bug this latest commit fixed. + +2006-04-11 17:53:21 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdec.c: Actually convert to time instead of pretending.. Also the bitrate of the context is mostly... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_sink_event): + Actually convert to time instead of pretending.. Also + the bitrate of the context is mostly wrong so don't + bother calculating a stop position. + +2006-04-10 20:29:14 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdec.c: When we see a keyframe don't wait for another one. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain): + When we see a keyframe don't wait for another one. + +2006-04-08 21:55:22 +0000 Stefan Kost + + ext/ffmpeg/: Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent) + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_class_init): + * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_class_init): + * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_class_init): + Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent) + +2006-04-08 11:04:50 +0000 Wim Taymans + + ext/ffmpeg/gstffmpegdec.c: Too bad we can't use gst_private.h.. + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_do_qos): + Too bad we can't use gst_private.h.. + +2006-04-08 10:55:12 +0000 Wim Taymans + + * ChangeLog: + And the right ChangeLog this time. + Original commit message from CVS: + And the right ChangeLog this time. + +2006-04-08 10:51:32 +0000 Wim Taymans + + ext/ffmpeg/: + Original commit message from CVS: + reviewed by: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_avpicture_fill): + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init), + (gst_ffmpegdec_init), (gst_ffmpegdec_finalize), + (gst_ffmpegdec_query), (gst_ffmpegdec_update_qos), + (gst_ffmpegdec_reset_qos), (gst_ffmpegdec_read_qos), + (gst_ffmpegdec_src_event), (gst_ffmpegdec_open), + (gst_ffmpegdec_setcaps), (gst_ffmpegdec_get_buffer), + (gst_ffmpegdec_release_buffer), + (gst_ffmpegdec_add_pixel_aspect_ratio), (gst_ffmpegdec_negotiate), + (gst_ffmpegdec_do_qos), (gst_ffmpegdec_frame), + (gst_ffmpegdec_flush_pcache), (gst_ffmpegdec_sink_event), + (gst_ffmpegdec_chain): + +2006-04-06 14:55:56 +0000 Tim-Philipp Müller + + ext/ffmpeg/gstffmpegdemux.c: Register id3 demuxer, avi demuxer and ogg demuxer with a rank of GST_RANK_NONE so that t... + Original commit message from CVS: + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): + Register id3 demuxer, avi demuxer and ogg demuxer with + a rank of GST_RANK_NONE so that they don't get + autoplugged accidentally. We want people to install + the demuxers that are known to work well rather than + mostly untested stuff like ffdemux_*. + +2006-04-01 15:41:27 +0000 Thomas Vander Stichele + + * common: + * configure.ac: + don't use AS_LIBTOOL_TAGS, it doesn't work + Original commit message from CVS: + don't use AS_LIBTOOL_TAGS, it doesn't work + +2006-04-01 09:58:38 +0000 Thomas Vander Stichele + + * common: + * docs/.gitignore: + ignore more + Original commit message from CVS: + ignore more + +2006-03-31 22:26:12 +0000 Thomas Vander Stichele + + ext/ffmpeg/: various compiler fixes + Original commit message from CVS: + * ext/ffmpeg/gstffmpeg.c: + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps): + * ext/ffmpeg/gstffmpegdec.c: + (gst_ffmpegdec_add_pixel_aspect_ratio), (gst_ffmpegdec_frame): + * ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_seek): + * ext/ffmpeg/gstffmpegscale.c: (gst_ffmpegscale_transform_caps), + (gst_ffmpegscale_handle_src_event): + various compiler fixes + * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_src_event), + (my_safe_copy), (gst_ffmpegdemux_open), + (gst_ffmpegdemux_change_state): + actually return the result. Tee hee. + +2006-03-31 11:17:35 +0000 Thomas Vander Stichele + + * ChangeLog: + * configure.ac: + back to HEAD + Original commit message from CVS: + back to HEAD + diff --git a/NEWS b/NEWS new file mode 100644 index 0000000000..0e581c39b8 --- /dev/null +++ b/NEWS @@ -0,0 +1,299 @@ +GStreamer 1.20 Release Notes + +GStreamer 1.20 has not been released yet. It is scheduled for release +around October/November 2021. + +1.19.x is the unstable development version that is being developed in +the git main branch and which will eventually result in 1.20, and 1.19.2 +is the current development release in that series + +It is expected that feature freeze will be in early October 2021, +followed by one or two 1.19.9x pre-releases and the new 1.20 stable +release around October/November 2021. + +1.20 will be backwards-compatible to the stable 1.18, 1.16, 1.14, 1.12, +1.10, 1.8, 1.6,, 1.4, 1.2 and 1.0 release series. + +See https://gstreamer.freedesktop.org/releases/1.20/ for the latest +version of this document. + +Last updated: Wednesday 22 September 2021, 18:00 UTC (log) + +Introduction + +The GStreamer team is proud to announce a new major feature release in +the stable 1.x API series of your favourite cross-platform multimedia +framework! + +As always, this release is again packed with many new features, bug +fixes and other improvements. + +Highlights + +- this section will be completed in due course + +Major new features and changes + +Noteworthy new features and API + +- this section will be filled in in due course + +New elements + +- this section will be filled in in due course + +New element features and additions + +- this section will be filled in in due course + +Plugin and library moves + +- this section will be filled in in due course + +- There were no plugin moves or library moves in this cycle. + +Plugin removals + +The following elements or plugins have been removed: + +- this section will be filled in in due course + +Miscellaneous API additions + +- this section will be filled in in due course + +Miscellaneous performance, latency and memory optimisations + +- this section will be filled in in due course + +Miscellaneous other changes and enhancements + +- this section will be filled in in due course + +Tracing framework and debugging improvements + +- this section will be filled in in due course + +Tools + +- this section will be filled in in due course + +GStreamer RTSP server + +- this section will be filled in in due course + +GStreamer VAAPI + +- this section will be filled in in due course + +GStreamer OMX + +- this section will be filled in in due course + +GStreamer Editing Services and NLE + +- this section will be filled in in due course + +GStreamer validate + +- this section will be filled in in due course + +GStreamer Python Bindings + +- this section will be filled in in due course + +GStreamer C# Bindings + +- this section will be filled in in due course + +GStreamer Rust Bindings and Rust Plugins + +The GStreamer Rust bindings are released separately with a different +release cadence that’s tied to gtk-rs, but the latest release has +already been updated for the upcoming new GStreamer 1.20 API. + +gst-plugins-rs, the module containing GStreamer plugins written in Rust, +has also seen lots of activity with many new elements and plugins. + +What follows is a list of elements and plugins available in +gst-plugins-rs, so people don’t miss out on all those potentially useful +elements that have no C equivalent. + +- FIXME: add new elements + +Rust audio plugins + +- audiornnoise: New element for audio denoising which implements the + noise removal algorithm of the Xiph RNNoise library, in Rust +- rsaudioecho: Port of the audioecho element from gst-plugins-good + rsaudioloudnorm: Live audio loudness normalization element based on + the FFmpeg af_loudnorm filter +- claxondec: FLAC lossless audio codec decoder element based on the + pure-Rust claxon implementation +- csoundfilter: Audio filter that can use any filter defined via the + Csound audio programming language +- lewtondec: Vorbis audio decoder element based on the pure-Rust + lewton implementation + +Rust video plugins + +- cdgdec/cdgparse: Decoder and parser for the CD+G video codec based + on a pure-Rust CD+G implementation, used for example by karaoke CDs +- cea608overlay: CEA-608 Closed Captions overlay element +- cea608tott: CEA-608 Closed Captions to timed-text (e.g. VTT or SRT + subtitles) converter +- tttocea608: CEA-608 Closed Captions from timed-text converter +- mccenc/mccparse: MacCaption Closed Caption format encoder and parser +- sccenc/sccparse: Scenarist Closed Caption format encoder and parser +- dav1dec: AV1 video decoder based on the dav1d decoder implementation + by the VLC project +- rav1enc: AV1 video encoder based on the fast and pure-Rust rav1e + encoder implementation +- rsflvdemux: Alternative to the flvdemux FLV demuxer element from + gst-plugins-good, not feature-equivalent yet +- rsgifenc/rspngenc: GIF/PNG encoder elements based on the pure-Rust + implementations by the image-rs project + +Rust text plugins + +- textwrap: Element for line-wrapping timed text (e.g. subtitles) for + better screen-fitting, including hyphenation support for some + languages + +Rust network plugins + +- reqwesthttpsrc: HTTP(S) source element based on the Rust + reqwest/hyper HTTP implementations and almost feature-equivalent + with the main GStreamer HTTP source souphttpsrc +- s3src/s3sink: Source/sink element for the Amazon S3 cloud storage +- awstranscriber: Live audio to timed text transcription element using + the Amazon AWS Transcribe API + +Generic Rust plugins + +- sodiumencrypter/sodiumdecrypter: Encryption/decryption element based + on libsodium/NaCl +- togglerecord: Recording element that allows to pause/resume + recordings easily and considers keyframe boundaries +- fallbackswitch/fallbacksrc: Elements for handling potentially + failing (network) sources, restarting them on errors/timeout and + showing a fallback stream instead +- threadshare: Set of elements that provide alternatives for various + existing GStreamer elements but allow to share the streaming threads + between each other to reduce the number of threads +- rsfilesrc/rsfilesink: File source/sink elements as replacements for + the existing filesrc/filesink elements + +Build and Dependencies + +- this section will be filled in in due course + +gst-build + +- this section will be filled in in due course + +Cerbero + +Cerbero is a meta build system used to build GStreamer plus dependencies +on platforms where dependencies are not readily available, such as +Windows, Android, iOS and macOS. + +General improvements + +- this section will be filled in in due course + +macOS / iOS + +- this section will be filled in in due course + +Windows + +- this section will be filled in in due course + +Windows MSI installer + +- this section will be filled in in due course + +Linux + +- this section will be filled in in due course + +Android + +- this section will be filled in in due course + +Platform-specific changes and improvements + +Android + +- this section will be filled in in due course + +macOS and iOS + +- this section will be filled in in due course + +Windows + +- this section will be filled in in due course + +Linux + +- this section will be filled in in due course + +Documentation improvements + +- this section will be filled in in due course + +Possibly Breaking Changes + +- this section will be filled in in due course +- MPEG-TS SCTE-35 API changes (FIXME: flesh out) +- gst_parse_launch() and friends now error out on non-existing + properties on top-level bins where they would silently fail and + ignore those before. + +Known Issues + +- this section will be filled in in due course + +- There are a couple of known WebRTC-related regressions/blockers: + + - webrtc: DTLS setup with Chrome is broken + - webrtcbin: First keyframe is usually lost + +Contributors + +- this section will be filled in in due course + +… and many others who have contributed bug reports, translations, sent +suggestions or helped testing. + +Stable 1.20 branch + +After the 1.20.0 release there will be several 1.20.x bug-fix releases +which will contain bug fixes which have been deemed suitable for a +stable branch, but no new features or intrusive changes will be added to +a bug-fix release usually. The 1.20.x bug-fix releases will be made from +the git 1.20 branch, which will be a stable branch. + +1.20.0 + +1.20.0 is scheduled to be released around October/November 2021. + +Schedule for 1.22 + +Our next major feature release will be 1.22, and 1.21 will be the +unstable development version leading up to the stable 1.22 release. The +development of 1.21/1.22 will happen in the git main branch. + +The plan for the 1.22 development cycle is yet to be confirmed. + +1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14, +1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series. + +------------------------------------------------------------------------ + +These release notes have been prepared by Tim-Philipp Müller with +contributions from … + +License: CC BY-SA 4.0 diff --git a/README.md b/README.md new file mode 100644 index 0000000000..15e40f1db2 --- /dev/null +++ b/README.md @@ -0,0 +1,23 @@ +# gst-libav + +This module contains a GStreamer plugin for using the encoders, decoders, +muxers, and demuxers provided by FFmpeg. It is called gst-libav for historical +reasons. + +# Plugin Dependencies and Licenses + +GStreamer is developed under the terms of the LGPL-2.1 (see COPYING file for +details), and that includes the code in this repository. + +However, this repository depends on FFmpeg, which can be built in the following +modes using various `./configure` switches: LGPL-2.1, LGPL-3, GPL, or non-free. + +This can mean, for example, that if you are distributing an application which +has a non-GPL compatible license (like a closed-source application) with +GStreamer, you have to make sure not to build FFmpeg with GPL code enabled. + +Overall, when using plugins that link to GPL libraries, GStreamer is for all +practical reasons under the GPL itself. + +The above recommendations are not legal advice, and you are responsible for +ensuring that you meet your licensing obligations. diff --git a/RELEASE b/RELEASE new file mode 100644 index 0000000000..8abf3ba2ca --- /dev/null +++ b/RELEASE @@ -0,0 +1,96 @@ +This is GStreamer gst-libav 1.19.2. + +GStreamer 1.19 is the development branch leading up to the next major +stable version which will be 1.20. + +The 1.19 development series adds new features on top of the 1.18 series and is +part of the API and ABI-stable 1.x release series of the GStreamer multimedia +framework. + +Full release notes will one day be found at: + + https://gstreamer.freedesktop.org/releases/1.20/ + +Binaries for Android, iOS, Mac OS X and Windows will usually be provided +shortly after the release. + +This module will not be very useful by itself and should be used in conjunction +with other GStreamer modules for a complete multimedia experience. + + - gstreamer: provides the core GStreamer libraries and some generic plugins + + - gst-plugins-base: a basic set of well-supported plugins and additional + media-specific GStreamer helper libraries for audio, + video, rtsp, rtp, tags, OpenGL, etc. + + - gst-plugins-good: a set of well-supported plugins under our preferred + license + + - gst-plugins-ugly: a set of well-supported plugins which might pose + problems for distributors + + - gst-plugins-bad: a set of plugins of varying quality that have not made + their way into one of core/base/good/ugly yet, for one + reason or another. Many of these are are production quality + elements, but may still be missing documentation or unit + tests; others haven't passed the rigorous quality testing + we expect yet. + + - gst-libav: a set of codecs plugins based on the ffmpeg library. This is + where you can find audio and video decoders and encoders + for a wide variety of formats including H.264, AAC, etc. + + - gstreamer-vaapi: hardware-accelerated video decoding and encoding using + VA-API on Linux. Primarily for Intel graphics hardware. + + - gst-omx: hardware-accelerated video decoding and encoding, primarily for + embedded Linux systems that provide an OpenMax + implementation layer such as the Raspberry Pi. + + - gst-rtsp-server: library to serve files or streaming pipelines via RTSP + + - gst-editing-services: library an plugins for non-linear editing + +==== Download ==== + +You can find source releases of gstreamer in the download +directory: https://gstreamer.freedesktop.org/src/gstreamer/ + +The git repository and details how to clone it can be found at +https://gitlab.freedesktop.org/gstreamer/ + +==== Homepage ==== + +The project's website is https://gstreamer.freedesktop.org/ + +==== Support and Bugs ==== + +We have recently moved from GNOME Bugzilla to GitLab on freedesktop.org +for bug reports and feature requests: + + https://gitlab.freedesktop.org/gstreamer + +Please submit patches via GitLab as well, in form of Merge Requests. See + + https://gstreamer.freedesktop.org/documentation/contribute/ + +for more details. + +For help and support, please subscribe to and send questions to the +gstreamer-devel mailing list (see below for details). + +There is also a #gstreamer IRC channel on the Freenode IRC network. + +==== Developers ==== + +GStreamer source code repositories can be found on GitLab on freedesktop.org: + + https://gitlab.freedesktop.org/gstreamer + +and can also be cloned from there and this is also where you can submit +Merge Requests or file issues for bugs or feature requests. + +Interested developers of the core library, plugins, and applications should +subscribe to the gstreamer-devel list: + + https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel diff --git a/docs/gst_plugins_cache.json b/docs/gst_plugins_cache.json new file mode 100644 index 0000000000..7ea1b7cf91 --- /dev/null +++ b/docs/gst_plugins_cache.json @@ -0,0 +1,130794 @@ +{ + "libav": { + "description": "All libav codecs and formats (system install)", + "elements": { + "avdec_4xm": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav 4xm decoder", + "hierarchy": [ + "avdec_4xm", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav 4X Movie decoder", + "pad-templates": { + "sink": { + "caps": "video/x-4xm:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_8bps": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav 8bps decoder", + "hierarchy": [ + "avdec_8bps", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav QuickTime 8BPS video decoder", + "pad-templates": { + "sink": { + "caps": "video/x-gst-av-8bps:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_8svx_exp": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav 8svx_exp decoder", + "hierarchy": [ + "avdec_8svx_exp", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav 8SVX exponential decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: U8\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_8svx_fib": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav 8svx_fib decoder", + "hierarchy": [ + "avdec_8svx_fib", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav 8SVX fibonacci decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: U8\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_aac": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav aac decoder", + "hierarchy": [ + "avdec_aac", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav AAC (Advanced Audio Coding) decoder", + "pad-templates": { + "sink": { + "caps": "audio/mpeg:\n mpegversion: { (int)2, (int)4 }\n stream-format: { (string)raw, (string)adts, (string)adif }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "primary" + }, + "avdec_aac_fixed": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav aac_fixed decoder", + "hierarchy": [ + "avdec_aac_fixed", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav AAC (Advanced Audio Coding) decoder", + "pad-templates": { + "sink": { + "caps": "audio/mpeg:\n mpegversion: { (int)2, (int)4 }\n stream-format: { (string)raw, (string)adts, (string)adif }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "primary" + }, + "avdec_aac_latm": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav aac_latm decoder", + "hierarchy": [ + "avdec_aac_latm", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav AAC LATM (Advanced Audio Coding LATM syntax) decoder", + "pad-templates": { + "sink": { + "caps": "audio/mpeg:\n mpegversion: 4\n stream-format: loas\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_aasc": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav aasc decoder", + "hierarchy": [ + "avdec_aasc", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Autodesk RLE decoder", + "pad-templates": { + "sink": { + "caps": "video/x-aasc:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_ac3": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav ac3 decoder", + "hierarchy": [ + "avdec_ac3", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ATSC A/52A (AC-3) decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-ac3:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_ac3_fixed": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav ac3_fixed decoder", + "hierarchy": [ + "avdec_ac3_fixed", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ATSC A/52A (AC-3) decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-ac3:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_4xm": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_4xm decoder", + "hierarchy": [ + "avdec_adpcm_4xm", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM 4X Movie decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-adpcm:\n layout: 4xm\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_adx": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_adx decoder", + "hierarchy": [ + "avdec_adpcm_adx", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav SEGA CRI ADX ADPCM decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-adpcm:\n layout: adx\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_afc": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_afc decoder", + "hierarchy": [ + "avdec_adpcm_afc", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM Nintendo Gamecube AFC decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_agm": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_agm decoder", + "hierarchy": [ + "avdec_adpcm_agm", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM AmuseGraphics Movie decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_aica": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_aica decoder", + "hierarchy": [ + "avdec_adpcm_aica", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM Yamaha AICA decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_ct": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_ct decoder", + "hierarchy": [ + "avdec_adpcm_ct", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM Creative Technology decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-adpcm:\n layout: ct\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_dtk": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_dtk decoder", + "hierarchy": [ + "avdec_adpcm_dtk", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM Nintendo Gamecube DTK decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_ea": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_ea decoder", + "hierarchy": [ + "avdec_adpcm_ea", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM Electronic Arts decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-adpcm:\n layout: ea\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_ea_maxis_xa": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_ea_maxis_xa decoder", + "hierarchy": [ + "avdec_adpcm_ea_maxis_xa", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM Electronic Arts Maxis CDROM XA decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-adpcm:\n layout: ea-maxis-xa\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_ea_r1": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_ea_r1 decoder", + "hierarchy": [ + "avdec_adpcm_ea_r1", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM Electronic Arts R1 decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-adpcm:\n layout: ea-r1\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_ea_r2": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_ea_r2 decoder", + "hierarchy": [ + "avdec_adpcm_ea_r2", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM Electronic Arts R2 decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-adpcm:\n layout: ea-r3\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_ea_r3": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_ea_r3 decoder", + "hierarchy": [ + "avdec_adpcm_ea_r3", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM Electronic Arts R3 decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-adpcm:\n layout: ea-r3\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_ea_xas": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_ea_xas decoder", + "hierarchy": [ + "avdec_adpcm_ea_xas", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM Electronic Arts XAS decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-adpcm:\n layout: ea-xas\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_ima_amv": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_ima_amv decoder", + "hierarchy": [ + "avdec_adpcm_ima_amv", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM IMA AMV decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-adpcm:\n layout: amv\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_ima_apc": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_ima_apc decoder", + "hierarchy": [ + "avdec_adpcm_ima_apc", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM IMA CRYO APC decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_ima_dat4": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_ima_dat4 decoder", + "hierarchy": [ + "avdec_adpcm_ima_dat4", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM IMA Eurocom DAT4 decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_ima_dk3": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_ima_dk3 decoder", + "hierarchy": [ + "avdec_adpcm_ima_dk3", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM IMA Duck DK3 decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-adpcm:\n layout: dk3\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_ima_dk4": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_ima_dk4 decoder", + "hierarchy": [ + "avdec_adpcm_ima_dk4", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM IMA Duck DK4 decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-adpcm:\n layout: dk4\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_ima_ea_eacs": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_ima_ea_eacs decoder", + "hierarchy": [ + "avdec_adpcm_ima_ea_eacs", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM IMA Electronic Arts EACS decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-adpcm:\n layout: ea-eacs\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_ima_ea_sead": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_ima_ea_sead decoder", + "hierarchy": [ + "avdec_adpcm_ima_ea_sead", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM IMA Electronic Arts SEAD decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-adpcm:\n layout: ea-sead\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_ima_iss": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_ima_iss decoder", + "hierarchy": [ + "avdec_adpcm_ima_iss", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM IMA Funcom ISS decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-adpcm:\n layout: iss\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_ima_oki": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_ima_oki decoder", + "hierarchy": [ + "avdec_adpcm_ima_oki", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM IMA Dialogic OKI decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-adpcm:\n layout: oki\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_ima_qt": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_ima_qt decoder", + "hierarchy": [ + "avdec_adpcm_ima_qt", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM IMA QuickTime decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-adpcm:\n layout: quicktime\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_ima_rad": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_ima_rad decoder", + "hierarchy": [ + "avdec_adpcm_ima_rad", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM IMA Radical decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_ima_smjpeg": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_ima_smjpeg decoder", + "hierarchy": [ + "avdec_adpcm_ima_smjpeg", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM IMA Loki SDL MJPEG decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-adpcm:\n layout: smjpeg\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_ima_wav": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_ima_wav decoder", + "hierarchy": [ + "avdec_adpcm_ima_wav", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM IMA WAV decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-adpcm:\n layout: dvi\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_ima_ws": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_ima_ws decoder", + "hierarchy": [ + "avdec_adpcm_ima_ws", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM IMA Westwood decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-adpcm:\n layout: westwood\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\naudio/x-raw:\n format: S16LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_ms": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_ms decoder", + "hierarchy": [ + "avdec_adpcm_ms", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM Microsoft decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-adpcm:\n layout: microsoft\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_mtaf": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_mtaf decoder", + "hierarchy": [ + "avdec_adpcm_mtaf", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM MTAF decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_psx": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_psx decoder", + "hierarchy": [ + "avdec_adpcm_psx", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM Playstation decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_sbpro_2": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_sbpro_2 decoder", + "hierarchy": [ + "avdec_adpcm_sbpro_2", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM Sound Blaster Pro 2-bit decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-adpcm:\n layout: sbpro2\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_sbpro_3": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_sbpro_3 decoder", + "hierarchy": [ + "avdec_adpcm_sbpro_3", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM Sound Blaster Pro 2.6-bit decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-adpcm:\n layout: sbpro3\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_sbpro_4": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_sbpro_4 decoder", + "hierarchy": [ + "avdec_adpcm_sbpro_4", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM Sound Blaster Pro 4-bit decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-adpcm:\n layout: sbpro4\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_swf": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_swf decoder", + "hierarchy": [ + "avdec_adpcm_swf", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM Shockwave Flash decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-adpcm:\n layout: swf\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_thp": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_thp decoder", + "hierarchy": [ + "avdec_adpcm_thp", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM Nintendo THP decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-adpcm:\n layout: thp\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_thp_le": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_thp_le decoder", + "hierarchy": [ + "avdec_adpcm_thp_le", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM Nintendo THP (little-endian) decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_vima": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_vima decoder", + "hierarchy": [ + "avdec_adpcm_vima", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav LucasArts VIMA audio decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_xa": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_xa decoder", + "hierarchy": [ + "avdec_adpcm_xa", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM CDROM XA decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-adpcm:\n layout: xa\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_adpcm_yamaha": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav adpcm_yamaha decoder", + "hierarchy": [ + "avdec_adpcm_yamaha", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADPCM Yamaha decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-adpcm:\n layout: yamaha\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_agm": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav agm decoder", + "hierarchy": [ + "avdec_agm", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Amuse Graphics Movie decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether libav should print motion vectors on top of the image", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_aic": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav aic decoder", + "hierarchy": [ + "avdec_aic", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Apple Intermediate Codec decoder", + "pad-templates": { + "sink": { + "caps": "video/x-apple-intermediate-codec:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_alac": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav alac decoder", + "hierarchy": [ + "avdec_alac", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ALAC (Apple Lossless Audio Codec) decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-alac:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_alias_pix": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav alias_pix decoder", + "hierarchy": [ + "avdec_alias_pix", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Alias/Wavefront PIX image decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_als": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav als decoder", + "hierarchy": [ + "avdec_als", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav MPEG-4 Audio Lossless Coding (ALS) decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_amrnb": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav amrnb decoder", + "hierarchy": [ + "avdec_amrnb", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav AMR-NB (Adaptive Multi-Rate NarrowBand) decoder", + "pad-templates": { + "sink": { + "caps": "audio/AMR:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_amrwb": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav amrwb decoder", + "hierarchy": [ + "avdec_amrwb", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav AMR-WB (Adaptive Multi-Rate WideBand) decoder", + "pad-templates": { + "sink": { + "caps": "audio/AMR-WB:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_amv": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav amv decoder", + "hierarchy": [ + "avdec_amv", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav AMV Video decoder", + "pad-templates": { + "sink": { + "caps": "video/x-amv:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_anm": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav anm decoder", + "hierarchy": [ + "avdec_anm", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Deluxe Paint Animation decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_ansi": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav ansi decoder", + "hierarchy": [ + "avdec_ansi", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav ASCII/ANSI art decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_ape": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav ape decoder", + "hierarchy": [ + "avdec_ape", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav Monkey's Audio decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-ffmpeg-parsed-ape:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE }\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_apng": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav apng decoder", + "hierarchy": [ + "avdec_apng", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav APNG (Animated Portable Network Graphics) image decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_aptx": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav aptx decoder", + "hierarchy": [ + "avdec_aptx", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav aptX (Audio Processing Technology for Bluetooth) decoder", + "pad-templates": { + "sink": { + "caps": "audio/aptx:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_aptx_hd": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav aptx_hd decoder", + "hierarchy": [ + "avdec_aptx_hd", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav aptX HD (Audio Processing Technology for Bluetooth) decoder", + "pad-templates": { + "sink": { + "caps": "audio/aptx-hd:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_arbc": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav arbc decoder", + "hierarchy": [ + "avdec_arbc", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Gryphon's Anim Compressor decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether libav should print motion vectors on top of the image", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_asv1": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav asv1 decoder", + "hierarchy": [ + "avdec_asv1", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav ASUS V1 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-asus:\n asusversion: 1\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_asv2": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav asv2 decoder", + "hierarchy": [ + "avdec_asv2", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav ASUS V2 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-asus:\n asusversion: 2\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_atrac1": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav atrac1 decoder", + "hierarchy": [ + "avdec_atrac1", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ATRAC1 (Adaptive TRansform Acoustic Coding) decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-vnd.sony.atrac1:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_atrac3": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav atrac3 decoder", + "hierarchy": [ + "avdec_atrac3", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ATRAC3 (Adaptive TRansform Acoustic Coding 3) decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-vnd.sony.atrac3:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_atrac3al": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav atrac3al decoder", + "hierarchy": [ + "avdec_atrac3al", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ATRAC3 AL (Adaptive TRansform Acoustic Coding 3 Advanced Lossless) decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_atrac3plus": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav atrac3plus decoder", + "hierarchy": [ + "avdec_atrac3plus", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ATRAC3+ (Adaptive TRansform Acoustic Coding 3+) decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_atrac3plusal": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav atrac3plusal decoder", + "hierarchy": [ + "avdec_atrac3plusal", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ATRAC3+ AL (Adaptive TRansform Acoustic Coding 3+ Advanced Lossless) decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_atrac9": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav atrac9 decoder", + "hierarchy": [ + "avdec_atrac9", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ATRAC9 (Adaptive TRansform Acoustic Coding 9) decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_aura": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav aura decoder", + "hierarchy": [ + "avdec_aura", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Auravision AURA decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_aura2": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav aura2 decoder", + "hierarchy": [ + "avdec_aura2", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Auravision Aura 2 decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_avrn": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav avrn decoder", + "hierarchy": [ + "avdec_avrn", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Avid AVI Codec decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_avrp": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav avrp decoder", + "hierarchy": [ + "avdec_avrp", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Avid 1:1 10-bit RGB Packer decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_avs": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav avs decoder", + "hierarchy": [ + "avdec_avs", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav AVS (Audio Video Standard) video decoder", + "pad-templates": { + "sink": { + "caps": "video/x-gst-av-avs:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_avui": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav avui decoder", + "hierarchy": [ + "avdec_avui", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Avid Meridien Uncompressed decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_bethsoftvid": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav bethsoftvid decoder", + "hierarchy": [ + "avdec_bethsoftvid", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Bethesda VID video decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_bfi": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav bfi decoder", + "hierarchy": [ + "avdec_bfi", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Brute Force & Ignorance decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_binkaudio_dct": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav binkaudio_dct decoder", + "hierarchy": [ + "avdec_binkaudio_dct", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav Bink Audio (DCT) decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_binkaudio_rdft": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav binkaudio_rdft decoder", + "hierarchy": [ + "avdec_binkaudio_rdft", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav Bink Audio (RDFT) decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_binkvideo": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav binkvideo decoder", + "hierarchy": [ + "avdec_binkvideo", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Bink video decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_bintext": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav bintext decoder", + "hierarchy": [ + "avdec_bintext", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Binary text decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_bitpacked": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav bitpacked decoder", + "hierarchy": [ + "avdec_bitpacked", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Bitpacked decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_bmp": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav bmp decoder", + "hierarchy": [ + "avdec_bmp", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav BMP (Windows and OS/2 bitmap) decoder", + "pad-templates": { + "sink": { + "caps": "image/bmp:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_bmv_audio": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav bmv_audio decoder", + "hierarchy": [ + "avdec_bmv_audio", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav Discworld II BMV audio decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_bmv_video": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav bmv_video decoder", + "hierarchy": [ + "avdec_bmv_video", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Discworld II BMV video decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_brender_pix": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav brender_pix decoder", + "hierarchy": [ + "avdec_brender_pix", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav BRender PIX image decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_c93": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav c93 decoder", + "hierarchy": [ + "avdec_c93", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Interplay C93 decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_camstudio": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav camstudio decoder", + "hierarchy": [ + "avdec_camstudio", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav CamStudio decoder", + "pad-templates": { + "sink": { + "caps": "video/x-camstudio:\n depth: [ 8, 32 ]\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_camtasia": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav camtasia decoder", + "hierarchy": [ + "avdec_camtasia", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav TechSmith Screen Capture Codec decoder", + "pad-templates": { + "sink": { + "caps": "video/x-camtasia:\n depth: [ 8, 32 ]\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_cavs": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav cavs decoder", + "hierarchy": [ + "avdec_cavs", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Chinese AVS (Audio Video Standard) (AVS1-P2, JiZhun profile) decoder", + "pad-templates": { + "sink": { + "caps": "video/x-cavs:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_cdxl": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav cdxl decoder", + "hierarchy": [ + "avdec_cdxl", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Commodore CDXL video decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_cfhd": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav cfhd decoder", + "hierarchy": [ + "avdec_cfhd", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Cineform HD decoder", + "pad-templates": { + "sink": { + "caps": "video/x-cineform:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_cinepak": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav cinepak decoder", + "hierarchy": [ + "avdec_cinepak", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Cinepak decoder", + "pad-templates": { + "sink": { + "caps": "video/x-cinepak:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_clearvideo": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav clearvideo decoder", + "hierarchy": [ + "avdec_clearvideo", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Iterated Systems ClearVideo decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_cljr": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav cljr decoder", + "hierarchy": [ + "avdec_cljr", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Cirrus Logic AccuPak decoder", + "pad-templates": { + "sink": { + "caps": "video/x-cirrus-logic-accupak:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_cllc": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav cllc decoder", + "hierarchy": [ + "avdec_cllc", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Canopus Lossless Codec decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_comfortnoise": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav comfortnoise decoder", + "hierarchy": [ + "avdec_comfortnoise", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav RFC 3389 comfort noise generator decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_cook": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav cook decoder", + "hierarchy": [ + "avdec_cook", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav Cook / Cooker / Gecko (RealAudio G2) decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-pn-realaudio:\n raversion: 8\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "primary" + }, + "avdec_cpia": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav cpia decoder", + "hierarchy": [ + "avdec_cpia", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav CPiA video format decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_cyuv": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav cyuv decoder", + "hierarchy": [ + "avdec_cyuv", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Creative YUV (CYUV) decoder", + "pad-templates": { + "sink": { + "caps": "video/x-compressed-yuv:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_dca": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav dca decoder", + "hierarchy": [ + "avdec_dca", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav DCA (DTS Coherent Acoustics) decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-dts:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { S16LE, S32LE, F32LE }\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_dds": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav dds decoder", + "hierarchy": [ + "avdec_dds", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav DirectDraw Surface image decoder decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_dfa": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav dfa decoder", + "hierarchy": [ + "avdec_dfa", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Chronomaster DFA decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_dirac": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav dirac decoder", + "hierarchy": [ + "avdec_dirac", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav BBC Dirac VC-2 decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_dnxhd": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav dnxhd decoder", + "hierarchy": [ + "avdec_dnxhd", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav VC3/DNxHD decoder", + "pad-templates": { + "sink": { + "caps": "video/x-dnxhd:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_dolby_e": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav dolby_e decoder", + "hierarchy": [ + "avdec_dolby_e", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav Dolby E decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_dpx": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav dpx decoder", + "hierarchy": [ + "avdec_dpx", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav DPX (Digital Picture Exchange) image decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_dsd_lsbf": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav dsd_lsbf decoder", + "hierarchy": [ + "avdec_dsd_lsbf", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav DSD (Direct Stream Digital), least significant bit first decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-dsd:\n lsbf: true\n planar: false\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_dsd_lsbf_planar": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav dsd_lsbf_planar decoder", + "hierarchy": [ + "avdec_dsd_lsbf_planar", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav DSD (Direct Stream Digital), least significant bit first, planar decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-dsd:\n lsbf: true\n planar: true\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_dsd_msbf": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav dsd_msbf decoder", + "hierarchy": [ + "avdec_dsd_msbf", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav DSD (Direct Stream Digital), most significant bit first decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-dsd:\n lsbf: false\n planar: false\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_dsd_msbf_planar": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav dsd_msbf_planar decoder", + "hierarchy": [ + "avdec_dsd_msbf_planar", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav DSD (Direct Stream Digital), most significant bit first, planar decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-dsd:\n lsbf: false\n planar: true\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_dsicinaudio": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav dsicinaudio decoder", + "hierarchy": [ + "avdec_dsicinaudio", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav Delphine Software International CIN audio decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_dsicinvideo": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav dsicinvideo decoder", + "hierarchy": [ + "avdec_dsicinvideo", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Delphine Software International CIN video decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_dss_sp": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav dss_sp decoder", + "hierarchy": [ + "avdec_dss_sp", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav Digital Speech Standard - Standard Play mode (DSS SP) decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_dst": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav dst decoder", + "hierarchy": [ + "avdec_dst", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav DST (Digital Stream Transfer) decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_dvaudio": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav dvaudio decoder", + "hierarchy": [ + "avdec_dvaudio", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav Ulead DV Audio decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-dv:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_dvvideo": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav dvvideo decoder", + "hierarchy": [ + "avdec_dvvideo", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav DV (Digital Video) decoder", + "pad-templates": { + "sink": { + "caps": "video/x-dv:\n systemstream: false\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "secondary" + }, + "avdec_dxa": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav dxa decoder", + "hierarchy": [ + "avdec_dxa", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Feeble Files/ScummVM DXA decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_dxtory": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav dxtory decoder", + "hierarchy": [ + "avdec_dxtory", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Dxtory decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_dxv": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav dxv decoder", + "hierarchy": [ + "avdec_dxv", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Resolume DXV decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_eac3": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav eac3 decoder", + "hierarchy": [ + "avdec_eac3", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ATSC A/52B (AC-3, E-AC-3) decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-eac3:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_eacmv": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav eacmv decoder", + "hierarchy": [ + "avdec_eacmv", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Electronic Arts CMV video decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_eamad": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav eamad decoder", + "hierarchy": [ + "avdec_eamad", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Electronic Arts Madcow Video decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_eatgq": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav eatgq decoder", + "hierarchy": [ + "avdec_eatgq", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Electronic Arts TGQ video decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_eatgv": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav eatgv decoder", + "hierarchy": [ + "avdec_eatgv", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Electronic Arts TGV video decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_eatqi": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav eatqi decoder", + "hierarchy": [ + "avdec_eatqi", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Electronic Arts TQI Video decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_escape124": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav escape124 decoder", + "hierarchy": [ + "avdec_escape124", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Escape 124 decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_escape130": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav escape130 decoder", + "hierarchy": [ + "avdec_escape130", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Escape 130 decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_evrc": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav evrc decoder", + "hierarchy": [ + "avdec_evrc", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav EVRC (Enhanced Variable Rate Codec) decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_exr": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav exr decoder", + "hierarchy": [ + "avdec_exr", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav OpenEXR image decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_ffv1": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav ffv1 decoder", + "hierarchy": [ + "avdec_ffv1", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav FFmpeg video codec #1 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-ffv:\n ffvversion: 1\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_ffvhuff": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav ffvhuff decoder", + "hierarchy": [ + "avdec_ffvhuff", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Huffyuv FFmpeg variant decoder", + "pad-templates": { + "sink": { + "caps": "video/x-gst-av-ffvhuff:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_fic": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav fic decoder", + "hierarchy": [ + "avdec_fic", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Mirillis FIC decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_fits": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav fits decoder", + "hierarchy": [ + "avdec_fits", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Flexible Image Transport System decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_flac": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav flac decoder", + "hierarchy": [ + "avdec_flac", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav FLAC (Free Lossless Audio Codec) decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-flac:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { S16LE, S32LE }\n layout: interleaved\naudio/x-raw:\n format: { S16LE, S32LE }\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_flashsv": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav flashsv decoder", + "hierarchy": [ + "avdec_flashsv", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Flash Screen Video v1 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-flash-screen:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: BGR\n\nvideo/x-raw(format:Interlaced):\n format: BGR\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_flashsv2": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav flashsv2 decoder", + "hierarchy": [ + "avdec_flashsv2", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Flash Screen Video v2 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-flash-screen2:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: BGR\n\nvideo/x-raw(format:Interlaced):\n format: BGR\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_flic": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav flic decoder", + "hierarchy": [ + "avdec_flic", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Autodesk Animator Flic video decoder", + "pad-templates": { + "sink": { + "caps": "video/x-gst-av-flic:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_flv": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav flv decoder", + "hierarchy": [ + "avdec_flv", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav FLV / Sorenson Spark / Sorenson H.263 (Flash Video) decoder", + "pad-templates": { + "sink": { + "caps": "video/x-flash-video:\n flvversion: 1\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: I420\n\nvideo/x-raw(format:Interlaced):\n format: I420\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_fmvc": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav fmvc decoder", + "hierarchy": [ + "avdec_fmvc", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav FM Screen Capture Codec decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_fraps": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav fraps decoder", + "hierarchy": [ + "avdec_fraps", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Fraps decoder", + "pad-templates": { + "sink": { + "caps": "video/x-fraps:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_frwu": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav frwu decoder", + "hierarchy": [ + "avdec_frwu", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Forward Uncompressed decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_g2m": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav g2m decoder", + "hierarchy": [ + "avdec_g2m", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Go2Meeting decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_g722": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav g722 decoder", + "hierarchy": [ + "avdec_g722", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav G.722 ADPCM decoder", + "pad-templates": { + "sink": { + "caps": "audio/G722:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_g723_1": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav g723_1 decoder", + "hierarchy": [ + "avdec_g723_1", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav G.723.1 decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_g726": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav g726 decoder", + "hierarchy": [ + "avdec_g726", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav G.726 ADPCM decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-adpcm:\n layout: g726\naudio/x-adpcm:\n layout: g721\n channels: 1\n rate: 8000\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_g726le": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav g726le decoder", + "hierarchy": [ + "avdec_g726le", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav G.726 ADPCM little-endian decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_g729": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav g729 decoder", + "hierarchy": [ + "avdec_g729", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav G.729 decoder", + "pad-templates": { + "sink": { + "caps": "audio/G729:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_gdv": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav gdv decoder", + "hierarchy": [ + "avdec_gdv", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Gremlin Digital Video decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_gif": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav gif decoder", + "hierarchy": [ + "avdec_gif", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav GIF (Graphics Interchange Format) decoder", + "pad-templates": { + "sink": { + "caps": "image/gst-libav-gif:\n parsed: true\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_gremlin_dpcm": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav gremlin_dpcm decoder", + "hierarchy": [ + "avdec_gremlin_dpcm", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav DPCM Gremlin decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_gsm": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav gsm decoder", + "hierarchy": [ + "avdec_gsm", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav GSM decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-gsm:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_gsm_ms": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav gsm_ms decoder", + "hierarchy": [ + "avdec_gsm_ms", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav GSM Microsoft variant decoder", + "pad-templates": { + "sink": { + "caps": "audio/ms-gsm:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_h261": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav h261 decoder", + "hierarchy": [ + "avdec_h261", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav H.261 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-h261:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_h263": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav h263 decoder", + "hierarchy": [ + "avdec_h263", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav H.263 / H.263-1996, H.263+ / H.263-1998 / H.263 version 2 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-h263:\n variant: itu\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: I420\n\nvideo/x-raw(format:Interlaced):\n format: I420\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_h263i": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav h263i decoder", + "hierarchy": [ + "avdec_h263i", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Intel H.263 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-intel-h263:\n variant: intel\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: I420\n\nvideo/x-raw(format:Interlaced):\n format: I420\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_h263p": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav h263p decoder", + "hierarchy": [ + "avdec_h263p", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav H.263 / H.263-1996, H.263+ / H.263-1998 / H.263 version 2 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-h263:\n variant: itu\n h263version: h263p\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: I420\n\nvideo/x-raw(format:Interlaced):\n format: I420\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_h264": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav h264 decoder", + "hierarchy": [ + "avdec_h264", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-h264:\n alignment: au\n stream-format: { (string)avc, (string)byte-stream }\nvideo/x-h264:\n alignment: nal\n stream-format: byte-stream\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "primary" + }, + "avdec_h265": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav hevc decoder", + "hierarchy": [ + "avdec_h265", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav HEVC (High Efficiency Video Coding) decoder", + "pad-templates": { + "sink": { + "caps": "video/x-h265:\n alignment: au\n stream-format: { (string)hvc1, (string)hev1, (string)byte-stream }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "primary" + }, + "avdec_hap": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav hap decoder", + "hierarchy": [ + "avdec_hap", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Vidvox Hap decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_hcom": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav hcom decoder", + "hierarchy": [ + "avdec_hcom", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav HCOM Audio decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_hnm4video": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav hnm4video decoder", + "hierarchy": [ + "avdec_hnm4video", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav HNM 4 video decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_hq_hqa": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav hq_hqa decoder", + "hierarchy": [ + "avdec_hq_hqa", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Canopus HQ/HQA decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_hqx": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav hqx decoder", + "hierarchy": [ + "avdec_hqx", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Canopus HQX decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_huffyuv": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav huffyuv decoder", + "hierarchy": [ + "avdec_huffyuv", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Huffyuv / HuffYUV decoder", + "pad-templates": { + "sink": { + "caps": "video/x-huffyuv:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_hymt": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav hymt decoder", + "hierarchy": [ + "avdec_hymt", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav HuffYUV MT decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether libav should print motion vectors on top of the image", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_iac": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav iac decoder", + "hierarchy": [ + "avdec_iac", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav IAC (Indeo Audio Coder) decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_idcinvideo": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav idcinvideo decoder", + "hierarchy": [ + "avdec_idcinvideo", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav id Quake II CIN video decoder", + "pad-templates": { + "sink": { + "caps": "video/x-gst-av-idcinvideo:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_idf": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav idf decoder", + "hierarchy": [ + "avdec_idf", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav iCEDraw text decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_iff": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav iff decoder", + "hierarchy": [ + "avdec_iff", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav IFF ACBM/ANIM/DEEP/ILBM/PBM/RGB8/RGBN decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_ilbc": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav ilbc decoder", + "hierarchy": [ + "avdec_ilbc", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav iLBC (Internet Low Bitrate Codec) decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_imc": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav imc decoder", + "hierarchy": [ + "avdec_imc", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav IMC (Intel Music Coder) decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-imc:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_imm4": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav imm4 decoder", + "hierarchy": [ + "avdec_imm4", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Infinity IMM4 decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_indeo2": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav indeo2 decoder", + "hierarchy": [ + "avdec_indeo2", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Intel Indeo 2 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-indeo:\n indeoversion: 2\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_indeo3": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav indeo3 decoder", + "hierarchy": [ + "avdec_indeo3", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Intel Indeo 3 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-indeo:\n indeoversion: 3\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_indeo4": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav indeo4 decoder", + "hierarchy": [ + "avdec_indeo4", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Intel Indeo Video Interactive 4 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-indeo:\n indeoversion: 4\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_indeo5": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav indeo5 decoder", + "hierarchy": [ + "avdec_indeo5", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Intel Indeo Video Interactive 5 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-indeo:\n indeoversion: 5\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_interplay_dpcm": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav interplay_dpcm decoder", + "hierarchy": [ + "avdec_interplay_dpcm", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav DPCM Interplay decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-dpcm:\n layout: interplay\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_interplayacm": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav interplayacm decoder", + "hierarchy": [ + "avdec_interplayacm", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav Interplay ACM decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_interplayvideo": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav interplayvideo decoder", + "hierarchy": [ + "avdec_interplayvideo", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Interplay MVE video decoder", + "pad-templates": { + "sink": { + "caps": "video/x-gst-av-interplayvideo:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_jpeg2000": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav jpeg2000 decoder", + "hierarchy": [ + "avdec_jpeg2000", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav JPEG 2000 decoder", + "pad-templates": { + "sink": { + "caps": "image/x-j2c:\nimage/x-jpc:\nimage/jp2:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_jpegls": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav jpegls decoder", + "hierarchy": [ + "avdec_jpegls", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav JPEG-LS decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_jv": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav jv decoder", + "hierarchy": [ + "avdec_jv", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Bitmap Brothers JV video decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_kgv1": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav kgv1 decoder", + "hierarchy": [ + "avdec_kgv1", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Kega Game Video decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_kmvc": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav kmvc decoder", + "hierarchy": [ + "avdec_kmvc", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Karl Morton's video codec decoder", + "pad-templates": { + "sink": { + "caps": "video/x-kmvc:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_lagarith": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav lagarith decoder", + "hierarchy": [ + "avdec_lagarith", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Lagarith lossless decoder", + "pad-templates": { + "sink": { + "caps": "video/x-lagarith:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_loco": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav loco decoder", + "hierarchy": [ + "avdec_loco", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav LOCO decoder", + "pad-templates": { + "sink": { + "caps": "video/x-loco:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_lscr": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav lscr decoder", + "hierarchy": [ + "avdec_lscr", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav LEAD Screen Capture decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether libav should print motion vectors on top of the image", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_m101": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav m101 decoder", + "hierarchy": [ + "avdec_m101", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Matrox Uncompressed SD decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_mace3": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mace3 decoder", + "hierarchy": [ + "avdec_mace3", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav MACE (Macintosh Audio Compression/Expansion) 3:1 decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-mace:\n maceversion: 3\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_mace6": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mace6 decoder", + "hierarchy": [ + "avdec_mace6", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav MACE (Macintosh Audio Compression/Expansion) 6:1 decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-mace:\n maceversion: 6\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_magicyuv": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav magicyuv decoder", + "hierarchy": [ + "avdec_magicyuv", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav MagicYUV video decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_mdec": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mdec decoder", + "hierarchy": [ + "avdec_mdec", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Sony PlayStation MDEC (Motion DECoder) decoder", + "pad-templates": { + "sink": { + "caps": "video/x-gst-av-mdec:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_metasound": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav metasound decoder", + "hierarchy": [ + "avdec_metasound", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav Voxware MetaSound decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-voxware:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_mimic": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mimic decoder", + "hierarchy": [ + "avdec_mimic", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Mimic decoder", + "pad-templates": { + "sink": { + "caps": "video/x-mimic:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_mjpeg": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mjpeg decoder", + "hierarchy": [ + "avdec_mjpeg", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav MJPEG (Motion JPEG) decoder", + "pad-templates": { + "sink": { + "caps": "image/jpeg:\n parsed: true\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_mjpegb": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mjpegb decoder", + "hierarchy": [ + "avdec_mjpegb", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Apple MJPEG-B decoder", + "pad-templates": { + "sink": { + "caps": "video/x-mjpeg-b:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_mlp": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mlp decoder", + "hierarchy": [ + "avdec_mlp", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav MLP (Meridian Lossless Packing) decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-mlp:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_mmvideo": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mmvideo decoder", + "hierarchy": [ + "avdec_mmvideo", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav American Laser Games MM Video decoder", + "pad-templates": { + "sink": { + "caps": "video/x-gst-av-mmvideo:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_motionpixels": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav motionpixels decoder", + "hierarchy": [ + "avdec_motionpixels", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Motion Pixels video decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_mp1float": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mp1float decoder", + "hierarchy": [ + "avdec_mp1float", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav MP1 (MPEG audio layer 1) decoder", + "pad-templates": { + "sink": { + "caps": "audio/mpeg:\n mpegversion: 1\n layer: 1\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: interleaved\naudio/x-raw:\n format: F32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_mp2float": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mp2float decoder", + "hierarchy": [ + "avdec_mp2float", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav MP2 (MPEG audio layer 2) decoder", + "pad-templates": { + "sink": { + "caps": "audio/mpeg:\n mpegversion: 1\n layer: 2\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: interleaved\naudio/x-raw:\n format: F32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_mp3": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mp3 decoder", + "hierarchy": [ + "avdec_mp3", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav MP3 (MPEG audio layer 3) decoder", + "pad-templates": { + "sink": { + "caps": "audio/mpeg:\n mpegversion: 1\n layer: [ 1, 3 ]\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\naudio/x-raw:\n format: S16LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_mp3adu": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mp3adu decoder", + "hierarchy": [ + "avdec_mp3adu", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADU (Application Data Unit) MP3 (MPEG audio layer 3) decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-gst-av-mp3adufloat:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\naudio/x-raw:\n format: S16LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_mp3adufloat": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mp3adufloat decoder", + "hierarchy": [ + "avdec_mp3adufloat", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav ADU (Application Data Unit) MP3 (MPEG audio layer 3) decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-gst-av-mp3adufloat:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: interleaved\naudio/x-raw:\n format: F32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_mp3float": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mp3float decoder", + "hierarchy": [ + "avdec_mp3float", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav MP3 (MPEG audio layer 3) decoder", + "pad-templates": { + "sink": { + "caps": "audio/mpeg:\n mpegversion: 1\n layer: [ 1, 3 ]\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: interleaved\naudio/x-raw:\n format: F32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_mp3on4": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mp3on4 decoder", + "hierarchy": [ + "avdec_mp3on4", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav MP3onMP4 decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-gst-av-mp3on4float:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_mp3on4float": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mp3on4float decoder", + "hierarchy": [ + "avdec_mp3on4float", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav MP3onMP4 decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-gst-av-mp3on4float:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_mpc7": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mpc7 decoder", + "hierarchy": [ + "avdec_mpc7", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav Musepack SV7 decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-ffmpeg-parsed-musepack:\n streamversion: 7\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_mpc8": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mpc8 decoder", + "hierarchy": [ + "avdec_mpc8", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav Musepack SV8 decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-ffmpeg-parsed-musepack:\n streamversion: 8\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_mpeg2video": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mpeg2video decoder", + "hierarchy": [ + "avdec_mpeg2video", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav MPEG-2 video decoder", + "pad-templates": { + "sink": { + "caps": "video/mpeg:\n mpegversion: [ 1, 2 ]\n systemstream: false\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "primary" + }, + "avdec_mpeg4": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mpeg4 decoder", + "hierarchy": [ + "avdec_mpeg4", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav MPEG-4 part 2 decoder", + "pad-templates": { + "sink": { + "caps": "video/mpeg:\n mpegversion: 4\n systemstream: false\nvideo/x-divx:\n divxversion: [ 4, 5 ]\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: I420\n\nvideo/x-raw(format:Interlaced):\n format: I420\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "primary" + }, + "avdec_mpegvideo": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mpegvideo decoder", + "hierarchy": [ + "avdec_mpegvideo", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav MPEG-1 video decoder", + "pad-templates": { + "sink": { + "caps": "video/mpeg:\n mpegversion: [ 1, 2 ]\n systemstream: false\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "primary" + }, + "avdec_msa1": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav msa1 decoder", + "hierarchy": [ + "avdec_msa1", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav MS ATC Screen decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_mscc": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mscc decoder", + "hierarchy": [ + "avdec_mscc", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Mandsoft Screen Capture Codec decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_msmpeg4": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav msmpeg4 decoder", + "hierarchy": [ + "avdec_msmpeg4", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav MPEG-4 part 2 Microsoft variant version 3 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-msmpeg:\n msmpegversion: 43\nvideo/x-divx:\n divxversion: 3\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: I420\n\nvideo/x-raw(format:Interlaced):\n format: I420\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "primary" + }, + "avdec_msmpeg4v1": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav msmpeg4v1 decoder", + "hierarchy": [ + "avdec_msmpeg4v1", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav MPEG-4 part 2 Microsoft variant version 1 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-msmpeg:\n msmpegversion: 41\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: I420\n\nvideo/x-raw(format:Interlaced):\n format: I420\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_msmpeg4v2": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav msmpeg4v2 decoder", + "hierarchy": [ + "avdec_msmpeg4v2", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav MPEG-4 part 2 Microsoft variant version 2 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-msmpeg:\n msmpegversion: 42\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: I420\n\nvideo/x-raw(format:Interlaced):\n format: I420\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_msrle": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav msrle decoder", + "hierarchy": [ + "avdec_msrle", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Microsoft RLE decoder", + "pad-templates": { + "sink": { + "caps": "video/x-rle:\n layout: microsoft\n depth: [ 1, 64 ]\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_mss1": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mss1 decoder", + "hierarchy": [ + "avdec_mss1", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav MS Screen 1 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-wmv:\n wmvversion: 1\n format: MSS1\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_mss2": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mss2 decoder", + "hierarchy": [ + "avdec_mss2", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav MS Windows Media Video V9 Screen decoder", + "pad-templates": { + "sink": { + "caps": "video/x-wmv:\n wmvversion: 3\n format: MSS2\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_msvideo1": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav msvideo1 decoder", + "hierarchy": [ + "avdec_msvideo1", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Microsoft Video 1 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-msvideocodec:\n msvideoversion: 1\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_mszh": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mszh decoder", + "hierarchy": [ + "avdec_mszh", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav LCL (LossLess Codec Library) MSZH decoder", + "pad-templates": { + "sink": { + "caps": "video/x-mszh:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_mts2": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mts2 decoder", + "hierarchy": [ + "avdec_mts2", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav MS Expression Encoder Screen decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_mvc1": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mvc1 decoder", + "hierarchy": [ + "avdec_mvc1", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Silicon Graphics Motion Video Compressor 1 decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_mvc2": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mvc2 decoder", + "hierarchy": [ + "avdec_mvc2", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Silicon Graphics Motion Video Compressor 2 decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_mwsc": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mwsc decoder", + "hierarchy": [ + "avdec_mwsc", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav MatchWare Screen Capture Codec decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_mxpeg": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav mxpeg decoder", + "hierarchy": [ + "avdec_mxpeg", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Mobotix MxPEG video decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_nellymoser": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav nellymoser decoder", + "hierarchy": [ + "avdec_nellymoser", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav Nellymoser Asao decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-nellymoser:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_nuv": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav nuv decoder", + "hierarchy": [ + "avdec_nuv", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav NuppelVideo/RTJPEG decoder", + "pad-templates": { + "sink": { + "caps": "video/x-nuv:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_on2avc": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav on2avc decoder", + "hierarchy": [ + "avdec_on2avc", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav On2 Audio for Video Codec decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_opus": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav opus decoder", + "hierarchy": [ + "avdec_opus", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav Opus decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-opus:\nchannel-mapping-family: 0\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_paf_audio": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav paf_audio decoder", + "hierarchy": [ + "avdec_paf_audio", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav Amazing Studio Packed Animation File Audio decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_paf_video": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav paf_video decoder", + "hierarchy": [ + "avdec_paf_video", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Amazing Studio Packed Animation File Video decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_pam": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav pam decoder", + "hierarchy": [ + "avdec_pam", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav PAM (Portable AnyMap) image decoder", + "pad-templates": { + "sink": { + "caps": "image/x-portable-anymap:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_pbm": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav pbm decoder", + "hierarchy": [ + "avdec_pbm", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav PBM (Portable BitMap) image decoder", + "pad-templates": { + "sink": { + "caps": "image/pbm:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_pcm_lxf": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav pcm_lxf decoder", + "hierarchy": [ + "avdec_pcm_lxf", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav PCM signed 20-bit little-endian planar decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_pcm_vidc": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav pcm_vidc decoder", + "hierarchy": [ + "avdec_pcm_vidc", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav PCM Archimedes VIDC decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_pcx": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav pcx decoder", + "hierarchy": [ + "avdec_pcx", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav PC Paintbrush PCX image decoder", + "pad-templates": { + "sink": { + "caps": "image/x-pcx:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_pgm": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav pgm decoder", + "hierarchy": [ + "avdec_pgm", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav PGM (Portable GrayMap) image decoder", + "pad-templates": { + "sink": { + "caps": "image/x-portable-graymap:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_pgmyuv": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav pgmyuv decoder", + "hierarchy": [ + "avdec_pgmyuv", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav PGMYUV (Portable GrayMap YUV) image decoder", + "pad-templates": { + "sink": { + "caps": "video/x-gst-av-pgmyuv:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_pictor": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav pictor decoder", + "hierarchy": [ + "avdec_pictor", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Pictor/PC Paint decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_pixlet": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav pixlet decoder", + "hierarchy": [ + "avdec_pixlet", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Apple Pixlet decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_png": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav png decoder", + "hierarchy": [ + "avdec_png", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav PNG (Portable Network Graphics) image decoder", + "pad-templates": { + "sink": { + "caps": "image/png:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_ppm": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav ppm decoder", + "hierarchy": [ + "avdec_ppm", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav PPM (Portable PixelMap) image decoder", + "pad-templates": { + "sink": { + "caps": "image/ppm:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_prores": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav prores decoder", + "hierarchy": [ + "avdec_prores", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav ProRes (iCodec Pro) decoder", + "pad-templates": { + "sink": { + "caps": "video/x-prores:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_prosumer": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav prosumer decoder", + "hierarchy": [ + "avdec_prosumer", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Brooktree ProSumer Video decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_psd": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav psd decoder", + "hierarchy": [ + "avdec_psd", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Photoshop PSD file decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_ptx": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav ptx decoder", + "hierarchy": [ + "avdec_ptx", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav V.Flash PTX image decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_qcelp": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav qcelp decoder", + "hierarchy": [ + "avdec_qcelp", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav QCELP / PureVoice decoder", + "pad-templates": { + "sink": { + "caps": "audio/qcelp:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_qdm2": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav qdm2 decoder", + "hierarchy": [ + "avdec_qdm2", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav QDesign Music Codec 2 decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-qdm2:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_qdmc": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav qdmc decoder", + "hierarchy": [ + "avdec_qdmc", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav QDesign Music Codec 1 decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_qdraw": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav qdraw decoder", + "hierarchy": [ + "avdec_qdraw", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Apple QuickDraw decoder", + "pad-templates": { + "sink": { + "caps": "video/x-qdrw:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_qpeg": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav qpeg decoder", + "hierarchy": [ + "avdec_qpeg", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Q-team QPEG decoder", + "pad-templates": { + "sink": { + "caps": "video/x-gst-av-qpeg:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_qtrle": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav qtrle decoder", + "hierarchy": [ + "avdec_qtrle", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav QuickTime Animation (RLE) video decoder", + "pad-templates": { + "sink": { + "caps": "video/x-rle:\n layout: quicktime\n depth: [ 1, 64 ]\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_r10k": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav r10k decoder", + "hierarchy": [ + "avdec_r10k", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav AJA Kona 10-bit RGB Codec decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_ralf": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav ralf decoder", + "hierarchy": [ + "avdec_ralf", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav RealAudio Lossless decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_rasc": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav rasc decoder", + "hierarchy": [ + "avdec_rasc", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav RemotelyAnywhere Screen Capture decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_real_144": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav real_144 decoder", + "hierarchy": [ + "avdec_real_144", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav RealAudio 1.0 (14.4K) decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-pn-realaudio:\n raversion: 1\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "primary" + }, + "avdec_real_288": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav real_288 decoder", + "hierarchy": [ + "avdec_real_288", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav RealAudio 2.0 (28.8K) decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-pn-realaudio:\n raversion: 2\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "primary" + }, + "avdec_rl2": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav rl2 decoder", + "hierarchy": [ + "avdec_rl2", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav RL2 video decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_roq_dpcm": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav roq_dpcm decoder", + "hierarchy": [ + "avdec_roq_dpcm", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav DPCM id RoQ decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-dpcm:\n layout: roq\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_roqvideo": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav roqvideo decoder", + "hierarchy": [ + "avdec_roqvideo", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav id RoQ video decoder", + "pad-templates": { + "sink": { + "caps": "video/x-gst-av-roqvideo:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_rpza": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav rpza decoder", + "hierarchy": [ + "avdec_rpza", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav QuickTime video (RPZA) decoder", + "pad-templates": { + "sink": { + "caps": "video/x-apple-video:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_rscc": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav rscc decoder", + "hierarchy": [ + "avdec_rscc", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav innoHeim/Rsupport Screen Capture Codec decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_rv10": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav rv10 decoder", + "hierarchy": [ + "avdec_rv10", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav RealVideo 1.0 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-pn-realvideo:\n rmversion: 1\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: I420\n\nvideo/x-raw(format:Interlaced):\n format: I420\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "primary" + }, + "avdec_rv20": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav rv20 decoder", + "hierarchy": [ + "avdec_rv20", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav RealVideo 2.0 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-pn-realvideo:\n rmversion: 2\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: I420\n\nvideo/x-raw(format:Interlaced):\n format: I420\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "primary" + }, + "avdec_rv30": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav rv30 decoder", + "hierarchy": [ + "avdec_rv30", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav RealVideo 3.0 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-pn-realvideo:\n rmversion: 3\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: I420\n\nvideo/x-raw(format:Interlaced):\n format: I420\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "primary" + }, + "avdec_rv40": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav rv40 decoder", + "hierarchy": [ + "avdec_rv40", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav RealVideo 4.0 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-pn-realvideo:\n rmversion: 4\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: I420\n\nvideo/x-raw(format:Interlaced):\n format: I420\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "primary" + }, + "avdec_s302m": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav s302m decoder", + "hierarchy": [ + "avdec_s302m", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav SMPTE 302M decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-smpte-302m:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_sanm": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav sanm decoder", + "hierarchy": [ + "avdec_sanm", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav LucasArts SANM/Smush video decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_sbc": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav sbc decoder", + "hierarchy": [ + "avdec_sbc", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav SBC (low-complexity subband codec) decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_scpr": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav scpr decoder", + "hierarchy": [ + "avdec_scpr", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav ScreenPressor decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_screenpresso": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav screenpresso decoder", + "hierarchy": [ + "avdec_screenpresso", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Screenpresso decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_sdx2_dpcm": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav sdx2_dpcm decoder", + "hierarchy": [ + "avdec_sdx2_dpcm", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav DPCM Squareroot-Delta-Exact decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_sgi": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav sgi decoder", + "hierarchy": [ + "avdec_sgi", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav SGI image decoder", + "pad-templates": { + "sink": { + "caps": "image/x-sgi:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_sgirle": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav sgirle decoder", + "hierarchy": [ + "avdec_sgirle", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Silicon Graphics RLE 8-bit video decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_sheervideo": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav sheervideo decoder", + "hierarchy": [ + "avdec_sheervideo", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav BitJazz SheerVideo decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_shorten": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav shorten decoder", + "hierarchy": [ + "avdec_shorten", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav Shorten decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-shorten:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { S16LE, U8 }\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_sipr": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav sipr decoder", + "hierarchy": [ + "avdec_sipr", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav RealAudio SIPR / ACELP.NET decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-sipro:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "secondary" + }, + "avdec_smackaud": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav smackaud decoder", + "hierarchy": [ + "avdec_smackaud", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav Smacker audio decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_smackvid": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav smackvid decoder", + "hierarchy": [ + "avdec_smackvid", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Smacker video decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_smc": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav smc decoder", + "hierarchy": [ + "avdec_smc", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav QuickTime Graphics (SMC) decoder", + "pad-templates": { + "sink": { + "caps": "video/x-smc:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_smvjpeg": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav smvjpeg decoder", + "hierarchy": [ + "avdec_smvjpeg", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav SMV JPEG decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_snow": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav snow decoder", + "hierarchy": [ + "avdec_snow", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Snow decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_sol_dpcm": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav sol_dpcm decoder", + "hierarchy": [ + "avdec_sol_dpcm", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav DPCM Sol decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-dpcm:\n layout: sol\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_sonic": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav sonic decoder", + "hierarchy": [ + "avdec_sonic", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav Sonic decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_sp5x": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav sp5x decoder", + "hierarchy": [ + "avdec_sp5x", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Sunplus JPEG (SP5X) decoder", + "pad-templates": { + "sink": { + "caps": "video/sp5x:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_speedhq": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav speedhq decoder", + "hierarchy": [ + "avdec_speedhq", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav NewTek SpeedHQ decoder", + "pad-templates": { + "sink": { + "caps": "video/x-speedhq:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_srgc": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav srgc decoder", + "hierarchy": [ + "avdec_srgc", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Screen Recorder Gold Codec decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_sunrast": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav sunrast decoder", + "hierarchy": [ + "avdec_sunrast", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Sun Rasterfile image decoder", + "pad-templates": { + "sink": { + "caps": "image/x-sun-raster:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_svq1": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav svq1 decoder", + "hierarchy": [ + "avdec_svq1", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Sorenson Vector Quantizer 1 / Sorenson Video 1 / SVQ1 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-svq:\n svqversion: 1\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: YUV9\n\nvideo/x-raw(format:Interlaced):\n format: YUV9\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_svq3": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav svq3 decoder", + "hierarchy": [ + "avdec_svq3", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Sorenson Vector Quantizer 3 / Sorenson Video 3 / SVQ3 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-svq:\n svqversion: 3\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: I420\n\nvideo/x-raw(format:Interlaced):\n format: I420\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_tak": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav tak decoder", + "hierarchy": [ + "avdec_tak", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav TAK (Tom's lossless Audio Kompressor) decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE }\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_targa": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav targa decoder", + "hierarchy": [ + "avdec_targa", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Truevision Targa image decoder", + "pad-templates": { + "sink": { + "caps": "image/x-tga:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_targa_y216": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav targa_y216 decoder", + "hierarchy": [ + "avdec_targa_y216", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Pinnacle TARGA CineWave YUV16 decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_tdsc": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav tdsc decoder", + "hierarchy": [ + "avdec_tdsc", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav TDSC decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_thp": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav thp decoder", + "hierarchy": [ + "avdec_thp", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Nintendo Gamecube THP video decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_tiertexseqvideo": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav tiertexseqvideo decoder", + "hierarchy": [ + "avdec_tiertexseqvideo", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Tiertex Limited SEQ video decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_tiff": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav tiff decoder", + "hierarchy": [ + "avdec_tiff", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav TIFF image decoder", + "pad-templates": { + "sink": { + "caps": "image/tiff:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_tmv": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav tmv decoder", + "hierarchy": [ + "avdec_tmv", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav 8088flex TMV decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_truehd": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav truehd decoder", + "hierarchy": [ + "avdec_truehd", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav TrueHD decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-true-hd:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_truemotion1": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav truemotion1 decoder", + "hierarchy": [ + "avdec_truemotion1", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Duck TrueMotion 1.0 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-truemotion:\n trueversion: 1\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_truemotion2": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav truemotion2 decoder", + "hierarchy": [ + "avdec_truemotion2", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Duck TrueMotion 2.0 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-truemotion:\n trueversion: 2\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_truemotion2rt": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav truemotion2rt decoder", + "hierarchy": [ + "avdec_truemotion2rt", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Duck TrueMotion 2.0 Real Time decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_truespeech": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav truespeech decoder", + "hierarchy": [ + "avdec_truespeech", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav DSP Group TrueSpeech decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-truespeech:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_tscc2": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav tscc2 decoder", + "hierarchy": [ + "avdec_tscc2", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav TechSmith Screen Codec 2 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-tscc:\n tsccversion: 2\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_tta": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav tta decoder", + "hierarchy": [ + "avdec_tta", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav TTA (True Audio) decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-tta:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_twinvq": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav twinvq decoder", + "hierarchy": [ + "avdec_twinvq", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav VQF TwinVQ decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-twin-vq:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_txd": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav txd decoder", + "hierarchy": [ + "avdec_txd", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Renderware TXD (TeXture Dictionary) image decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_ultimotion": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav ultimotion decoder", + "hierarchy": [ + "avdec_ultimotion", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav IBM UltiMotion decoder", + "pad-templates": { + "sink": { + "caps": "video/x-ultimotion:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_utvideo": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav utvideo decoder", + "hierarchy": [ + "avdec_utvideo", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Ut Video decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_vb": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav vb decoder", + "hierarchy": [ + "avdec_vb", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Beam Software VB decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_vble": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav vble decoder", + "hierarchy": [ + "avdec_vble", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav VBLE Lossless Codec decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_vc1": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav vc1 decoder", + "hierarchy": [ + "avdec_vc1", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav SMPTE VC-1 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-wmv:\n wmvversion: 3\n format: { WVC1, WMVA }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: I420\n\nvideo/x-raw(format:Interlaced):\n format: I420\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_vc1image": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav vc1image decoder", + "hierarchy": [ + "avdec_vc1image", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Windows Media Video 9 Image v2 decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: I420\n\nvideo/x-raw(format:Interlaced):\n format: I420\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_vcr1": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav vcr1 decoder", + "hierarchy": [ + "avdec_vcr1", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav ATI VCR1 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-ati-vcr:\n vcrversion: 1\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_vmdaudio": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav vmdaudio decoder", + "hierarchy": [ + "avdec_vmdaudio", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav Sierra VMD audio decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-gst-av-vmdaudio:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_vmdvideo": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav vmdvideo decoder", + "hierarchy": [ + "avdec_vmdvideo", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Sierra VMD video decoder", + "pad-templates": { + "sink": { + "caps": "video/x-gst-av-vmdvideo:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_vmnc": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav vmnc decoder", + "hierarchy": [ + "avdec_vmnc", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav VMware Screen Codec / VMware Video decoder", + "pad-templates": { + "sink": { + "caps": "video/x-vmnc:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_vp3": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav vp3 decoder", + "hierarchy": [ + "avdec_vp3", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav On2 VP3 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-vp3:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_vp4": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav vp4 decoder", + "hierarchy": [ + "avdec_vp4", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav On2 VP4 decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether libav should print motion vectors on top of the image", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_vp5": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav vp5 decoder", + "hierarchy": [ + "avdec_vp5", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav On2 VP5 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-vp5:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_vp6": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav vp6 decoder", + "hierarchy": [ + "avdec_vp6", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav On2 VP6 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-vp6:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_vp6a": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav vp6a decoder", + "hierarchy": [ + "avdec_vp6a", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav On2 VP6 (Flash version, with alpha channel) decoder", + "pad-templates": { + "sink": { + "caps": "video/x-vp6-alpha:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_vp6f": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav vp6f decoder", + "hierarchy": [ + "avdec_vp6f", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav On2 VP6 (Flash version) decoder", + "pad-templates": { + "sink": { + "caps": "video/x-vp6-flash:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_vp7": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav vp7 decoder", + "hierarchy": [ + "avdec_vp7", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav On2 VP7 decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_vp8": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav vp8 decoder", + "hierarchy": [ + "avdec_vp8", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav On2 VP8 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-vp8:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_vp9": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav vp9 decoder", + "hierarchy": [ + "avdec_vp9", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Google VP9 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-vp9:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_vqavideo": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav vqavideo decoder", + "hierarchy": [ + "avdec_vqavideo", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Westwood Studios VQA (Vector Quantized Animation) video decoder", + "pad-templates": { + "sink": { + "caps": "video/x-gst-av-vqavideo:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_wavesynth": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav wavesynth decoder", + "hierarchy": [ + "avdec_wavesynth", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav Wave synthesis pseudo-codec decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_wcmv": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav wcmv decoder", + "hierarchy": [ + "avdec_wcmv", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav WinCAM Motion Video decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_webp": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav webp decoder", + "hierarchy": [ + "avdec_webp", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav WebP image decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_wmalossless": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav wmalossless decoder", + "hierarchy": [ + "avdec_wmalossless", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav Windows Media Audio Lossless decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-wma:\n wmaversion: 4\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { S16LE, S32LE }\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_wmapro": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav wmapro decoder", + "hierarchy": [ + "avdec_wmapro", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav Windows Media Audio 9 Professional decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-wma:\n wmaversion: 3\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_wmav1": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav wmav1 decoder", + "hierarchy": [ + "avdec_wmav1", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav Windows Media Audio 1 decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-wma:\n wmaversion: 1\n block_align: [ 0, 2147483647 ]\n bitrate: [ 0, 2147483647 ]\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_wmav2": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav wmav2 decoder", + "hierarchy": [ + "avdec_wmav2", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav Windows Media Audio 2 decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-wma:\n wmaversion: 2\n block_align: [ 0, 2147483647 ]\n bitrate: [ 0, 2147483647 ]\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_wmavoice": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav wmavoice decoder", + "hierarchy": [ + "avdec_wmavoice", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav Windows Media Audio Voice decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-wms:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_wmv1": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav wmv1 decoder", + "hierarchy": [ + "avdec_wmv1", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Windows Media Video 7 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-wmv:\n wmvversion: 1\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: I420\n\nvideo/x-raw(format:Interlaced):\n format: I420\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_wmv2": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav wmv2 decoder", + "hierarchy": [ + "avdec_wmv2", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Windows Media Video 8 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-wmv:\n wmvversion: 2\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: I420\n\nvideo/x-raw(format:Interlaced):\n format: I420\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_wmv3": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav wmv3 decoder", + "hierarchy": [ + "avdec_wmv3", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Windows Media Video 9 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-wmv:\n wmvversion: 3\n format: WMV3\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: I420\n\nvideo/x-raw(format:Interlaced):\n format: I420\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_wmv3image": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav wmv3image decoder", + "hierarchy": [ + "avdec_wmv3image", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Windows Media Video 9 Image decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: I420\n\nvideo/x-raw(format:Interlaced):\n format: I420\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_wnv1": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav wnv1 decoder", + "hierarchy": [ + "avdec_wnv1", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Winnov WNV1 decoder", + "pad-templates": { + "sink": { + "caps": "video/x-gst-av-wnv1:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_ws_snd1": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav ws_snd1 decoder", + "hierarchy": [ + "avdec_ws_snd1", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav Westwood Audio (SND1) decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-gst-av-ws_snd1:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_xan_dpcm": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav xan_dpcm decoder", + "hierarchy": [ + "avdec_xan_dpcm", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav DPCM Xan decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-dpcm:\n layout: xan\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: { U8, S16LE, S32LE, F32LE, F64LE }\n layout: { (string)interleaved, (string)non-interleaved }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_xan_wc3": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav xan_wc3 decoder", + "hierarchy": [ + "avdec_xan_wc3", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Wing Commander III / Xan decoder", + "pad-templates": { + "sink": { + "caps": "video/x-xan:\n wcversion: 3\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_xan_wc4": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav xan_wc4 decoder", + "hierarchy": [ + "avdec_xan_wc4", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Wing Commander IV / Xxan decoder", + "pad-templates": { + "sink": { + "caps": "video/x-xan:\n wcversion: 4\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_xbin": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav xbin decoder", + "hierarchy": [ + "avdec_xbin", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav eXtended BINary text decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_xbm": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav xbm decoder", + "hierarchy": [ + "avdec_xbm", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav XBM (X BitMap) image decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_xface": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav xface decoder", + "hierarchy": [ + "avdec_xface", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav X-face image decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n\nvideo/x-raw(format:Interlaced):\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_xl": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav xl decoder", + "hierarchy": [ + "avdec_xl", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Miro VideoXL decoder", + "pad-templates": { + "sink": { + "caps": "video/x-gst-av-xl:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_xma1": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav xma1 decoder", + "hierarchy": [ + "avdec_xma1", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav Xbox Media Audio 1 decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-xma:\n xmaversion: 1\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_xma2": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav xma2 decoder", + "hierarchy": [ + "avdec_xma2", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "long-name": "libav Xbox Media Audio 2 decoder", + "pad-templates": { + "sink": { + "caps": "audio/x-xma:\n xmaversion: 2\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: F32LE\n layout: non-interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "properties": {}, + "rank": "marginal" + }, + "avdec_xpm": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav xpm decoder", + "hierarchy": [ + "avdec_xpm", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav XPM (X PixMap) image decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_xwd": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav xwd decoder", + "hierarchy": [ + "avdec_xwd", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav XWD (X Window Dump) image decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_ylc": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav ylc decoder", + "hierarchy": [ + "avdec_ylc", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav YUY2 Lossless Codec decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "max-threads": { + "blurb": "Maximum number of worker threads to spawn. (0 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + }, + "thread-type": { + "blurb": "Multithreading methods to use", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecThreadType", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_yop": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav yop decoder", + "hierarchy": [ + "avdec_yop", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Psygnosis YOP Video decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_zerocodec": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav zerocodec decoder", + "hierarchy": [ + "avdec_zerocodec", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav ZeroCodec Lossless Video decoder", + "pad-templates": { + "sink": { + "caps": "unknown/unknown:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdec_zmbv": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav zmbv decoder", + "hierarchy": [ + "avdec_zmbv", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video", + "long-name": "libav Zip Motion Blocks Video decoder", + "pad-templates": { + "sink": { + "caps": "video/x-zmbv:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "debug-mv": { + "blurb": "Whether to print motion vectors on top of the image (deprecated, non-functional)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "direct-rendering": { + "blurb": "Enable direct rendering", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "lowres": { + "blurb": "At which resolution to decode images", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "full (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecLowres", + "writable": true + }, + "output-corrupt": { + "blurb": "Whether libav should output frames even if corrupted", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-frame": { + "blurb": "Which types of frames to skip during decoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Skip nothing (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVVidDecSkipFrame", + "writable": true + } + }, + "rank": "marginal" + }, + "avdeinterlace": { + "author": "Luca Ognibene ", + "description": "Deinterlace video", + "hierarchy": [ + "GstFFMpegDeinterlace", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Filter/Effect/Video/Deinterlace", + "long-name": "libav Deinterlace element", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: I420\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n format: I420\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "mode": { + "blurb": "Deinterlace Mode", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVDeinterlaceModes", + "writable": true + } + }, + "rank": "none" + }, + "avdemux_4xm": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav 4X Technologies demuxer", + "hierarchy": [ + "avdemux_4xm", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav 4X Technologies demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "video/x-4xm:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_aiff": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav Audio IFF demuxer", + "hierarchy": [ + "avdemux_aiff", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav Audio IFF demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "audio/x-aiff:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_ape": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav Monkey's Audio demuxer", + "hierarchy": [ + "avdemux_ape", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav Monkey's Audio demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "application/x-ape:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_avs": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav Argonaut Games Creature Shock demuxer", + "hierarchy": [ + "avdemux_avs", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav Argonaut Games Creature Shock demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "application/x-gst-av-avs:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_bfstm": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav BFSTM (Binary Cafe Stream) demuxer", + "hierarchy": [ + "avdemux_bfstm", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav BFSTM (Binary Cafe Stream) demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "audio/x-bfstm:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_brstm": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav BRSTM (Binary Revolution Stream) demuxer", + "hierarchy": [ + "avdemux_brstm", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav BRSTM (Binary Revolution Stream) demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "audio/x-brstm:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_daud": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav D-Cinema audio demuxer", + "hierarchy": [ + "avdemux_daud", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav D-Cinema audio demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "application/x-gst-av-daud:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_dsf": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav DSD Stream File (DSF) demuxer", + "hierarchy": [ + "avdemux_dsf", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav DSD Stream File (DSF) demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "application/x-gst-av-dsf:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_ea": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav Electronic Arts Multimedia demuxer", + "hierarchy": [ + "avdemux_ea", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav Electronic Arts Multimedia demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "application/x-gst-av-ea:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_film_cpk": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav Sega FILM / CPK demuxer", + "hierarchy": [ + "avdemux_film_cpk", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav Sega FILM / CPK demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "application/x-gst-av-film_cpk:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_gif": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav CompuServe Graphics Interchange Format (GIF) demuxer", + "hierarchy": [ + "avdemux_gif", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav CompuServe Graphics Interchange Format (GIF) demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "image/gif:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_gxf": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav GXF (General eXchange Format) demuxer", + "hierarchy": [ + "avdemux_gxf", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav GXF (General eXchange Format) demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "application/gxf:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_idcin": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav id Cinematic demuxer", + "hierarchy": [ + "avdemux_idcin", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav id Cinematic demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "application/x-gst-av-idcin:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_iff": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav IFF (Interchange File Format) demuxer", + "hierarchy": [ + "avdemux_iff", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav IFF (Interchange File Format) demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "application/x-gst-av-iff:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_ipmovie": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav Interplay MVE demuxer", + "hierarchy": [ + "avdemux_ipmovie", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav Interplay MVE demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "application/x-gst-av-ipmovie:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_ivf": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav On2 IVF demuxer", + "hierarchy": [ + "avdemux_ivf", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav On2 IVF demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "video/x-ivf:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_mm": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav American Laser Games MM demuxer", + "hierarchy": [ + "avdemux_mm", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav American Laser Games MM demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "application/x-gst-av-mm:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_mmf": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav Yamaha SMAF demuxer", + "hierarchy": [ + "avdemux_mmf", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav Yamaha SMAF demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "application/x-gst-av-mmf:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_mpc": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav Musepack demuxer", + "hierarchy": [ + "avdemux_mpc", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav Musepack demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "audio/x-musepack:\n streamversion: 7\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_mpc8": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav Musepack SV8 demuxer", + "hierarchy": [ + "avdemux_mpc8", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav Musepack SV8 demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "audio/x-musepack:\n streamversion: 8\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_mxf": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav MXF (Material eXchange Format) demuxer", + "hierarchy": [ + "avdemux_mxf", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav MXF (Material eXchange Format) demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "application/mxf:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_nsv": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav Nullsoft Streaming Video demuxer", + "hierarchy": [ + "avdemux_nsv", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav Nullsoft Streaming Video demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "video/x-nsv:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_nut": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav NUT demuxer", + "hierarchy": [ + "avdemux_nut", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav NUT demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "application/x-gst-av-nut:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_nuv": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav NuppelVideo demuxer", + "hierarchy": [ + "avdemux_nuv", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav NuppelVideo demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "application/x-gst-av-nuv:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_psxstr": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav Sony Playstation STR demuxer", + "hierarchy": [ + "avdemux_psxstr", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav Sony Playstation STR demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "application/x-gst-av-psxstr:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_pva": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav TechnoTrend PVA demuxer", + "hierarchy": [ + "avdemux_pva", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav TechnoTrend PVA demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "video/x-pva:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_smk": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav Smacker demuxer", + "hierarchy": [ + "avdemux_smk", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav Smacker demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "application/x-gst-av-smk:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_sol": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav Sierra SOL demuxer", + "hierarchy": [ + "avdemux_sol", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav Sierra SOL demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "application/x-gst-av-sol:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_tta": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav TTA (True Audio) demuxer", + "hierarchy": [ + "avdemux_tta", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav TTA (True Audio) demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "audio/x-ttafile:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_vmd": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav Sierra VMD demuxer", + "hierarchy": [ + "avdemux_vmd", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav Sierra VMD demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "application/x-gst-av-vmd:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_voc": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav Creative Voice demuxer", + "hierarchy": [ + "avdemux_voc", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav Creative Voice demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "audio/x-voc:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_wc3movie": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav Wing Commander III movie demuxer", + "hierarchy": [ + "avdemux_wc3movie", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav Wing Commander III movie demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "application/x-gst-av-wc3movie:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_wsaud": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav Westwood Studios audio demuxer", + "hierarchy": [ + "avdemux_wsaud", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav Westwood Studios audio demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "application/x-gst-av-wsaud:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_wsvqa": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav Westwood Studios VQA demuxer", + "hierarchy": [ + "avdemux_wsvqa", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav Westwood Studios VQA demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "application/x-gst-av-wsvqa:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avdemux_xwma": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav Microsoft xWMA demuxer", + "hierarchy": [ + "avdemux_xwma", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav Microsoft xWMA demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "application/x-gst-av-xwma:\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal" + }, + "avdemux_yuv4mpegpipe": { + "author": "Wim Taymans , Ronald Bultje , Edward Hervey ", + "description": "libav YUV4MPEG pipe demuxer", + "hierarchy": [ + "avdemux_yuv4mpegpipe", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Demuxer", + "long-name": "libav YUV4MPEG pipe demuxer", + "pad-templates": { + "audio_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + }, + "sink": { + "caps": "application/x-yuv4mpeg:\n y4mversion: 2\n", + "direction": "sink", + "presence": "always" + }, + "video_%%u": { + "caps": "ANY", + "direction": "src", + "presence": "sometimes" + } + }, + "rank": "marginal", + "signals": {} + }, + "avenc_a64multi": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav a64multi encoder", + "hierarchy": [ + "avenc_a64multi", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav Multicolor charset for Commodore 64 encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: GRAY8\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "unknown/unknown:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_a64multi5": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav a64multi5 encoder", + "hierarchy": [ + "avenc_a64multi5", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav Multicolor charset for Commodore 64, extended with 5th color (colram) encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: GRAY8\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "unknown/unknown:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_aac": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav aac encoder", + "hierarchy": [ + "avenc_aac", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav AAC (Advanced Audio Coding) encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: [ 1, 6 ]\n rate: { (int)96000, (int)88200, (int)64000, (int)48000, (int)44100, (int)32000, (int)24000, (int)22050, (int)16000, (int)12000, (int)11025, (int)8000, (int)7350 }\n format: F32LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/mpeg:\n channels: [ 1, 6 ]\n rate: [ 4000, 96000 ]\n mpegversion: 4\n base-profile: lc\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "aac-coder": { + "blurb": "Coding algorithm (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "fast (2)", + "mutable": "null", + "readable": true, + "type": "aac-encoder-coder", + "writable": true + }, + "aac-is": { + "blurb": "Intensity stereo coding (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "aac-ltp": { + "blurb": "Long term prediction (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "aac-ms": { + "blurb": "Force M/S stereo coding (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "aac-pce": { + "blurb": "Forces the use of PCEs (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "aac-pns": { + "blurb": "Perceptual noise substitution (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "aac-pred": { + "blurb": "AAC-Main prediction (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "aac-tns": { + "blurb": "Temporal noise shaping (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "none" + }, + "avenc_ac3": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav ac3 encoder", + "hierarchy": [ + "avenc_ac3", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav ATSC A/52A (AC-3) encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: 1\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 2\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 3\n channel-mask: 0x0000000000000103\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 3\n channel-mask: 0x0000000000000007\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x0000000000000c03\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x0000000000000033\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x0000000000000107\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x0000000000000c07\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x0000000000000037\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 2\n channel-mask: 0x000000000000000c\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 3\n channel-mask: 0x000000000000000b\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x000000000000010b\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x000000000000000f\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x0000000000000c0b\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x000000000000003b\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x000000000000010f\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 6\n channel-mask: 0x0000000000000c0f\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 6\n channel-mask: 0x000000000000003f\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-ac3:\n channels: [ 1, 6 ]\n rate: { (int)48000, (int)44100, (int)32000 }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ad-conv-type": { + "blurb": "A/D Converter Type (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (-1)", + "mutable": "null", + "readable": true, + "type": "ac-3-encoder-ad-conv-type", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "center-mixlev": { + "blurb": "Center Mix Level (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.594604", + "max": "1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "channel-coupling": { + "blurb": "Channel Coupling (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (-1)", + "mutable": "null", + "readable": true, + "type": "ac-3-encoder-channel-coupling", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "copyright": { + "blurb": "Copyright Bit (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "1", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cpl-start-band": { + "blurb": "Coupling Start Band (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (-1)", + "mutable": "null", + "readable": true, + "type": "ac-3-encoder-cpl-start-band", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dheadphone-mode": { + "blurb": "Dolby Headphone Mode (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (-1)", + "mutable": "null", + "readable": true, + "type": "ac-3-encoder-dheadphone-mode", + "writable": true + }, + "dialnorm": { + "blurb": "Dialogue Level (dB) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-31", + "max": "-1", + "min": "-31", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dmix-mode": { + "blurb": "Preferred Stereo Downmix Mode (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (-1)", + "mutable": "null", + "readable": true, + "type": "ac-3-encoder-dmix-mode", + "writable": true + }, + "dsur-mode": { + "blurb": "Dolby Surround Mode (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (-1)", + "mutable": "null", + "readable": true, + "type": "ac-3-encoder-dsur-mode", + "writable": true + }, + "dsurex-mode": { + "blurb": "Dolby Surround EX Mode (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (-1)", + "mutable": "null", + "readable": true, + "type": "ac-3-encoder-dsurex-mode", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "loro-cmixlev": { + "blurb": "Lo/Ro Center Mix Level (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "loro-surmixlev": { + "blurb": "Lo/Ro Surround Mix Level (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "ltrt-cmixlev": { + "blurb": "Lt/Rt Center Mix Level (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "ltrt-surmixlev": { + "blurb": "Lt/Rt Surround Mix Level (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mixing-level": { + "blurb": "Mixing Level (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "111", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "original": { + "blurb": "Original Bit Stream (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "1", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "per-frame-metadata": { + "blurb": "Allow Changing Metadata Per-Frame (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "room-type": { + "blurb": "Room Type (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (-1)", + "mutable": "null", + "readable": true, + "type": "ac-3-encoder-room-type", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "stereo-rematrixing": { + "blurb": "Stereo Rematrixing (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "surround-mixlev": { + "blurb": "Surround Mix Level (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_ac3_fixed": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav ac3_fixed encoder", + "hierarchy": [ + "avenc_ac3_fixed", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav ATSC A/52A (AC-3) encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: 1\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 2\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 3\n channel-mask: 0x0000000000000103\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 3\n channel-mask: 0x0000000000000007\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x0000000000000c03\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x0000000000000033\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x0000000000000107\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x0000000000000c07\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x0000000000000037\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 2\n channel-mask: 0x000000000000000c\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 3\n channel-mask: 0x000000000000000b\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x000000000000010b\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x000000000000000f\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x0000000000000c0b\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x000000000000003b\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x000000000000010f\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 6\n channel-mask: 0x0000000000000c0f\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 6\n channel-mask: 0x000000000000003f\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-ac3:\n channels: [ 1, 6 ]\n rate: { (int)48000, (int)44100, (int)32000 }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ad-conv-type": { + "blurb": "A/D Converter Type (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (-1)", + "mutable": "null", + "readable": true, + "type": "fixed-point-ac-3-encoder-ad-conv-type", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "center-mixlev": { + "blurb": "Center Mix Level (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.594604", + "max": "1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "channel-coupling": { + "blurb": "Channel Coupling (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (-1)", + "mutable": "null", + "readable": true, + "type": "fixed-point-ac-3-encoder-channel-coupling", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "copyright": { + "blurb": "Copyright Bit (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "1", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cpl-start-band": { + "blurb": "Coupling Start Band (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (-1)", + "mutable": "null", + "readable": true, + "type": "fixed-point-ac-3-encoder-cpl-start-band", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dheadphone-mode": { + "blurb": "Dolby Headphone Mode (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (-1)", + "mutable": "null", + "readable": true, + "type": "fixed-point-ac-3-encoder-dheadphone-mode", + "writable": true + }, + "dialnorm": { + "blurb": "Dialogue Level (dB) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-31", + "max": "-1", + "min": "-31", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dmix-mode": { + "blurb": "Preferred Stereo Downmix Mode (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (-1)", + "mutable": "null", + "readable": true, + "type": "fixed-point-ac-3-encoder-dmix-mode", + "writable": true + }, + "dsur-mode": { + "blurb": "Dolby Surround Mode (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (-1)", + "mutable": "null", + "readable": true, + "type": "fixed-point-ac-3-encoder-dsur-mode", + "writable": true + }, + "dsurex-mode": { + "blurb": "Dolby Surround EX Mode (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (-1)", + "mutable": "null", + "readable": true, + "type": "fixed-point-ac-3-encoder-dsurex-mode", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "loro-cmixlev": { + "blurb": "Lo/Ro Center Mix Level (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "loro-surmixlev": { + "blurb": "Lo/Ro Surround Mix Level (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "ltrt-cmixlev": { + "blurb": "Lt/Rt Center Mix Level (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "ltrt-surmixlev": { + "blurb": "Lt/Rt Surround Mix Level (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mixing-level": { + "blurb": "Mixing Level (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "111", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "original": { + "blurb": "Original Bit Stream (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "1", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "per-frame-metadata": { + "blurb": "Allow Changing Metadata Per-Frame (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "room-type": { + "blurb": "Room Type (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (-1)", + "mutable": "null", + "readable": true, + "type": "fixed-point-ac-3-encoder-room-type", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "stereo-rematrixing": { + "blurb": "Stereo Rematrixing (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "surround-mixlev": { + "blurb": "Surround Mix Level (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_adpcm_adx": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav adpcm_adx encoder", + "hierarchy": [ + "avenc_adpcm_adx", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav SEGA CRI ADX ADPCM encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-adpcm:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n layout: adx\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "128000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_adpcm_ima_qt": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav adpcm_ima_qt encoder", + "hierarchy": [ + "avenc_adpcm_ima_qt", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav ADPCM IMA QuickTime encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-adpcm:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n layout: quicktime\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "128000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_adpcm_ima_wav": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav adpcm_ima_wav encoder", + "hierarchy": [ + "avenc_adpcm_ima_wav", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav ADPCM IMA WAV encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-adpcm:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n layout: dvi\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "128000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_adpcm_ms": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav adpcm_ms encoder", + "hierarchy": [ + "avenc_adpcm_ms", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav ADPCM Microsoft encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-adpcm:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n layout: microsoft\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "128000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_adpcm_swf": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav adpcm_swf encoder", + "hierarchy": [ + "avenc_adpcm_swf", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav ADPCM Shockwave Flash encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: { (int)11025, (int)22050, (int)44100 }\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-adpcm:\n channels: [ 1, 2 ]\n rate: { (int)11025, (int)22050, (int)44100 }\n layout: swf\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "128000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_adpcm_yamaha": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav adpcm_yamaha encoder", + "hierarchy": [ + "avenc_adpcm_yamaha", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav ADPCM Yamaha encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-adpcm:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n layout: yamaha\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "128000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_alac": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav alac encoder", + "hierarchy": [ + "avenc_alac", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav ALAC (Apple Lossless Audio Codec) encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: 1\n rate: [ 4000, 96000 ]\n format: { S32LE, S16LE }\n layout: interleaved\naudio/x-raw:\n channels: 2\n rate: [ 4000, 96000 ]\n format: { S32LE, S16LE }\n layout: interleaved\naudio/x-raw:\n channels: 3\n channel-mask: 0x0000000000000007\n rate: [ 4000, 96000 ]\n format: { S32LE, S16LE }\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x0000000000000107\n rate: [ 4000, 96000 ]\n format: { S32LE, S16LE }\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x0000000000000037\n rate: [ 4000, 96000 ]\n format: { S32LE, S16LE }\n layout: interleaved\naudio/x-raw:\n channels: 6\n channel-mask: 0x000000000000003f\n rate: [ 4000, 96000 ]\n format: { S32LE, S16LE }\n layout: interleaved\naudio/x-raw:\n channels: 7\n channel-mask: 0x000000000000013f\n rate: [ 4000, 96000 ]\n format: { S32LE, S16LE }\n layout: interleaved\naudio/x-raw:\n channels: 8\n channel-mask: 0x00000000000000ff\n rate: [ 4000, 96000 ]\n format: { S32LE, S16LE }\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-alac:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "128000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "6", + "max": "30", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4", + "max": "30", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_alias_pix": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav alias_pix encoder", + "hierarchy": [ + "avenc_alias_pix", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav Alias/Wavefront PIX image encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { BGR, GRAY8 }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "unknown/unknown:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_amv": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav amv encoder", + "hierarchy": [ + "avenc_amv", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav AMV Video encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: I420\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-amv:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "a53cc": { + "blurb": "Use A53 Closed Captions (if available) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "Strategy to choose between I/P/B-frames (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "border-mask": { + "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "brd-scale": { + "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-elim-threshold": { + "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "error-rate": { + "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "force-duplicated-matrix": { + "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "huffman": { + "blurb": "Huffman table strategy (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "optimal (1)", + "mutable": "null", + "readable": true, + "type": "amv-encoder-huffman", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "ibias": { + "blurb": "intra quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmax": { + "blurb": "maximum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmin": { + "blurb": "minimum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "luma-elim-threshold": { + "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepre": { + "blurb": "pre motion estimation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "motion-est": { + "blurb": "motion estimation algorithm (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "epzs (1)", + "mutable": "null", + "readable": true, + "type": "amv-encoder-motion-est", + "writable": true + }, + "mpeg-quant": { + "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mpv-flags": { + "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "amv-encoder-mpv-flags", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "noise-reduction": { + "blurb": "Noise reduction (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pbias": { + "blurb": "inter quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "Prediction method (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (1)", + "mutable": "null", + "readable": true, + "type": "amv-encoder-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qsquish": { + "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "99", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer-noise-shaping": { + "blurb": "(null) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-buf-aggressivity": { + "blurb": "currently useless (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-eq": { + "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "rc-init-cplx": { + "blurb": "initial complexity for 1-pass encoding (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-amp": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-freq": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-strategy": { + "blurb": "ratecontrol method (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ffmpeg (0)", + "mutable": "null", + "readable": true, + "type": "amv-encoder-rc-strategy", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "Scene change threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-cmp": { + "blurb": "Frame skip compare function (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "amv-encoder-cmp-func", + "writable": true + }, + "skip-exp": { + "blurb": "Frame skip exponent (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "Frame skip factor (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "Frame skip threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_apng": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav apng encoder", + "hierarchy": [ + "avenc_apng", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav APNG (Animated Portable Network Graphics) image encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { RGB, RGBA, RGB8P, GRAY8, GRAY16_BE }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "unknown/unknown:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dpi": { + "blurb": "Set image resolution (in dots per inch) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "65536", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dpm": { + "blurb": "Set image resolution (in dots per meter) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "65536", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "Prediction method (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "none (0)", + "mutable": "null", + "readable": true, + "type": "apng-encoder-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_aptx": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav aptx encoder", + "hierarchy": [ + "avenc_aptx", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav aptX (Audio Processing Technology for Bluetooth) encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: 2\n rate: { (int)8000, (int)16000, (int)24000, (int)32000, (int)44100, (int)48000 }\n format: S32LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/aptx:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "128000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_aptx_hd": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav aptx_hd encoder", + "hierarchy": [ + "avenc_aptx_hd", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav aptX HD (Audio Processing Technology for Bluetooth) encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: 2\n rate: { (int)8000, (int)16000, (int)24000, (int)32000, (int)44100, (int)48000 }\n format: S32LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/aptx-hd:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "128000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_asv1": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav asv1 encoder", + "hierarchy": [ + "avenc_asv1", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav ASUS V1 encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: I420\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-asus:\n asusversion: 1\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_asv2": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav asv2 encoder", + "hierarchy": [ + "avenc_asv2", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav ASUS V2 encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: I420\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-asus:\n asusversion: 2\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_avrp": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav avrp encoder", + "hierarchy": [ + "avenc_avrp", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav Avid 1:1 10-bit RGB Packer encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "unknown/unknown:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_avui": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav avui encoder", + "hierarchy": [ + "avenc_avui", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav Avid Meridien Uncompressed encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: UYVY\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "unknown/unknown:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_bmp": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav bmp encoder", + "hierarchy": [ + "avenc_bmp", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Image", + "long-name": "libav BMP (Windows and OS/2 bitmap) encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { BGRA, BGR, RGB16, RGB15, GRAY8, RGB8P }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "image/bmp:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_cinepak": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav cinepak encoder", + "hierarchy": [ + "avenc_cinepak", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav Cinepak encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { RGB, GRAY8 }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-cinepak:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-extra-cb-iterations": { + "blurb": "Max extra codebook recalculation passes, more is better and slower (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-strips": { + "blurb": "Limit strips/frame, vintage compatible is 1..3, otherwise the more the better (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "32", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "min-strips": { + "blurb": "Enforce min strips/frame, more is worse and faster, must be <= max_strips (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "32", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-empty-cb": { + "blurb": "Avoid wasting bytes, ignore vintage MacOS decoder (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "strip-number-adaptivity": { + "blurb": "How fast the strip number adapts, more is slightly better, much slower (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "31", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_cljr": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav cljr encoder", + "hierarchy": [ + "avenc_cljr", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav Cirrus Logic AccuPak encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: Y41B\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-cirrus-logic-accupak:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dither-type": { + "blurb": "Dither type (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_comfortnoise": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav comfortnoise encoder", + "hierarchy": [ + "avenc_comfortnoise", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav RFC 3389 comfort noise generator encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "unknown/unknown:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "128000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_dca": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav dca encoder", + "hierarchy": [ + "avenc_dca", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav DCA (DTS Coherent Acoustics) encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: 1\n rate: { (int)8000, (int)16000, (int)32000, (int)11025, (int)22050, (int)44100, (int)12000, (int)24000, (int)48000 }\n format: S32LE\n layout: interleaved\naudio/x-raw:\n channels: 2\n rate: { (int)8000, (int)16000, (int)32000, (int)11025, (int)22050, (int)44100, (int)12000, (int)24000, (int)48000 }\n format: S32LE\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x0000000000000c03\n rate: { (int)8000, (int)16000, (int)32000, (int)11025, (int)22050, (int)44100, (int)12000, (int)24000, (int)48000 }\n format: S32LE\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x0000000000000c07\n rate: { (int)8000, (int)16000, (int)32000, (int)11025, (int)22050, (int)44100, (int)12000, (int)24000, (int)48000 }\n format: S32LE\n layout: interleaved\naudio/x-raw:\n channels: 6\n channel-mask: 0x0000000000000c0f\n rate: { (int)8000, (int)16000, (int)32000, (int)11025, (int)22050, (int)44100, (int)12000, (int)24000, (int)48000 }\n format: S32LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-dts:\n channels: [ 1, 6 ]\n rate: [ 4000, 96000 ]\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1411200", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dca-adpcm": { + "blurb": "Use ADPCM encoding (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_dnxhd": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav dnxhd encoder", + "hierarchy": [ + "avenc_dnxhd", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav VC3/DNxHD encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n width: 1920\n height: 1080\n framerate: [ 0/1, 2147483647/1 ]\n format: { Y42B, I422_10LE, Y444_10LE, GBR_10LE }\nvideo/x-raw:\n width: 1280\n height: 720\n framerate: [ 0/1, 2147483647/1 ]\n format: { Y42B, I422_10LE, Y444_10LE, GBR_10LE }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-dnxhd:\n width: 1920\n height: 1080\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-dnxhd:\n width: 1280\n height: 720\n framerate: [ 0/1, 2147483647/1 ]\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "ibias": { + "blurb": "intra quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nitris-compat": { + "blurb": "encode with Avid Nitris compatibility (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "profile": { + "blurb": "(null) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dnxhd (0)", + "mutable": "null", + "readable": true, + "type": "dnxhd-profile", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1024", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_dpx": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav dpx encoder", + "hierarchy": [ + "avenc_dpx", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav DPX (Digital Picture Exchange) image encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { GRAY8, RGB, RGBA, ABGR, GRAY16_LE, GRAY16_BE, GBR_10LE, GBR_10BE, GBR_12LE, GBR_12BE }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "unknown/unknown:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_dvvideo": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav dvvideo encoder", + "hierarchy": [ + "avenc_dvvideo", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav DV (Digital Video) encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: Y41B\n width: 720\n height: 480\n framerate: 30000/1001\npixel-aspect-ratio: 8/9\nvideo/x-raw:\n format: Y41B\n width: 720\n height: 480\n framerate: 30000/1001\npixel-aspect-ratio: 32/27\nvideo/x-raw:\n format: Y42B\n width: 720\n height: 480\n framerate: 30000/1001\npixel-aspect-ratio: 8/9\nvideo/x-raw:\n format: Y42B\n width: 720\n height: 480\n framerate: 30000/1001\npixel-aspect-ratio: 32/27\nvideo/x-raw:\n format: I420\n width: 720\n height: 576\n framerate: 25/1\npixel-aspect-ratio: 16/15\nvideo/x-raw:\n format: I420\n width: 720\n height: 576\n framerate: 25/1\npixel-aspect-ratio: 64/45\nvideo/x-raw:\n format: Y41B\n width: 720\n height: 576\n framerate: 25/1\npixel-aspect-ratio: 16/15\nvideo/x-raw:\n format: Y41B\n width: 720\n height: 576\n framerate: 25/1\npixel-aspect-ratio: 64/45\nvideo/x-raw:\n format: Y42B\n width: 720\n height: 576\n framerate: 25/1\npixel-aspect-ratio: 16/15\nvideo/x-raw:\n format: Y42B\n width: 720\n height: 576\n framerate: 25/1\npixel-aspect-ratio: 64/45\nvideo/x-raw:\n format: Y42B\n width: 1280\n height: 1080\n framerate: 30000/1001\npixel-aspect-ratio: 1/1\nvideo/x-raw:\n format: Y42B\n width: 1280\n height: 1080\n framerate: 30000/1001\npixel-aspect-ratio: 3/2\nvideo/x-raw:\n format: Y42B\n width: 1440\n height: 1080\n framerate: 25/1\npixel-aspect-ratio: 1/1\nvideo/x-raw:\n format: Y42B\n width: 1440\n height: 1080\n framerate: 25/1\npixel-aspect-ratio: 4/3\nvideo/x-raw:\n format: Y42B\n width: 960\n height: 720\n framerate: 60000/1001\npixel-aspect-ratio: 1/1\nvideo/x-raw:\n format: Y42B\n width: 960\n height: 720\n framerate: 60000/1001\npixel-aspect-ratio: 4/3\nvideo/x-raw:\n format: Y42B\n width: 960\n height: 720\n framerate: 50/1\npixel-aspect-ratio: 1/1\nvideo/x-raw:\n format: Y42B\n width: 960\n height: 720\n framerate: 50/1\npixel-aspect-ratio: 4/3\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-dv:\n width: 720\n height: 480\n framerate: 30000/1001\npixel-aspect-ratio: 8/9\n systemstream: false\nvideo/x-dv:\n width: 720\n height: 480\n framerate: 30000/1001\npixel-aspect-ratio: 32/27\n systemstream: false\nvideo/x-dv:\n width: 720\n height: 480\n framerate: 30000/1001\npixel-aspect-ratio: 8/9\n systemstream: false\nvideo/x-dv:\n width: 720\n height: 480\n framerate: 30000/1001\npixel-aspect-ratio: 32/27\n systemstream: false\nvideo/x-dv:\n width: 720\n height: 576\n framerate: 25/1\npixel-aspect-ratio: 16/15\n systemstream: false\nvideo/x-dv:\n width: 720\n height: 576\n framerate: 25/1\npixel-aspect-ratio: 64/45\n systemstream: false\nvideo/x-dv:\n width: 720\n height: 576\n framerate: 25/1\npixel-aspect-ratio: 16/15\n systemstream: false\nvideo/x-dv:\n width: 720\n height: 576\n framerate: 25/1\npixel-aspect-ratio: 64/45\n systemstream: false\nvideo/x-dv:\n width: 720\n height: 576\n framerate: 25/1\npixel-aspect-ratio: 16/15\n systemstream: false\nvideo/x-dv:\n width: 720\n height: 576\n framerate: 25/1\npixel-aspect-ratio: 64/45\n systemstream: false\nvideo/x-dv:\n width: 1280\n height: 1080\n framerate: 30000/1001\npixel-aspect-ratio: 1/1\n systemstream: false\nvideo/x-dv:\n width: 1280\n height: 1080\n framerate: 30000/1001\npixel-aspect-ratio: 3/2\n systemstream: false\nvideo/x-dv:\n width: 1440\n height: 1080\n framerate: 25/1\npixel-aspect-ratio: 1/1\n systemstream: false\nvideo/x-dv:\n width: 1440\n height: 1080\n framerate: 25/1\npixel-aspect-ratio: 4/3\n systemstream: false\nvideo/x-dv:\n width: 960\n height: 720\n framerate: 60000/1001\npixel-aspect-ratio: 1/1\n systemstream: false\nvideo/x-dv:\n width: 960\n height: 720\n framerate: 60000/1001\npixel-aspect-ratio: 4/3\n systemstream: false\nvideo/x-dv:\n width: 960\n height: 720\n framerate: 50/1\npixel-aspect-ratio: 1/1\n systemstream: false\nvideo/x-dv:\n width: 960\n height: 720\n framerate: 50/1\npixel-aspect-ratio: 4/3\n systemstream: false\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quant-deadzone": { + "blurb": "Quantizer dead zone (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "7", + "max": "1024", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_eac3": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav eac3 encoder", + "hierarchy": [ + "avenc_eac3", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav ATSC A/52 E-AC-3 encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: 1\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 2\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 3\n channel-mask: 0x0000000000000103\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 3\n channel-mask: 0x0000000000000007\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x0000000000000c03\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x0000000000000033\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x0000000000000107\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x0000000000000c07\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x0000000000000037\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 2\n channel-mask: 0x000000000000000c\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 3\n channel-mask: 0x000000000000000b\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x000000000000010b\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x000000000000000f\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x0000000000000c0b\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x000000000000003b\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x000000000000010f\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 6\n channel-mask: 0x0000000000000c0f\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 6\n channel-mask: 0x000000000000003f\n rate: { (int)48000, (int)44100, (int)32000 }\n format: F32LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-eac3:\n channels: [ 1, 6 ]\n rate: { (int)48000, (int)44100, (int)32000 }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ad-conv-type": { + "blurb": "A/D Converter Type (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (-1)", + "mutable": "null", + "readable": true, + "type": "e-ac-3-encoder-ad-conv-type", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-coupling": { + "blurb": "Channel Coupling (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (-1)", + "mutable": "null", + "readable": true, + "type": "e-ac-3-encoder-channel-coupling", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "copyright": { + "blurb": "Copyright Bit (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "1", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cpl-start-band": { + "blurb": "Coupling Start Band (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (-1)", + "mutable": "null", + "readable": true, + "type": "e-ac-3-encoder-cpl-start-band", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dheadphone-mode": { + "blurb": "Dolby Headphone Mode (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (-1)", + "mutable": "null", + "readable": true, + "type": "e-ac-3-encoder-dheadphone-mode", + "writable": true + }, + "dialnorm": { + "blurb": "Dialogue Level (dB) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-31", + "max": "-1", + "min": "-31", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dmix-mode": { + "blurb": "Preferred Stereo Downmix Mode (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (-1)", + "mutable": "null", + "readable": true, + "type": "e-ac-3-encoder-dmix-mode", + "writable": true + }, + "dsur-mode": { + "blurb": "Dolby Surround Mode (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (-1)", + "mutable": "null", + "readable": true, + "type": "e-ac-3-encoder-dsur-mode", + "writable": true + }, + "dsurex-mode": { + "blurb": "Dolby Surround EX Mode (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (-1)", + "mutable": "null", + "readable": true, + "type": "e-ac-3-encoder-dsurex-mode", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "loro-cmixlev": { + "blurb": "Lo/Ro Center Mix Level (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "loro-surmixlev": { + "blurb": "Lo/Ro Surround Mix Level (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "ltrt-cmixlev": { + "blurb": "Lt/Rt Center Mix Level (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "ltrt-surmixlev": { + "blurb": "Lt/Rt Surround Mix Level (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mixing-level": { + "blurb": "Mixing Level (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "111", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "original": { + "blurb": "Original Bit Stream (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "1", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "per-frame-metadata": { + "blurb": "Allow Changing Metadata Per-Frame (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "room-type": { + "blurb": "Room Type (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (-1)", + "mutable": "null", + "readable": true, + "type": "e-ac-3-encoder-room-type", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "stereo-rematrixing": { + "blurb": "Stereo Rematrixing (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_ffv1": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav ffv1 encoder", + "hierarchy": [ + "avenc_ffv1", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav FFmpeg video codec #1 encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { I420, A420, Y444, Y42B, Y41B, YUV9, BGRx, BGRA, I420_10LE, I422_10LE, Y444_10LE, I420_12LE, I422_12LE, Y444_12LE, A444_10LE, A422_10LE, A420_10LE, GRAY16_LE, GRAY8, GBR_10LE, GBR_12LE, GBRA_10LE, GBRA_12LE }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-ffv:\n ffvversion: 1\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "Coder type (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "rice (0)", + "mutable": "null", + "readable": true, + "type": "ffv1-encoder-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "Context model (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slicecrc": { + "blurb": "Protect slices with CRCs (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_ffvhuff": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav ffvhuff encoder", + "hierarchy": [ + "avenc_ffvhuff", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav Huffyuv FFmpeg variant encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { I420, Y42B, Y444, Y41B, YUV9, GBR, GBR_10LE, GBR_12LE, GRAY8, GRAY16_LE, A420, GBRA, I420_10LE, I420_12LE, I422_10LE, I422_12LE, Y444_10LE, Y444_12LE, A420_10LE, A422_10LE, A444_10LE, RGB, BGRA }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-gst-av-ffvhuff:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "Set per-frame huffman tables (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "non-deterministic": { + "blurb": "Allow multithreading for e.g. context=1 at the expense of determinism (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "Prediction method (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "ffvhuff-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_fits": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav fits encoder", + "hierarchy": [ + "avenc_fits", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav Flexible Image Transport System encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { GBR, GBRA, GRAY16_BE, GRAY8 }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "unknown/unknown:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_flashsv": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav flashsv encoder", + "hierarchy": [ + "avenc_flashsv", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav Flash Screen Video encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: BGR\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-flash-screen:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_flashsv2": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav flashsv2 encoder", + "hierarchy": [ + "avenc_flashsv2", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav Flash Screen Video Version 2 encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: BGR\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-flash-screen2:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_flv": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav flv encoder", + "hierarchy": [ + "avenc_flv", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav FLV / Sorenson Spark / Sorenson H.263 (Flash Video) encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: I420\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-flash-video:\n flvversion: 1\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "a53cc": { + "blurb": "Use A53 Closed Captions (if available) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "Strategy to choose between I/P/B-frames (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "border-mask": { + "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "brd-scale": { + "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-elim-threshold": { + "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "error-rate": { + "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "force-duplicated-matrix": { + "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "ibias": { + "blurb": "intra quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmax": { + "blurb": "maximum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmin": { + "blurb": "minimum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "luma-elim-threshold": { + "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepre": { + "blurb": "pre motion estimation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "motion-est": { + "blurb": "motion estimation algorithm (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "epzs (1)", + "mutable": "null", + "readable": true, + "type": "flv-encoder-motion-est", + "writable": true + }, + "mpeg-quant": { + "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mpv-flags": { + "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "flv-encoder-mpv-flags", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "noise-reduction": { + "blurb": "Noise reduction (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pbias": { + "blurb": "inter quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qsquish": { + "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "99", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer-noise-shaping": { + "blurb": "(null) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-buf-aggressivity": { + "blurb": "currently useless (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-eq": { + "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "rc-init-cplx": { + "blurb": "initial complexity for 1-pass encoding (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-amp": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-freq": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-strategy": { + "blurb": "ratecontrol method (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ffmpeg (0)", + "mutable": "null", + "readable": true, + "type": "flv-encoder-rc-strategy", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "Scene change threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-cmp": { + "blurb": "Frame skip compare function (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "flv-encoder-cmp-func", + "writable": true + }, + "skip-exp": { + "blurb": "Frame skip exponent (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "Frame skip factor (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "Frame skip threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_g722": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav g722 encoder", + "hierarchy": [ + "avenc_g722", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav G.722 ADPCM encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: 1\n rate: { (int)16000 }\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/G722:\n channels: 1\n rate: { (int)16000 }\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "128000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_g723_1": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav g723_1 encoder", + "hierarchy": [ + "avenc_g723_1", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav G.723.1 encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "unknown/unknown:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "128000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_g726": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav g726 encoder", + "hierarchy": [ + "avenc_g726", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav G.726 ADPCM encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: 1\n rate: { (int)8000 }\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-adpcm:\n channels: 1\n rate: { (int)8000 }\n layout: g726\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "code-size": { + "blurb": "Bits per code (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4", + "max": "5", + "min": "2", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_g726le": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav g726le encoder", + "hierarchy": [ + "avenc_g726le", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav G.726 little endian ADPCM (\"right-justified\") encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "unknown/unknown:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "code-size": { + "blurb": "Bits per code (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4", + "max": "5", + "min": "2", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_h261": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav h261 encoder", + "hierarchy": [ + "avenc_h261", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav H.261 encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n width: 352\n height: 288\n framerate: [ 0/1, 2147483647/1 ]\n format: I420\nvideo/x-raw:\n width: 176\n height: 144\n framerate: [ 0/1, 2147483647/1 ]\n format: I420\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-h261:\n width: 352\n height: 288\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-h261:\n width: 176\n height: 144\n framerate: [ 0/1, 2147483647/1 ]\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "a53cc": { + "blurb": "Use A53 Closed Captions (if available) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "Strategy to choose between I/P/B-frames (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "border-mask": { + "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "brd-scale": { + "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-elim-threshold": { + "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "error-rate": { + "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "force-duplicated-matrix": { + "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "ibias": { + "blurb": "intra quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmax": { + "blurb": "maximum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmin": { + "blurb": "minimum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "luma-elim-threshold": { + "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepre": { + "blurb": "pre motion estimation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "motion-est": { + "blurb": "motion estimation algorithm (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "epzs (1)", + "mutable": "null", + "readable": true, + "type": "h261-encoder-motion-est", + "writable": true + }, + "mpeg-quant": { + "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mpv-flags": { + "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "h261-encoder-mpv-flags", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "noise-reduction": { + "blurb": "Noise reduction (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pbias": { + "blurb": "inter quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qsquish": { + "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "99", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer-noise-shaping": { + "blurb": "(null) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-buf-aggressivity": { + "blurb": "currently useless (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-eq": { + "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "rc-init-cplx": { + "blurb": "initial complexity for 1-pass encoding (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-amp": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-freq": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-strategy": { + "blurb": "ratecontrol method (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ffmpeg (0)", + "mutable": "null", + "readable": true, + "type": "h261-encoder-rc-strategy", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "Scene change threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-cmp": { + "blurb": "Frame skip compare function (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "h261-encoder-cmp-func", + "writable": true + }, + "skip-exp": { + "blurb": "Frame skip exponent (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "Frame skip factor (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "Frame skip threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_h263": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav h263 encoder", + "hierarchy": [ + "avenc_h263", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav H.263 / H.263-1996 encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n width: 352\n height: 288\n framerate: [ 0/1, 2147483647/1 ]\n format: I420\nvideo/x-raw:\n width: 704\n height: 576\n framerate: [ 0/1, 2147483647/1 ]\n format: I420\nvideo/x-raw:\n width: 176\n height: 144\n framerate: [ 0/1, 2147483647/1 ]\n format: I420\nvideo/x-raw:\n width: 1408\n height: 1152\n framerate: [ 0/1, 2147483647/1 ]\n format: I420\nvideo/x-raw:\n width: 128\n height: 96\n framerate: [ 0/1, 2147483647/1 ]\n format: I420\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-h263:\n width: 352\n height: 288\n framerate: [ 0/1, 2147483647/1 ]\n variant: itu\n h263version: h263\nvideo/x-h263:\n width: 704\n height: 576\n framerate: [ 0/1, 2147483647/1 ]\n variant: itu\n h263version: h263\nvideo/x-h263:\n width: 176\n height: 144\n framerate: [ 0/1, 2147483647/1 ]\n variant: itu\n h263version: h263\nvideo/x-h263:\n width: 1408\n height: 1152\n framerate: [ 0/1, 2147483647/1 ]\n variant: itu\n h263version: h263\nvideo/x-h263:\n width: 128\n height: 96\n framerate: [ 0/1, 2147483647/1 ]\n variant: itu\n h263version: h263\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "a53cc": { + "blurb": "Use A53 Closed Captions (if available) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "Strategy to choose between I/P/B-frames (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "border-mask": { + "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "brd-scale": { + "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-elim-threshold": { + "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "error-rate": { + "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "force-duplicated-matrix": { + "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "ibias": { + "blurb": "intra quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmax": { + "blurb": "maximum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmin": { + "blurb": "minimum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "luma-elim-threshold": { + "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mb-info": { + "blurb": "emit macroblock info for RFC 2190 packetization, the parameter value is the maximum payload size (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepre": { + "blurb": "pre motion estimation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "motion-est": { + "blurb": "motion estimation algorithm (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "epzs (1)", + "mutable": "null", + "readable": true, + "type": "h-263-encoder-motion-est", + "writable": true + }, + "mpeg-quant": { + "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mpv-flags": { + "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "h-263-encoder-mpv-flags", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "noise-reduction": { + "blurb": "Noise reduction (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "obmc": { + "blurb": "use overlapped block motion compensation. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pbias": { + "blurb": "inter quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qsquish": { + "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "99", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer-noise-shaping": { + "blurb": "(null) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-buf-aggressivity": { + "blurb": "currently useless (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-eq": { + "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "rc-init-cplx": { + "blurb": "initial complexity for 1-pass encoding (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-amp": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-freq": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-strategy": { + "blurb": "ratecontrol method (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ffmpeg (0)", + "mutable": "null", + "readable": true, + "type": "h-263-encoder-rc-strategy", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "Scene change threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-cmp": { + "blurb": "Frame skip compare function (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "h-263-encoder-cmp-func", + "writable": true + }, + "skip-exp": { + "blurb": "Frame skip exponent (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "Frame skip factor (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "Frame skip threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_h263p": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav h263p encoder", + "hierarchy": [ + "avenc_h263p", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav H.263+ / H.263-1998 / H.263 version 2 encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: I420\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-h263:\n variant: itu\n h263version: h263p\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "a53cc": { + "blurb": "Use A53 Closed Captions (if available) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "aiv": { + "blurb": "Use alternative inter VLC. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "Strategy to choose between I/P/B-frames (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "border-mask": { + "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "brd-scale": { + "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-elim-threshold": { + "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "error-rate": { + "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "force-duplicated-matrix": { + "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "ibias": { + "blurb": "intra quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmax": { + "blurb": "maximum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmin": { + "blurb": "minimum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "luma-elim-threshold": { + "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepre": { + "blurb": "pre motion estimation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "motion-est": { + "blurb": "motion estimation algorithm (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "epzs (1)", + "mutable": "null", + "readable": true, + "type": "h-263p-encoder-motion-est", + "writable": true + }, + "mpeg-quant": { + "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mpv-flags": { + "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "h-263p-encoder-mpv-flags", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "noise-reduction": { + "blurb": "Noise reduction (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "obmc": { + "blurb": "use overlapped block motion compensation. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pbias": { + "blurb": "inter quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qsquish": { + "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "99", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer-noise-shaping": { + "blurb": "(null) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-buf-aggressivity": { + "blurb": "currently useless (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-eq": { + "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "rc-init-cplx": { + "blurb": "initial complexity for 1-pass encoding (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-amp": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-freq": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-strategy": { + "blurb": "ratecontrol method (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ffmpeg (0)", + "mutable": "null", + "readable": true, + "type": "h-263p-encoder-rc-strategy", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "Scene change threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-cmp": { + "blurb": "Frame skip compare function (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "h-263p-encoder-cmp-func", + "writable": true + }, + "skip-exp": { + "blurb": "Frame skip exponent (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "Frame skip factor (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "Frame skip threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "structured-slices": { + "blurb": "Write slice start position at every GOB header instead of just GOB number. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "umv": { + "blurb": "Use unlimited motion vectors. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_h264_omx": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav h264_omx encoder", + "hierarchy": [ + "avenc_h264_omx", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav OpenMAX IL H.264 video encoder encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: I420\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-h264:\n alignment: au\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "min-force-key-unit-interval": { + "blurb": "Minimum interval between force-keyunit requests in nanoseconds", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709551615", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "omx-libname": { + "blurb": "OpenMAX library name (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "omx-libprefix": { + "blurb": "OpenMAX library prefix (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "profile": { + "blurb": "Set the encoding profile (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (-99)", + "mutable": "null", + "readable": true, + "type": "h264-omx-profile", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qos": { + "blurb": "Handle Quality-of-Service events from downstream", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "zerocopy": { + "blurb": "Try to avoid copying input frames if possible (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_hap": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav hap encoder", + "hierarchy": [ + "avenc_hap", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav Vidvox Hap encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: RGBA\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "unknown/unknown:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chunks": { + "blurb": "chunk count (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "64", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "compressor": { + "blurb": "second-stage compressor (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "snappy (176)", + "mutable": "null", + "readable": true, + "type": "hap-encoder-compressor", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "format": { + "blurb": "(null) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "hap (11)", + "mutable": "null", + "readable": true, + "type": "hap-encoder-format", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "min-force-key-unit-interval": { + "blurb": "Minimum interval between force-keyunit requests in nanoseconds", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709551615", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qos": { + "blurb": "Handle Quality-of-Service events from downstream", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_huffyuv": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav huffyuv encoder", + "hierarchy": [ + "avenc_huffyuv", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav Huffyuv / HuffYUV encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { Y42B, RGB, BGRA }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-huffyuv:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "non-deterministic": { + "blurb": "Allow multithreading for e.g. context=1 at the expense of determinism (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "Prediction method (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "huffyuv-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_jpeg2000": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav jpeg2000 encoder", + "hierarchy": [ + "avenc_jpeg2000", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav JPEG 2000 encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { RGB, Y444, GRAY8, I420, Y42B, YUV9, Y41B, RGB8P }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "image/x-j2c:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "format": { + "blurb": "Codec Format (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "jp2 (1)", + "mutable": "null", + "readable": true, + "type": "jpeg-2000-encoder-format", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "DWT Type (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dwt97int (0)", + "mutable": "null", + "readable": true, + "type": "jpeg-2000-encoder-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tile-height": { + "blurb": "Tile Height (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "1073741824", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tile-width": { + "blurb": "Tile Width (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "1073741824", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_jpegls": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav jpegls encoder", + "hierarchy": [ + "avenc_jpegls", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav JPEG-LS encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { BGR, RGB, GRAY8, GRAY16_LE }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "unknown/unknown:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "Prediction method (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "jpegls-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_ljpeg": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav ljpeg encoder", + "hierarchy": [ + "avenc_ljpeg", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Image", + "long-name": "libav Lossless JPEG encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { BGR, BGRA, BGRx, I420, Y444, Y42B }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "image/jpeg:\n parsed: true\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "Prediction method (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (1)", + "mutable": "null", + "readable": true, + "type": "ljpeg-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_magicyuv": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav magicyuv encoder", + "hierarchy": [ + "avenc_magicyuv", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav MagicYUV video encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { GBR, GBRA, Y42B, I420, Y444, GRAY8 }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "unknown/unknown:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "Prediction method (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (1)", + "mutable": "null", + "readable": true, + "type": "magicyuv-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_mjpeg": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav mjpeg encoder", + "hierarchy": [ + "avenc_mjpeg", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Image", + "long-name": "libav MJPEG (Motion JPEG) encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { I420, Y42B, Y444 }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "image/jpeg:\n parsed: true\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "a53cc": { + "blurb": "Use A53 Closed Captions (if available) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "Strategy to choose between I/P/B-frames (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "border-mask": { + "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "brd-scale": { + "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-elim-threshold": { + "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "error-rate": { + "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "force-duplicated-matrix": { + "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "huffman": { + "blurb": "Huffman table strategy (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "optimal (1)", + "mutable": "null", + "readable": true, + "type": "mjpeg-encoder-huffman", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "ibias": { + "blurb": "intra quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmax": { + "blurb": "maximum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmin": { + "blurb": "minimum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "luma-elim-threshold": { + "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepre": { + "blurb": "pre motion estimation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "motion-est": { + "blurb": "motion estimation algorithm (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "epzs (1)", + "mutable": "null", + "readable": true, + "type": "mjpeg-encoder-motion-est", + "writable": true + }, + "mpeg-quant": { + "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mpv-flags": { + "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "mjpeg-encoder-mpv-flags", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "noise-reduction": { + "blurb": "Noise reduction (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pbias": { + "blurb": "inter quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "Prediction method (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (1)", + "mutable": "null", + "readable": true, + "type": "mjpeg-encoder-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qsquish": { + "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "99", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer-noise-shaping": { + "blurb": "(null) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-buf-aggressivity": { + "blurb": "currently useless (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-eq": { + "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "rc-init-cplx": { + "blurb": "initial complexity for 1-pass encoding (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-amp": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-freq": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-strategy": { + "blurb": "ratecontrol method (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ffmpeg (0)", + "mutable": "null", + "readable": true, + "type": "mjpeg-encoder-rc-strategy", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "Scene change threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-cmp": { + "blurb": "Frame skip compare function (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "mjpeg-encoder-cmp-func", + "writable": true + }, + "skip-exp": { + "blurb": "Frame skip exponent (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "Frame skip factor (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "Frame skip threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_mlp": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav mlp encoder", + "hierarchy": [ + "avenc_mlp", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav MLP (Meridian Lossless Packing) encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: 1\n rate: { (int)44100, (int)48000, (int)88200, (int)96000, (int)176400, (int)192000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 2\n rate: { (int)44100, (int)48000, (int)88200, (int)96000, (int)176400, (int)192000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 3\n channel-mask: 0x0000000000000103\n rate: { (int)44100, (int)48000, (int)88200, (int)96000, (int)176400, (int)192000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x0000000000000033\n rate: { (int)44100, (int)48000, (int)88200, (int)96000, (int)176400, (int)192000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 3\n channel-mask: 0x000000000000000b\n rate: { (int)44100, (int)48000, (int)88200, (int)96000, (int)176400, (int)192000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 3\n channel-mask: 0x0000000000000007\n rate: { (int)44100, (int)48000, (int)88200, (int)96000, (int)176400, (int)192000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x0000000000000107\n rate: { (int)44100, (int)48000, (int)88200, (int)96000, (int)176400, (int)192000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x0000000000000037\n rate: { (int)44100, (int)48000, (int)88200, (int)96000, (int)176400, (int)192000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x000000000000000f\n rate: { (int)44100, (int)48000, (int)88200, (int)96000, (int)176400, (int)192000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x000000000000010f\n rate: { (int)44100, (int)48000, (int)88200, (int)96000, (int)176400, (int)192000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 6\n channel-mask: 0x000000000000003f\n rate: { (int)44100, (int)48000, (int)88200, (int)96000, (int)176400, (int)192000 }\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-mlp:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "128000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_mp2": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav mp2 encoder", + "hierarchy": [ + "avenc_mp2", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav MP2 (MPEG audio layer 2) encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: 1\n rate: { (int)48000, (int)44100, (int)32000, (int)24000, (int)22050, (int)16000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 2\n rate: { (int)48000, (int)44100, (int)32000, (int)24000, (int)22050, (int)16000 }\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/mpeg:\n channels: [ 1, 2 ]\n rate: { (int)48000, (int)44100, (int)32000, (int)24000, (int)22050, (int)16000 }\n mpegversion: 1\n layer: 2\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_mp2fixed": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav mp2fixed encoder", + "hierarchy": [ + "avenc_mp2fixed", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav MP2 fixed point (MPEG audio layer 2) encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: 1\n rate: { (int)48000, (int)44100, (int)32000, (int)24000, (int)22050, (int)16000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 2\n rate: { (int)48000, (int)44100, (int)32000, (int)24000, (int)22050, (int)16000 }\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/mpeg:\n channels: [ 1, 2 ]\n rate: { (int)48000, (int)44100, (int)32000, (int)24000, (int)22050, (int)16000 }\n mpegversion: 1\n layer: 2\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_mpeg1video": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav mpeg1video encoder", + "hierarchy": [ + "avenc_mpeg1video", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav MPEG-1 video encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n framerate: { (fraction)24000/1001, (fraction)24/1, (fraction)25/1, (fraction)30000/1001, (fraction)30/1, (fraction)50/1, (fraction)60000/1001, (fraction)60/1, (fraction)15/1, (fraction)5/1, (fraction)10/1, (fraction)12/1, (fraction)15/1 }\n format: I420\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/mpeg:\n mpegversion: 1\n systemstream: false\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "a53cc": { + "blurb": "Use A53 Closed Captions (if available) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "Strategy to choose between I/P/B-frames (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "border-mask": { + "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "brd-scale": { + "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-elim-threshold": { + "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "drop-frame-timecode": { + "blurb": "Timecode is in drop frame format. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "error-rate": { + "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "force-duplicated-matrix": { + "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-timecode": { + "blurb": "MPEG GOP Timecode in hh:mm:ss[:;.]ff format. Overrides timecode_frame_start. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "ibias": { + "blurb": "intra quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "intra-vlc": { + "blurb": "Use MPEG-2 intra VLC table. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmax": { + "blurb": "maximum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmin": { + "blurb": "minimum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "luma-elim-threshold": { + "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepre": { + "blurb": "pre motion estimation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "motion-est": { + "blurb": "motion estimation algorithm (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "epzs (1)", + "mutable": "null", + "readable": true, + "type": "mpeg1video-encoder-motion-est", + "writable": true + }, + "mpeg-quant": { + "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mpv-flags": { + "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "mpeg1video-encoder-mpv-flags", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "noise-reduction": { + "blurb": "Noise reduction (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pbias": { + "blurb": "inter quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qsquish": { + "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "99", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer-noise-shaping": { + "blurb": "(null) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-buf-aggressivity": { + "blurb": "currently useless (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-eq": { + "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "rc-init-cplx": { + "blurb": "initial complexity for 1-pass encoding (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-amp": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-freq": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-strategy": { + "blurb": "ratecontrol method (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ffmpeg (0)", + "mutable": "null", + "readable": true, + "type": "mpeg1video-encoder-rc-strategy", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "Scene change threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scan-offset": { + "blurb": "Reserve space for SVCD scan offset user data. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-cmp": { + "blurb": "Frame skip compare function (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "mpeg1video-encoder-cmp-func", + "writable": true + }, + "skip-exp": { + "blurb": "Frame skip exponent (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "Frame skip factor (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "Frame skip threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_mpeg2video": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav mpeg2video encoder", + "hierarchy": [ + "avenc_mpeg2video", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav MPEG-2 video encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n framerate: { (fraction)1/1, (fraction)2/1, (fraction)3/1, (fraction)4/1, (fraction)5/1, (fraction)6/1, (fraction)8/1, (fraction)9/1, (fraction)10/1, (fraction)12/1, (fraction)15/1, (fraction)16/1, (fraction)18/1, (fraction)20/1, (fraction)24/1, (fraction)25/1, (fraction)30/1, (fraction)32/1, (fraction)36/1, (fraction)40/1, (fraction)45/1, (fraction)48/1, (fraction)50/1, (fraction)60/1, (fraction)72/1, (fraction)75/1, (fraction)80/1, (fraction)90/1, (fraction)96/1, (fraction)100/1, (fraction)120/1, (fraction)150/1, (fraction)180/1, (fraction)200/1, (fraction)240/1, (fraction)750/1001, (fraction)800/1001, (fraction)960/1001, (fraction)1000/1001, (fraction)1200/1001, (fraction)1250/1001, (fraction)1500/1001, (fraction)1600/1001, (fraction)1875/1001, (fraction)2000/1001, (fraction)2400/1001, (fraction)2500/1001, (fraction)3000/1001, (fraction)3750/1001, (fraction)4000/1001, (fraction)4800/1001, (fraction)5000/1001, (fraction)6000/1001, (fraction)7500/1001, (fraction)8000/1001, (fraction)10000/1001, (fraction)12000/1001, (fraction)15000/1001, (fraction)20000/1001, (fraction)24000/1001, (fraction)30000/1001, (fraction)60000/1001 }\n format: { I420, Y42B }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/mpeg:\n mpegversion: 2\n systemstream: false\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "a53cc": { + "blurb": "Use A53 Closed Captions (if available) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "alternate-scan": { + "blurb": "Enable alternate scantable. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "Strategy to choose between I/P/B-frames (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "border-mask": { + "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "brd-scale": { + "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-elim-threshold": { + "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "drop-frame-timecode": { + "blurb": "Timecode is in drop frame format. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "error-rate": { + "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "force-duplicated-matrix": { + "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-timecode": { + "blurb": "MPEG GOP Timecode in hh:mm:ss[:;.]ff format. Overrides timecode_frame_start. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "ibias": { + "blurb": "intra quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "intra-vlc": { + "blurb": "Use MPEG-2 intra VLC table. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmax": { + "blurb": "maximum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmin": { + "blurb": "minimum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "luma-elim-threshold": { + "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepre": { + "blurb": "pre motion estimation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "motion-est": { + "blurb": "motion estimation algorithm (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "epzs (1)", + "mutable": "null", + "readable": true, + "type": "mpeg2video-encoder-motion-est", + "writable": true + }, + "mpeg-quant": { + "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mpv-flags": { + "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "mpeg2video-encoder-mpv-flags", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "noise-reduction": { + "blurb": "Noise reduction (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "non-linear-quant": { + "blurb": "Use nonlinear quantizer. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pbias": { + "blurb": "inter quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qsquish": { + "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "99", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer-noise-shaping": { + "blurb": "(null) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-buf-aggressivity": { + "blurb": "currently useless (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-eq": { + "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "rc-init-cplx": { + "blurb": "initial complexity for 1-pass encoding (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-amp": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-freq": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-strategy": { + "blurb": "ratecontrol method (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ffmpeg (0)", + "mutable": "null", + "readable": true, + "type": "mpeg2video-encoder-rc-strategy", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "Scene change threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scan-offset": { + "blurb": "Reserve space for SVCD scan offset user data. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "seq-disp-ext": { + "blurb": "Write sequence_display_extension blocks. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (-1)", + "mutable": "null", + "readable": true, + "type": "mpeg2video-encoder-seq-disp-ext", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-cmp": { + "blurb": "Frame skip compare function (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "mpeg2video-encoder-cmp-func", + "writable": true + }, + "skip-exp": { + "blurb": "Frame skip exponent (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "Frame skip factor (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "Frame skip threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "video-format": { + "blurb": "Video_format in the sequence_display_extension indicating the source of the video. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unspecified (5)", + "mutable": "null", + "readable": true, + "type": "mpeg2video-encoder-video-format", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_mpeg4": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav mpeg4 encoder", + "hierarchy": [ + "avenc_mpeg4", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav MPEG-4 part 2 encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: I420\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/mpeg:\n mpegversion: 4\n systemstream: false\n profile: { (string)simple, (string)advanced-simple }\nvideo/x-divx:\n divxversion: 5\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "a53cc": { + "blurb": "Use A53 Closed Captions (if available) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "alternate-scan": { + "blurb": "Enable alternate scantable. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "Strategy to choose between I/P/B-frames (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "border-mask": { + "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "brd-scale": { + "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-elim-threshold": { + "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "data-partitioning": { + "blurb": "Use data partitioning. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "error-rate": { + "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "force-duplicated-matrix": { + "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "ibias": { + "blurb": "intra quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmax": { + "blurb": "maximum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmin": { + "blurb": "minimum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "luma-elim-threshold": { + "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepre": { + "blurb": "pre motion estimation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "motion-est": { + "blurb": "motion estimation algorithm (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "epzs (1)", + "mutable": "null", + "readable": true, + "type": "mpeg4-encoder-motion-est", + "writable": true + }, + "mpeg-quant": { + "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mpv-flags": { + "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "mpeg4-encoder-mpv-flags", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "noise-reduction": { + "blurb": "Noise reduction (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pbias": { + "blurb": "inter quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qsquish": { + "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "99", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer-noise-shaping": { + "blurb": "(null) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-buf-aggressivity": { + "blurb": "currently useless (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-eq": { + "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "rc-init-cplx": { + "blurb": "initial complexity for 1-pass encoding (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-amp": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-freq": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-strategy": { + "blurb": "ratecontrol method (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ffmpeg (0)", + "mutable": "null", + "readable": true, + "type": "mpeg4-encoder-rc-strategy", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "Scene change threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-cmp": { + "blurb": "Frame skip compare function (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "mpeg4-encoder-cmp-func", + "writable": true + }, + "skip-exp": { + "blurb": "Frame skip exponent (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "Frame skip factor (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "Frame skip threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_msmpeg4": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav msmpeg4 encoder", + "hierarchy": [ + "avenc_msmpeg4", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav MPEG-4 part 2 Microsoft variant version 3 encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: I420\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-msmpeg:\n msmpegversion: 43\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "a53cc": { + "blurb": "Use A53 Closed Captions (if available) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "Strategy to choose between I/P/B-frames (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "border-mask": { + "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "brd-scale": { + "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-elim-threshold": { + "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "error-rate": { + "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "force-duplicated-matrix": { + "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "ibias": { + "blurb": "intra quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmax": { + "blurb": "maximum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmin": { + "blurb": "minimum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "luma-elim-threshold": { + "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepre": { + "blurb": "pre motion estimation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "motion-est": { + "blurb": "motion estimation algorithm (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "epzs (1)", + "mutable": "null", + "readable": true, + "type": "msmpeg4v3-encoder-motion-est", + "writable": true + }, + "mpeg-quant": { + "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mpv-flags": { + "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "msmpeg4v3-encoder-mpv-flags", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "noise-reduction": { + "blurb": "Noise reduction (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pbias": { + "blurb": "inter quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qsquish": { + "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "99", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer-noise-shaping": { + "blurb": "(null) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-buf-aggressivity": { + "blurb": "currently useless (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-eq": { + "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "rc-init-cplx": { + "blurb": "initial complexity for 1-pass encoding (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-amp": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-freq": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-strategy": { + "blurb": "ratecontrol method (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ffmpeg (0)", + "mutable": "null", + "readable": true, + "type": "msmpeg4v3-encoder-rc-strategy", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "Scene change threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-cmp": { + "blurb": "Frame skip compare function (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "msmpeg4v3-encoder-cmp-func", + "writable": true + }, + "skip-exp": { + "blurb": "Frame skip exponent (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "Frame skip factor (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "Frame skip threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_msmpeg4v2": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav msmpeg4v2 encoder", + "hierarchy": [ + "avenc_msmpeg4v2", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav MPEG-4 part 2 Microsoft variant version 2 encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: I420\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-msmpeg:\n msmpegversion: 42\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "a53cc": { + "blurb": "Use A53 Closed Captions (if available) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "Strategy to choose between I/P/B-frames (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "border-mask": { + "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "brd-scale": { + "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-elim-threshold": { + "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "error-rate": { + "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "force-duplicated-matrix": { + "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "ibias": { + "blurb": "intra quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmax": { + "blurb": "maximum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmin": { + "blurb": "minimum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "luma-elim-threshold": { + "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepre": { + "blurb": "pre motion estimation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "motion-est": { + "blurb": "motion estimation algorithm (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "epzs (1)", + "mutable": "null", + "readable": true, + "type": "msmpeg4v2-encoder-motion-est", + "writable": true + }, + "mpeg-quant": { + "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mpv-flags": { + "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "msmpeg4v2-encoder-mpv-flags", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "noise-reduction": { + "blurb": "Noise reduction (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pbias": { + "blurb": "inter quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qsquish": { + "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "99", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer-noise-shaping": { + "blurb": "(null) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-buf-aggressivity": { + "blurb": "currently useless (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-eq": { + "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "rc-init-cplx": { + "blurb": "initial complexity for 1-pass encoding (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-amp": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-freq": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-strategy": { + "blurb": "ratecontrol method (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ffmpeg (0)", + "mutable": "null", + "readable": true, + "type": "msmpeg4v2-encoder-rc-strategy", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "Scene change threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-cmp": { + "blurb": "Frame skip compare function (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "msmpeg4v2-encoder-cmp-func", + "writable": true + }, + "skip-exp": { + "blurb": "Frame skip exponent (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "Frame skip factor (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "Frame skip threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_msvideo1": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav msvideo1 encoder", + "hierarchy": [ + "avenc_msvideo1", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav Microsoft Video-1 encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: RGB15\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-msvideocodec:\n msvideoversion: 1\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_nellymoser": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav nellymoser encoder", + "hierarchy": [ + "avenc_nellymoser", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav Nellymoser Asao encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: F32LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-nellymoser:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "128000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_opus": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav opus encoder", + "hierarchy": [ + "avenc_opus", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav Opus encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: 1\n rate: 48000\n format: F32LE\n layout: interleaved\naudio/x-raw:\n channels: 2\n rate: 48000\n format: F32LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "unknown/unknown:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "10", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "opus-delay": { + "blurb": "Maximum delay in milliseconds (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "360", + "max": "360", + "min": "2.5", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_pam": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav pam encoder", + "hierarchy": [ + "avenc_pam", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav PAM (Portable AnyMap) image encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { RGB, RGBA, GRAY8, GRAY16_BE }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "image/x-portable-anymap:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_pbm": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav pbm encoder", + "hierarchy": [ + "avenc_pbm", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Image", + "long-name": "libav PBM (Portable BitMap) image encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "image/pbm:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_pcm_vidc": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav pcm_vidc encoder", + "hierarchy": [ + "avenc_pcm_vidc", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav PCM Archimedes VIDC encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "unknown/unknown:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "128000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_pcx": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav pcx encoder", + "hierarchy": [ + "avenc_pcx", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Image", + "long-name": "libav PC Paintbrush PCX image encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { RGB, GRAY8, RGB8P }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "image/x-pcx:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_pgm": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav pgm encoder", + "hierarchy": [ + "avenc_pgm", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav PGM (Portable GrayMap) image encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { GRAY8, GRAY16_BE }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "image/x-portable-graymap:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_pgmyuv": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav pgmyuv encoder", + "hierarchy": [ + "avenc_pgmyuv", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav PGMYUV (Portable GrayMap YUV) image encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: I420\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-gst-av-pgmyuv:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_png": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav png encoder", + "hierarchy": [ + "avenc_png", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav PNG (Portable Network Graphics) image encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { RGB, RGBA, RGB8P, GRAY8, GRAY16_BE }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "image/png:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dpi": { + "blurb": "Set image resolution (in dots per inch) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "65536", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dpm": { + "blurb": "Set image resolution (in dots per meter) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "65536", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "Prediction method (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "none (0)", + "mutable": "null", + "readable": true, + "type": "png-encoder-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_ppm": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav ppm encoder", + "hierarchy": [ + "avenc_ppm", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Image", + "long-name": "libav PPM (Portable PixelMap) image encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: RGB\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "image/ppm:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_prores": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav prores encoder", + "hierarchy": [ + "avenc_prores", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav Apple ProRes encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { I422_10LE, Y444_10LE }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-prores:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "vendor": { + "blurb": "vendor ID (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "fmpg", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_prores_aw": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav prores_aw encoder", + "hierarchy": [ + "avenc_prores_aw", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav Apple ProRes encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { I422_10LE, Y444_10LE }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-prores:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "vendor": { + "blurb": "vendor ID (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "fmpg", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_prores_ks": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav prores_ks encoder", + "hierarchy": [ + "avenc_prores_ks", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav Apple ProRes (iCodec Pro) encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { I422_10LE, Y444_10LE, A444_10LE }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-prores:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "alpha-bits": { + "blurb": "bits for alpha plane (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "16", + "max": "16", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bits-per-mb": { + "blurb": "desired bits per macroblock (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "8192", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mbs-per-slice": { + "blurb": "macroblocks per slice (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "8", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "profile": { + "blurb": "(null) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (-1)", + "mutable": "null", + "readable": true, + "type": "prores-encoder-profile", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quant-mat": { + "blurb": "quantiser matrix (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (-1)", + "mutable": "null", + "readable": true, + "type": "prores-encoder-quant-mat", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "vendor": { + "blurb": "vendor ID (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "Lavc", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_qtrle": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav qtrle encoder", + "hierarchy": [ + "avenc_qtrle", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav QuickTime Animation (RLE) video encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { RGB, ARGB, GRAY8 }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-rle:\n layout: quicktime\n depth: [ 1, 64 ]\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_r10k": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav r10k encoder", + "hierarchy": [ + "avenc_r10k", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav AJA Kona 10-bit RGB Codec encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "unknown/unknown:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_real_144": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav real_144 encoder", + "hierarchy": [ + "avenc_real_144", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav RealAudio 1.0 (14.4K) encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: 1\n rate: 8000\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-pn-realaudio:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n raversion: 1\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "128000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_roq_dpcm": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav roq_dpcm encoder", + "hierarchy": [ + "avenc_roq_dpcm", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav id RoQ DPCM encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: { (int)22050 }\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-dpcm:\n channels: [ 1, 2 ]\n rate: { (int)22050 }\n layout: roq\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "128000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_roqvideo": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav roqvideo encoder", + "hierarchy": [ + "avenc_roqvideo", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav id RoQ video encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: Y444\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-gst-av-roqvideo:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quake3-compat": { + "blurb": "Whether to respect known limitations in Quake 3 decoder (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_rv10": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav rv10 encoder", + "hierarchy": [ + "avenc_rv10", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav RealVideo 1.0 encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: I420\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-pn-realvideo:\n rmversion: 1\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "a53cc": { + "blurb": "Use A53 Closed Captions (if available) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "Strategy to choose between I/P/B-frames (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "border-mask": { + "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "brd-scale": { + "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-elim-threshold": { + "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "error-rate": { + "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "force-duplicated-matrix": { + "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "ibias": { + "blurb": "intra quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmax": { + "blurb": "maximum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmin": { + "blurb": "minimum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "luma-elim-threshold": { + "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepre": { + "blurb": "pre motion estimation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "motion-est": { + "blurb": "motion estimation algorithm (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "epzs (1)", + "mutable": "null", + "readable": true, + "type": "rv10-encoder-motion-est", + "writable": true + }, + "mpeg-quant": { + "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mpv-flags": { + "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "rv10-encoder-mpv-flags", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "noise-reduction": { + "blurb": "Noise reduction (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pbias": { + "blurb": "inter quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qsquish": { + "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "99", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer-noise-shaping": { + "blurb": "(null) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-buf-aggressivity": { + "blurb": "currently useless (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-eq": { + "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "rc-init-cplx": { + "blurb": "initial complexity for 1-pass encoding (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-amp": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-freq": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-strategy": { + "blurb": "ratecontrol method (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ffmpeg (0)", + "mutable": "null", + "readable": true, + "type": "rv10-encoder-rc-strategy", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "Scene change threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-cmp": { + "blurb": "Frame skip compare function (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "rv10-encoder-cmp-func", + "writable": true + }, + "skip-exp": { + "blurb": "Frame skip exponent (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "Frame skip factor (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "Frame skip threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_rv20": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav rv20 encoder", + "hierarchy": [ + "avenc_rv20", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav RealVideo 2.0 encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: I420\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-pn-realvideo:\n rmversion: 2\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "a53cc": { + "blurb": "Use A53 Closed Captions (if available) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "Strategy to choose between I/P/B-frames (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "border-mask": { + "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "brd-scale": { + "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-elim-threshold": { + "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "error-rate": { + "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "force-duplicated-matrix": { + "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "ibias": { + "blurb": "intra quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmax": { + "blurb": "maximum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmin": { + "blurb": "minimum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "luma-elim-threshold": { + "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepre": { + "blurb": "pre motion estimation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "motion-est": { + "blurb": "motion estimation algorithm (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "epzs (1)", + "mutable": "null", + "readable": true, + "type": "rv20-encoder-motion-est", + "writable": true + }, + "mpeg-quant": { + "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mpv-flags": { + "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "rv20-encoder-mpv-flags", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "noise-reduction": { + "blurb": "Noise reduction (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pbias": { + "blurb": "inter quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qsquish": { + "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "99", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer-noise-shaping": { + "blurb": "(null) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-buf-aggressivity": { + "blurb": "currently useless (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-eq": { + "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "rc-init-cplx": { + "blurb": "initial complexity for 1-pass encoding (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-amp": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-freq": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-strategy": { + "blurb": "ratecontrol method (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ffmpeg (0)", + "mutable": "null", + "readable": true, + "type": "rv20-encoder-rc-strategy", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "Scene change threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-cmp": { + "blurb": "Frame skip compare function (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "rv20-encoder-cmp-func", + "writable": true + }, + "skip-exp": { + "blurb": "Frame skip exponent (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "Frame skip factor (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "Frame skip threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_s302m": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav s302m encoder", + "hierarchy": [ + "avenc_s302m", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav SMPTE 302M encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: 48000\n format: { S32LE, S16LE }\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-smpte-302m:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "128000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_sbc": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav sbc encoder", + "hierarchy": [ + "avenc_sbc", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav SBC (low-complexity subband codec) encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: 1\n rate: { (int)16000, (int)32000, (int)44100, (int)48000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 2\n rate: { (int)16000, (int)32000, (int)44100, (int)48000 }\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "unknown/unknown:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "128000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "msbc": { + "blurb": "use mSBC mode (wideband speech mono SBC) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "sbc-delay": { + "blurb": "set maximum algorithmic latency (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "13000", + "max": "13000", + "min": "1000", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_sgi": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav sgi encoder", + "hierarchy": [ + "avenc_sgi", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Image", + "long-name": "libav SGI image encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { RGB, RGBA, GRAY16_LE, GRAY16_BE, GRAY8 }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "image/x-sgi:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rle": { + "blurb": "Use run-length compression (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_snow": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav snow encoder", + "hierarchy": [ + "avenc_snow", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav Snow encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { I420, YUV9, Y444, GRAY8 }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "unknown/unknown:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "intra-penalty": { + "blurb": "Penalty for intra blocks in block decission (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "iterative-dia-size": { + "blurb": "Dia size for the iterative ME (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "memc-only": { + "blurb": "Only do ME/MC (I frames -> ref, P frame -> ME+MC). (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "motion-est": { + "blurb": "motion estimation algorithm (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "epzs (1)", + "mutable": "null", + "readable": true, + "type": "snow-encoder-motion-est", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "no-bitstream": { + "blurb": "Skip final bitstream writeout. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "Spatial decomposition type (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dwt97 (0)", + "mutable": "null", + "readable": true, + "type": "snow-encoder-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "Scene change threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_sonic": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav sonic encoder", + "hierarchy": [ + "avenc_sonic", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav Sonic encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "unknown/unknown:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "128000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_sonicls": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav sonicls encoder", + "hierarchy": [ + "avenc_sonicls", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav Sonic lossless encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "unknown/unknown:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "128000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_sunrast": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav sunrast encoder", + "hierarchy": [ + "avenc_sunrast", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Image", + "long-name": "libav Sun Rasterfile image encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { BGR, RGB8P, GRAY8 }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "image/x-sun-raster:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "rle (3)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rle": { + "blurb": "Use run-length compression (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_svq1": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav svq1 encoder", + "hierarchy": [ + "avenc_svq1", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav Sorenson Vector Quantizer 1 / Sorenson Video 1 / SVQ1 encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: YUV9\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-svq:\n svqversion: 1\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "motion-est": { + "blurb": "Motion estimation algorithm (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "epzs (1)", + "mutable": "null", + "readable": true, + "type": "svq1enc-motion-est", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_targa": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav targa encoder", + "hierarchy": [ + "avenc_targa", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Image", + "long-name": "libav Truevision Targa image encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { BGR, BGRA, RGB15, GRAY8, RGB8P }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "image/x-tga:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rle": { + "blurb": "Use run-length compression (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_tiff": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav tiff encoder", + "hierarchy": [ + "avenc_tiff", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Image", + "long-name": "libav TIFF image encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { RGB, RGB8P, RGBA, GRAY8, GRAY16_LE, I420, Y42B, Y444, YUV9, Y41B }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "image/tiff:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-algo": { + "blurb": "(null) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "packbits (32773)", + "mutable": "null", + "readable": true, + "type": "tiff-encoder-compression-algo", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dpi": { + "blurb": "set the image resolution (in dpi) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "72", + "max": "65536", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_truehd": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav truehd encoder", + "hierarchy": [ + "avenc_truehd", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav TrueHD encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: 2\n rate: { (int)44100, (int)48000, (int)88200, (int)96000, (int)176400, (int)192000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x0000000000000037\n rate: { (int)44100, (int)48000, (int)88200, (int)96000, (int)176400, (int)192000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 6\n channel-mask: 0x000000000000003f\n rate: { (int)44100, (int)48000, (int)88200, (int)96000, (int)176400, (int)192000 }\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-true-hd:\n channels: [ 1, 8 ]\n rate: [ 4000, 96000 ]\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "128000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_tta": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav tta encoder", + "hierarchy": [ + "avenc_tta", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav TTA (True Audio) encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: { U8, S16LE, S32LE }\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-tta:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "128000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_utvideo": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav utvideo encoder", + "hierarchy": [ + "avenc_utvideo", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav Ut Video encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { GBR, GBRA, Y42B, I420, Y444 }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "unknown/unknown:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "Prediction method (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (1)", + "mutable": "null", + "readable": true, + "type": "utvideo-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_vc2": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav vc2 encoder", + "hierarchy": [ + "avenc_vc2", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav SMPTE VC-2 encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { I420, Y42B, Y444, I420_10LE, I422_10LE, Y444_10LE, I420_12LE, I422_12LE, Y444_12LE }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "unknown/unknown:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "600000000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qm": { + "blurb": "Custom quantization matrix (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "default (0)", + "mutable": "null", + "readable": true, + "type": "smpte-vc-2-encoder-quant-matrix", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slice-height": { + "blurb": "Slice height (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "16", + "max": "1024", + "min": "8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "slice-width": { + "blurb": "Slice width (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "32", + "max": "1024", + "min": "32", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "tolerance": { + "blurb": "Max undershoot in percent (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "5", + "max": "45", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gdouble", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "wavelet-depth": { + "blurb": "Transform depth (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4", + "max": "5", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "wavelet-type": { + "blurb": "Transform type (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "9_7 (0)", + "mutable": "null", + "readable": true, + "type": "smpte-vc-2-encoder-wavelet-idx", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_wavpack": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav wavpack encoder", + "hierarchy": [ + "avenc_wavpack", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav WavPack encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: { U8, S16LE, S32LE, F32LE }\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "unknown/unknown:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "128000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "joint-stereo": { + "blurb": " (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "optimize-mono": { + "blurb": " (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_wmav1": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav wmav1 encoder", + "hierarchy": [ + "avenc_wmav1", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav Windows Media Audio 1 encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: F32LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-wma:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n wmaversion: 1\n block_align: [ 0, 2147483647 ]\n bitrate: [ 0, 2147483647 ]\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "128000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_wmav2": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav wmav2 encoder", + "hierarchy": [ + "avenc_wmav2", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Audio", + "long-name": "libav Windows Media Audio 2 encoder", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: F32LE\n layout: interleaved\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-wma:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n wmaversion: 2\n block_align: [ 0, 2147483647 ]\n bitrate: [ 0, 2147483647 ]\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "ac": { + "blurb": "set number of audio channels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ar": { + "blurb": "set audio sampling rate (in Hz) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "audio-service-type": { + "blurb": "audio service type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ma (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-audio-service-type", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "128000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "channel-layout": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709550000", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cutoff": { + "blurb": "set cutoff bandwidth (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "frame-size": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "max-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "min-prediction-order": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_wmv1": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav wmv1 encoder", + "hierarchy": [ + "avenc_wmv1", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav Windows Media Video 7 encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: I420\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-wmv:\n wmvversion: 1\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "a53cc": { + "blurb": "Use A53 Closed Captions (if available) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "Strategy to choose between I/P/B-frames (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "border-mask": { + "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "brd-scale": { + "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-elim-threshold": { + "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "error-rate": { + "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "force-duplicated-matrix": { + "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "ibias": { + "blurb": "intra quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmax": { + "blurb": "maximum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmin": { + "blurb": "minimum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "luma-elim-threshold": { + "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepre": { + "blurb": "pre motion estimation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "motion-est": { + "blurb": "motion estimation algorithm (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "epzs (1)", + "mutable": "null", + "readable": true, + "type": "wmv1-encoder-motion-est", + "writable": true + }, + "mpeg-quant": { + "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mpv-flags": { + "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "wmv1-encoder-mpv-flags", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "noise-reduction": { + "blurb": "Noise reduction (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pbias": { + "blurb": "inter quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qsquish": { + "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "99", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer-noise-shaping": { + "blurb": "(null) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-buf-aggressivity": { + "blurb": "currently useless (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-eq": { + "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "rc-init-cplx": { + "blurb": "initial complexity for 1-pass encoding (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-amp": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-freq": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-strategy": { + "blurb": "ratecontrol method (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ffmpeg (0)", + "mutable": "null", + "readable": true, + "type": "wmv1-encoder-rc-strategy", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "Scene change threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-cmp": { + "blurb": "Frame skip compare function (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "wmv1-encoder-cmp-func", + "writable": true + }, + "skip-exp": { + "blurb": "Frame skip exponent (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "Frame skip factor (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "Frame skip threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_wmv2": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav wmv2 encoder", + "hierarchy": [ + "avenc_wmv2", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav Windows Media Video 8 encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: I420\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-wmv:\n wmvversion: 2\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "a53cc": { + "blurb": "Use A53 Closed Captions (if available) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "Adjust sensitivity of b_frame_strategy 1 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "Strategy to choose between I/P/B-frames (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "border-mask": { + "blurb": "increase the quantizer for macroblocks close to borders (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "brd-scale": { + "blurb": "Downscale frames for dynamic B-frame decision (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-elim-threshold": { + "blurb": "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "error-rate": { + "blurb": "Simulate errors in the bitstream to test error concealment. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "force-duplicated-matrix": { + "blurb": "Always write luma and chroma matrix for mjpeg, useful for rtp streaming. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "ibias": { + "blurb": "intra quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmax": { + "blurb": "maximum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lmin": { + "blurb": "minimum Lagrange factor (VBR) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "luma-elim-threshold": { + "blurb": "single coefficient elimination threshold for luminance (negative values also consider dc coefficient) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "Motion estimation bitrate penalty compensation (1.0 = 256) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepre": { + "blurb": "pre motion estimation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "motion-est": { + "blurb": "motion estimation algorithm (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "epzs (1)", + "mutable": "null", + "readable": true, + "type": "wmv2-encoder-motion-est", + "writable": true + }, + "mpeg-quant": { + "blurb": "Use MPEG quantizers instead of H.263 (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mpv-flags": { + "blurb": "Flags common for all mpegvideo-based encoders. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "wmv2-encoder-mpv-flags", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "noise-reduction": { + "blurb": "Noise reduction (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pbias": { + "blurb": "inter quant bias (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "999999", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qsquish": { + "blurb": "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "99", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "quantizer-noise-shaping": { + "blurb": "(null) (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-buf-aggressivity": { + "blurb": "currently useless (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-eq": { + "blurb": "Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "rc-init-cplx": { + "blurb": "initial complexity for 1-pass encoding (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-amp": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-qmod-freq": { + "blurb": "experimental quantizer modulation (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-strategy": { + "blurb": "ratecontrol method (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "ffmpeg (0)", + "mutable": "null", + "readable": true, + "type": "wmv2-encoder-rc-strategy", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "Scene change threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-cmp": { + "blurb": "Frame skip compare function (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "wmv2-encoder-cmp-func", + "writable": true + }, + "skip-exp": { + "blurb": "Frame skip exponent (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "Frame skip factor (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "Frame skip threshold (Private codec option)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_xbm": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav xbm encoder", + "hierarchy": [ + "avenc_xbm", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav XBM (X BitMap) image encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "unknown/unknown:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_xface": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav xface encoder", + "hierarchy": [ + "avenc_xface", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav X-face image encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "unknown/unknown:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_xwd": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav xwd encoder", + "hierarchy": [ + "avenc_xwd", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav XWD (X Window Dump) image encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { BGRA, RGBA, ARGB, ABGR, RGB, BGR, RGB16, RGB15, RGB8P, GRAY8 }\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "unknown/unknown:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avenc_zmbv": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav zmbv encoder", + "hierarchy": [ + "avenc_zmbv", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video", + "long-name": "libav Zip Motion Blocks Video encoder", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: RGB8P\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-zmbv:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "b-qfactor": { + "blurb": "QP factor between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-qoffset": { + "blurb": "QP offset between P- and B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1.25", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "b-sensitivity": { + "blurb": "adjust sensitivity of b_frame_strategy 1 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "40", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "b-strategy": { + "blurb": "strategy to choose between I/P/B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bidir-refine": { + "blurb": "refine the two motion vectors used in bidirectional macroblocks (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "4", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate": { + "blurb": "set bitrate (in bits/s) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "200000", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bitrate-tolerance": { + "blurb": "Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "4000000", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "brd-scale": { + "blurb": "downscale frames for dynamic B-frame decision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "10", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "bufsize": { + "blurb": "set ratecontrol buffer size (in bits) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "chroma-sample-location": { + "blurb": "chroma sample location (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-chroma-sample-location-type", + "writable": true + }, + "chromaoffset": { + "blurb": "chroma QP offset from luma (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "cmp": { + "blurb": "full-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "coder": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vlc (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-coder", + "writable": true + }, + "compression-level": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "context": { + "blurb": "context model (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dark-mask": { + "blurb": "compresses dark areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "dc": { + "blurb": "intra_dc_precision (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "16", + "min": "-8", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dct": { + "blurb": "DCT algorithm (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-dct", + "writable": true + }, + "debug": { + "blurb": "print specific debug info (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-debug", + "writable": true + }, + "dia-size": { + "blurb": "diamond type & size for motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "dump-separator": { + "blurb": "set information dump field separator (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "field-order": { + "blurb": "Field order (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-field-order", + "writable": true + }, + "flags": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags", + "writable": true + }, + "flags2": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "(none)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-flags2", + "writable": true + }, + "global-quality": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "gop-size": { + "blurb": "set the group of picture (GOP) size (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "12", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "i-qfactor": { + "blurb": "QP factor between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-0.8", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "i-qoffset": { + "blurb": "QP offset between P- and I-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "idct": { + "blurb": "select IDCT implementation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "auto (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-idct", + "writable": true + }, + "ildctcmp": { + "blurb": "interlaced DCT compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "vsad (8)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "keyint-min": { + "blurb": "minimum interval between IDR-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "25", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "last-pred": { + "blurb": "amount of motion predictors from the previous frame (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "lumi-mask": { + "blurb": "compresses bright areas stronger than medium ones (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "max-bframes": { + "blurb": "set maximum number of B-frames between non-B-frames (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-pixels": { + "blurb": "Maximum number of pixels (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2147483647", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "maxrate": { + "blurb": "maximum bitrate (in bits/s). Used for VBV together with bufsize. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mbcmp": { + "blurb": "macroblock compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "mbd": { + "blurb": "macroblock decision algorithm (high quality mode) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "simple (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-mbd", + "writable": true + }, + "mblmax": { + "blurb": "maximum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3658", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mblmin": { + "blurb": "minimum macroblock Lagrange factor (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "236", + "max": "32767", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "me-range": { + "blurb": "limit motion vectors range (1023 for DivX player) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "mepc": { + "blurb": "motion estimation bitrate penalty compensation (1.0 = 256) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "minrate": { + "blurb": "minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise. (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "mpeg-quant": { + "blurb": "use MPEG quantizers instead of H.263 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "multipass-cache-file": { + "blurb": "Filename for multipass cache file", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "stats.log", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "mv0-threshold": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "256", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nr": { + "blurb": "noise reduction (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "nssew": { + "blurb": "nsse weight (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "p-mask": { + "blurb": "inter masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "pass": { + "blurb": "Encoding pass/type", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstLibAVEncPass", + "writable": true + }, + "pre-dia-size": { + "blurb": "diamond type & size for motion estimation pre-pass (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "precmp": { + "blurb": "pre motion estimation compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "pred": { + "blurb": "prediction method (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "left (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-pred", + "writable": true + }, + "preme": { + "blurb": "pre motion estimation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "ps": { + "blurb": "RTP payload size in bytes (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qblur": { + "blurb": "video quantizer scale blur (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qcomp": { + "blurb": "video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "qdiff": { + "blurb": "maximum difference between the quantizer scales (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmax": { + "blurb": "maximum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "31", + "max": "1024", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "qmin": { + "blurb": "minimum video quantizer scale (VBR) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "2", + "max": "69", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "quantizer": { + "blurb": "Constant Quantizer", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.01", + "max": "30", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-init-occupancy": { + "blurb": "number of bits which should be loaded into the rc buffer before decoding starts (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-max-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "rc-min-vbv-use": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "3", + "max": "3.40282e+38", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "refs": { + "blurb": "reference frames to consider for motion compensation (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "sc-threshold": { + "blurb": "scene change threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scplx-mask": { + "blurb": "spatial complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "side-data-only-packets": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "skip-exp": { + "blurb": "frame skip exponent (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-factor": { + "blurb": "frame skip factor (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skip-threshold": { + "blurb": "frame skip threshold (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "skipcmp": { + "blurb": "frame skip compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "dctmax (13)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "slices": { + "blurb": "set the number of slices, used in parallelized encoding (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "strict": { + "blurb": "how strictly to follow the standards (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "normal (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-strict", + "writable": true + }, + "subcmp": { + "blurb": "sub-pel ME compare function (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "sad (0)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-cmp-func", + "writable": true + }, + "subq": { + "blurb": "sub-pel motion estimation quality (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "8", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "tcplx-mask": { + "blurb": "temporal complexity masking (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "3.40282e+38", + "min": "-3.40282e+38", + "mutable": "null", + "readable": true, + "type": "gfloat", + "writable": true + }, + "thread-type": { + "blurb": "select multithreading type (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "slice+frame", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-thread-type", + "writable": true + }, + "threads": { + "blurb": "set the number of threads (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "unknown (1)", + "mutable": "null", + "readable": true, + "type": "avcodeccontext-threads", + "writable": true + }, + "ticks-per-frame": { + "blurb": "(null) (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "timecode-frame-start": { + "blurb": "GOP timecode frame start number, in non-drop-frame format (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "18446744073709551615", + "max": "9223372036854775807", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint64", + "writable": true + }, + "trellis": { + "blurb": "rate-distortion optimal quantization (Generic codec option, might have no effect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "-2147483648", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "secondary" + }, + "avmux_3g2": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav 3GP2 (3GPP2 file format) muxer", + "hierarchy": [ + "avmux_3g2", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav 3GP2 (3GPP2 file format) muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/AMR:\n channels: 1\n rate: { (int)8000 }\naudio/AMR-WB:\n channels: 1\n rate: { (int)16000 }\naudio/mpeg:\n channels: [ 1, 6 ]\n rate: [ 4000, 96000 ]\n mpegversion: 4\n base-profile: lc\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "video/quicktime:\n variant: 3g2\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/mpeg:\n mpegversion: 4\n systemstream: false\n profile: { (string)simple, (string)advanced-simple }\nvideo/x-divx:\n divxversion: 5\nvideo/x-h263:\n width: 352\n height: 288\n framerate: [ 0/1, 2147483647/1 ]\n variant: itu\n h263version: h263\nvideo/x-h263:\n width: 704\n height: 576\n framerate: [ 0/1, 2147483647/1 ]\n variant: itu\n h263version: h263\nvideo/x-h263:\n width: 176\n height: 144\n framerate: [ 0/1, 2147483647/1 ]\n variant: itu\n h263version: h263\nvideo/x-h263:\n width: 1408\n height: 1152\n framerate: [ 0/1, 2147483647/1 ]\n variant: itu\n h263version: h263\nvideo/x-h263:\n width: 128\n height: 96\n framerate: [ 0/1, 2147483647/1 ]\n variant: itu\n h263version: h263\nvideo/x-h263:\n variant: itu\n h263version: h263p\nvideo/x-h264:\n alignment: au\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_3gp": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav 3GP (3GPP file format) muxer (not recommended, use gppmux instead)", + "hierarchy": [ + "avmux_3gp", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav 3GP (3GPP file format) muxer (not recommended, use gppmux instead)", + "pad-templates": { + "audio_%%u": { + "caps": "audio/AMR:\n channels: 1\n rate: { (int)8000 }\naudio/AMR-WB:\n channels: 1\n rate: { (int)16000 }\naudio/mpeg:\n channels: [ 1, 6 ]\n rate: [ 4000, 96000 ]\n mpegversion: 4\n base-profile: lc\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "video/quicktime:\n variant: 3gpp\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/mpeg:\n mpegversion: 4\n systemstream: false\n profile: { (string)simple, (string)advanced-simple }\nvideo/x-divx:\n divxversion: 5\nvideo/x-h263:\n width: 352\n height: 288\n framerate: [ 0/1, 2147483647/1 ]\n variant: itu\n h263version: h263\nvideo/x-h263:\n width: 704\n height: 576\n framerate: [ 0/1, 2147483647/1 ]\n variant: itu\n h263version: h263\nvideo/x-h263:\n width: 176\n height: 144\n framerate: [ 0/1, 2147483647/1 ]\n variant: itu\n h263version: h263\nvideo/x-h263:\n width: 1408\n height: 1152\n framerate: [ 0/1, 2147483647/1 ]\n variant: itu\n h263version: h263\nvideo/x-h263:\n width: 128\n height: 96\n framerate: [ 0/1, 2147483647/1 ]\n variant: itu\n h263version: h263\nvideo/x-h263:\n variant: itu\n h263version: h263p\nvideo/x-h264:\n alignment: au\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "none" + }, + "avmux_a64": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav a64 - video for Commodore 64 muxer", + "hierarchy": [ + "avmux_a64", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav a64 - video for Commodore 64 muxer", + "pad-templates": { + "src": { + "caps": "application/x-gst-av-a64:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_adts": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav ADTS AAC (Advanced Audio Coding) muxer (not recommended, use aacparse instead)", + "hierarchy": [ + "avmux_adts", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav ADTS AAC (Advanced Audio Coding) muxer (not recommended, use aacparse instead)", + "pad-templates": { + "audio_%%u": { + "caps": "audio/mpeg:\n channels: [ 1, 6 ]\n rate: [ 4000, 96000 ]\n mpegversion: 4\n base-profile: lc\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-adts:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "none" + }, + "avmux_adx": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav CRI ADX muxer", + "hierarchy": [ + "avmux_adx", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav CRI ADX muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/x-adpcm:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n layout: adx\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-adx:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_aiff": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav Audio IFF muxer (not recommended, use aiffmux instead)", + "hierarchy": [ + "avmux_aiff", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav Audio IFF muxer (not recommended, use aiffmux instead)", + "pad-templates": { + "audio_%%u": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16BE\n layout: interleaved\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "audio/x-aiff:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "image/png:\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "none" + }, + "avmux_amr": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav 3GPP AMR muxer", + "hierarchy": [ + "avmux_amr", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav 3GPP AMR muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/AMR:\n channels: 1\n rate: { (int)8000 }\naudio/AMR-WB:\n channels: 1\n rate: { (int)16000 }\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "audio/x-amr-nb-sh:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_apng": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav Animated Portable Network Graphics muxer", + "hierarchy": [ + "avmux_apng", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav Animated Portable Network Graphics muxer", + "pad-templates": { + "src": { + "caps": "application/x-gst-av-apng:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_asf": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav ASF (Advanced / Active Streaming Format) muxer (not recommended, use asfmux instead)", + "hierarchy": [ + "avmux_asf", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav ASF (Advanced / Active Streaming Format) muxer (not recommended, use asfmux instead)", + "pad-templates": { + "audio_%%u": { + "caps": "audio/x-wma:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n wmaversion: 1\n block_align: [ 0, 2147483647 ]\n bitrate: [ 0, 2147483647 ]\naudio/x-wma:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n wmaversion: 2\n block_align: [ 0, 2147483647 ]\n bitrate: [ 0, 2147483647 ]\naudio/mpeg:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n mpegversion: 1\n layer: 3\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "video/x-ms-asf:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/x-wmv:\n wmvversion: 1\nvideo/x-wmv:\n wmvversion: 2\nvideo/x-msmpeg:\n msmpegversion: 43\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "none" + }, + "avmux_asf_stream": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav ASF (Advanced / Active Streaming Format) muxer (not recommended, use asfmux instead)", + "hierarchy": [ + "avmux_asf_stream", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav ASF (Advanced / Active Streaming Format) muxer (not recommended, use asfmux instead)", + "pad-templates": { + "audio_%%u": { + "caps": "audio/x-wma:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n wmaversion: 2\n block_align: [ 0, 2147483647 ]\n bitrate: [ 0, 2147483647 ]\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-asf_stream:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/x-msmpeg:\n msmpegversion: 43\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "none" + }, + "avmux_ast": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav AST (Audio Stream) muxer", + "hierarchy": [ + "avmux_ast", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav AST (Audio Stream) muxer", + "pad-templates": { + "src": { + "caps": "application/x-gst-av-ast:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_au": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav Sun AU muxer", + "hierarchy": [ + "avmux_au", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav Sun AU muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16BE\n layout: interleaved\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "audio/x-au:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_avi": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav AVI (Audio Video Interleaved) muxer (not recommended, use avimux instead)", + "hierarchy": [ + "avmux_avi", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav AVI (Audio Video Interleaved) muxer (not recommended, use avimux instead)", + "pad-templates": { + "audio_%%u": { + "caps": "audio/mpeg:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n mpegversion: 1\n layer: 3\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "video/x-msvideo:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/mpeg:\n mpegversion: 4\n systemstream: false\n profile: { (string)simple, (string)advanced-simple }\nvideo/x-divx:\n divxversion: 5\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "none" + }, + "avmux_avm2": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav SWF (ShockWave Flash) (AVM2) muxer", + "hierarchy": [ + "avmux_avm2", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav SWF (ShockWave Flash) (AVM2) muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/mpeg:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n mpegversion: 1\n layer: 3\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-avm2:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/x-flash-video:\n flvversion: 1\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_bit": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav G.729 BIT file format muxer", + "hierarchy": [ + "avmux_bit", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav G.729 BIT file format muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/G729:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-bit:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_caf": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav Apple CAF (Core Audio Format) muxer", + "hierarchy": [ + "avmux_caf", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav Apple CAF (Core Audio Format) muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16BE\n layout: interleaved\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-caf:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_chromaprint": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav Chromaprint muxer", + "hierarchy": [ + "avmux_chromaprint", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav Chromaprint muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-chromaprint:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_codec2": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav codec2 .c2 muxer muxer", + "hierarchy": [ + "avmux_codec2", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav codec2 .c2 muxer muxer", + "pad-templates": { + "src": { + "caps": "application/x-gst-av-codec2:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_dash": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav DASH Muxer muxer", + "hierarchy": [ + "avmux_dash", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav DASH Muxer muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/mpeg:\n channels: [ 1, 6 ]\n rate: [ 4000, 96000 ]\n mpegversion: 4\n base-profile: lc\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-dash:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/x-h264:\n alignment: au\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_daud": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav D-Cinema audio muxer", + "hierarchy": [ + "avmux_daud", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav D-Cinema audio muxer", + "pad-templates": { + "src": { + "caps": "application/x-gst-av-daud:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_dv": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav DV (Digital Video) muxer", + "hierarchy": [ + "avmux_dv", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav DV (Digital Video) muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/x-raw:\n channels: 2\n rate: 48000\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "video/x-dv:\n systemstream: true\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/x-dv:\n width: 720\n height: 480\n framerate: 30000/1001\npixel-aspect-ratio: 8/9\n systemstream: false\nvideo/x-dv:\n width: 720\n height: 480\n framerate: 30000/1001\npixel-aspect-ratio: 32/27\n systemstream: false\nvideo/x-dv:\n width: 720\n height: 480\n framerate: 30000/1001\npixel-aspect-ratio: 8/9\n systemstream: false\nvideo/x-dv:\n width: 720\n height: 480\n framerate: 30000/1001\npixel-aspect-ratio: 32/27\n systemstream: false\nvideo/x-dv:\n width: 720\n height: 576\n framerate: 25/1\npixel-aspect-ratio: 16/15\n systemstream: false\nvideo/x-dv:\n width: 720\n height: 576\n framerate: 25/1\npixel-aspect-ratio: 64/45\n systemstream: false\nvideo/x-dv:\n width: 720\n height: 576\n framerate: 25/1\npixel-aspect-ratio: 16/15\n systemstream: false\nvideo/x-dv:\n width: 720\n height: 576\n framerate: 25/1\npixel-aspect-ratio: 64/45\n systemstream: false\nvideo/x-dv:\n width: 720\n height: 576\n framerate: 25/1\npixel-aspect-ratio: 16/15\n systemstream: false\nvideo/x-dv:\n width: 720\n height: 576\n framerate: 25/1\npixel-aspect-ratio: 64/45\n systemstream: false\nvideo/x-dv:\n width: 1280\n height: 1080\n framerate: 30000/1001\npixel-aspect-ratio: 1/1\n systemstream: false\nvideo/x-dv:\n width: 1280\n height: 1080\n framerate: 30000/1001\npixel-aspect-ratio: 3/2\n systemstream: false\nvideo/x-dv:\n width: 1440\n height: 1080\n framerate: 25/1\npixel-aspect-ratio: 1/1\n systemstream: false\nvideo/x-dv:\n width: 1440\n height: 1080\n framerate: 25/1\npixel-aspect-ratio: 4/3\n systemstream: false\nvideo/x-dv:\n width: 960\n height: 720\n framerate: 60000/1001\npixel-aspect-ratio: 1/1\n systemstream: false\nvideo/x-dv:\n width: 960\n height: 720\n framerate: 60000/1001\npixel-aspect-ratio: 4/3\n systemstream: false\nvideo/x-dv:\n width: 960\n height: 720\n framerate: 50/1\npixel-aspect-ratio: 1/1\n systemstream: false\nvideo/x-dv:\n width: 960\n height: 720\n framerate: 50/1\npixel-aspect-ratio: 4/3\n systemstream: false\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_dvd": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav MPEG-2 PS (DVD VOB) muxer", + "hierarchy": [ + "avmux_dvd", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav MPEG-2 PS (DVD VOB) muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/mpeg:\n channels: [ 1, 2 ]\n rate: { (int)48000, (int)44100, (int)32000, (int)24000, (int)22050, (int)16000 }\n mpegversion: 1\n layer: 2\naudio/x-ac3:\n channels: [ 1, 6 ]\n rate: { (int)48000, (int)44100, (int)32000 }\naudio/x-dts:\n channels: [ 1, 6 ]\n rate: [ 4000, 96000 ]\naudio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16BE\n layout: interleaved\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-dvd:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/mpeg:\n mpegversion: 2\n systemstream: false\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_f4v": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav F4V Adobe Flash Video muxer", + "hierarchy": [ + "avmux_f4v", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav F4V Adobe Flash Video muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/mpeg:\n channels: [ 1, 6 ]\n rate: [ 4000, 96000 ]\n mpegversion: 4\n base-profile: lc\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-f4v:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/x-h264:\n alignment: au\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_film_cpk": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav Sega FILM / CPK muxer", + "hierarchy": [ + "avmux_film_cpk", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav Sega FILM / CPK muxer", + "pad-templates": { + "src": { + "caps": "application/x-gst-av-film_cpk:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/x-cinepak:\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_filmstrip": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav Adobe Filmstrip muxer", + "hierarchy": [ + "avmux_filmstrip", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav Adobe Filmstrip muxer", + "pad-templates": { + "src": { + "caps": "application/x-gst-av-filmstrip:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_fits": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav Flexible Image Transport System muxer", + "hierarchy": [ + "avmux_fits", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav Flexible Image Transport System muxer", + "pad-templates": { + "src": { + "caps": "application/x-gst-av-fits:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_flv": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav FLV (Flash Video) muxer (not recommended, use flvmux instead)", + "hierarchy": [ + "avmux_flv", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav FLV (Flash Video) muxer (not recommended, use flvmux instead)", + "pad-templates": { + "audio_%%u": { + "caps": "audio/mpeg:\n channels: [ 1, 2 ]\n rate: { (int)44100, (int)22050, (int)11025 }\n mpegversion: 1\n layer: 3\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "video/x-flv:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/x-flash-video:\n flvversion: 1\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "none" + }, + "avmux_gxf": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav GXF (General eXchange Format) muxer", + "hierarchy": [ + "avmux_gxf", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav GXF (General eXchange Format) muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/gxf:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/mpeg:\n mpegversion: 2\n systemstream: false\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_hash": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav Hash testing muxer", + "hierarchy": [ + "avmux_hash", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav Hash testing muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-hash:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_hds": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav HDS Muxer muxer", + "hierarchy": [ + "avmux_hds", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav HDS Muxer muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/mpeg:\n channels: [ 1, 6 ]\n rate: [ 4000, 96000 ]\n mpegversion: 4\n base-profile: lc\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-hds:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/x-h264:\n alignment: au\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_hls": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav Apple HTTP Live Streaming muxer", + "hierarchy": [ + "avmux_hls", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav Apple HTTP Live Streaming muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/mpeg:\n channels: [ 1, 6 ]\n rate: [ 4000, 96000 ]\n mpegversion: 4\n base-profile: lc\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-hls:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/x-h264:\n alignment: au\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_ico": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav Microsoft Windows ICO muxer", + "hierarchy": [ + "avmux_ico", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav Microsoft Windows ICO muxer", + "pad-templates": { + "src": { + "caps": "application/x-gst-av-ico:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "image/bmp:\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_ilbc": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav iLBC storage muxer", + "hierarchy": [ + "avmux_ilbc", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav iLBC storage muxer", + "pad-templates": { + "src": { + "caps": "application/x-gst-av-ilbc:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_ipod": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav iPod H.264 MP4 (MPEG-4 Part 14) muxer", + "hierarchy": [ + "avmux_ipod", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav iPod H.264 MP4 (MPEG-4 Part 14) muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/mpeg:\n channels: [ 1, 6 ]\n rate: [ 4000, 96000 ]\n mpegversion: 4\n base-profile: lc\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "video/quicktime:\n variant: ipod\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/x-h264:\n alignment: au\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_ircam": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav Berkeley/IRCAM/CARL Sound Format muxer", + "hierarchy": [ + "avmux_ircam", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav Berkeley/IRCAM/CARL Sound Format muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-ircam:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_ismv": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav ISMV/ISMA (Smooth Streaming) muxer", + "hierarchy": [ + "avmux_ismv", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav ISMV/ISMA (Smooth Streaming) muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/mpeg:\n channels: [ 1, 6 ]\n rate: [ 4000, 96000 ]\n mpegversion: 4\n base-profile: lc\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-ismv:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/x-h264:\n alignment: au\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_ivf": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav On2 IVF muxer", + "hierarchy": [ + "avmux_ivf", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav On2 IVF muxer", + "pad-templates": { + "src": { + "caps": "video/x-ivf:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/x-vp8:\nvideo/x-vp9:\nvideo/x-av1:\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_latm": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav LOAS/LATM muxer", + "hierarchy": [ + "avmux_latm", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav LOAS/LATM muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/mpeg:\n channels: [ 1, 6 ]\n rate: [ 4000, 96000 ]\n mpegversion: 4\n base-profile: lc\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-latm:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_matroska": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav Matroska muxer (not recommended, use matroskamux instead)", + "hierarchy": [ + "avmux_matroska", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav Matroska muxer (not recommended, use matroskamux instead)", + "pad-templates": { + "src": { + "caps": "video/x-matroska:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/x-h264:\n alignment: au\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "none" + }, + "avmux_md5": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav MD5 testing muxer", + "hierarchy": [ + "avmux_md5", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav MD5 testing muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-md5:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_mkvtimestamp_v2": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav extract pts as timecode v2 format, as defined by mkvtoolnix muxer", + "hierarchy": [ + "avmux_mkvtimestamp_v2", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav extract pts as timecode v2 format, as defined by mkvtoolnix muxer", + "pad-templates": { + "src": { + "caps": "application/x-gst-av-mkvtimestamp_v2:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_mmf": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav Yamaha SMAF muxer", + "hierarchy": [ + "avmux_mmf", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav Yamaha SMAF muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/x-adpcm:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n layout: yamaha\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-mmf:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_mov": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav QuickTime / MOV muxer (not recommended, use qtmux instead)", + "hierarchy": [ + "avmux_mov", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav QuickTime / MOV muxer (not recommended, use qtmux instead)", + "pad-templates": { + "audio_%%u": { + "caps": "audio/x-mulaw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\naudio/x-alaw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\naudio/x-adpcm:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n layout: quicktime\naudio/x-mace:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n maceversion: 3\naudio/x-mace:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n maceversion: 6\naudio/mpeg:\n channels: [ 1, 6 ]\n rate: [ 4000, 96000 ]\n mpegversion: 4\n base-profile: lc\naudio/AMR:\n channels: 1\n rate: { (int)8000 }\naudio/AMR-WB:\n channels: 1\n rate: { (int)16000 }\naudio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16BE\n layout: interleaved\naudio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16LE\n layout: interleaved\naudio/mpeg:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n mpegversion: 1\n layer: 3\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "video/quicktime:\n variant: apple\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/x-svq:\n svqversion: 1\nvideo/x-svq:\n svqversion: 3\nvideo/mpeg:\n mpegversion: 4\n systemstream: false\n profile: { (string)simple, (string)advanced-simple }\nvideo/x-divx:\n divxversion: 5\nvideo/x-h263:\n width: 352\n height: 288\n framerate: [ 0/1, 2147483647/1 ]\n variant: itu\n h263version: h263\nvideo/x-h263:\n width: 704\n height: 576\n framerate: [ 0/1, 2147483647/1 ]\n variant: itu\n h263version: h263\nvideo/x-h263:\n width: 176\n height: 144\n framerate: [ 0/1, 2147483647/1 ]\n variant: itu\n h263version: h263\nvideo/x-h263:\n width: 1408\n height: 1152\n framerate: [ 0/1, 2147483647/1 ]\n variant: itu\n h263version: h263\nvideo/x-h263:\n width: 128\n height: 96\n framerate: [ 0/1, 2147483647/1 ]\n variant: itu\n h263version: h263\nvideo/x-h263:\n variant: itu\n h263version: h263p\nvideo/x-h264:\n alignment: au\nvideo/x-dv:\n width: 720\n height: 480\n framerate: 30000/1001\npixel-aspect-ratio: 8/9\n systemstream: false\nvideo/x-dv:\n width: 720\n height: 480\n framerate: 30000/1001\npixel-aspect-ratio: 32/27\n systemstream: false\nvideo/x-dv:\n width: 720\n height: 480\n framerate: 30000/1001\npixel-aspect-ratio: 8/9\n systemstream: false\nvideo/x-dv:\n width: 720\n height: 480\n framerate: 30000/1001\npixel-aspect-ratio: 32/27\n systemstream: false\nvideo/x-dv:\n width: 720\n height: 576\n framerate: 25/1\npixel-aspect-ratio: 16/15\n systemstream: false\nvideo/x-dv:\n width: 720\n height: 576\n framerate: 25/1\npixel-aspect-ratio: 64/45\n systemstream: false\nvideo/x-dv:\n width: 720\n height: 576\n framerate: 25/1\npixel-aspect-ratio: 16/15\n systemstream: false\nvideo/x-dv:\n width: 720\n height: 576\n framerate: 25/1\npixel-aspect-ratio: 64/45\n systemstream: false\nvideo/x-dv:\n width: 720\n height: 576\n framerate: 25/1\npixel-aspect-ratio: 16/15\n systemstream: false\nvideo/x-dv:\n width: 720\n height: 576\n framerate: 25/1\npixel-aspect-ratio: 64/45\n systemstream: false\nvideo/x-dv:\n width: 1280\n height: 1080\n framerate: 30000/1001\npixel-aspect-ratio: 1/1\n systemstream: false\nvideo/x-dv:\n width: 1280\n height: 1080\n framerate: 30000/1001\npixel-aspect-ratio: 3/2\n systemstream: false\nvideo/x-dv:\n width: 1440\n height: 1080\n framerate: 25/1\npixel-aspect-ratio: 1/1\n systemstream: false\nvideo/x-dv:\n width: 1440\n height: 1080\n framerate: 25/1\npixel-aspect-ratio: 4/3\n systemstream: false\nvideo/x-dv:\n width: 960\n height: 720\n framerate: 60000/1001\npixel-aspect-ratio: 1/1\n systemstream: false\nvideo/x-dv:\n width: 960\n height: 720\n framerate: 60000/1001\npixel-aspect-ratio: 4/3\n systemstream: false\nvideo/x-dv:\n width: 960\n height: 720\n framerate: 50/1\npixel-aspect-ratio: 1/1\n systemstream: false\nvideo/x-dv:\n width: 960\n height: 720\n framerate: 50/1\npixel-aspect-ratio: 4/3\n systemstream: false\nimage/jpeg:\n parsed: true\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "none" + }, + "avmux_mp2": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav MP2 (MPEG audio layer 2) formatter (not recommended, use id3v2mux instead)", + "hierarchy": [ + "avmux_mp2", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Formatter/Metadata", + "long-name": "libav MP2 (MPEG audio layer 2) formatter (not recommended, use id3v2mux instead)", + "pad-templates": { + "audio_%%u": { + "caps": "audio/mpeg:\n channels: [ 1, 2 ]\n rate: { (int)48000, (int)44100, (int)32000, (int)24000, (int)22050, (int)16000 }\n mpegversion: 1\n layer: 2\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-mp2:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "none" + }, + "avmux_mp3": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav MP3 (MPEG audio layer 3) formatter (not recommended, use id3v2mux instead)", + "hierarchy": [ + "avmux_mp3", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Formatter/Metadata", + "long-name": "libav MP3 (MPEG audio layer 3) formatter (not recommended, use id3v2mux instead)", + "pad-templates": { + "audio_%%u": { + "caps": "audio/mpeg:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n mpegversion: 1\n layer: 3\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-id3:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "image/png:\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "none" + }, + "avmux_mp4": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav MP4 (MPEG-4 Part 14) muxer (not recommended, use mp4mux instead)", + "hierarchy": [ + "avmux_mp4", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav MP4 (MPEG-4 Part 14) muxer (not recommended, use mp4mux instead)", + "pad-templates": { + "audio_%%u": { + "caps": "audio/mpeg:\n channels: [ 1, 6 ]\n rate: [ 4000, 96000 ]\n mpegversion: 4\n base-profile: lc\naudio/mpeg:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n mpegversion: 1\n layer: 3\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "video/quicktime:\n variant: iso\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/mpeg:\n mpegversion: 4\n systemstream: false\n profile: { (string)simple, (string)advanced-simple }\nvideo/x-divx:\n divxversion: 5\nvideo/x-h264:\n alignment: au\nimage/jpeg:\n parsed: true\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "none" + }, + "avmux_mpeg": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav MPEG-1 Systems / MPEG program stream muxer", + "hierarchy": [ + "avmux_mpeg", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav MPEG-1 Systems / MPEG program stream muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/mpeg:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n mpegversion: 1\n layer: 1\naudio/mpeg:\n channels: [ 1, 2 ]\n rate: { (int)48000, (int)44100, (int)32000, (int)24000, (int)22050, (int)16000 }\n mpegversion: 1\n layer: 2\naudio/mpeg:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n mpegversion: 1\n layer: 3\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "video/mpeg:\n systemstream: true\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/mpeg:\n mpegversion: 1\n systemstream: false\nvideo/mpeg:\n mpegversion: 2\n systemstream: false\nvideo/x-h264:\n alignment: au\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_mpegts": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav MPEG-TS (MPEG-2 Transport Stream) muxer (not recommended, use mpegtsmux instead)", + "hierarchy": [ + "avmux_mpegts", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav MPEG-TS (MPEG-2 Transport Stream) muxer (not recommended, use mpegtsmux instead)", + "pad-templates": { + "audio_%%u": { + "caps": "audio/mpeg:\n channels: [ 1, 2 ]\n rate: { (int)48000, (int)44100, (int)32000, (int)24000, (int)22050, (int)16000 }\n mpegversion: 1\n layer: 2\naudio/mpeg:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n mpegversion: 1\n layer: 3\naudio/x-ac3:\n channels: [ 1, 6 ]\n rate: { (int)48000, (int)44100, (int)32000 }\naudio/x-dts:\n channels: [ 1, 6 ]\n rate: [ 4000, 96000 ]\naudio/mpeg:\n channels: [ 1, 6 ]\n rate: [ 4000, 96000 ]\n mpegversion: 4\n base-profile: lc\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "video/mpegts:\n systemstream: true\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/mpeg:\n mpegversion: 1\n systemstream: false\nvideo/mpeg:\n mpegversion: 2\n systemstream: false\nvideo/x-h264:\n alignment: au\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "none" + }, + "avmux_mpjpeg": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav MIME multipart JPEG muxer (not recommended, use multipartmux instead)", + "hierarchy": [ + "avmux_mpjpeg", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav MIME multipart JPEG muxer (not recommended, use multipartmux instead)", + "pad-templates": { + "src": { + "caps": "application/x-gst-av-mpjpeg:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "image/jpeg:\n parsed: true\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "none" + }, + "avmux_mxf": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav MXF (Material eXchange Format) muxer (not recommended, use mxfmux instead)", + "hierarchy": [ + "avmux_mxf", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav MXF (Material eXchange Format) muxer (not recommended, use mxfmux instead)", + "pad-templates": { + "audio_%%u": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/mxf:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/mpeg:\n mpegversion: 2\n systemstream: false\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "none" + }, + "avmux_mxf_d10": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav MXF (Material eXchange Format) D-10 Mapping muxer", + "hierarchy": [ + "avmux_mxf_d10", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav MXF (Material eXchange Format) D-10 Mapping muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/mxf:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/mpeg:\n mpegversion: 2\n systemstream: false\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_mxf_opatom": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav MXF (Material eXchange Format) Operational Pattern Atom muxer", + "hierarchy": [ + "avmux_mxf_opatom", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav MXF (Material eXchange Format) Operational Pattern Atom muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-mxf_opatom:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/x-dnxhd:\n width: 1920\n height: 1080\n framerate: [ 0/1, 2147483647/1 ]\nvideo/x-dnxhd:\n width: 1280\n height: 720\n framerate: [ 0/1, 2147483647/1 ]\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_nut": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav NUT muxer", + "hierarchy": [ + "avmux_nut", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav NUT muxer", + "pad-templates": { + "src": { + "caps": "application/x-gst-av-nut:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/mpeg:\n mpegversion: 4\n systemstream: false\n profile: { (string)simple, (string)advanced-simple }\nvideo/x-divx:\n divxversion: 5\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_oga": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav Ogg Audio muxer", + "hierarchy": [ + "avmux_oga", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav Ogg Audio muxer", + "pad-templates": { + "src": { + "caps": "application/x-gst-av-oga:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_ogg": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav Ogg muxer (not recommended, use oggmux instead)", + "hierarchy": [ + "avmux_ogg", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav Ogg muxer (not recommended, use oggmux instead)", + "pad-templates": { + "src": { + "caps": "application/ogg:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/x-theora:\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "none" + }, + "avmux_ogv": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav Ogg Video muxer", + "hierarchy": [ + "avmux_ogv", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav Ogg Video muxer", + "pad-templates": { + "src": { + "caps": "application/x-gst-av-ogv:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/x-theora:\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_oma": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav Sony OpenMG audio muxer", + "hierarchy": [ + "avmux_oma", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav Sony OpenMG audio muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/x-vnd.sony.atrac3:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-oma:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_opus": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav Ogg Opus muxer", + "hierarchy": [ + "avmux_opus", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav Ogg Opus muxer", + "pad-templates": { + "src": { + "caps": "application/x-gst-av-opus:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_psp": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav PSP MP4 (MPEG-4 Part 14) muxer", + "hierarchy": [ + "avmux_psp", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav PSP MP4 (MPEG-4 Part 14) muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/mpeg:\n channels: [ 1, 6 ]\n rate: [ 4000, 96000 ]\n mpegversion: 4\n base-profile: lc\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "video/quicktime:\n variant: psp\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/x-h264:\n alignment: au\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_rm": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav RealMedia muxer", + "hierarchy": [ + "avmux_rm", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav RealMedia muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/x-ac3:\n channels: [ 1, 6 ]\n rate: { (int)48000, (int)44100, (int)32000 }\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-pn-realmedia:\n systemstream: true\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/x-pn-realvideo:\n rmversion: 1\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_rso": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav Lego Mindstorms RSO muxer", + "hierarchy": [ + "avmux_rso", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav Lego Mindstorms RSO muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: U8\n layout: interleaved\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-rso:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_rtsp": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav RTSP output muxer", + "hierarchy": [ + "avmux_rtsp", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav RTSP output muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/mpeg:\n channels: [ 1, 6 ]\n rate: [ 4000, 96000 ]\n mpegversion: 4\n base-profile: lc\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-rtsp:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/mpeg:\n mpegversion: 4\n systemstream: false\n profile: { (string)simple, (string)advanced-simple }\nvideo/x-divx:\n divxversion: 5\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_sap": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav SAP output muxer", + "hierarchy": [ + "avmux_sap", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav SAP output muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/mpeg:\n channels: [ 1, 6 ]\n rate: [ 4000, 96000 ]\n mpegversion: 4\n base-profile: lc\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-sap:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/mpeg:\n mpegversion: 4\n systemstream: false\n profile: { (string)simple, (string)advanced-simple }\nvideo/x-divx:\n divxversion: 5\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_singlejpeg": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav JPEG single image muxer", + "hierarchy": [ + "avmux_singlejpeg", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav JPEG single image muxer", + "pad-templates": { + "src": { + "caps": "application/x-gst-av-singlejpeg:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "image/jpeg:\n parsed: true\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_smjpeg": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav Loki SDL MJPEG muxer", + "hierarchy": [ + "avmux_smjpeg", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav Loki SDL MJPEG muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-smjpeg:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "image/jpeg:\n parsed: true\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_smoothstreaming": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav Smooth Streaming Muxer muxer", + "hierarchy": [ + "avmux_smoothstreaming", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav Smooth Streaming Muxer muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/mpeg:\n channels: [ 1, 6 ]\n rate: [ 4000, 96000 ]\n mpegversion: 4\n base-profile: lc\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-smoothstreaming:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/x-h264:\n alignment: au\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_sox": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav SoX native muxer", + "hierarchy": [ + "avmux_sox", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav SoX native muxer", + "pad-templates": { + "src": { + "caps": "application/x-gst-av-sox:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_spdif": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav IEC 61937 (used on S/PDIF - IEC958) muxer", + "hierarchy": [ + "avmux_spdif", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav IEC 61937 (used on S/PDIF - IEC958) muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/x-ac3:\n channels: [ 1, 6 ]\n rate: { (int)48000, (int)44100, (int)32000 }\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-spdif:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_spx": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav Ogg Speex muxer", + "hierarchy": [ + "avmux_spx", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav Ogg Speex muxer", + "pad-templates": { + "src": { + "caps": "application/x-gst-av-spx:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_svcd": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav MPEG-2 PS (SVCD) muxer", + "hierarchy": [ + "avmux_svcd", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav MPEG-2 PS (SVCD) muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/mpeg:\n channels: [ 1, 2 ]\n rate: { (int)48000, (int)44100, (int)32000, (int)24000, (int)22050, (int)16000 }\n mpegversion: 1\n layer: 2\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-svcd:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/mpeg:\n mpegversion: 2\n systemstream: false\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_swf": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav SWF (ShockWave Flash) muxer", + "hierarchy": [ + "avmux_swf", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav SWF (ShockWave Flash) muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/mpeg:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n mpegversion: 1\n layer: 3\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-shockwave-flash:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/x-flash-video:\n flvversion: 1\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_tta": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav TTA (True Audio) muxer", + "hierarchy": [ + "avmux_tta", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav TTA (True Audio) muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/x-tta:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "audio/x-ttafile:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_uncodedframecrc": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav uncoded framecrc testing muxer", + "hierarchy": [ + "avmux_uncodedframecrc", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav uncoded framecrc testing muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-uncodedframecrc:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_vc1test": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav VC-1 test bitstream muxer", + "hierarchy": [ + "avmux_vc1test", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav VC-1 test bitstream muxer", + "pad-templates": { + "src": { + "caps": "application/x-gst-av-vc1test:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/x-wmv:\n wmvversion: 3\n format: WMV3\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_vcd": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav MPEG-1 Systems / MPEG program stream (VCD) muxer", + "hierarchy": [ + "avmux_vcd", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav MPEG-1 Systems / MPEG program stream (VCD) muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/mpeg:\n channels: [ 1, 2 ]\n rate: { (int)48000, (int)44100, (int)32000, (int)24000, (int)22050, (int)16000 }\n mpegversion: 1\n layer: 2\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-vcd:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/mpeg:\n mpegversion: 1\n systemstream: false\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_vidc": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav PCM Archimedes VIDC muxer", + "hierarchy": [ + "avmux_vidc", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav PCM Archimedes VIDC muxer", + "pad-templates": { + "src": { + "caps": "application/x-gst-av-vidc:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_vob": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav MPEG-2 PS (VOB) muxer", + "hierarchy": [ + "avmux_vob", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav MPEG-2 PS (VOB) muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/mpeg:\n channels: [ 1, 2 ]\n rate: { (int)48000, (int)44100, (int)32000, (int)24000, (int)22050, (int)16000 }\n mpegversion: 1\n layer: 2\naudio/x-ac3:\n channels: [ 1, 6 ]\n rate: { (int)48000, (int)44100, (int)32000 }\naudio/x-dts:\n channels: [ 1, 6 ]\n rate: [ 4000, 96000 ]\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-vob:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/mpeg:\n mpegversion: 2\n systemstream: false\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_voc": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav Creative Voice muxer", + "hierarchy": [ + "avmux_voc", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav Creative Voice muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "audio/x-voc:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_w64": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav Sony Wave64 muxer", + "hierarchy": [ + "avmux_w64", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav Sony Wave64 muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-w64:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_wav": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav WAV / WAVE (Waveform Audio) muxer (not recommended, use wavenc instead)", + "hierarchy": [ + "avmux_wav", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav WAV / WAVE (Waveform Audio) muxer (not recommended, use wavenc instead)", + "pad-templates": { + "audio_%%u": { + "caps": "audio/x-raw:\n channels: [ 1, 2 ]\n rate: [ 4000, 96000 ]\n format: S16LE\n layout: interleaved\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "audio/x-wav:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "none" + }, + "avmux_webp": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav WebP muxer", + "hierarchy": [ + "avmux_webp", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav WebP muxer", + "pad-templates": { + "src": { + "caps": "application/x-gst-av-webp:\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_wtv": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav Windows Television (WTV) muxer", + "hierarchy": [ + "avmux_wtv", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav Windows Television (WTV) muxer", + "pad-templates": { + "audio_%%u": { + "caps": "audio/x-ac3:\n channels: [ 1, 6 ]\n rate: { (int)48000, (int)44100, (int)32000 }\n", + "direction": "sink", + "presence": "request" + }, + "src": { + "caps": "application/x-gst-av-wtv:\n", + "direction": "src", + "presence": "always" + }, + "video_%%u": { + "caps": "video/mpeg:\n mpegversion: 2\n systemstream: false\n", + "direction": "sink", + "presence": "request" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "marginal" + }, + "avmux_yuv4mpegpipe": { + "author": "Wim Taymans , Ronald Bultje ", + "description": "libav YUV4MPEG pipe muxer (not recommended, use y4menc instead)", + "hierarchy": [ + "avmux_yuv4mpegpipe", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstTagSetter" + ], + "klass": "Codec/Muxer", + "long-name": "libav YUV4MPEG pipe muxer (not recommended, use y4menc instead)", + "pad-templates": { + "src": { + "caps": "application/x-yuv4mpeg:\n y4mversion: 2\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "maxdelay": { + "blurb": "Set the maximum demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "preload": { + "blurb": "Set the initial demux-decode delay (in microseconds)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + }, + "rank": "none" + } + }, + "filename": "gstlibav", + "license": "LGPL", + "other-types": { + "GstLibAVDeinterlaceModes": { + "kind": "enum", + "values": [ + { + "desc": "Auto detection", + "name": "auto", + "value": "0" + }, + { + "desc": "Force deinterlacing", + "name": "interlaced", + "value": "1" + }, + { + "desc": "Run in passthrough mode", + "name": "disabled", + "value": "2" + } + ] + }, + "GstLibAVEncPass": { + "kind": "enum", + "values": [ + { + "desc": "Constant Bitrate Encoding", + "name": "cbr", + "value": "0" + }, + { + "desc": "Constant Quantizer", + "name": "quant", + "value": "2" + }, + { + "desc": "VBR Encoding - Pass 1", + "name": "pass1", + "value": "512" + }, + { + "desc": "VBR Encoding - Pass 2", + "name": "pass2", + "value": "1024" + } + ] + }, + "GstLibAVVidDecLowres": { + "kind": "enum", + "values": [ + { + "desc": "0", + "name": "full", + "value": "0" + }, + { + "desc": "1", + "name": "1/2-size", + "value": "1" + }, + { + "desc": "2", + "name": "1/4-size", + "value": "2" + } + ] + }, + "GstLibAVVidDecSkipFrame": { + "kind": "enum", + "values": [ + { + "desc": "0", + "name": "Skip nothing", + "value": "0" + }, + { + "desc": "1", + "name": "Skip B-frames", + "value": "1" + }, + { + "desc": "2", + "name": "Skip IDCT/Dequantization", + "value": "2" + }, + { + "desc": "5", + "name": "Skip everything", + "value": "5" + } + ] + }, + "GstLibAVVidDecThreadType": { + "kind": "flags", + "values": [ + { + "desc": "Auto", + "name": "auto", + "value": "0x00000000" + }, + { + "desc": "Frame", + "name": "frame", + "value": "0x00000001" + }, + { + "desc": "Slice", + "name": "slice", + "value": "0x00000002" + } + ] + }, + "aac-encoder-coder": { + "kind": "enum", + "values": [ + { + "desc": "ANMR method", + "name": "anmr", + "value": "0" + }, + { + "desc": "Two loop searching method", + "name": "twoloop", + "value": "1" + }, + { + "desc": "Default fast search", + "name": "fast", + "value": "2" + } + ] + }, + "ac-3-encoder-ad-conv-type": { + "kind": "enum", + "values": [ + { + "desc": "Unspecified", + "name": "unknown", + "value": "-1" + }, + { + "desc": "Standard (default)", + "name": "standard", + "value": "0" + }, + { + "desc": "HDCD", + "name": "hdcd", + "value": "1" + } + ] + }, + "ac-3-encoder-channel-coupling": { + "kind": "enum", + "values": [ + { + "desc": "Selected by the Encoder", + "name": "auto", + "value": "-1" + } + ] + }, + "ac-3-encoder-cpl-start-band": { + "kind": "enum", + "values": [ + { + "desc": "Selected by the Encoder", + "name": "auto", + "value": "-1" + } + ] + }, + "ac-3-encoder-dheadphone-mode": { + "kind": "enum", + "values": [ + { + "desc": "Unspecified", + "name": "unknown", + "value": "-1" + }, + { + "desc": "Not Indicated (default)", + "name": "notindicated", + "value": "0" + }, + { + "desc": "Not Dolby Headphone Encoded", + "name": "off", + "value": "1" + }, + { + "desc": "Dolby Headphone Encoded", + "name": "on", + "value": "2" + } + ] + }, + "ac-3-encoder-dmix-mode": { + "kind": "enum", + "values": [ + { + "desc": "Unspecified", + "name": "unknown", + "value": "-1" + }, + { + "desc": "Not Indicated (default)", + "name": "notindicated", + "value": "0" + }, + { + "desc": "Lt/Rt Downmix Preferred", + "name": "ltrt", + "value": "1" + }, + { + "desc": "Lo/Ro Downmix Preferred", + "name": "loro", + "value": "2" + }, + { + "desc": "Dolby Pro Logic II Downmix Preferred", + "name": "dplii", + "value": "3" + } + ] + }, + "ac-3-encoder-dsur-mode": { + "kind": "enum", + "values": [ + { + "desc": "Unspecified", + "name": "unknown", + "value": "-1" + }, + { + "desc": "Not Indicated (default)", + "name": "notindicated", + "value": "0" + }, + { + "desc": "Not Dolby Surround Encoded", + "name": "off", + "value": "1" + }, + { + "desc": "Dolby Surround Encoded", + "name": "on", + "value": "2" + } + ] + }, + "ac-3-encoder-dsurex-mode": { + "kind": "enum", + "values": [ + { + "desc": "Unspecified", + "name": "unknown", + "value": "-1" + }, + { + "desc": "Not Indicated (default)", + "name": "notindicated", + "value": "0" + }, + { + "desc": "Not Dolby Surround EX Encoded", + "name": "off", + "value": "1" + }, + { + "desc": "Dolby Surround EX Encoded", + "name": "on", + "value": "2" + }, + { + "desc": "Dolby Pro Logic IIz-encoded", + "name": "dpliiz", + "value": "3" + } + ] + }, + "ac-3-encoder-room-type": { + "kind": "enum", + "values": [ + { + "desc": "Unspecified", + "name": "unknown", + "value": "-1" + }, + { + "desc": "Not Indicated (default)", + "name": "notindicated", + "value": "0" + }, + { + "desc": "Large Room", + "name": "large", + "value": "1" + }, + { + "desc": "Small Room", + "name": "small", + "value": "2" + } + ] + }, + "amv-encoder-cmp-func": { + "kind": "enum", + "values": [ + { + "desc": "Sum of absolute differences, fast", + "name": "sad", + "value": "0" + }, + { + "desc": "Sum of squared errors", + "name": "sse", + "value": "1" + }, + { + "desc": "Sum of absolute Hadamard transformed differences", + "name": "satd", + "value": "2" + }, + { + "desc": "Sum of absolute DCT transformed differences", + "name": "dct", + "value": "3" + }, + { + "desc": "Sum of squared quantization errors, low quality", + "name": "psnr", + "value": "4" + }, + { + "desc": "Number of bits needed for the block", + "name": "bit", + "value": "5" + }, + { + "desc": "Rate distortion optimal, slow", + "name": "rd", + "value": "6" + }, + { + "desc": "Zero", + "name": "zero", + "value": "7" + }, + { + "desc": "Sum of absolute vertical differences", + "name": "vsad", + "value": "8" + }, + { + "desc": "Sum of squared vertical differences", + "name": "vsse", + "value": "9" + }, + { + "desc": "Noise preserving sum of squared differences", + "name": "nsse", + "value": "10" + }, + { + "desc": "dctmax", + "name": "dctmax", + "value": "13" + }, + { + "desc": "dct264", + "name": "dct264", + "value": "14" + }, + { + "desc": "Sum of absolute differences, median predicted", + "name": "msad", + "value": "15" + }, + { + "desc": "chroma", + "name": "chroma", + "value": "256" + } + ] + }, + "amv-encoder-huffman": { + "kind": "enum", + "values": [ + { + "desc": "default", + "name": "default", + "value": "0" + }, + { + "desc": "optimal", + "name": "optimal", + "value": "1" + } + ] + }, + "amv-encoder-motion-est": { + "kind": "enum", + "values": [ + { + "desc": "zero", + "name": "zero", + "value": "0" + }, + { + "desc": "epzs", + "name": "epzs", + "value": "1" + }, + { + "desc": "xone", + "name": "xone", + "value": "2" + } + ] + }, + "amv-encoder-mpv-flags": { + "kind": "flags", + "values": [ + { + "desc": "RD optimal MB level residual skipping", + "name": "skip_rd", + "value": "0x00000001" + }, + { + "desc": "Strictly enforce gop size", + "name": "strict_gop", + "value": "0x00000002" + }, + { + "desc": "Use rate distortion optimization for qp selection", + "name": "qp_rd", + "value": "0x00000004" + }, + { + "desc": "use rate distortion optimization for CBP", + "name": "cbp_rd", + "value": "0x00000008" + }, + { + "desc": "normalize adaptive quantization", + "name": "naq", + "value": "0x00000010" + }, + { + "desc": "always try a mb with mv=<0,0>", + "name": "mv0", + "value": "0x00000020" + } + ] + }, + "amv-encoder-pred": { + "kind": "enum", + "values": [ + { + "desc": "left", + "name": "left", + "value": "1" + }, + { + "desc": "plane", + "name": "plane", + "value": "2" + }, + { + "desc": "median", + "name": "median", + "value": "3" + } + ] + }, + "amv-encoder-rc-strategy": { + "kind": "enum", + "values": [ + { + "desc": "deprecated, does nothing", + "name": "ffmpeg", + "value": "0" + } + ] + }, + "apng-encoder-pred": { + "kind": "enum", + "values": [ + { + "desc": "none", + "name": "none", + "value": "0" + }, + { + "desc": "sub", + "name": "sub", + "value": "1" + }, + { + "desc": "up", + "name": "up", + "value": "2" + }, + { + "desc": "avg", + "name": "avg", + "value": "3" + }, + { + "desc": "paeth", + "name": "paeth", + "value": "4" + }, + { + "desc": "mixed", + "name": "mixed", + "value": "5" + } + ] + }, + "avcodeccontext-audio-service-type": { + "kind": "enum", + "values": [ + { + "desc": "Main Audio Service", + "name": "ma", + "value": "0" + }, + { + "desc": "Effects", + "name": "ef", + "value": "1" + }, + { + "desc": "Visually Impaired", + "name": "vi", + "value": "2" + }, + { + "desc": "Hearing Impaired", + "name": "hi", + "value": "3" + }, + { + "desc": "Dialogue", + "name": "di", + "value": "4" + }, + { + "desc": "Commentary", + "name": "co", + "value": "5" + }, + { + "desc": "Emergency", + "name": "em", + "value": "6" + }, + { + "desc": "Voice Over", + "name": "vo", + "value": "7" + }, + { + "desc": "Karaoke", + "name": "ka", + "value": "8" + } + ] + }, + "avcodeccontext-chroma-sample-location-type": { + "kind": "enum", + "values": [ + { + "desc": "Unspecified", + "name": "unknown", + "value": "0" + }, + { + "desc": "Left", + "name": "left", + "value": "1" + }, + { + "desc": "Center", + "name": "center", + "value": "2" + }, + { + "desc": "Top-left", + "name": "topleft", + "value": "3" + }, + { + "desc": "Top", + "name": "top", + "value": "4" + }, + { + "desc": "Bottom-left", + "name": "bottomleft", + "value": "5" + }, + { + "desc": "Bottom", + "name": "bottom", + "value": "6" + } + ] + }, + "avcodeccontext-cmp-func": { + "kind": "enum", + "values": [ + { + "desc": "sum of absolute differences, fast", + "name": "sad", + "value": "0" + }, + { + "desc": "sum of squared errors", + "name": "sse", + "value": "1" + }, + { + "desc": "sum of absolute Hadamard transformed differences", + "name": "satd", + "value": "2" + }, + { + "desc": "sum of absolute DCT transformed differences", + "name": "dct", + "value": "3" + }, + { + "desc": "sum of squared quantization errors (avoid, low quality)", + "name": "psnr", + "value": "4" + }, + { + "desc": "number of bits needed for the block", + "name": "bit", + "value": "5" + }, + { + "desc": "rate distortion optimal, slow", + "name": "rd", + "value": "6" + }, + { + "desc": "0", + "name": "zero", + "value": "7" + }, + { + "desc": "sum of absolute vertical differences", + "name": "vsad", + "value": "8" + }, + { + "desc": "sum of squared vertical differences", + "name": "vsse", + "value": "9" + }, + { + "desc": "noise preserving sum of squared differences", + "name": "nsse", + "value": "10" + }, + { + "desc": "5/3 wavelet, only used in snow", + "name": "w53", + "value": "11" + }, + { + "desc": "9/7 wavelet, only used in snow", + "name": "w97", + "value": "12" + }, + { + "desc": "dctmax", + "name": "dctmax", + "value": "13" + }, + { + "desc": "sum of absolute differences, median predicted", + "name": "msad", + "value": "15" + }, + { + "desc": "chroma", + "name": "chroma", + "value": "256" + } + ] + }, + "avcodeccontext-coder": { + "kind": "enum", + "values": [ + { + "desc": "variable length coder / Huffman coder", + "name": "vlc", + "value": "0" + }, + { + "desc": "arithmetic coder", + "name": "ac", + "value": "1" + }, + { + "desc": "raw (no encoding)", + "name": "raw", + "value": "2" + }, + { + "desc": "run-length coder", + "name": "rle", + "value": "3" + } + ] + }, + "avcodeccontext-dct": { + "kind": "enum", + "values": [ + { + "desc": "autoselect a good one", + "name": "auto", + "value": "0" + }, + { + "desc": "fast integer", + "name": "fastint", + "value": "1" + }, + { + "desc": "accurate integer", + "name": "int", + "value": "2" + }, + { + "desc": "mmx", + "name": "mmx", + "value": "3" + }, + { + "desc": "altivec", + "name": "altivec", + "value": "5" + }, + { + "desc": "floating point AAN DCT", + "name": "faan", + "value": "6" + } + ] + }, + "avcodeccontext-debug": { + "kind": "flags", + "values": [ + { + "desc": "picture info", + "name": "pict", + "value": "0x00000001" + }, + { + "desc": "rate control", + "name": "rc", + "value": "0x00000002" + }, + { + "desc": "bitstream", + "name": "bitstream", + "value": "0x00000004" + }, + { + "desc": "macroblock (MB) type", + "name": "mb_type", + "value": "0x00000008" + }, + { + "desc": "per-block quantization parameter (QP)", + "name": "qp", + "value": "0x00000010" + }, + { + "desc": "dct_coeff", + "name": "dct_coeff", + "value": "0x00000040" + }, + { + "desc": "skip", + "name": "skip", + "value": "0x00000080" + }, + { + "desc": "startcode", + "name": "startcode", + "value": "0x00000100" + }, + { + "desc": "error recognition", + "name": "er", + "value": "0x00000400" + }, + { + "desc": "memory management control operations (H.264)", + "name": "mmco", + "value": "0x00000800" + }, + { + "desc": "bugs", + "name": "bugs", + "value": "0x00001000" + }, + { + "desc": "picture buffer allocations", + "name": "buffers", + "value": "0x00008000" + }, + { + "desc": "threading operations", + "name": "thread_ops", + "value": "0x00010000" + }, + { + "desc": "green_metadata", + "name": "green_metadata", + "value": "0x00800000" + }, + { + "desc": "skip motion compensation", + "name": "nomc", + "value": "0x01000000" + } + ] + }, + "avcodeccontext-field-order": { + "kind": "enum", + "values": [ + { + "desc": "Unspecified", + "name": "unknown", + "value": "0" + }, + { + "desc": "progressive", + "name": "progressive", + "value": "1" + }, + { + "desc": "tt", + "name": "tt", + "value": "2" + }, + { + "desc": "bb", + "name": "bb", + "value": "3" + }, + { + "desc": "tb", + "name": "tb", + "value": "4" + }, + { + "desc": "bt", + "name": "bt", + "value": "5" + } + ] + }, + "avcodeccontext-flags": { + "kind": "flags", + "values": [ + { + "desc": "allow decoders to produce unaligned output", + "name": "unaligned", + "value": "0x00000001" + }, + { + "desc": "use four motion vectors per macroblock (MPEG-4)", + "name": "mv4", + "value": "0x00000004" + }, + { + "desc": "Output even potentially corrupted frames", + "name": "output_corrupt", + "value": "0x00000008" + }, + { + "desc": "use 1/4-pel motion compensation", + "name": "qpel", + "value": "0x00000010" + }, + { + "desc": "use loop filter", + "name": "loop", + "value": "0x00000800" + }, + { + "desc": "only decode/encode grayscale", + "name": "gray", + "value": "0x00002000" + }, + { + "desc": "error[?] variables will be set during encoding", + "name": "psnr", + "value": "0x00008000" + }, + { + "desc": "Input bitstream might be randomly truncated", + "name": "truncated", + "value": "0x00010000" + }, + { + "desc": "use interlaced DCT", + "name": "ildct", + "value": "0x00040000" + }, + { + "desc": "force low delay", + "name": "low_delay", + "value": "0x00080000" + }, + { + "desc": "place global headers in extradata instead of every keyframe", + "name": "global_header", + "value": "0x00400000" + }, + { + "desc": "use only bitexact functions (except (I)DCT)", + "name": "bitexact", + "value": "0x00800000" + }, + { + "desc": "H.263 advanced intra coding / MPEG-4 AC prediction", + "name": "aic", + "value": "0x01000000" + }, + { + "desc": "interlaced motion estimation", + "name": "ilme", + "value": "0x20000000" + }, + { + "desc": "closed GOP", + "name": "cgop", + "value": "0x80000000" + } + ] + }, + "avcodeccontext-flags2": { + "kind": "flags", + "values": [ + { + "desc": "allow non-spec-compliant speedup tricks", + "name": "fast", + "value": "0x00000001" + }, + { + "desc": "skip bitstream encoding", + "name": "noout", + "value": "0x00000004" + }, + { + "desc": "place global headers at every keyframe instead of in extradata", + "name": "local_header", + "value": "0x00000008" + }, + { + "desc": "Frame data might be split into multiple chunks", + "name": "chunks", + "value": "0x00008000" + }, + { + "desc": "ignore cropping information from sps", + "name": "ignorecrop", + "value": "0x00010000" + }, + { + "desc": "Show all frames before the first keyframe", + "name": "showall", + "value": "0x00400000" + }, + { + "desc": "export motion vectors through frame side data", + "name": "export_mvs", + "value": "0x10000000" + }, + { + "desc": "do not skip samples and export skip information as frame side data", + "name": "skip_manual", + "value": "0x20000000" + }, + { + "desc": "do not reset ASS ReadOrder field on flush", + "name": "ass_ro_flush_noop", + "value": "0x40000000" + } + ] + }, + "avcodeccontext-idct": { + "kind": "enum", + "values": [ + { + "desc": "auto", + "name": "auto", + "value": "0" + }, + { + "desc": "int", + "name": "int", + "value": "1" + }, + { + "desc": "simple", + "name": "simple", + "value": "2" + }, + { + "desc": "simplemmx", + "name": "simplemmx", + "value": "3" + }, + { + "desc": "arm", + "name": "arm", + "value": "7" + }, + { + "desc": "altivec", + "name": "altivec", + "value": "8" + }, + { + "desc": "simplearm", + "name": "simplearm", + "value": "10" + }, + { + "desc": "xvid", + "name": "xvid", + "value": "14" + }, + { + "desc": "simplearmv5te", + "name": "simplearmv5te", + "value": "16" + }, + { + "desc": "simplearmv6", + "name": "simplearmv6", + "value": "17" + }, + { + "desc": "floating point AAN IDCT", + "name": "faani", + "value": "20" + }, + { + "desc": "simpleneon", + "name": "simpleneon", + "value": "22" + }, + { + "desc": "simpleauto", + "name": "simpleauto", + "value": "128" + } + ] + }, + "avcodeccontext-mbd": { + "kind": "enum", + "values": [ + { + "desc": "use mbcmp", + "name": "simple", + "value": "0" + }, + { + "desc": "use fewest bits", + "name": "bits", + "value": "1" + }, + { + "desc": "use best rate distortion", + "name": "rd", + "value": "2" + } + ] + }, + "avcodeccontext-pred": { + "kind": "enum", + "values": [ + { + "desc": "left", + "name": "left", + "value": "0" + }, + { + "desc": "plane", + "name": "plane", + "value": "1" + }, + { + "desc": "median", + "name": "median", + "value": "2" + } + ] + }, + "avcodeccontext-strict": { + "kind": "enum", + "values": [ + { + "desc": "allow non-standardized experimental things", + "name": "experimental", + "value": "-2" + }, + { + "desc": "allow unofficial extensions", + "name": "unofficial", + "value": "-1" + }, + { + "desc": "normal", + "name": "normal", + "value": "0" + }, + { + "desc": "strictly conform to all the things in the spec no matter what the consequences", + "name": "strict", + "value": "1" + }, + { + "desc": "strictly conform to a older more strict version of the spec or reference software", + "name": "very", + "value": "2" + } + ] + }, + "avcodeccontext-thread-type": { + "kind": "flags", + "values": [ + { + "desc": "frame", + "name": "frame", + "value": "0x00000001" + }, + { + "desc": "slice", + "name": "slice", + "value": "0x00000002" + } + ] + }, + "avcodeccontext-threads": { + "kind": "enum", + "values": [ + { + "desc": "autodetect a suitable number of threads to use", + "name": "auto", + "value": "0" + }, + { + "desc": "Unspecified", + "name": "unknown", + "value": "1" + } + ] + }, + "dnxhd-profile": { + "kind": "enum", + "values": [ + { + "desc": "dnxhd", + "name": "dnxhd", + "value": "0" + }, + { + "desc": "dnxhr_lb", + "name": "dnxhr_lb", + "value": "1" + }, + { + "desc": "dnxhr_sq", + "name": "dnxhr_sq", + "value": "2" + }, + { + "desc": "dnxhr_hq", + "name": "dnxhr_hq", + "value": "3" + }, + { + "desc": "dnxhr_hqx", + "name": "dnxhr_hqx", + "value": "4" + }, + { + "desc": "dnxhr_444", + "name": "dnxhr_444", + "value": "5" + } + ] + }, + "e-ac-3-encoder-ad-conv-type": { + "kind": "enum", + "values": [ + { + "desc": "Unspecified", + "name": "unknown", + "value": "-1" + }, + { + "desc": "Standard (default)", + "name": "standard", + "value": "0" + }, + { + "desc": "HDCD", + "name": "hdcd", + "value": "1" + } + ] + }, + "e-ac-3-encoder-channel-coupling": { + "kind": "enum", + "values": [ + { + "desc": "Selected by the Encoder", + "name": "auto", + "value": "-1" + } + ] + }, + "e-ac-3-encoder-cpl-start-band": { + "kind": "enum", + "values": [ + { + "desc": "Selected by the Encoder", + "name": "auto", + "value": "-1" + } + ] + }, + "e-ac-3-encoder-dheadphone-mode": { + "kind": "enum", + "values": [ + { + "desc": "Unspecified", + "name": "unknown", + "value": "-1" + }, + { + "desc": "Not Indicated (default)", + "name": "notindicated", + "value": "0" + }, + { + "desc": "Not Dolby Headphone Encoded", + "name": "off", + "value": "1" + }, + { + "desc": "Dolby Headphone Encoded", + "name": "on", + "value": "2" + } + ] + }, + "e-ac-3-encoder-dmix-mode": { + "kind": "enum", + "values": [ + { + "desc": "Unspecified", + "name": "unknown", + "value": "-1" + }, + { + "desc": "Not Indicated (default)", + "name": "notindicated", + "value": "0" + }, + { + "desc": "Lt/Rt Downmix Preferred", + "name": "ltrt", + "value": "1" + }, + { + "desc": "Lo/Ro Downmix Preferred", + "name": "loro", + "value": "2" + }, + { + "desc": "Dolby Pro Logic II Downmix Preferred", + "name": "dplii", + "value": "3" + } + ] + }, + "e-ac-3-encoder-dsur-mode": { + "kind": "enum", + "values": [ + { + "desc": "Unspecified", + "name": "unknown", + "value": "-1" + }, + { + "desc": "Not Indicated (default)", + "name": "notindicated", + "value": "0" + }, + { + "desc": "Not Dolby Surround Encoded", + "name": "off", + "value": "1" + }, + { + "desc": "Dolby Surround Encoded", + "name": "on", + "value": "2" + } + ] + }, + "e-ac-3-encoder-dsurex-mode": { + "kind": "enum", + "values": [ + { + "desc": "Unspecified", + "name": "unknown", + "value": "-1" + }, + { + "desc": "Not Indicated (default)", + "name": "notindicated", + "value": "0" + }, + { + "desc": "Not Dolby Surround EX Encoded", + "name": "off", + "value": "1" + }, + { + "desc": "Dolby Surround EX Encoded", + "name": "on", + "value": "2" + }, + { + "desc": "Dolby Pro Logic IIz-encoded", + "name": "dpliiz", + "value": "3" + } + ] + }, + "e-ac-3-encoder-room-type": { + "kind": "enum", + "values": [ + { + "desc": "Unspecified", + "name": "unknown", + "value": "-1" + }, + { + "desc": "Not Indicated (default)", + "name": "notindicated", + "value": "0" + }, + { + "desc": "Large Room", + "name": "large", + "value": "1" + }, + { + "desc": "Small Room", + "name": "small", + "value": "2" + } + ] + }, + "ffv1-encoder-coder": { + "kind": "enum", + "values": [ + { + "desc": "Range with default table", + "name": "range_def", + "value": "-2" + }, + { + "desc": "Golomb rice", + "name": "rice", + "value": "0" + }, + { + "desc": "Range with custom table (the ac option exists for compatibility and is deprecated)", + "name": "ac", + "value": "1" + }, + { + "desc": "Range with custom table", + "name": "range_tab", + "value": "2" + } + ] + }, + "ffvhuff-pred": { + "kind": "enum", + "values": [ + { + "desc": "left", + "name": "left", + "value": "0" + }, + { + "desc": "plane", + "name": "plane", + "value": "1" + }, + { + "desc": "median", + "name": "median", + "value": "2" + } + ] + }, + "fixed-point-ac-3-encoder-ad-conv-type": { + "kind": "enum", + "values": [ + { + "desc": "Unspecified", + "name": "unknown", + "value": "-1" + }, + { + "desc": "Standard (default)", + "name": "standard", + "value": "0" + }, + { + "desc": "HDCD", + "name": "hdcd", + "value": "1" + } + ] + }, + "fixed-point-ac-3-encoder-channel-coupling": { + "kind": "enum", + "values": [ + { + "desc": "Selected by the Encoder", + "name": "auto", + "value": "-1" + } + ] + }, + "fixed-point-ac-3-encoder-cpl-start-band": { + "kind": "enum", + "values": [ + { + "desc": "Selected by the Encoder", + "name": "auto", + "value": "-1" + } + ] + }, + "fixed-point-ac-3-encoder-dheadphone-mode": { + "kind": "enum", + "values": [ + { + "desc": "Unspecified", + "name": "unknown", + "value": "-1" + }, + { + "desc": "Not Indicated (default)", + "name": "notindicated", + "value": "0" + }, + { + "desc": "Not Dolby Headphone Encoded", + "name": "off", + "value": "1" + }, + { + "desc": "Dolby Headphone Encoded", + "name": "on", + "value": "2" + } + ] + }, + "fixed-point-ac-3-encoder-dmix-mode": { + "kind": "enum", + "values": [ + { + "desc": "Unspecified", + "name": "unknown", + "value": "-1" + }, + { + "desc": "Not Indicated (default)", + "name": "notindicated", + "value": "0" + }, + { + "desc": "Lt/Rt Downmix Preferred", + "name": "ltrt", + "value": "1" + }, + { + "desc": "Lo/Ro Downmix Preferred", + "name": "loro", + "value": "2" + }, + { + "desc": "Dolby Pro Logic II Downmix Preferred", + "name": "dplii", + "value": "3" + } + ] + }, + "fixed-point-ac-3-encoder-dsur-mode": { + "kind": "enum", + "values": [ + { + "desc": "Unspecified", + "name": "unknown", + "value": "-1" + }, + { + "desc": "Not Indicated (default)", + "name": "notindicated", + "value": "0" + }, + { + "desc": "Not Dolby Surround Encoded", + "name": "off", + "value": "1" + }, + { + "desc": "Dolby Surround Encoded", + "name": "on", + "value": "2" + } + ] + }, + "fixed-point-ac-3-encoder-dsurex-mode": { + "kind": "enum", + "values": [ + { + "desc": "Unspecified", + "name": "unknown", + "value": "-1" + }, + { + "desc": "Not Indicated (default)", + "name": "notindicated", + "value": "0" + }, + { + "desc": "Not Dolby Surround EX Encoded", + "name": "off", + "value": "1" + }, + { + "desc": "Dolby Surround EX Encoded", + "name": "on", + "value": "2" + }, + { + "desc": "Dolby Pro Logic IIz-encoded", + "name": "dpliiz", + "value": "3" + } + ] + }, + "fixed-point-ac-3-encoder-room-type": { + "kind": "enum", + "values": [ + { + "desc": "Unspecified", + "name": "unknown", + "value": "-1" + }, + { + "desc": "Not Indicated (default)", + "name": "notindicated", + "value": "0" + }, + { + "desc": "Large Room", + "name": "large", + "value": "1" + }, + { + "desc": "Small Room", + "name": "small", + "value": "2" + } + ] + }, + "flv-encoder-cmp-func": { + "kind": "enum", + "values": [ + { + "desc": "Sum of absolute differences, fast", + "name": "sad", + "value": "0" + }, + { + "desc": "Sum of squared errors", + "name": "sse", + "value": "1" + }, + { + "desc": "Sum of absolute Hadamard transformed differences", + "name": "satd", + "value": "2" + }, + { + "desc": "Sum of absolute DCT transformed differences", + "name": "dct", + "value": "3" + }, + { + "desc": "Sum of squared quantization errors, low quality", + "name": "psnr", + "value": "4" + }, + { + "desc": "Number of bits needed for the block", + "name": "bit", + "value": "5" + }, + { + "desc": "Rate distortion optimal, slow", + "name": "rd", + "value": "6" + }, + { + "desc": "Zero", + "name": "zero", + "value": "7" + }, + { + "desc": "Sum of absolute vertical differences", + "name": "vsad", + "value": "8" + }, + { + "desc": "Sum of squared vertical differences", + "name": "vsse", + "value": "9" + }, + { + "desc": "Noise preserving sum of squared differences", + "name": "nsse", + "value": "10" + }, + { + "desc": "dctmax", + "name": "dctmax", + "value": "13" + }, + { + "desc": "dct264", + "name": "dct264", + "value": "14" + }, + { + "desc": "Sum of absolute differences, median predicted", + "name": "msad", + "value": "15" + }, + { + "desc": "chroma", + "name": "chroma", + "value": "256" + } + ] + }, + "flv-encoder-motion-est": { + "kind": "enum", + "values": [ + { + "desc": "zero", + "name": "zero", + "value": "0" + }, + { + "desc": "epzs", + "name": "epzs", + "value": "1" + }, + { + "desc": "xone", + "name": "xone", + "value": "2" + } + ] + }, + "flv-encoder-mpv-flags": { + "kind": "flags", + "values": [ + { + "desc": "RD optimal MB level residual skipping", + "name": "skip_rd", + "value": "0x00000001" + }, + { + "desc": "Strictly enforce gop size", + "name": "strict_gop", + "value": "0x00000002" + }, + { + "desc": "Use rate distortion optimization for qp selection", + "name": "qp_rd", + "value": "0x00000004" + }, + { + "desc": "use rate distortion optimization for CBP", + "name": "cbp_rd", + "value": "0x00000008" + }, + { + "desc": "normalize adaptive quantization", + "name": "naq", + "value": "0x00000010" + }, + { + "desc": "always try a mb with mv=<0,0>", + "name": "mv0", + "value": "0x00000020" + } + ] + }, + "flv-encoder-rc-strategy": { + "kind": "enum", + "values": [ + { + "desc": "deprecated, does nothing", + "name": "ffmpeg", + "value": "0" + } + ] + }, + "h-263-encoder-cmp-func": { + "kind": "enum", + "values": [ + { + "desc": "Sum of absolute differences, fast", + "name": "sad", + "value": "0" + }, + { + "desc": "Sum of squared errors", + "name": "sse", + "value": "1" + }, + { + "desc": "Sum of absolute Hadamard transformed differences", + "name": "satd", + "value": "2" + }, + { + "desc": "Sum of absolute DCT transformed differences", + "name": "dct", + "value": "3" + }, + { + "desc": "Sum of squared quantization errors, low quality", + "name": "psnr", + "value": "4" + }, + { + "desc": "Number of bits needed for the block", + "name": "bit", + "value": "5" + }, + { + "desc": "Rate distortion optimal, slow", + "name": "rd", + "value": "6" + }, + { + "desc": "Zero", + "name": "zero", + "value": "7" + }, + { + "desc": "Sum of absolute vertical differences", + "name": "vsad", + "value": "8" + }, + { + "desc": "Sum of squared vertical differences", + "name": "vsse", + "value": "9" + }, + { + "desc": "Noise preserving sum of squared differences", + "name": "nsse", + "value": "10" + }, + { + "desc": "dctmax", + "name": "dctmax", + "value": "13" + }, + { + "desc": "dct264", + "name": "dct264", + "value": "14" + }, + { + "desc": "Sum of absolute differences, median predicted", + "name": "msad", + "value": "15" + }, + { + "desc": "chroma", + "name": "chroma", + "value": "256" + } + ] + }, + "h-263-encoder-motion-est": { + "kind": "enum", + "values": [ + { + "desc": "zero", + "name": "zero", + "value": "0" + }, + { + "desc": "epzs", + "name": "epzs", + "value": "1" + }, + { + "desc": "xone", + "name": "xone", + "value": "2" + } + ] + }, + "h-263-encoder-mpv-flags": { + "kind": "flags", + "values": [ + { + "desc": "RD optimal MB level residual skipping", + "name": "skip_rd", + "value": "0x00000001" + }, + { + "desc": "Strictly enforce gop size", + "name": "strict_gop", + "value": "0x00000002" + }, + { + "desc": "Use rate distortion optimization for qp selection", + "name": "qp_rd", + "value": "0x00000004" + }, + { + "desc": "use rate distortion optimization for CBP", + "name": "cbp_rd", + "value": "0x00000008" + }, + { + "desc": "normalize adaptive quantization", + "name": "naq", + "value": "0x00000010" + }, + { + "desc": "always try a mb with mv=<0,0>", + "name": "mv0", + "value": "0x00000020" + } + ] + }, + "h-263-encoder-rc-strategy": { + "kind": "enum", + "values": [ + { + "desc": "deprecated, does nothing", + "name": "ffmpeg", + "value": "0" + } + ] + }, + "h-263p-encoder-cmp-func": { + "kind": "enum", + "values": [ + { + "desc": "Sum of absolute differences, fast", + "name": "sad", + "value": "0" + }, + { + "desc": "Sum of squared errors", + "name": "sse", + "value": "1" + }, + { + "desc": "Sum of absolute Hadamard transformed differences", + "name": "satd", + "value": "2" + }, + { + "desc": "Sum of absolute DCT transformed differences", + "name": "dct", + "value": "3" + }, + { + "desc": "Sum of squared quantization errors, low quality", + "name": "psnr", + "value": "4" + }, + { + "desc": "Number of bits needed for the block", + "name": "bit", + "value": "5" + }, + { + "desc": "Rate distortion optimal, slow", + "name": "rd", + "value": "6" + }, + { + "desc": "Zero", + "name": "zero", + "value": "7" + }, + { + "desc": "Sum of absolute vertical differences", + "name": "vsad", + "value": "8" + }, + { + "desc": "Sum of squared vertical differences", + "name": "vsse", + "value": "9" + }, + { + "desc": "Noise preserving sum of squared differences", + "name": "nsse", + "value": "10" + }, + { + "desc": "dctmax", + "name": "dctmax", + "value": "13" + }, + { + "desc": "dct264", + "name": "dct264", + "value": "14" + }, + { + "desc": "Sum of absolute differences, median predicted", + "name": "msad", + "value": "15" + }, + { + "desc": "chroma", + "name": "chroma", + "value": "256" + } + ] + }, + "h-263p-encoder-motion-est": { + "kind": "enum", + "values": [ + { + "desc": "zero", + "name": "zero", + "value": "0" + }, + { + "desc": "epzs", + "name": "epzs", + "value": "1" + }, + { + "desc": "xone", + "name": "xone", + "value": "2" + } + ] + }, + "h-263p-encoder-mpv-flags": { + "kind": "flags", + "values": [ + { + "desc": "RD optimal MB level residual skipping", + "name": "skip_rd", + "value": "0x00000001" + }, + { + "desc": "Strictly enforce gop size", + "name": "strict_gop", + "value": "0x00000002" + }, + { + "desc": "Use rate distortion optimization for qp selection", + "name": "qp_rd", + "value": "0x00000004" + }, + { + "desc": "use rate distortion optimization for CBP", + "name": "cbp_rd", + "value": "0x00000008" + }, + { + "desc": "normalize adaptive quantization", + "name": "naq", + "value": "0x00000010" + }, + { + "desc": "always try a mb with mv=<0,0>", + "name": "mv0", + "value": "0x00000020" + } + ] + }, + "h-263p-encoder-rc-strategy": { + "kind": "enum", + "values": [ + { + "desc": "deprecated, does nothing", + "name": "ffmpeg", + "value": "0" + } + ] + }, + "h261-encoder-cmp-func": { + "kind": "enum", + "values": [ + { + "desc": "Sum of absolute differences, fast", + "name": "sad", + "value": "0" + }, + { + "desc": "Sum of squared errors", + "name": "sse", + "value": "1" + }, + { + "desc": "Sum of absolute Hadamard transformed differences", + "name": "satd", + "value": "2" + }, + { + "desc": "Sum of absolute DCT transformed differences", + "name": "dct", + "value": "3" + }, + { + "desc": "Sum of squared quantization errors, low quality", + "name": "psnr", + "value": "4" + }, + { + "desc": "Number of bits needed for the block", + "name": "bit", + "value": "5" + }, + { + "desc": "Rate distortion optimal, slow", + "name": "rd", + "value": "6" + }, + { + "desc": "Zero", + "name": "zero", + "value": "7" + }, + { + "desc": "Sum of absolute vertical differences", + "name": "vsad", + "value": "8" + }, + { + "desc": "Sum of squared vertical differences", + "name": "vsse", + "value": "9" + }, + { + "desc": "Noise preserving sum of squared differences", + "name": "nsse", + "value": "10" + }, + { + "desc": "dctmax", + "name": "dctmax", + "value": "13" + }, + { + "desc": "dct264", + "name": "dct264", + "value": "14" + }, + { + "desc": "Sum of absolute differences, median predicted", + "name": "msad", + "value": "15" + }, + { + "desc": "chroma", + "name": "chroma", + "value": "256" + } + ] + }, + "h261-encoder-motion-est": { + "kind": "enum", + "values": [ + { + "desc": "zero", + "name": "zero", + "value": "0" + }, + { + "desc": "epzs", + "name": "epzs", + "value": "1" + }, + { + "desc": "xone", + "name": "xone", + "value": "2" + } + ] + }, + "h261-encoder-mpv-flags": { + "kind": "flags", + "values": [ + { + "desc": "RD optimal MB level residual skipping", + "name": "skip_rd", + "value": "0x00000001" + }, + { + "desc": "Strictly enforce gop size", + "name": "strict_gop", + "value": "0x00000002" + }, + { + "desc": "Use rate distortion optimization for qp selection", + "name": "qp_rd", + "value": "0x00000004" + }, + { + "desc": "use rate distortion optimization for CBP", + "name": "cbp_rd", + "value": "0x00000008" + }, + { + "desc": "normalize adaptive quantization", + "name": "naq", + "value": "0x00000010" + }, + { + "desc": "always try a mb with mv=<0,0>", + "name": "mv0", + "value": "0x00000020" + } + ] + }, + "h261-encoder-rc-strategy": { + "kind": "enum", + "values": [ + { + "desc": "deprecated, does nothing", + "name": "ffmpeg", + "value": "0" + } + ] + }, + "h264-omx-profile": { + "kind": "enum", + "values": [ + { + "desc": "Unspecified", + "name": "unknown", + "value": "-99" + }, + { + "desc": "", + "name": "baseline", + "value": "66" + }, + { + "desc": "", + "name": "main", + "value": "77" + }, + { + "desc": "", + "name": "high", + "value": "100" + } + ] + }, + "hap-encoder-compressor": { + "kind": "enum", + "values": [ + { + "desc": "None", + "name": "none", + "value": "160" + }, + { + "desc": "Snappy", + "name": "snappy", + "value": "176" + } + ] + }, + "hap-encoder-format": { + "kind": "enum", + "values": [ + { + "desc": "Hap 1 (DXT1 textures)", + "name": "hap", + "value": "11" + }, + { + "desc": "Hap Alpha (DXT5 textures)", + "name": "hap_alpha", + "value": "14" + }, + { + "desc": "Hap Q (DXT5-YCoCg textures)", + "name": "hap_q", + "value": "15" + } + ] + }, + "huffyuv-pred": { + "kind": "enum", + "values": [ + { + "desc": "left", + "name": "left", + "value": "0" + }, + { + "desc": "plane", + "name": "plane", + "value": "1" + }, + { + "desc": "median", + "name": "median", + "value": "2" + } + ] + }, + "jpeg-2000-encoder-format": { + "kind": "enum", + "values": [ + { + "desc": "j2k", + "name": "j2k", + "value": "0" + }, + { + "desc": "jp2", + "name": "jp2", + "value": "1" + } + ] + }, + "jpeg-2000-encoder-pred": { + "kind": "enum", + "values": [ + { + "desc": "dwt97int", + "name": "dwt97int", + "value": "0" + } + ] + }, + "jpegls-pred": { + "kind": "enum", + "values": [ + { + "desc": "left", + "name": "left", + "value": "0" + }, + { + "desc": "plane", + "name": "plane", + "value": "1" + }, + { + "desc": "median", + "name": "median", + "value": "2" + } + ] + }, + "ljpeg-pred": { + "kind": "enum", + "values": [ + { + "desc": "left", + "name": "left", + "value": "1" + }, + { + "desc": "plane", + "name": "plane", + "value": "2" + }, + { + "desc": "median", + "name": "median", + "value": "3" + } + ] + }, + "magicyuv-pred": { + "kind": "enum", + "values": [ + { + "desc": "left", + "name": "left", + "value": "1" + }, + { + "desc": "gradient", + "name": "gradient", + "value": "2" + }, + { + "desc": "median", + "name": "median", + "value": "3" + } + ] + }, + "mjpeg-encoder-cmp-func": { + "kind": "enum", + "values": [ + { + "desc": "Sum of absolute differences, fast", + "name": "sad", + "value": "0" + }, + { + "desc": "Sum of squared errors", + "name": "sse", + "value": "1" + }, + { + "desc": "Sum of absolute Hadamard transformed differences", + "name": "satd", + "value": "2" + }, + { + "desc": "Sum of absolute DCT transformed differences", + "name": "dct", + "value": "3" + }, + { + "desc": "Sum of squared quantization errors, low quality", + "name": "psnr", + "value": "4" + }, + { + "desc": "Number of bits needed for the block", + "name": "bit", + "value": "5" + }, + { + "desc": "Rate distortion optimal, slow", + "name": "rd", + "value": "6" + }, + { + "desc": "Zero", + "name": "zero", + "value": "7" + }, + { + "desc": "Sum of absolute vertical differences", + "name": "vsad", + "value": "8" + }, + { + "desc": "Sum of squared vertical differences", + "name": "vsse", + "value": "9" + }, + { + "desc": "Noise preserving sum of squared differences", + "name": "nsse", + "value": "10" + }, + { + "desc": "dctmax", + "name": "dctmax", + "value": "13" + }, + { + "desc": "dct264", + "name": "dct264", + "value": "14" + }, + { + "desc": "Sum of absolute differences, median predicted", + "name": "msad", + "value": "15" + }, + { + "desc": "chroma", + "name": "chroma", + "value": "256" + } + ] + }, + "mjpeg-encoder-huffman": { + "kind": "enum", + "values": [ + { + "desc": "default", + "name": "default", + "value": "0" + }, + { + "desc": "optimal", + "name": "optimal", + "value": "1" + } + ] + }, + "mjpeg-encoder-motion-est": { + "kind": "enum", + "values": [ + { + "desc": "zero", + "name": "zero", + "value": "0" + }, + { + "desc": "epzs", + "name": "epzs", + "value": "1" + }, + { + "desc": "xone", + "name": "xone", + "value": "2" + } + ] + }, + "mjpeg-encoder-mpv-flags": { + "kind": "flags", + "values": [ + { + "desc": "RD optimal MB level residual skipping", + "name": "skip_rd", + "value": "0x00000001" + }, + { + "desc": "Strictly enforce gop size", + "name": "strict_gop", + "value": "0x00000002" + }, + { + "desc": "Use rate distortion optimization for qp selection", + "name": "qp_rd", + "value": "0x00000004" + }, + { + "desc": "use rate distortion optimization for CBP", + "name": "cbp_rd", + "value": "0x00000008" + }, + { + "desc": "normalize adaptive quantization", + "name": "naq", + "value": "0x00000010" + }, + { + "desc": "always try a mb with mv=<0,0>", + "name": "mv0", + "value": "0x00000020" + } + ] + }, + "mjpeg-encoder-pred": { + "kind": "enum", + "values": [ + { + "desc": "left", + "name": "left", + "value": "1" + }, + { + "desc": "plane", + "name": "plane", + "value": "2" + }, + { + "desc": "median", + "name": "median", + "value": "3" + } + ] + }, + "mjpeg-encoder-rc-strategy": { + "kind": "enum", + "values": [ + { + "desc": "deprecated, does nothing", + "name": "ffmpeg", + "value": "0" + } + ] + }, + "mpeg1video-encoder-cmp-func": { + "kind": "enum", + "values": [ + { + "desc": "Sum of absolute differences, fast", + "name": "sad", + "value": "0" + }, + { + "desc": "Sum of squared errors", + "name": "sse", + "value": "1" + }, + { + "desc": "Sum of absolute Hadamard transformed differences", + "name": "satd", + "value": "2" + }, + { + "desc": "Sum of absolute DCT transformed differences", + "name": "dct", + "value": "3" + }, + { + "desc": "Sum of squared quantization errors, low quality", + "name": "psnr", + "value": "4" + }, + { + "desc": "Number of bits needed for the block", + "name": "bit", + "value": "5" + }, + { + "desc": "Rate distortion optimal, slow", + "name": "rd", + "value": "6" + }, + { + "desc": "Zero", + "name": "zero", + "value": "7" + }, + { + "desc": "Sum of absolute vertical differences", + "name": "vsad", + "value": "8" + }, + { + "desc": "Sum of squared vertical differences", + "name": "vsse", + "value": "9" + }, + { + "desc": "Noise preserving sum of squared differences", + "name": "nsse", + "value": "10" + }, + { + "desc": "dctmax", + "name": "dctmax", + "value": "13" + }, + { + "desc": "dct264", + "name": "dct264", + "value": "14" + }, + { + "desc": "Sum of absolute differences, median predicted", + "name": "msad", + "value": "15" + }, + { + "desc": "chroma", + "name": "chroma", + "value": "256" + } + ] + }, + "mpeg1video-encoder-motion-est": { + "kind": "enum", + "values": [ + { + "desc": "zero", + "name": "zero", + "value": "0" + }, + { + "desc": "epzs", + "name": "epzs", + "value": "1" + }, + { + "desc": "xone", + "name": "xone", + "value": "2" + } + ] + }, + "mpeg1video-encoder-mpv-flags": { + "kind": "flags", + "values": [ + { + "desc": "RD optimal MB level residual skipping", + "name": "skip_rd", + "value": "0x00000001" + }, + { + "desc": "Strictly enforce gop size", + "name": "strict_gop", + "value": "0x00000002" + }, + { + "desc": "Use rate distortion optimization for qp selection", + "name": "qp_rd", + "value": "0x00000004" + }, + { + "desc": "use rate distortion optimization for CBP", + "name": "cbp_rd", + "value": "0x00000008" + }, + { + "desc": "normalize adaptive quantization", + "name": "naq", + "value": "0x00000010" + }, + { + "desc": "always try a mb with mv=<0,0>", + "name": "mv0", + "value": "0x00000020" + } + ] + }, + "mpeg1video-encoder-rc-strategy": { + "kind": "enum", + "values": [ + { + "desc": "deprecated, does nothing", + "name": "ffmpeg", + "value": "0" + } + ] + }, + "mpeg2video-encoder-cmp-func": { + "kind": "enum", + "values": [ + { + "desc": "Sum of absolute differences, fast", + "name": "sad", + "value": "0" + }, + { + "desc": "Sum of squared errors", + "name": "sse", + "value": "1" + }, + { + "desc": "Sum of absolute Hadamard transformed differences", + "name": "satd", + "value": "2" + }, + { + "desc": "Sum of absolute DCT transformed differences", + "name": "dct", + "value": "3" + }, + { + "desc": "Sum of squared quantization errors, low quality", + "name": "psnr", + "value": "4" + }, + { + "desc": "Number of bits needed for the block", + "name": "bit", + "value": "5" + }, + { + "desc": "Rate distortion optimal, slow", + "name": "rd", + "value": "6" + }, + { + "desc": "Zero", + "name": "zero", + "value": "7" + }, + { + "desc": "Sum of absolute vertical differences", + "name": "vsad", + "value": "8" + }, + { + "desc": "Sum of squared vertical differences", + "name": "vsse", + "value": "9" + }, + { + "desc": "Noise preserving sum of squared differences", + "name": "nsse", + "value": "10" + }, + { + "desc": "dctmax", + "name": "dctmax", + "value": "13" + }, + { + "desc": "dct264", + "name": "dct264", + "value": "14" + }, + { + "desc": "Sum of absolute differences, median predicted", + "name": "msad", + "value": "15" + }, + { + "desc": "chroma", + "name": "chroma", + "value": "256" + } + ] + }, + "mpeg2video-encoder-motion-est": { + "kind": "enum", + "values": [ + { + "desc": "zero", + "name": "zero", + "value": "0" + }, + { + "desc": "epzs", + "name": "epzs", + "value": "1" + }, + { + "desc": "xone", + "name": "xone", + "value": "2" + } + ] + }, + "mpeg2video-encoder-mpv-flags": { + "kind": "flags", + "values": [ + { + "desc": "RD optimal MB level residual skipping", + "name": "skip_rd", + "value": "0x00000001" + }, + { + "desc": "Strictly enforce gop size", + "name": "strict_gop", + "value": "0x00000002" + }, + { + "desc": "Use rate distortion optimization for qp selection", + "name": "qp_rd", + "value": "0x00000004" + }, + { + "desc": "use rate distortion optimization for CBP", + "name": "cbp_rd", + "value": "0x00000008" + }, + { + "desc": "normalize adaptive quantization", + "name": "naq", + "value": "0x00000010" + }, + { + "desc": "always try a mb with mv=<0,0>", + "name": "mv0", + "value": "0x00000020" + } + ] + }, + "mpeg2video-encoder-rc-strategy": { + "kind": "enum", + "values": [ + { + "desc": "deprecated, does nothing", + "name": "ffmpeg", + "value": "0" + } + ] + }, + "mpeg2video-encoder-seq-disp-ext": { + "kind": "enum", + "values": [ + { + "desc": "auto", + "name": "auto", + "value": "-1" + }, + { + "desc": "never", + "name": "never", + "value": "0" + }, + { + "desc": "always", + "name": "always", + "value": "1" + } + ] + }, + "mpeg2video-encoder-video-format": { + "kind": "enum", + "values": [ + { + "desc": "component", + "name": "component", + "value": "0" + }, + { + "desc": "pal", + "name": "pal", + "value": "1" + }, + { + "desc": "ntsc", + "name": "ntsc", + "value": "2" + }, + { + "desc": "secam", + "name": "secam", + "value": "3" + }, + { + "desc": "mac", + "name": "mac", + "value": "4" + }, + { + "desc": "unspecified", + "name": "unspecified", + "value": "5" + } + ] + }, + "mpeg4-encoder-cmp-func": { + "kind": "enum", + "values": [ + { + "desc": "Sum of absolute differences, fast", + "name": "sad", + "value": "0" + }, + { + "desc": "Sum of squared errors", + "name": "sse", + "value": "1" + }, + { + "desc": "Sum of absolute Hadamard transformed differences", + "name": "satd", + "value": "2" + }, + { + "desc": "Sum of absolute DCT transformed differences", + "name": "dct", + "value": "3" + }, + { + "desc": "Sum of squared quantization errors, low quality", + "name": "psnr", + "value": "4" + }, + { + "desc": "Number of bits needed for the block", + "name": "bit", + "value": "5" + }, + { + "desc": "Rate distortion optimal, slow", + "name": "rd", + "value": "6" + }, + { + "desc": "Zero", + "name": "zero", + "value": "7" + }, + { + "desc": "Sum of absolute vertical differences", + "name": "vsad", + "value": "8" + }, + { + "desc": "Sum of squared vertical differences", + "name": "vsse", + "value": "9" + }, + { + "desc": "Noise preserving sum of squared differences", + "name": "nsse", + "value": "10" + }, + { + "desc": "dctmax", + "name": "dctmax", + "value": "13" + }, + { + "desc": "dct264", + "name": "dct264", + "value": "14" + }, + { + "desc": "Sum of absolute differences, median predicted", + "name": "msad", + "value": "15" + }, + { + "desc": "chroma", + "name": "chroma", + "value": "256" + } + ] + }, + "mpeg4-encoder-motion-est": { + "kind": "enum", + "values": [ + { + "desc": "zero", + "name": "zero", + "value": "0" + }, + { + "desc": "epzs", + "name": "epzs", + "value": "1" + }, + { + "desc": "xone", + "name": "xone", + "value": "2" + } + ] + }, + "mpeg4-encoder-mpv-flags": { + "kind": "flags", + "values": [ + { + "desc": "RD optimal MB level residual skipping", + "name": "skip_rd", + "value": "0x00000001" + }, + { + "desc": "Strictly enforce gop size", + "name": "strict_gop", + "value": "0x00000002" + }, + { + "desc": "Use rate distortion optimization for qp selection", + "name": "qp_rd", + "value": "0x00000004" + }, + { + "desc": "use rate distortion optimization for CBP", + "name": "cbp_rd", + "value": "0x00000008" + }, + { + "desc": "normalize adaptive quantization", + "name": "naq", + "value": "0x00000010" + }, + { + "desc": "always try a mb with mv=<0,0>", + "name": "mv0", + "value": "0x00000020" + } + ] + }, + "mpeg4-encoder-rc-strategy": { + "kind": "enum", + "values": [ + { + "desc": "deprecated, does nothing", + "name": "ffmpeg", + "value": "0" + } + ] + }, + "msmpeg4v2-encoder-cmp-func": { + "kind": "enum", + "values": [ + { + "desc": "Sum of absolute differences, fast", + "name": "sad", + "value": "0" + }, + { + "desc": "Sum of squared errors", + "name": "sse", + "value": "1" + }, + { + "desc": "Sum of absolute Hadamard transformed differences", + "name": "satd", + "value": "2" + }, + { + "desc": "Sum of absolute DCT transformed differences", + "name": "dct", + "value": "3" + }, + { + "desc": "Sum of squared quantization errors, low quality", + "name": "psnr", + "value": "4" + }, + { + "desc": "Number of bits needed for the block", + "name": "bit", + "value": "5" + }, + { + "desc": "Rate distortion optimal, slow", + "name": "rd", + "value": "6" + }, + { + "desc": "Zero", + "name": "zero", + "value": "7" + }, + { + "desc": "Sum of absolute vertical differences", + "name": "vsad", + "value": "8" + }, + { + "desc": "Sum of squared vertical differences", + "name": "vsse", + "value": "9" + }, + { + "desc": "Noise preserving sum of squared differences", + "name": "nsse", + "value": "10" + }, + { + "desc": "dctmax", + "name": "dctmax", + "value": "13" + }, + { + "desc": "dct264", + "name": "dct264", + "value": "14" + }, + { + "desc": "Sum of absolute differences, median predicted", + "name": "msad", + "value": "15" + }, + { + "desc": "chroma", + "name": "chroma", + "value": "256" + } + ] + }, + "msmpeg4v2-encoder-motion-est": { + "kind": "enum", + "values": [ + { + "desc": "zero", + "name": "zero", + "value": "0" + }, + { + "desc": "epzs", + "name": "epzs", + "value": "1" + }, + { + "desc": "xone", + "name": "xone", + "value": "2" + } + ] + }, + "msmpeg4v2-encoder-mpv-flags": { + "kind": "flags", + "values": [ + { + "desc": "RD optimal MB level residual skipping", + "name": "skip_rd", + "value": "0x00000001" + }, + { + "desc": "Strictly enforce gop size", + "name": "strict_gop", + "value": "0x00000002" + }, + { + "desc": "Use rate distortion optimization for qp selection", + "name": "qp_rd", + "value": "0x00000004" + }, + { + "desc": "use rate distortion optimization for CBP", + "name": "cbp_rd", + "value": "0x00000008" + }, + { + "desc": "normalize adaptive quantization", + "name": "naq", + "value": "0x00000010" + }, + { + "desc": "always try a mb with mv=<0,0>", + "name": "mv0", + "value": "0x00000020" + } + ] + }, + "msmpeg4v2-encoder-rc-strategy": { + "kind": "enum", + "values": [ + { + "desc": "deprecated, does nothing", + "name": "ffmpeg", + "value": "0" + } + ] + }, + "msmpeg4v3-encoder-cmp-func": { + "kind": "enum", + "values": [ + { + "desc": "Sum of absolute differences, fast", + "name": "sad", + "value": "0" + }, + { + "desc": "Sum of squared errors", + "name": "sse", + "value": "1" + }, + { + "desc": "Sum of absolute Hadamard transformed differences", + "name": "satd", + "value": "2" + }, + { + "desc": "Sum of absolute DCT transformed differences", + "name": "dct", + "value": "3" + }, + { + "desc": "Sum of squared quantization errors, low quality", + "name": "psnr", + "value": "4" + }, + { + "desc": "Number of bits needed for the block", + "name": "bit", + "value": "5" + }, + { + "desc": "Rate distortion optimal, slow", + "name": "rd", + "value": "6" + }, + { + "desc": "Zero", + "name": "zero", + "value": "7" + }, + { + "desc": "Sum of absolute vertical differences", + "name": "vsad", + "value": "8" + }, + { + "desc": "Sum of squared vertical differences", + "name": "vsse", + "value": "9" + }, + { + "desc": "Noise preserving sum of squared differences", + "name": "nsse", + "value": "10" + }, + { + "desc": "dctmax", + "name": "dctmax", + "value": "13" + }, + { + "desc": "dct264", + "name": "dct264", + "value": "14" + }, + { + "desc": "Sum of absolute differences, median predicted", + "name": "msad", + "value": "15" + }, + { + "desc": "chroma", + "name": "chroma", + "value": "256" + } + ] + }, + "msmpeg4v3-encoder-motion-est": { + "kind": "enum", + "values": [ + { + "desc": "zero", + "name": "zero", + "value": "0" + }, + { + "desc": "epzs", + "name": "epzs", + "value": "1" + }, + { + "desc": "xone", + "name": "xone", + "value": "2" + } + ] + }, + "msmpeg4v3-encoder-mpv-flags": { + "kind": "flags", + "values": [ + { + "desc": "RD optimal MB level residual skipping", + "name": "skip_rd", + "value": "0x00000001" + }, + { + "desc": "Strictly enforce gop size", + "name": "strict_gop", + "value": "0x00000002" + }, + { + "desc": "Use rate distortion optimization for qp selection", + "name": "qp_rd", + "value": "0x00000004" + }, + { + "desc": "use rate distortion optimization for CBP", + "name": "cbp_rd", + "value": "0x00000008" + }, + { + "desc": "normalize adaptive quantization", + "name": "naq", + "value": "0x00000010" + }, + { + "desc": "always try a mb with mv=<0,0>", + "name": "mv0", + "value": "0x00000020" + } + ] + }, + "msmpeg4v3-encoder-rc-strategy": { + "kind": "enum", + "values": [ + { + "desc": "deprecated, does nothing", + "name": "ffmpeg", + "value": "0" + } + ] + }, + "png-encoder-pred": { + "kind": "enum", + "values": [ + { + "desc": "none", + "name": "none", + "value": "0" + }, + { + "desc": "sub", + "name": "sub", + "value": "1" + }, + { + "desc": "up", + "name": "up", + "value": "2" + }, + { + "desc": "avg", + "name": "avg", + "value": "3" + }, + { + "desc": "paeth", + "name": "paeth", + "value": "4" + }, + { + "desc": "mixed", + "name": "mixed", + "value": "5" + } + ] + }, + "prores-encoder-profile": { + "kind": "enum", + "values": [ + { + "desc": "auto", + "name": "auto", + "value": "-1" + }, + { + "desc": "proxy", + "name": "proxy", + "value": "0" + }, + { + "desc": "lt", + "name": "lt", + "value": "1" + }, + { + "desc": "standard", + "name": "standard", + "value": "2" + }, + { + "desc": "hq", + "name": "hq", + "value": "3" + }, + { + "desc": "4444", + "name": "4444", + "value": "4" + }, + { + "desc": "4444xq", + "name": "4444xq", + "value": "5" + } + ] + }, + "prores-encoder-quant-mat": { + "kind": "enum", + "values": [ + { + "desc": "auto", + "name": "auto", + "value": "-1" + }, + { + "desc": "proxy", + "name": "proxy", + "value": "0" + }, + { + "desc": "lt", + "name": "lt", + "value": "2" + }, + { + "desc": "standard", + "name": "standard", + "value": "3" + }, + { + "desc": "hq", + "name": "hq", + "value": "4" + }, + { + "desc": "default", + "name": "default", + "value": "6" + } + ] + }, + "rv10-encoder-cmp-func": { + "kind": "enum", + "values": [ + { + "desc": "Sum of absolute differences, fast", + "name": "sad", + "value": "0" + }, + { + "desc": "Sum of squared errors", + "name": "sse", + "value": "1" + }, + { + "desc": "Sum of absolute Hadamard transformed differences", + "name": "satd", + "value": "2" + }, + { + "desc": "Sum of absolute DCT transformed differences", + "name": "dct", + "value": "3" + }, + { + "desc": "Sum of squared quantization errors, low quality", + "name": "psnr", + "value": "4" + }, + { + "desc": "Number of bits needed for the block", + "name": "bit", + "value": "5" + }, + { + "desc": "Rate distortion optimal, slow", + "name": "rd", + "value": "6" + }, + { + "desc": "Zero", + "name": "zero", + "value": "7" + }, + { + "desc": "Sum of absolute vertical differences", + "name": "vsad", + "value": "8" + }, + { + "desc": "Sum of squared vertical differences", + "name": "vsse", + "value": "9" + }, + { + "desc": "Noise preserving sum of squared differences", + "name": "nsse", + "value": "10" + }, + { + "desc": "dctmax", + "name": "dctmax", + "value": "13" + }, + { + "desc": "dct264", + "name": "dct264", + "value": "14" + }, + { + "desc": "Sum of absolute differences, median predicted", + "name": "msad", + "value": "15" + }, + { + "desc": "chroma", + "name": "chroma", + "value": "256" + } + ] + }, + "rv10-encoder-motion-est": { + "kind": "enum", + "values": [ + { + "desc": "zero", + "name": "zero", + "value": "0" + }, + { + "desc": "epzs", + "name": "epzs", + "value": "1" + }, + { + "desc": "xone", + "name": "xone", + "value": "2" + } + ] + }, + "rv10-encoder-mpv-flags": { + "kind": "flags", + "values": [ + { + "desc": "RD optimal MB level residual skipping", + "name": "skip_rd", + "value": "0x00000001" + }, + { + "desc": "Strictly enforce gop size", + "name": "strict_gop", + "value": "0x00000002" + }, + { + "desc": "Use rate distortion optimization for qp selection", + "name": "qp_rd", + "value": "0x00000004" + }, + { + "desc": "use rate distortion optimization for CBP", + "name": "cbp_rd", + "value": "0x00000008" + }, + { + "desc": "normalize adaptive quantization", + "name": "naq", + "value": "0x00000010" + }, + { + "desc": "always try a mb with mv=<0,0>", + "name": "mv0", + "value": "0x00000020" + } + ] + }, + "rv10-encoder-rc-strategy": { + "kind": "enum", + "values": [ + { + "desc": "deprecated, does nothing", + "name": "ffmpeg", + "value": "0" + } + ] + }, + "rv20-encoder-cmp-func": { + "kind": "enum", + "values": [ + { + "desc": "Sum of absolute differences, fast", + "name": "sad", + "value": "0" + }, + { + "desc": "Sum of squared errors", + "name": "sse", + "value": "1" + }, + { + "desc": "Sum of absolute Hadamard transformed differences", + "name": "satd", + "value": "2" + }, + { + "desc": "Sum of absolute DCT transformed differences", + "name": "dct", + "value": "3" + }, + { + "desc": "Sum of squared quantization errors, low quality", + "name": "psnr", + "value": "4" + }, + { + "desc": "Number of bits needed for the block", + "name": "bit", + "value": "5" + }, + { + "desc": "Rate distortion optimal, slow", + "name": "rd", + "value": "6" + }, + { + "desc": "Zero", + "name": "zero", + "value": "7" + }, + { + "desc": "Sum of absolute vertical differences", + "name": "vsad", + "value": "8" + }, + { + "desc": "Sum of squared vertical differences", + "name": "vsse", + "value": "9" + }, + { + "desc": "Noise preserving sum of squared differences", + "name": "nsse", + "value": "10" + }, + { + "desc": "dctmax", + "name": "dctmax", + "value": "13" + }, + { + "desc": "dct264", + "name": "dct264", + "value": "14" + }, + { + "desc": "Sum of absolute differences, median predicted", + "name": "msad", + "value": "15" + }, + { + "desc": "chroma", + "name": "chroma", + "value": "256" + } + ] + }, + "rv20-encoder-motion-est": { + "kind": "enum", + "values": [ + { + "desc": "zero", + "name": "zero", + "value": "0" + }, + { + "desc": "epzs", + "name": "epzs", + "value": "1" + }, + { + "desc": "xone", + "name": "xone", + "value": "2" + } + ] + }, + "rv20-encoder-mpv-flags": { + "kind": "flags", + "values": [ + { + "desc": "RD optimal MB level residual skipping", + "name": "skip_rd", + "value": "0x00000001" + }, + { + "desc": "Strictly enforce gop size", + "name": "strict_gop", + "value": "0x00000002" + }, + { + "desc": "Use rate distortion optimization for qp selection", + "name": "qp_rd", + "value": "0x00000004" + }, + { + "desc": "use rate distortion optimization for CBP", + "name": "cbp_rd", + "value": "0x00000008" + }, + { + "desc": "normalize adaptive quantization", + "name": "naq", + "value": "0x00000010" + }, + { + "desc": "always try a mb with mv=<0,0>", + "name": "mv0", + "value": "0x00000020" + } + ] + }, + "rv20-encoder-rc-strategy": { + "kind": "enum", + "values": [ + { + "desc": "deprecated, does nothing", + "name": "ffmpeg", + "value": "0" + } + ] + }, + "smpte-vc-2-encoder-quant-matrix": { + "kind": "enum", + "values": [ + { + "desc": "Default from the specifications", + "name": "default", + "value": "0" + }, + { + "desc": "Prevents low bitrate discoloration", + "name": "color", + "value": "1" + }, + { + "desc": "Optimize for PSNR", + "name": "flat", + "value": "2" + } + ] + }, + "smpte-vc-2-encoder-wavelet-idx": { + "kind": "enum", + "values": [ + { + "desc": "Deslauriers-Dubuc (9,7)", + "name": "9_7", + "value": "0" + }, + { + "desc": "LeGall (5,3)", + "name": "5_3", + "value": "1" + }, + { + "desc": "Haar (without shift)", + "name": "haar_noshift", + "value": "3" + }, + { + "desc": "Haar (with shift)", + "name": "haar", + "value": "4" + } + ] + }, + "snow-encoder-motion-est": { + "kind": "enum", + "values": [ + { + "desc": "zero", + "name": "zero", + "value": "0" + }, + { + "desc": "epzs", + "name": "epzs", + "value": "1" + }, + { + "desc": "xone", + "name": "xone", + "value": "2" + }, + { + "desc": "iter", + "name": "iter", + "value": "3" + } + ] + }, + "snow-encoder-pred": { + "kind": "enum", + "values": [ + { + "desc": "dwt97", + "name": "dwt97", + "value": "0" + }, + { + "desc": "dwt53", + "name": "dwt53", + "value": "1" + } + ] + }, + "svq1enc-motion-est": { + "kind": "enum", + "values": [ + { + "desc": "zero", + "name": "zero", + "value": "0" + }, + { + "desc": "epzs", + "name": "epzs", + "value": "1" + }, + { + "desc": "xone", + "name": "xone", + "value": "2" + } + ] + }, + "tiff-encoder-compression-algo": { + "kind": "enum", + "values": [ + { + "desc": "raw", + "name": "raw", + "value": "1" + }, + { + "desc": "lzw", + "name": "lzw", + "value": "5" + }, + { + "desc": "packbits", + "name": "packbits", + "value": "32773" + }, + { + "desc": "deflate", + "name": "deflate", + "value": "32946" + } + ] + }, + "utvideo-pred": { + "kind": "enum", + "values": [ + { + "desc": "none", + "name": "none", + "value": "0" + }, + { + "desc": "left", + "name": "left", + "value": "1" + }, + { + "desc": "gradient", + "name": "gradient", + "value": "2" + }, + { + "desc": "median", + "name": "median", + "value": "3" + } + ] + }, + "wmv1-encoder-cmp-func": { + "kind": "enum", + "values": [ + { + "desc": "Sum of absolute differences, fast", + "name": "sad", + "value": "0" + }, + { + "desc": "Sum of squared errors", + "name": "sse", + "value": "1" + }, + { + "desc": "Sum of absolute Hadamard transformed differences", + "name": "satd", + "value": "2" + }, + { + "desc": "Sum of absolute DCT transformed differences", + "name": "dct", + "value": "3" + }, + { + "desc": "Sum of squared quantization errors, low quality", + "name": "psnr", + "value": "4" + }, + { + "desc": "Number of bits needed for the block", + "name": "bit", + "value": "5" + }, + { + "desc": "Rate distortion optimal, slow", + "name": "rd", + "value": "6" + }, + { + "desc": "Zero", + "name": "zero", + "value": "7" + }, + { + "desc": "Sum of absolute vertical differences", + "name": "vsad", + "value": "8" + }, + { + "desc": "Sum of squared vertical differences", + "name": "vsse", + "value": "9" + }, + { + "desc": "Noise preserving sum of squared differences", + "name": "nsse", + "value": "10" + }, + { + "desc": "dctmax", + "name": "dctmax", + "value": "13" + }, + { + "desc": "dct264", + "name": "dct264", + "value": "14" + }, + { + "desc": "Sum of absolute differences, median predicted", + "name": "msad", + "value": "15" + }, + { + "desc": "chroma", + "name": "chroma", + "value": "256" + } + ] + }, + "wmv1-encoder-motion-est": { + "kind": "enum", + "values": [ + { + "desc": "zero", + "name": "zero", + "value": "0" + }, + { + "desc": "epzs", + "name": "epzs", + "value": "1" + }, + { + "desc": "xone", + "name": "xone", + "value": "2" + } + ] + }, + "wmv1-encoder-mpv-flags": { + "kind": "flags", + "values": [ + { + "desc": "RD optimal MB level residual skipping", + "name": "skip_rd", + "value": "0x00000001" + }, + { + "desc": "Strictly enforce gop size", + "name": "strict_gop", + "value": "0x00000002" + }, + { + "desc": "Use rate distortion optimization for qp selection", + "name": "qp_rd", + "value": "0x00000004" + }, + { + "desc": "use rate distortion optimization for CBP", + "name": "cbp_rd", + "value": "0x00000008" + }, + { + "desc": "normalize adaptive quantization", + "name": "naq", + "value": "0x00000010" + }, + { + "desc": "always try a mb with mv=<0,0>", + "name": "mv0", + "value": "0x00000020" + } + ] + }, + "wmv1-encoder-rc-strategy": { + "kind": "enum", + "values": [ + { + "desc": "deprecated, does nothing", + "name": "ffmpeg", + "value": "0" + } + ] + }, + "wmv2-encoder-cmp-func": { + "kind": "enum", + "values": [ + { + "desc": "Sum of absolute differences, fast", + "name": "sad", + "value": "0" + }, + { + "desc": "Sum of squared errors", + "name": "sse", + "value": "1" + }, + { + "desc": "Sum of absolute Hadamard transformed differences", + "name": "satd", + "value": "2" + }, + { + "desc": "Sum of absolute DCT transformed differences", + "name": "dct", + "value": "3" + }, + { + "desc": "Sum of squared quantization errors, low quality", + "name": "psnr", + "value": "4" + }, + { + "desc": "Number of bits needed for the block", + "name": "bit", + "value": "5" + }, + { + "desc": "Rate distortion optimal, slow", + "name": "rd", + "value": "6" + }, + { + "desc": "Zero", + "name": "zero", + "value": "7" + }, + { + "desc": "Sum of absolute vertical differences", + "name": "vsad", + "value": "8" + }, + { + "desc": "Sum of squared vertical differences", + "name": "vsse", + "value": "9" + }, + { + "desc": "Noise preserving sum of squared differences", + "name": "nsse", + "value": "10" + }, + { + "desc": "dctmax", + "name": "dctmax", + "value": "13" + }, + { + "desc": "dct264", + "name": "dct264", + "value": "14" + }, + { + "desc": "Sum of absolute differences, median predicted", + "name": "msad", + "value": "15" + }, + { + "desc": "chroma", + "name": "chroma", + "value": "256" + } + ] + }, + "wmv2-encoder-motion-est": { + "kind": "enum", + "values": [ + { + "desc": "zero", + "name": "zero", + "value": "0" + }, + { + "desc": "epzs", + "name": "epzs", + "value": "1" + }, + { + "desc": "xone", + "name": "xone", + "value": "2" + } + ] + }, + "wmv2-encoder-mpv-flags": { + "kind": "flags", + "values": [ + { + "desc": "RD optimal MB level residual skipping", + "name": "skip_rd", + "value": "0x00000001" + }, + { + "desc": "Strictly enforce gop size", + "name": "strict_gop", + "value": "0x00000002" + }, + { + "desc": "Use rate distortion optimization for qp selection", + "name": "qp_rd", + "value": "0x00000004" + }, + { + "desc": "use rate distortion optimization for CBP", + "name": "cbp_rd", + "value": "0x00000008" + }, + { + "desc": "normalize adaptive quantization", + "name": "naq", + "value": "0x00000010" + }, + { + "desc": "always try a mb with mv=<0,0>", + "name": "mv0", + "value": "0x00000020" + } + ] + }, + "wmv2-encoder-rc-strategy": { + "kind": "enum", + "values": [ + { + "desc": "deprecated, does nothing", + "name": "ffmpeg", + "value": "0" + } + ] + } + }, + "package": "GStreamer FFMPEG Plug-ins", + "source": "gst-libav", + "tracers": {}, + "url": "Unknown package origin" + } +} \ No newline at end of file diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000000..7aff548218 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,5 @@ +--- +short-description: GStreamer plugins from gst-ffmpeg +... + +# FFMPEG plugin diff --git a/docs/meson.build b/docs/meson.build new file mode 100644 index 0000000000..cfbbbd0c94 --- /dev/null +++ b/docs/meson.build @@ -0,0 +1,79 @@ +build_hotdoc = false + +if meson.is_cross_build() + if get_option('doc').enabled() + error('Documentation enabled but building the doc while cross building is not supported yet.') + endif + + message('Documentation not built as building it while cross building is not supported yet.') + subdir_done() +endif + +required_hotdoc_extensions = ['gst-extension'] +if gst_dep.type_name() == 'internal' + gst_proj = subproject('gstreamer') + plugins_cache_generator = gst_proj.get_variable('plugins_cache_generator') +else + plugins_cache_generator = find_program(join_paths(gst_dep.get_pkgconfig_variable('libexecdir'), 'gstreamer-' + api_version, 'gst-plugins-doc-cache-generator'), + required: false) +endif + +plugins_cache = join_paths(meson.current_source_dir(), 'gst_plugins_cache.json') +if plugins_cache_generator.found() + plugins_doc_dep = custom_target('libav-plugins-doc-cache', + command: [plugins_cache_generator, plugins_cache, '@OUTPUT@', '@INPUT@'], + input: plugins, + output: 'gst_plugins_cache.json', + build_always_stale: true, + ) +else + warning('GStreamer plugin inspector for documentation not found, can\'t update the cache') +endif + +hotdoc_p = find_program('hotdoc', required: get_option('doc')) +if not hotdoc_p.found() + message('Hotdoc not found, not building the documentation') + subdir_done() +endif + +hotdoc_req = '>= 0.11.0' +hotdoc_version = run_command(hotdoc_p, '--version').stdout() +if not hotdoc_version.version_compare(hotdoc_req) + if get_option('doc').enabled() + error('Hotdoc version @0@ not found, got @1@'.format(hotdoc_req, hotdoc_version)) + else + message('Hotdoc version @0@ not found, got @1@'.format(hotdoc_req, hotdoc_version)) + subdir_done() + endif +endif + +build_hotdoc = true +hotdoc = import('hotdoc') +docconf = configuration_data() +docconf.set('GST_API_VERSION', api_version) + +foreach extension: required_hotdoc_extensions + if not hotdoc.has_extensions(extension) + if get_option('doc').enabled() + error('Documentation enabled but gi-extension missing') + endif + + message('@0@ extensions not found, not building documentation requiring it'.format(extension)) + subdir_done() + endif +endforeach + + +libs_doc = [] +plugins_doc = [hotdoc.generate_doc('libav', + project_version: api_version, + sitemap: 'sitemap.txt', + index: 'index.md', + gst_index: 'index.md', + gst_smart_index: true, + gst_c_sources: ['../ext/*/*.[ch]',], + gst_cache_file: plugins_cache, + gst_plugin_name: 'libav', + dependencies: [gst_dep, gstlibav_plugin, plugins_doc_dep], + disable_incremental_build: true, +)] diff --git a/docs/sitemap.txt b/docs/sitemap.txt new file mode 100644 index 0000000000..058a2713a4 --- /dev/null +++ b/docs/sitemap.txt @@ -0,0 +1 @@ +gst-index diff --git a/ext/libav/gstav.c b/ext/libav/gstav.c new file mode 100644 index 0000000000..f3fb648d0f --- /dev/null +++ b/ext/libav/gstav.c @@ -0,0 +1,174 @@ +/* GStreamer + * Copyright (C) <1999> Erik Walthinsen + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +/* First, include the header file for the plugin, to bring in the + * object definition and other useful things. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include + +#include "gstav.h" +#include "gstavutils.h" +#include "gstavcfg.h" + +#ifdef GST_LIBAV_ENABLE_GPL +#define LICENSE "GPL" +#else +#define LICENSE "LGPL" +#endif + +GST_DEBUG_CATEGORY (ffmpeg_debug); + +static GMutex gst_avcodec_mutex; + +/* + * Check for FFmpeg-provided libavcodec/format + */ +static inline gboolean +gst_ffmpeg_avcodec_is_ffmpeg (void) +{ + guint av_version = avcodec_version (); + + GST_DEBUG ("Using libavcodec version %d.%d.%d", + av_version >> 16, (av_version & 0x00ff00) >> 8, av_version & 0xff); + + /* FFmpeg *_MICRO versions start at 100 and Libav's at 0 */ + if ((av_version & 0xff) < 100) + return FALSE; + + return TRUE; +} + +int +gst_ffmpeg_avcodec_open (AVCodecContext * avctx, AVCodec * codec) +{ + int ret; + + g_mutex_lock (&gst_avcodec_mutex); + ret = avcodec_open2 (avctx, codec, NULL); + g_mutex_unlock (&gst_avcodec_mutex); + + return ret; +} + +int +gst_ffmpeg_avcodec_close (AVCodecContext * avctx) +{ + int ret; + + g_mutex_lock (&gst_avcodec_mutex); + ret = avcodec_close (avctx); + g_mutex_unlock (&gst_avcodec_mutex); + + return ret; +} + +int +gst_ffmpeg_av_find_stream_info (AVFormatContext * ic) +{ + int ret; + + g_mutex_lock (&gst_avcodec_mutex); + ret = avformat_find_stream_info (ic, NULL); + g_mutex_unlock (&gst_avcodec_mutex); + + return ret; +} + +#ifndef GST_DISABLE_GST_DEBUG +static void +gst_ffmpeg_log_callback (void *ptr, int level, const char *fmt, va_list vl) +{ + GstDebugLevel gst_level; + gint len = strlen (fmt); + gchar *fmt2 = NULL; + + switch (level) { + case AV_LOG_QUIET: + gst_level = GST_LEVEL_NONE; + break; + case AV_LOG_ERROR: + gst_level = GST_LEVEL_ERROR; + break; + case AV_LOG_INFO: + gst_level = GST_LEVEL_INFO; + break; + case AV_LOG_DEBUG: + gst_level = GST_LEVEL_DEBUG; + break; + default: + gst_level = GST_LEVEL_INFO; + break; + } + + /* remove trailing newline as it gets already appended by the logger */ + if (fmt[len - 1] == '\n') { + fmt2 = g_strdup (fmt); + fmt2[len - 1] = '\0'; + } + + gst_debug_log_valist (ffmpeg_debug, gst_level, "", "", 0, NULL, + fmt2 ? fmt2 : fmt, vl); + + g_free (fmt2); +} +#endif + +static gboolean +plugin_init (GstPlugin * plugin) +{ + GST_DEBUG_CATEGORY_INIT (ffmpeg_debug, "libav", 0, "libav elements"); + + /* Bail if not FFmpeg. We can no longer ensure operation with Libav */ + if (!gst_ffmpeg_avcodec_is_ffmpeg ()) { + GST_ERROR_OBJECT (plugin, + "Incompatible, non-FFmpeg libavcodec/format found"); + return FALSE; + } +#ifndef GST_DISABLE_GST_DEBUG + av_log_set_callback (gst_ffmpeg_log_callback); +#endif + + gst_ffmpeg_init_pix_fmt_info (); + + /* build global ffmpeg param/property info */ + gst_ffmpeg_cfg_init (); + + gst_ffmpegaudenc_register (plugin); + gst_ffmpegvidenc_register (plugin); + gst_ffmpegauddec_register (plugin); + gst_ffmpegviddec_register (plugin); + gst_ffmpegdemux_register (plugin); + gst_ffmpegmux_register (plugin); + gst_ffmpegdeinterlace_register (plugin); + + /* Now we can return the pointer to the newly created Plugin object. */ + return TRUE; +} + +GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, + GST_VERSION_MINOR, + libav, + "All libav codecs and formats (" LIBAV_SOURCE ")", + plugin_init, PACKAGE_VERSION, LICENSE, GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN) diff --git a/ext/libav/gstav.h b/ext/libav/gstav.h new file mode 100644 index 0000000000..0693b77bee --- /dev/null +++ b/ext/libav/gstav.h @@ -0,0 +1,57 @@ +/* GStreamer + * Copyright (C) <1999> Erik Walthinsen + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +/* First, include the header file for the plugin, to bring in the + * object definition and other useful things. + */ + +#ifndef __GST_FFMPEG_H__ +#define __GST_FFMPEG_H__ + +#include +#include + +#include +#include +#include + +GST_DEBUG_CATEGORY_EXTERN (ffmpeg_debug); +#define GST_CAT_DEFAULT ffmpeg_debug + +G_BEGIN_DECLS + +extern gboolean gst_ffmpegdemux_register (GstPlugin * plugin); +extern gboolean gst_ffmpegauddec_register (GstPlugin * plugin); +extern gboolean gst_ffmpegviddec_register (GstPlugin * plugin); +extern gboolean gst_ffmpegaudenc_register (GstPlugin * plugin); +extern gboolean gst_ffmpegvidenc_register (GstPlugin * plugin); +extern gboolean gst_ffmpegmux_register (GstPlugin * plugin); +extern gboolean gst_ffmpegdeinterlace_register (GstPlugin * plugin); + +int gst_ffmpeg_avcodec_open (AVCodecContext *avctx, AVCodec *codec); +int gst_ffmpeg_avcodec_close (AVCodecContext *avctx); +int gst_ffmpeg_av_find_stream_info(AVFormatContext *ic); + +G_END_DECLS + +/* use GST_FFMPEG URL_STREAMHEADER with URL_WRONLY if the first + * buffer should be used as streamheader property on the pad's caps. */ +#define GST_FFMPEG_URL_STREAMHEADER 16 + +#endif /* __GST_FFMPEG_H__ */ diff --git a/ext/libav/gstavauddec.c b/ext/libav/gstavauddec.c new file mode 100644 index 0000000000..baf7aa55a9 --- /dev/null +++ b/ext/libav/gstavauddec.c @@ -0,0 +1,899 @@ +/* GStreamer + * Copyright (C) <1999> Erik Walthinsen + * Copyright (C) <2012> Collabora Ltd. + * Author: Sebastian Dröge + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include + +#include +#include + +#include + +#include "gstav.h" +#include "gstavcodecmap.h" +#include "gstavutils.h" +#include "gstavauddec.h" + +GST_DEBUG_CATEGORY_STATIC (GST_CAT_PERFORMANCE); + +/* A number of function prototypes are given so we can refer to them later. */ +static void gst_ffmpegauddec_base_init (GstFFMpegAudDecClass * klass); +static void gst_ffmpegauddec_class_init (GstFFMpegAudDecClass * klass); +static void gst_ffmpegauddec_init (GstFFMpegAudDec * ffmpegdec); +static void gst_ffmpegauddec_finalize (GObject * object); +static gboolean gst_ffmpegauddec_propose_allocation (GstAudioDecoder * decoder, + GstQuery * query); + +static gboolean gst_ffmpegauddec_start (GstAudioDecoder * decoder); +static gboolean gst_ffmpegauddec_stop (GstAudioDecoder * decoder); +static void gst_ffmpegauddec_flush (GstAudioDecoder * decoder, gboolean hard); +static gboolean gst_ffmpegauddec_set_format (GstAudioDecoder * decoder, + GstCaps * caps); +static GstFlowReturn gst_ffmpegauddec_handle_frame (GstAudioDecoder * decoder, + GstBuffer * inbuf); + +static gboolean gst_ffmpegauddec_negotiate (GstFFMpegAudDec * ffmpegdec, + AVCodecContext * context, AVFrame * frame, gboolean force); + +static GstFlowReturn gst_ffmpegauddec_drain (GstFFMpegAudDec * ffmpegdec, + gboolean force); + +#define GST_FFDEC_PARAMS_QDATA g_quark_from_static_string("avdec-params") + +static GstElementClass *parent_class = NULL; + +static void +gst_ffmpegauddec_base_init (GstFFMpegAudDecClass * klass) +{ + GstElementClass *element_class = GST_ELEMENT_CLASS (klass); + GstPadTemplate *sinktempl, *srctempl; + GstCaps *sinkcaps, *srccaps; + AVCodec *in_plugin; + gchar *longname, *description; + + in_plugin = + (AVCodec *) g_type_get_qdata (G_OBJECT_CLASS_TYPE (klass), + GST_FFDEC_PARAMS_QDATA); + g_assert (in_plugin != NULL); + + /* construct the element details struct */ + longname = g_strdup_printf ("libav %s decoder", in_plugin->long_name); + description = g_strdup_printf ("libav %s decoder", in_plugin->name); + gst_element_class_set_metadata (element_class, longname, + "Codec/Decoder/Audio", description, + "Wim Taymans , " + "Ronald Bultje , " + "Edward Hervey "); + g_free (longname); + g_free (description); + + /* get the caps */ + sinkcaps = gst_ffmpeg_codecid_to_caps (in_plugin->id, NULL, FALSE); + if (!sinkcaps) { + GST_DEBUG ("Couldn't get sink caps for decoder '%s'", in_plugin->name); + sinkcaps = gst_caps_from_string ("unknown/unknown"); + } + srccaps = gst_ffmpeg_codectype_to_audio_caps (NULL, + in_plugin->id, FALSE, in_plugin); + if (!srccaps) { + GST_DEBUG ("Couldn't get source caps for decoder '%s'", in_plugin->name); + srccaps = gst_caps_from_string ("audio/x-raw"); + } + + /* pad templates */ + sinktempl = gst_pad_template_new ("sink", GST_PAD_SINK, + GST_PAD_ALWAYS, sinkcaps); + srctempl = gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS, srccaps); + + gst_element_class_add_pad_template (element_class, srctempl); + gst_element_class_add_pad_template (element_class, sinktempl); + + gst_caps_unref (sinkcaps); + gst_caps_unref (srccaps); + + klass->in_plugin = in_plugin; + klass->srctempl = srctempl; + klass->sinktempl = sinktempl; +} + +static void +gst_ffmpegauddec_class_init (GstFFMpegAudDecClass * klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + GstAudioDecoderClass *gstaudiodecoder_class = GST_AUDIO_DECODER_CLASS (klass); + + parent_class = g_type_class_peek_parent (klass); + + gobject_class->finalize = gst_ffmpegauddec_finalize; + + gstaudiodecoder_class->start = GST_DEBUG_FUNCPTR (gst_ffmpegauddec_start); + gstaudiodecoder_class->stop = GST_DEBUG_FUNCPTR (gst_ffmpegauddec_stop); + gstaudiodecoder_class->set_format = + GST_DEBUG_FUNCPTR (gst_ffmpegauddec_set_format); + gstaudiodecoder_class->handle_frame = + GST_DEBUG_FUNCPTR (gst_ffmpegauddec_handle_frame); + gstaudiodecoder_class->flush = GST_DEBUG_FUNCPTR (gst_ffmpegauddec_flush); + gstaudiodecoder_class->propose_allocation = + GST_DEBUG_FUNCPTR (gst_ffmpegauddec_propose_allocation); + + GST_DEBUG_CATEGORY_GET (GST_CAT_PERFORMANCE, "GST_PERFORMANCE"); +} + +static void +gst_ffmpegauddec_init (GstFFMpegAudDec * ffmpegdec) +{ + GstFFMpegAudDecClass *klass = + (GstFFMpegAudDecClass *) G_OBJECT_GET_CLASS (ffmpegdec); + + /* some ffmpeg data */ + ffmpegdec->context = avcodec_alloc_context3 (klass->in_plugin); + ffmpegdec->context->opaque = ffmpegdec; + ffmpegdec->opened = FALSE; + + ffmpegdec->frame = av_frame_alloc (); + + GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_DECODER_SINK_PAD (ffmpegdec)); + gst_audio_decoder_set_use_default_pad_acceptcaps (GST_AUDIO_DECODER_CAST + (ffmpegdec), TRUE); + + gst_audio_decoder_set_drainable (GST_AUDIO_DECODER (ffmpegdec), TRUE); + gst_audio_decoder_set_needs_format (GST_AUDIO_DECODER (ffmpegdec), TRUE); +} + +static void +gst_ffmpegauddec_finalize (GObject * object) +{ + GstFFMpegAudDec *ffmpegdec = (GstFFMpegAudDec *) object; + + av_frame_free (&ffmpegdec->frame); + + if (ffmpegdec->context != NULL) { + gst_ffmpeg_avcodec_close (ffmpegdec->context); + av_free (ffmpegdec->context); + ffmpegdec->context = NULL; + } + + G_OBJECT_CLASS (parent_class)->finalize (object); +} + +/* With LOCK */ +static gboolean +gst_ffmpegauddec_close (GstFFMpegAudDec * ffmpegdec, gboolean reset) +{ + GstFFMpegAudDecClass *oclass; + + oclass = (GstFFMpegAudDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); + + GST_LOG_OBJECT (ffmpegdec, "closing libav codec"); + + gst_caps_replace (&ffmpegdec->last_caps, NULL); + + gst_ffmpeg_avcodec_close (ffmpegdec->context); + ffmpegdec->opened = FALSE; + + if (ffmpegdec->context->extradata) { + av_free (ffmpegdec->context->extradata); + ffmpegdec->context->extradata = NULL; + } + + if (reset) { + if (avcodec_get_context_defaults3 (ffmpegdec->context, + oclass->in_plugin) < 0) { + GST_DEBUG_OBJECT (ffmpegdec, "Failed to set context defaults"); + return FALSE; + } + ffmpegdec->context->opaque = ffmpegdec; + } + + return TRUE; +} + +static gboolean +gst_ffmpegauddec_start (GstAudioDecoder * decoder) +{ + GstFFMpegAudDec *ffmpegdec = (GstFFMpegAudDec *) decoder; + GstFFMpegAudDecClass *oclass; + + oclass = (GstFFMpegAudDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); + + GST_OBJECT_LOCK (ffmpegdec); + gst_ffmpeg_avcodec_close (ffmpegdec->context); + if (avcodec_get_context_defaults3 (ffmpegdec->context, oclass->in_plugin) < 0) { + GST_DEBUG_OBJECT (ffmpegdec, "Failed to set context defaults"); + GST_OBJECT_UNLOCK (ffmpegdec); + return FALSE; + } + ffmpegdec->context->opaque = ffmpegdec; + GST_OBJECT_UNLOCK (ffmpegdec); + + return TRUE; +} + +static gboolean +gst_ffmpegauddec_stop (GstAudioDecoder * decoder) +{ + GstFFMpegAudDec *ffmpegdec = (GstFFMpegAudDec *) decoder; + + GST_OBJECT_LOCK (ffmpegdec); + gst_ffmpegauddec_close (ffmpegdec, FALSE); + g_free (ffmpegdec->padded); + ffmpegdec->padded = NULL; + ffmpegdec->padded_size = 0; + GST_OBJECT_UNLOCK (ffmpegdec); + gst_audio_info_init (&ffmpegdec->info); + gst_caps_replace (&ffmpegdec->last_caps, NULL); + + return TRUE; +} + +/* with LOCK */ +static gboolean +gst_ffmpegauddec_open (GstFFMpegAudDec * ffmpegdec) +{ + GstFFMpegAudDecClass *oclass; + + oclass = (GstFFMpegAudDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); + + if (gst_ffmpeg_avcodec_open (ffmpegdec->context, oclass->in_plugin) < 0) + goto could_not_open; + + ffmpegdec->opened = TRUE; + + GST_LOG_OBJECT (ffmpegdec, "Opened libav codec %s, id %d", + oclass->in_plugin->name, oclass->in_plugin->id); + + gst_audio_info_init (&ffmpegdec->info); + + return TRUE; + + /* ERRORS */ +could_not_open: + { + gst_ffmpegauddec_close (ffmpegdec, TRUE); + GST_DEBUG_OBJECT (ffmpegdec, "avdec_%s: Failed to open libav codec", + oclass->in_plugin->name); + return FALSE; + } +} + +static gboolean +gst_ffmpegauddec_propose_allocation (GstAudioDecoder * decoder, + GstQuery * query) +{ + GstAllocationParams params; + + gst_allocation_params_init (¶ms); + params.flags = GST_MEMORY_FLAG_ZERO_PADDED; + params.align = 15; + params.padding = AV_INPUT_BUFFER_PADDING_SIZE; + /* we would like to have some padding so that we don't have to + * memcpy. We don't suggest an allocator. */ + gst_query_add_allocation_param (query, NULL, ¶ms); + + return GST_AUDIO_DECODER_CLASS (parent_class)->propose_allocation (decoder, + query); +} + +static gboolean +gst_ffmpegauddec_set_format (GstAudioDecoder * decoder, GstCaps * caps) +{ + GstFFMpegAudDec *ffmpegdec = (GstFFMpegAudDec *) decoder; + GstFFMpegAudDecClass *oclass; + gboolean ret = TRUE; + + oclass = (GstFFMpegAudDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); + + GST_DEBUG_OBJECT (ffmpegdec, "setcaps called"); + + GST_OBJECT_LOCK (ffmpegdec); + + if (ffmpegdec->last_caps && gst_caps_is_equal (ffmpegdec->last_caps, caps)) { + GST_DEBUG_OBJECT (ffmpegdec, "same caps"); + GST_OBJECT_UNLOCK (ffmpegdec); + return TRUE; + } + + gst_caps_replace (&ffmpegdec->last_caps, caps); + + /* close old session */ + if (ffmpegdec->opened) { + GST_OBJECT_UNLOCK (ffmpegdec); + gst_ffmpegauddec_drain (ffmpegdec, FALSE); + GST_OBJECT_LOCK (ffmpegdec); + if (!gst_ffmpegauddec_close (ffmpegdec, TRUE)) { + GST_OBJECT_UNLOCK (ffmpegdec); + return FALSE; + } + } + + /* get size and so */ + gst_ffmpeg_caps_with_codecid (oclass->in_plugin->id, + oclass->in_plugin->type, caps, ffmpegdec->context); + + /* workaround encoder bugs */ + ffmpegdec->context->workaround_bugs |= FF_BUG_AUTODETECT; + ffmpegdec->context->err_recognition = 1; + + /* open codec - we don't select an output pix_fmt yet, + * simply because we don't know! We only get it + * during playback... */ + if (!gst_ffmpegauddec_open (ffmpegdec)) + goto open_failed; + +done: + GST_OBJECT_UNLOCK (ffmpegdec); + + return ret; + + /* ERRORS */ +open_failed: + { + GST_DEBUG_OBJECT (ffmpegdec, "Failed to open"); + ret = FALSE; + goto done; + } +} + +static gboolean +settings_changed (GstFFMpegAudDec * ffmpegdec, AVFrame * frame) +{ + GstAudioFormat format; + GstAudioLayout layout; + gint channels = av_get_channel_layout_nb_channels (frame->channel_layout); + + format = gst_ffmpeg_smpfmt_to_audioformat (frame->format, &layout); + if (format == GST_AUDIO_FORMAT_UNKNOWN) + return TRUE; + + return !(ffmpegdec->info.rate == frame->sample_rate && + ffmpegdec->info.channels == channels && + ffmpegdec->info.finfo->format == format && + ffmpegdec->info.layout == layout); +} + +static gboolean +gst_ffmpegauddec_negotiate (GstFFMpegAudDec * ffmpegdec, + AVCodecContext * context, AVFrame * frame, gboolean force) +{ + GstFFMpegAudDecClass *oclass; + GstAudioFormat format; + GstAudioLayout layout; + gint channels; + GstAudioChannelPosition pos[64] = { 0, }; + + oclass = (GstFFMpegAudDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); + + format = gst_ffmpeg_smpfmt_to_audioformat (frame->format, &layout); + if (format == GST_AUDIO_FORMAT_UNKNOWN) + goto no_caps; + channels = av_get_channel_layout_nb_channels (frame->channel_layout); + if (channels == 0) + channels = frame->channels; + if (channels == 0) + goto no_caps; + + if (!force && !settings_changed (ffmpegdec, frame)) + return TRUE; + + GST_DEBUG_OBJECT (ffmpegdec, + "Renegotiating audio from %dHz@%dchannels (%d, interleaved=%d) " + "to %dHz@%dchannels (%d, interleaved=%d)", + ffmpegdec->info.rate, ffmpegdec->info.channels, + ffmpegdec->info.finfo->format, + ffmpegdec->info.layout == GST_AUDIO_LAYOUT_INTERLEAVED, + frame->sample_rate, channels, format, + layout == GST_AUDIO_LAYOUT_INTERLEAVED); + + gst_ffmpeg_channel_layout_to_gst (frame->channel_layout, channels, pos); + memcpy (ffmpegdec->ffmpeg_layout, pos, + sizeof (GstAudioChannelPosition) * channels); + + /* Get GStreamer channel layout */ + gst_audio_channel_positions_to_valid_order (pos, channels); + ffmpegdec->needs_reorder = + memcmp (pos, ffmpegdec->ffmpeg_layout, sizeof (pos[0]) * channels) != 0; + gst_audio_info_set_format (&ffmpegdec->info, format, + frame->sample_rate, channels, pos); + ffmpegdec->info.layout = layout; + + if (!gst_audio_decoder_set_output_format (GST_AUDIO_DECODER (ffmpegdec), + &ffmpegdec->info)) + goto caps_failed; + + return TRUE; + + /* ERRORS */ +no_caps: + { +#ifdef HAVE_LIBAV_UNINSTALLED + /* using internal ffmpeg snapshot */ + GST_ELEMENT_ERROR (ffmpegdec, CORE, NEGOTIATION, + ("Could not find GStreamer caps mapping for libav codec '%s'.", + oclass->in_plugin->name), (NULL)); +#else + /* using external ffmpeg */ + GST_ELEMENT_ERROR (ffmpegdec, CORE, NEGOTIATION, + ("Could not find GStreamer caps mapping for libav codec '%s', and " + "you are using an external libavcodec. This is most likely due to " + "a packaging problem and/or libavcodec having been upgraded to a " + "version that is not compatible with this version of " + "gstreamer-libav. Make sure your gstreamer-libav and libavcodec " + "packages come from the same source/repository.", + oclass->in_plugin->name), (NULL)); +#endif + return FALSE; + } +caps_failed: + { + GST_ELEMENT_ERROR (ffmpegdec, CORE, NEGOTIATION, (NULL), + ("Could not set caps for libav decoder (%s), not fixed?", + oclass->in_plugin->name)); + memset (&ffmpegdec->info, 0, sizeof (ffmpegdec->info)); + + return FALSE; + } +} + +static void +gst_avpacket_init (AVPacket * packet, guint8 * data, guint size) +{ + memset (packet, 0, sizeof (AVPacket)); + packet->data = data; + packet->size = size; +} + +/* + * Returns: whether a frame was decoded + */ +static gboolean +gst_ffmpegauddec_audio_frame (GstFFMpegAudDec * ffmpegdec, + AVCodec * in_plugin, GstBuffer ** outbuf, GstFlowReturn * ret) +{ + gboolean got_frame = FALSE; + gint res; + + res = avcodec_receive_frame (ffmpegdec->context, ffmpegdec->frame); + + if (res >= 0) { + gint nsamples, channels, byte_per_sample; + gsize output_size; + gboolean planar; + + if (!gst_ffmpegauddec_negotiate (ffmpegdec, ffmpegdec->context, + ffmpegdec->frame, FALSE)) { + *outbuf = NULL; + *ret = GST_FLOW_NOT_NEGOTIATED; + goto beach; + } + + got_frame = TRUE; + + channels = ffmpegdec->info.channels; + nsamples = ffmpegdec->frame->nb_samples; + byte_per_sample = ffmpegdec->info.finfo->width / 8; + planar = av_sample_fmt_is_planar (ffmpegdec->frame->format); + + g_return_val_if_fail (ffmpegdec->info.layout == (planar ? + GST_AUDIO_LAYOUT_NON_INTERLEAVED : GST_AUDIO_LAYOUT_INTERLEAVED), + GST_FLOW_NOT_NEGOTIATED); + + GST_DEBUG_OBJECT (ffmpegdec, "Creating output buffer"); + + /* ffmpegdec->frame->linesize[0] might contain padding, allocate only what's needed */ + output_size = nsamples * byte_per_sample * channels; + + *outbuf = + gst_audio_decoder_allocate_output_buffer (GST_AUDIO_DECODER + (ffmpegdec), output_size); + + if (planar) { + gint i; + GstAudioMeta *meta; + + meta = gst_buffer_add_audio_meta (*outbuf, &ffmpegdec->info, nsamples, + NULL); + + for (i = 0; i < channels; i++) { + gst_buffer_fill (*outbuf, meta->offsets[i], + ffmpegdec->frame->extended_data[i], nsamples * byte_per_sample); + } + } else { + gst_buffer_fill (*outbuf, 0, ffmpegdec->frame->data[0], output_size); + } + + GST_DEBUG_OBJECT (ffmpegdec, "Buffer created. Size: %" G_GSIZE_FORMAT, + output_size); + + /* Reorder channels to the GStreamer channel order */ + if (ffmpegdec->needs_reorder) { + *outbuf = gst_buffer_make_writable (*outbuf); + gst_audio_buffer_reorder_channels (*outbuf, ffmpegdec->info.finfo->format, + ffmpegdec->info.channels, ffmpegdec->ffmpeg_layout, + ffmpegdec->info.position); + } + + /* Mark corrupted frames as corrupted */ + if (ffmpegdec->frame->flags & AV_FRAME_FLAG_CORRUPT) + GST_BUFFER_FLAG_SET (*outbuf, GST_BUFFER_FLAG_CORRUPTED); + } else if (res == AVERROR (EAGAIN)) { + *outbuf = NULL; + } else if (res == AVERROR_EOF) { + *ret = GST_FLOW_EOS; + GST_DEBUG_OBJECT (ffmpegdec, "Context was entirely flushed"); + } else if (res < 0) { + *ret = GST_FLOW_OK; + GST_WARNING_OBJECT (ffmpegdec, "Legitimate decoding error"); + } + +beach: + av_frame_unref (ffmpegdec->frame); + GST_DEBUG_OBJECT (ffmpegdec, "return flow %d, out %p, got_frame %d", + *ret, *outbuf, got_frame); + return got_frame; +} + +/* + * Returns: whether a frame was decoded + */ +static gboolean +gst_ffmpegauddec_frame (GstFFMpegAudDec * ffmpegdec, GstFlowReturn * ret) +{ + GstFFMpegAudDecClass *oclass; + GstBuffer *outbuf = NULL; + gboolean got_frame = FALSE; + + if (G_UNLIKELY (ffmpegdec->context->codec == NULL)) + goto no_codec; + + *ret = GST_FLOW_OK; + ffmpegdec->context->frame_number++; + + oclass = (GstFFMpegAudDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); + + got_frame = + gst_ffmpegauddec_audio_frame (ffmpegdec, oclass->in_plugin, &outbuf, ret); + + if (outbuf) { + GST_LOG_OBJECT (ffmpegdec, "Decoded data, buffer %" GST_PTR_FORMAT, outbuf); + *ret = + gst_audio_decoder_finish_subframe (GST_AUDIO_DECODER_CAST (ffmpegdec), + outbuf); + } else { + GST_DEBUG_OBJECT (ffmpegdec, "We didn't get a decoded buffer"); + } + +beach: + return got_frame; + + /* ERRORS */ +no_codec: + { + GST_ERROR_OBJECT (ffmpegdec, "no codec context"); + goto beach; + } +} + +static GstFlowReturn +gst_ffmpegauddec_drain (GstFFMpegAudDec * ffmpegdec, gboolean force) +{ + GstFlowReturn ret = GST_FLOW_OK; + gboolean got_any_frames = FALSE; + gboolean got_frame; + + if (avcodec_send_packet (ffmpegdec->context, NULL)) + goto send_packet_failed; + + do { + got_frame = gst_ffmpegauddec_frame (ffmpegdec, &ret); + if (got_frame) + got_any_frames = TRUE; + } while (got_frame); + avcodec_flush_buffers (ffmpegdec->context); + + /* FFMpeg will return AVERROR_EOF if it's internal was fully drained + * then we are translating it to GST_FLOW_EOS. However, because this behavior + * is fully internal stuff of this implementation and gstaudiodecoder + * baseclass doesn't convert this GST_FLOW_EOS to GST_FLOW_OK, + * convert this flow returned here */ + if (ret == GST_FLOW_EOS) + ret = GST_FLOW_OK; + + if (got_any_frames || force) { + GstFlowReturn new_ret = + gst_audio_decoder_finish_frame (GST_AUDIO_DECODER (ffmpegdec), NULL, 1); + + if (ret == GST_FLOW_OK) + ret = new_ret; + } + +done: + return ret; + +send_packet_failed: + GST_WARNING_OBJECT (ffmpegdec, "send packet failed, could not drain decoder"); + goto done; +} + +static void +gst_ffmpegauddec_flush (GstAudioDecoder * decoder, gboolean hard) +{ + GstFFMpegAudDec *ffmpegdec = (GstFFMpegAudDec *) decoder; + + if (ffmpegdec->opened) { + avcodec_flush_buffers (ffmpegdec->context); + } +} + +static GstFlowReturn +gst_ffmpegauddec_handle_frame (GstAudioDecoder * decoder, GstBuffer * inbuf) +{ + GstFFMpegAudDec *ffmpegdec; + GstFFMpegAudDecClass *oclass; + guint8 *data; + GstMapInfo map; + gint size; + gboolean got_any_frames = FALSE; + gboolean got_frame; + GstFlowReturn ret = GST_FLOW_OK; + gboolean is_header; + AVPacket packet; + + ffmpegdec = (GstFFMpegAudDec *) decoder; + + if (G_UNLIKELY (!ffmpegdec->opened)) + goto not_negotiated; + + if (inbuf == NULL) { + return gst_ffmpegauddec_drain (ffmpegdec, FALSE); + } + + inbuf = gst_buffer_ref (inbuf); + is_header = GST_BUFFER_FLAG_IS_SET (inbuf, GST_BUFFER_FLAG_HEADER); + + oclass = (GstFFMpegAudDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); + + GST_LOG_OBJECT (ffmpegdec, + "Received new data of size %" G_GSIZE_FORMAT ", offset:%" G_GUINT64_FORMAT + ", ts:%" GST_TIME_FORMAT ", dur:%" GST_TIME_FORMAT, + gst_buffer_get_size (inbuf), GST_BUFFER_OFFSET (inbuf), + GST_TIME_ARGS (GST_BUFFER_PTS (inbuf)), + GST_TIME_ARGS (GST_BUFFER_DURATION (inbuf))); + + /* workarounds, functions write to buffers: + * libavcodec/svq1.c:svq1_decode_frame writes to the given buffer. + * libavcodec/svq3.c:svq3_decode_slice_header too. + * ffmpeg devs know about it and will fix it (they said). */ + if (oclass->in_plugin->id == AV_CODEC_ID_SVQ1 || + oclass->in_plugin->id == AV_CODEC_ID_SVQ3) { + inbuf = gst_buffer_make_writable (inbuf); + } + + gst_buffer_map (inbuf, &map, GST_MAP_READ); + + data = map.data; + size = map.size; + + if (size > 0 && (!GST_MEMORY_IS_ZERO_PADDED (map.memory) + || (map.maxsize - map.size) < AV_INPUT_BUFFER_PADDING_SIZE)) { + /* add padding */ + if (ffmpegdec->padded_size < size + AV_INPUT_BUFFER_PADDING_SIZE) { + ffmpegdec->padded_size = size + AV_INPUT_BUFFER_PADDING_SIZE; + ffmpegdec->padded = g_realloc (ffmpegdec->padded, ffmpegdec->padded_size); + GST_LOG_OBJECT (ffmpegdec, "resized padding buffer to %d", + ffmpegdec->padded_size); + } + GST_CAT_TRACE_OBJECT (GST_CAT_PERFORMANCE, ffmpegdec, + "Copy input to add padding"); + memcpy (ffmpegdec->padded, data, size); + memset (ffmpegdec->padded + size, 0, AV_INPUT_BUFFER_PADDING_SIZE); + + data = ffmpegdec->padded; + } + + gst_avpacket_init (&packet, data, size); + + if (!packet.size) + goto unmap; + + if (avcodec_send_packet (ffmpegdec->context, &packet) < 0) { + goto send_packet_failed; + } + + do { + /* decode a frame of audio now */ + got_frame = gst_ffmpegauddec_frame (ffmpegdec, &ret); + + if (got_frame) + got_any_frames = TRUE; + + if (ret != GST_FLOW_OK) { + GST_LOG_OBJECT (ffmpegdec, "breaking because of flow ret %s", + gst_flow_get_name (ret)); + /* bad flow return, make sure we discard all data and exit */ + break; + } + } while (got_frame); + + if (is_header || got_any_frames) { + /* Even if previous return wasn't GST_FLOW_OK, we need to call + * _finish_frame() since baseclass is expecting that _finish_frame() + * is followed by _finish_subframe() + */ + GstFlowReturn new_ret = + gst_audio_decoder_finish_frame (GST_AUDIO_DECODER (ffmpegdec), NULL, 1); + + /* Only override the flow return value if previously did have a GST_FLOW_OK. + * Failure to do this would result in skipping downstream issues caught in + * earlier steps. */ + if (ret == GST_FLOW_OK) + ret = new_ret; + } + +unmap: + gst_buffer_unmap (inbuf, &map); + gst_buffer_unref (inbuf); + +done: + return ret; + + /* ERRORS */ +not_negotiated: + { + oclass = (GstFFMpegAudDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); + GST_ELEMENT_ERROR (ffmpegdec, CORE, NEGOTIATION, (NULL), + ("avdec_%s: input format was not set before data start", + oclass->in_plugin->name)); + ret = GST_FLOW_NOT_NEGOTIATED; + goto done; + } + +send_packet_failed: + { + GST_WARNING_OBJECT (ffmpegdec, "decoding error"); + /* Even if ffmpeg was not able to decode current audio frame, + * we should call gst_audio_decoder_finish_frame() so that baseclass + * can clear its internal status and can respect timestamp of later + * incoming buffers */ + ret = gst_ffmpegauddec_drain (ffmpegdec, TRUE); + goto unmap; + } +} + +gboolean +gst_ffmpegauddec_register (GstPlugin * plugin) +{ + GTypeInfo typeinfo = { + sizeof (GstFFMpegAudDecClass), + (GBaseInitFunc) gst_ffmpegauddec_base_init, + NULL, + (GClassInitFunc) gst_ffmpegauddec_class_init, + NULL, + NULL, + sizeof (GstFFMpegAudDec), + 0, + (GInstanceInitFunc) gst_ffmpegauddec_init, + }; + GType type; + AVCodec *in_plugin; + void *i = 0; + gint rank; + + GST_LOG ("Registering decoders"); + + while ((in_plugin = (AVCodec *) av_codec_iterate (&i))) { + gchar *type_name; + + /* only decoders */ + if (!av_codec_is_decoder (in_plugin) + || in_plugin->type != AVMEDIA_TYPE_AUDIO) { + continue; + } + + /* no quasi codecs, please */ + if (in_plugin->id == AV_CODEC_ID_PCM_S16LE_PLANAR || + (in_plugin->id >= AV_CODEC_ID_PCM_S16LE && + in_plugin->id <= AV_CODEC_ID_PCM_BLURAY) || + (in_plugin->id >= AV_CODEC_ID_PCM_S8_PLANAR && + in_plugin->id <= AV_CODEC_ID_PCM_F24LE)) + continue; + + /* No decoders depending on external libraries (we don't build them, but + * people who build against an external ffmpeg might have them. + * We have native gstreamer plugins for all of those libraries anyway. */ + if (!strncmp (in_plugin->name, "lib", 3)) { + GST_DEBUG + ("Not using external library decoder %s. Use the gstreamer-native ones instead.", + in_plugin->name); + continue; + } + + GST_DEBUG ("Trying plugin %s [%s]", in_plugin->name, in_plugin->long_name); + + /* no codecs for which we're GUARANTEED to have better alternatives */ + /* MP1 : Use MP3 for decoding */ + /* MP2 : Use MP3 for decoding */ + /* Theora: Use libtheora based theoradec */ + if (!strcmp (in_plugin->name, "vorbis") || + !strcmp (in_plugin->name, "wavpack") || + !strcmp (in_plugin->name, "mp1") || + !strcmp (in_plugin->name, "mp2") || + !strcmp (in_plugin->name, "libfaad") || + !strcmp (in_plugin->name, "mpeg4aac") || + !strcmp (in_plugin->name, "ass") || + !strcmp (in_plugin->name, "srt") || + !strcmp (in_plugin->name, "pgssub") || + !strcmp (in_plugin->name, "dvdsub") || + !strcmp (in_plugin->name, "dvbsub")) { + GST_LOG ("Ignoring decoder %s", in_plugin->name); + continue; + } + + /* construct the type */ + type_name = g_strdup_printf ("avdec_%s", in_plugin->name); + g_strdelimit (type_name, ".,|-<> ", '_'); + + type = g_type_from_name (type_name); + + if (!type) { + /* create the gtype now */ + type = + g_type_register_static (GST_TYPE_AUDIO_DECODER, type_name, &typeinfo, + 0); + g_type_set_qdata (type, GST_FFDEC_PARAMS_QDATA, (gpointer) in_plugin); + } + + /* (Ronald) MPEG-4 gets a higher priority because it has been well- + * tested and by far outperforms divxdec/xviddec - so we prefer it. + * msmpeg4v3 same, as it outperforms divxdec for divx3 playback. + * VC1/WMV3 are not working and thus unpreferred for now. */ + switch (in_plugin->id) { + case AV_CODEC_ID_RA_144: + case AV_CODEC_ID_RA_288: + case AV_CODEC_ID_COOK: + case AV_CODEC_ID_AAC: + rank = GST_RANK_PRIMARY; + break; + /* SIPR: decoder should have a higher rank than realaudiodec. + */ + case AV_CODEC_ID_SIPR: + rank = GST_RANK_SECONDARY; + break; + default: + rank = GST_RANK_MARGINAL; + break; + } + if (!gst_element_register (plugin, type_name, rank, type)) { + g_warning ("Failed to register %s", type_name); + g_free (type_name); + return FALSE; + } + + g_free (type_name); + } + + GST_LOG ("Finished Registering decoders"); + + return TRUE; +} diff --git a/ext/libav/gstavauddec.h b/ext/libav/gstavauddec.h new file mode 100644 index 0000000000..d91de0d2b2 --- /dev/null +++ b/ext/libav/gstavauddec.h @@ -0,0 +1,76 @@ +/* GStreamer + * Copyright (C) <1999> Erik Walthinsen + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ +#ifndef __GST_FFMPEGAUDDEC_H__ +#define __GST_FFMPEGAUDDEC_H__ + +#include + +G_BEGIN_DECLS + +#include +#include +#include + +typedef struct _GstFFMpegAudDec GstFFMpegAudDec; +struct _GstFFMpegAudDec +{ + GstAudioDecoder parent; + + /* decoding */ + AVCodecContext *context; + gboolean opened; + + AVFrame *frame; + + guint8 *padded; + gint padded_size; + + /* prevent reopening the decoder on GST_EVENT_CAPS when caps are same as last time. */ + GstCaps *last_caps; + + /* current output format */ + GstAudioInfo info; + GstAudioChannelPosition ffmpeg_layout[64]; + gboolean needs_reorder; +}; + +typedef struct _GstFFMpegAudDecClass GstFFMpegAudDecClass; + +struct _GstFFMpegAudDecClass +{ + GstAudioDecoderClass parent_class; + + AVCodec *in_plugin; + GstPadTemplate *srctempl, *sinktempl; +}; + +#define GST_TYPE_FFMPEGDEC \ + (gst_ffmpegauddec_get_type()) +#define GST_FFMPEGDEC(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_FFMPEGDEC,GstFFMpegAudDec)) +#define GST_FFMPEGAUDDEC_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_FFMPEGDEC,GstFFMpegAudDecClass)) +#define GST_IS_FFMPEGDEC(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_FFMPEGDEC)) +#define GST_IS_FFMPEGAUDDEC_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_FFMPEGDEC)) + +G_END_DECLS + +#endif diff --git a/ext/libav/gstavaudenc.c b/ext/libav/gstavaudenc.c new file mode 100644 index 0000000000..3ff6432595 --- /dev/null +++ b/ext/libav/gstavaudenc.c @@ -0,0 +1,857 @@ +/* GStreamer + * Copyright (C) <1999> Erik Walthinsen + * Copyright (C) <2012> Collabora Ltd. + * Author: Sebastian Dröge + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include +/* for stats file handling */ +#include +#include +#include + +#include +#include + +#include + +#include "gstav.h" +#include "gstavcfg.h" +#include "gstavcodecmap.h" +#include "gstavutils.h" +#include "gstavaudenc.h" + +enum +{ + PROP_0, + PROP_CFG_BASE, +}; + +static void gst_ffmpegaudenc_class_init (GstFFMpegAudEncClass * klass); +static void gst_ffmpegaudenc_base_init (GstFFMpegAudEncClass * klass); +static void gst_ffmpegaudenc_init (GstFFMpegAudEnc * ffmpegaudenc); +static void gst_ffmpegaudenc_finalize (GObject * object); + +static gboolean gst_ffmpegaudenc_set_format (GstAudioEncoder * encoder, + GstAudioInfo * info); +static GstFlowReturn gst_ffmpegaudenc_handle_frame (GstAudioEncoder * encoder, + GstBuffer * inbuf); +static gboolean gst_ffmpegaudenc_start (GstAudioEncoder * encoder); +static gboolean gst_ffmpegaudenc_stop (GstAudioEncoder * encoder); +static void gst_ffmpegaudenc_flush (GstAudioEncoder * encoder); + +static void gst_ffmpegaudenc_set_property (GObject * object, + guint prop_id, const GValue * value, GParamSpec * pspec); +static void gst_ffmpegaudenc_get_property (GObject * object, + guint prop_id, GValue * value, GParamSpec * pspec); + +#define GST_FFENC_PARAMS_QDATA g_quark_from_static_string("avenc-params") + +static GstElementClass *parent_class = NULL; + +static void +gst_ffmpegaudenc_base_init (GstFFMpegAudEncClass * klass) +{ + GstElementClass *element_class = GST_ELEMENT_CLASS (klass); + AVCodec *in_plugin; + GstPadTemplate *srctempl = NULL, *sinktempl = NULL; + GstCaps *srccaps = NULL, *sinkcaps = NULL; + gchar *longname, *description; + + in_plugin = + (AVCodec *) g_type_get_qdata (G_OBJECT_CLASS_TYPE (klass), + GST_FFENC_PARAMS_QDATA); + g_assert (in_plugin != NULL); + + /* construct the element details struct */ + longname = g_strdup_printf ("libav %s encoder", in_plugin->long_name); + description = g_strdup_printf ("libav %s encoder", in_plugin->name); + gst_element_class_set_metadata (element_class, longname, + "Codec/Encoder/Audio", description, + "Wim Taymans , " + "Ronald Bultje "); + g_free (longname); + g_free (description); + + if (!(srccaps = gst_ffmpeg_codecid_to_caps (in_plugin->id, NULL, TRUE))) { + GST_DEBUG ("Couldn't get source caps for encoder '%s'", in_plugin->name); + srccaps = gst_caps_new_empty_simple ("unknown/unknown"); + } + + sinkcaps = gst_ffmpeg_codectype_to_audio_caps (NULL, + in_plugin->id, TRUE, in_plugin); + if (!sinkcaps) { + GST_DEBUG ("Couldn't get sink caps for encoder '%s'", in_plugin->name); + sinkcaps = gst_caps_new_empty_simple ("unknown/unknown"); + } + + /* pad templates */ + sinktempl = gst_pad_template_new ("sink", GST_PAD_SINK, + GST_PAD_ALWAYS, sinkcaps); + srctempl = gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS, srccaps); + + gst_element_class_add_pad_template (element_class, srctempl); + gst_element_class_add_pad_template (element_class, sinktempl); + + gst_caps_unref (sinkcaps); + gst_caps_unref (srccaps); + + klass->in_plugin = in_plugin; + klass->srctempl = srctempl; + klass->sinktempl = sinktempl; + + return; +} + +static void +gst_ffmpegaudenc_class_init (GstFFMpegAudEncClass * klass) +{ + GObjectClass *gobject_class; + GstAudioEncoderClass *gstaudioencoder_class; + + gobject_class = (GObjectClass *) klass; + gstaudioencoder_class = (GstAudioEncoderClass *) klass; + + parent_class = g_type_class_peek_parent (klass); + + gobject_class->set_property = gst_ffmpegaudenc_set_property; + gobject_class->get_property = gst_ffmpegaudenc_get_property; + + gst_ffmpeg_cfg_install_properties (gobject_class, klass->in_plugin, + PROP_CFG_BASE, AV_OPT_FLAG_ENCODING_PARAM | AV_OPT_FLAG_AUDIO_PARAM); + + gobject_class->finalize = gst_ffmpegaudenc_finalize; + + gstaudioencoder_class->start = GST_DEBUG_FUNCPTR (gst_ffmpegaudenc_start); + gstaudioencoder_class->stop = GST_DEBUG_FUNCPTR (gst_ffmpegaudenc_stop); + gstaudioencoder_class->flush = GST_DEBUG_FUNCPTR (gst_ffmpegaudenc_flush); + gstaudioencoder_class->set_format = + GST_DEBUG_FUNCPTR (gst_ffmpegaudenc_set_format); + gstaudioencoder_class->handle_frame = + GST_DEBUG_FUNCPTR (gst_ffmpegaudenc_handle_frame); +} + +static void +gst_ffmpegaudenc_init (GstFFMpegAudEnc * ffmpegaudenc) +{ + GstFFMpegAudEncClass *klass = + (GstFFMpegAudEncClass *) G_OBJECT_GET_CLASS (ffmpegaudenc); + + GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_ENCODER_SINK_PAD (ffmpegaudenc)); + + /* ffmpeg objects */ + ffmpegaudenc->context = avcodec_alloc_context3 (klass->in_plugin); + ffmpegaudenc->refcontext = avcodec_alloc_context3 (klass->in_plugin); + ffmpegaudenc->opened = FALSE; + ffmpegaudenc->frame = av_frame_alloc (); + + gst_audio_encoder_set_drainable (GST_AUDIO_ENCODER (ffmpegaudenc), TRUE); +} + +static void +gst_ffmpegaudenc_finalize (GObject * object) +{ + GstFFMpegAudEnc *ffmpegaudenc = (GstFFMpegAudEnc *) object; + + /* clean up remaining allocated data */ + av_frame_free (&ffmpegaudenc->frame); + gst_ffmpeg_avcodec_close (ffmpegaudenc->context); + gst_ffmpeg_avcodec_close (ffmpegaudenc->refcontext); + av_free (ffmpegaudenc->context); + av_free (ffmpegaudenc->refcontext); + + G_OBJECT_CLASS (parent_class)->finalize (object); +} + +static gboolean +gst_ffmpegaudenc_start (GstAudioEncoder * encoder) +{ + GstFFMpegAudEnc *ffmpegaudenc = (GstFFMpegAudEnc *) encoder; + GstFFMpegAudEncClass *oclass = + (GstFFMpegAudEncClass *) G_OBJECT_GET_CLASS (ffmpegaudenc); + + ffmpegaudenc->opened = FALSE; + ffmpegaudenc->need_reopen = FALSE; + + gst_ffmpeg_avcodec_close (ffmpegaudenc->context); + if (avcodec_get_context_defaults3 (ffmpegaudenc->context, + oclass->in_plugin) < 0) { + GST_DEBUG_OBJECT (ffmpegaudenc, "Failed to set context defaults"); + return FALSE; + } + + return TRUE; +} + +static gboolean +gst_ffmpegaudenc_stop (GstAudioEncoder * encoder) +{ + GstFFMpegAudEnc *ffmpegaudenc = (GstFFMpegAudEnc *) encoder; + + /* close old session */ + gst_ffmpeg_avcodec_close (ffmpegaudenc->context); + ffmpegaudenc->opened = FALSE; + ffmpegaudenc->need_reopen = FALSE; + + return TRUE; +} + +static void +gst_ffmpegaudenc_flush (GstAudioEncoder * encoder) +{ + GstFFMpegAudEnc *ffmpegaudenc = (GstFFMpegAudEnc *) encoder; + + if (ffmpegaudenc->opened) { + avcodec_flush_buffers (ffmpegaudenc->context); + } +} + +static gboolean +gst_ffmpegaudenc_set_format (GstAudioEncoder * encoder, GstAudioInfo * info) +{ + GstFFMpegAudEnc *ffmpegaudenc = (GstFFMpegAudEnc *) encoder; + GstCaps *other_caps; + GstCaps *allowed_caps; + GstCaps *icaps; + gsize frame_size; + GstFFMpegAudEncClass *oclass = + (GstFFMpegAudEncClass *) G_OBJECT_GET_CLASS (ffmpegaudenc); + + ffmpegaudenc->need_reopen = FALSE; + + /* close old session */ + if (ffmpegaudenc->opened) { + gst_ffmpeg_avcodec_close (ffmpegaudenc->context); + ffmpegaudenc->opened = FALSE; + if (avcodec_get_context_defaults3 (ffmpegaudenc->context, + oclass->in_plugin) < 0) { + GST_DEBUG_OBJECT (ffmpegaudenc, "Failed to set context defaults"); + return FALSE; + } + } + + gst_ffmpeg_cfg_fill_context (G_OBJECT (ffmpegaudenc), ffmpegaudenc->context); + + /* fetch pix_fmt and so on */ + gst_ffmpeg_audioinfo_to_context (info, ffmpegaudenc->context); + if (!ffmpegaudenc->context->time_base.den) { + ffmpegaudenc->context->time_base.den = GST_AUDIO_INFO_RATE (info); + ffmpegaudenc->context->time_base.num = 1; + ffmpegaudenc->context->ticks_per_frame = 1; + } + + if (ffmpegaudenc->context->channel_layout) { + gst_ffmpeg_channel_layout_to_gst (ffmpegaudenc->context->channel_layout, + ffmpegaudenc->context->channels, ffmpegaudenc->ffmpeg_layout); + ffmpegaudenc->needs_reorder = + (memcmp (ffmpegaudenc->ffmpeg_layout, info->position, + sizeof (GstAudioChannelPosition) * + ffmpegaudenc->context->channels) != 0); + } + + /* some codecs support more than one format, first auto-choose one */ + GST_DEBUG_OBJECT (ffmpegaudenc, "picking an output format ..."); + allowed_caps = gst_pad_get_allowed_caps (GST_AUDIO_ENCODER_SRC_PAD (encoder)); + if (!allowed_caps) { + GST_DEBUG_OBJECT (ffmpegaudenc, "... but no peer, using template caps"); + /* we need to copy because get_allowed_caps returns a ref, and + * get_pad_template_caps doesn't */ + allowed_caps = + gst_pad_get_pad_template_caps (GST_AUDIO_ENCODER_SRC_PAD (encoder)); + } + GST_DEBUG_OBJECT (ffmpegaudenc, "chose caps %" GST_PTR_FORMAT, allowed_caps); + gst_ffmpeg_caps_with_codecid (oclass->in_plugin->id, + oclass->in_plugin->type, allowed_caps, ffmpegaudenc->context); + + /* open codec */ + if (gst_ffmpeg_avcodec_open (ffmpegaudenc->context, oclass->in_plugin) < 0) { + gst_caps_unref (allowed_caps); + gst_ffmpeg_avcodec_close (ffmpegaudenc->context); + GST_DEBUG_OBJECT (ffmpegaudenc, "avenc_%s: Failed to open FFMPEG codec", + oclass->in_plugin->name); + if (avcodec_get_context_defaults3 (ffmpegaudenc->context, + oclass->in_plugin) < 0) + GST_DEBUG_OBJECT (ffmpegaudenc, "Failed to set context defaults"); + + if ((oclass->in_plugin->capabilities & AV_CODEC_CAP_EXPERIMENTAL) && + ffmpegaudenc->context->strict_std_compliance != + FF_COMPLIANCE_EXPERIMENTAL) { + GST_ELEMENT_ERROR (ffmpegaudenc, LIBRARY, SETTINGS, + ("Codec is experimental, but settings don't allow encoders to " + "produce output of experimental quality"), + ("This codec may not create output that is conformant to the specs " + "or of good quality. If you must use it anyway, set the " + "compliance property to experimental")); + } + return FALSE; + } + + /* try to set this caps on the other side */ + other_caps = gst_ffmpeg_codecid_to_caps (oclass->in_plugin->id, + ffmpegaudenc->context, TRUE); + + if (!other_caps) { + gst_caps_unref (allowed_caps); + gst_ffmpeg_avcodec_close (ffmpegaudenc->context); + GST_DEBUG ("Unsupported codec - no caps found"); + if (avcodec_get_context_defaults3 (ffmpegaudenc->context, + oclass->in_plugin) < 0) + GST_DEBUG_OBJECT (ffmpegaudenc, "Failed to set context defaults"); + return FALSE; + } + + icaps = gst_caps_intersect (allowed_caps, other_caps); + gst_caps_unref (allowed_caps); + gst_caps_unref (other_caps); + if (gst_caps_is_empty (icaps)) { + gst_caps_unref (icaps); + return FALSE; + } + icaps = gst_caps_fixate (icaps); + + if (!gst_audio_encoder_set_output_format (GST_AUDIO_ENCODER (ffmpegaudenc), + icaps)) { + gst_ffmpeg_avcodec_close (ffmpegaudenc->context); + gst_caps_unref (icaps); + if (avcodec_get_context_defaults3 (ffmpegaudenc->context, + oclass->in_plugin) < 0) + GST_DEBUG_OBJECT (ffmpegaudenc, "Failed to set context defaults"); + return FALSE; + } + gst_caps_unref (icaps); + + frame_size = ffmpegaudenc->context->frame_size; + if (frame_size > 1) { + gst_audio_encoder_set_frame_samples_min (GST_AUDIO_ENCODER (ffmpegaudenc), + frame_size); + gst_audio_encoder_set_frame_samples_max (GST_AUDIO_ENCODER (ffmpegaudenc), + frame_size); + gst_audio_encoder_set_frame_max (GST_AUDIO_ENCODER (ffmpegaudenc), 1); + } else { + gst_audio_encoder_set_frame_samples_min (GST_AUDIO_ENCODER (ffmpegaudenc), + 0); + gst_audio_encoder_set_frame_samples_max (GST_AUDIO_ENCODER (ffmpegaudenc), + 0); + gst_audio_encoder_set_frame_max (GST_AUDIO_ENCODER (ffmpegaudenc), 0); + } + + /* Store some tags */ + { + GstTagList *tags = gst_tag_list_new_empty (); + const gchar *codec; + + gst_tag_list_add (tags, GST_TAG_MERGE_REPLACE, GST_TAG_NOMINAL_BITRATE, + (guint) ffmpegaudenc->context->bit_rate, NULL); + + if ((codec = + gst_ffmpeg_get_codecid_longname (ffmpegaudenc->context->codec_id))) + gst_tag_list_add (tags, GST_TAG_MERGE_REPLACE, GST_TAG_AUDIO_CODEC, codec, + NULL); + + gst_audio_encoder_merge_tags (encoder, tags, GST_TAG_MERGE_REPLACE); + gst_tag_list_unref (tags); + } + + /* success! */ + ffmpegaudenc->opened = TRUE; + ffmpegaudenc->need_reopen = FALSE; + + return TRUE; +} + +static void +gst_ffmpegaudenc_free_avpacket (gpointer pkt) +{ + av_packet_unref ((AVPacket *) pkt); + g_slice_free (AVPacket, pkt); +} + +typedef struct +{ + GstBuffer *buffer; + GstMapInfo map; + + guint8 **ext_data_array, *ext_data; +} BufferInfo; + +static void +buffer_info_free (void *opaque, guint8 * data) +{ + BufferInfo *info = opaque; + + if (info->buffer) { + gst_buffer_unmap (info->buffer, &info->map); + gst_buffer_unref (info->buffer); + } else { + av_free (info->ext_data); + av_free (info->ext_data_array); + } + g_slice_free (BufferInfo, info); +} + +static GstFlowReturn +gst_ffmpegaudenc_send_frame (GstFFMpegAudEnc * ffmpegaudenc, GstBuffer * buffer) +{ + GstAudioEncoder *enc; + AVCodecContext *ctx; + GstFlowReturn ret; + gint res; + GstAudioInfo *info; + AVFrame *frame = ffmpegaudenc->frame; + gboolean planar; + gint nsamples = -1; + + enc = GST_AUDIO_ENCODER (ffmpegaudenc); + + ctx = ffmpegaudenc->context; + + if (buffer != NULL) { + BufferInfo *buffer_info = g_slice_new0 (BufferInfo); + guint8 *audio_in; + guint in_size; + + buffer_info->buffer = buffer; + gst_buffer_map (buffer, &buffer_info->map, GST_MAP_READ); + audio_in = buffer_info->map.data; + in_size = buffer_info->map.size; + + GST_LOG_OBJECT (ffmpegaudenc, "encoding buffer %p size:%u", audio_in, + in_size); + + info = gst_audio_encoder_get_audio_info (enc); + planar = av_sample_fmt_is_planar (ffmpegaudenc->context->sample_fmt); + frame->format = ffmpegaudenc->context->sample_fmt; + frame->sample_rate = ffmpegaudenc->context->sample_rate; + frame->channels = ffmpegaudenc->context->channels; + frame->channel_layout = ffmpegaudenc->context->channel_layout; + + if (planar && info->channels > 1) { + gint channels; + gint i, j; + + nsamples = frame->nb_samples = in_size / info->bpf; + channels = info->channels; + + frame->buf[0] = + av_buffer_create (NULL, 0, buffer_info_free, buffer_info, 0); + + if (info->channels > AV_NUM_DATA_POINTERS) { + buffer_info->ext_data_array = frame->extended_data = + av_malloc_array (info->channels, sizeof (uint8_t *)); + } else { + frame->extended_data = frame->data; + } + + buffer_info->ext_data = frame->extended_data[0] = av_malloc (in_size); + frame->linesize[0] = in_size / channels; + for (i = 1; i < channels; i++) + frame->extended_data[i] = + frame->extended_data[i - 1] + frame->linesize[0]; + + switch (info->finfo->width) { + case 8:{ + const guint8 *idata = (const guint8 *) audio_in; + + for (i = 0; i < nsamples; i++) { + for (j = 0; j < channels; j++) { + ((guint8 *) frame->extended_data[j])[i] = idata[j]; + } + idata += channels; + } + break; + } + case 16:{ + const guint16 *idata = (const guint16 *) audio_in; + + for (i = 0; i < nsamples; i++) { + for (j = 0; j < channels; j++) { + ((guint16 *) frame->extended_data[j])[i] = idata[j]; + } + idata += channels; + } + break; + } + case 32:{ + const guint32 *idata = (const guint32 *) audio_in; + + for (i = 0; i < nsamples; i++) { + for (j = 0; j < channels; j++) { + ((guint32 *) frame->extended_data[j])[i] = idata[j]; + } + idata += channels; + } + + break; + } + case 64:{ + const guint64 *idata = (const guint64 *) audio_in; + + for (i = 0; i < nsamples; i++) { + for (j = 0; j < channels; j++) { + ((guint64 *) frame->extended_data[j])[i] = idata[j]; + } + idata += channels; + } + + break; + } + default: + g_assert_not_reached (); + break; + } + + gst_buffer_unmap (buffer, &buffer_info->map); + gst_buffer_unref (buffer); + buffer_info->buffer = NULL; + } else { + frame->data[0] = audio_in; + frame->extended_data = frame->data; + frame->linesize[0] = in_size; + frame->nb_samples = nsamples = in_size / info->bpf; + frame->buf[0] = + av_buffer_create (NULL, 0, buffer_info_free, buffer_info, 0); + } + + /* we have a frame to feed the encoder */ + res = avcodec_send_frame (ctx, frame); + + av_frame_unref (frame); + } else { + GstFFMpegAudEncClass *oclass = + (GstFFMpegAudEncClass *) G_OBJECT_GET_CLASS (ffmpegaudenc); + + GST_LOG_OBJECT (ffmpegaudenc, "draining"); + /* flushing the encoder */ + res = avcodec_send_frame (ctx, NULL); + + /* If AV_CODEC_CAP_ENCODER_FLUSH wasn't set, we need to re-open + * encoder */ + if (!(oclass->in_plugin->capabilities & AV_CODEC_CAP_ENCODER_FLUSH)) { + GST_DEBUG_OBJECT (ffmpegaudenc, "Encoder needs reopen later"); + + /* we will reopen later handle_frame() */ + ffmpegaudenc->need_reopen = TRUE; + } + } + + if (res == 0) { + ret = GST_FLOW_OK; + } else if (res == AVERROR_EOF) { + ret = GST_FLOW_EOS; + } else { /* Any other return value is an error in our context */ + ret = GST_FLOW_OK; + GST_WARNING_OBJECT (ffmpegaudenc, "Failed to encode buffer"); + } + + return ret; +} + +static GstFlowReturn +gst_ffmpegaudenc_receive_packet (GstFFMpegAudEnc * ffmpegaudenc, + gboolean * got_packet) +{ + GstAudioEncoder *enc; + AVCodecContext *ctx; + gint res; + GstFlowReturn ret; + AVPacket *pkt; + + enc = GST_AUDIO_ENCODER (ffmpegaudenc); + + ctx = ffmpegaudenc->context; + + pkt = g_slice_new0 (AVPacket); + + res = avcodec_receive_packet (ctx, pkt); + + if (res == 0) { + GstBuffer *outbuf; + + GST_LOG_OBJECT (ffmpegaudenc, "pushing size %d", pkt->size); + + outbuf = + gst_buffer_new_wrapped_full (GST_MEMORY_FLAG_READONLY, pkt->data, + pkt->size, 0, pkt->size, pkt, gst_ffmpegaudenc_free_avpacket); + + ret = + gst_audio_encoder_finish_frame (enc, outbuf, + pkt->duration > 0 ? pkt->duration : -1); + *got_packet = TRUE; + } else { + GST_LOG_OBJECT (ffmpegaudenc, "no output produced"); + g_slice_free (AVPacket, pkt); + ret = GST_FLOW_OK; + *got_packet = FALSE; + } + + return ret; +} + +static GstFlowReturn +gst_ffmpegaudenc_drain (GstFFMpegAudEnc * ffmpegaudenc) +{ + GstFlowReturn ret = GST_FLOW_OK; + gboolean got_packet; + + ret = gst_ffmpegaudenc_send_frame (ffmpegaudenc, NULL); + + if (ret == GST_FLOW_OK) { + do { + ret = gst_ffmpegaudenc_receive_packet (ffmpegaudenc, &got_packet); + if (ret != GST_FLOW_OK) + break; + } while (got_packet); + } + + /* NOTE: this may or may not work depending on capability */ + avcodec_flush_buffers (ffmpegaudenc->context); + + /* FFMpeg will return AVERROR_EOF if it's internal was fully drained + * then we are translating it to GST_FLOW_EOS. However, because this behavior + * is fully internal stuff of this implementation and gstaudioencoder + * baseclass doesn't convert this GST_FLOW_EOS to GST_FLOW_OK, + * convert this flow returned here */ + if (ret == GST_FLOW_EOS) + ret = GST_FLOW_OK; + + return ret; +} + +static GstFlowReturn +gst_ffmpegaudenc_handle_frame (GstAudioEncoder * encoder, GstBuffer * inbuf) +{ + GstFFMpegAudEnc *ffmpegaudenc; + GstFlowReturn ret; + gboolean got_packet; + + ffmpegaudenc = (GstFFMpegAudEnc *) encoder; + + if (G_UNLIKELY (!ffmpegaudenc->opened)) + goto not_negotiated; + + if (!inbuf) + return gst_ffmpegaudenc_drain (ffmpegaudenc); + + /* endoder was drained or flushed, and ffmpeg encoder doesn't support + * flushing. We need to re-open encoder then */ + if (ffmpegaudenc->need_reopen) { + GST_DEBUG_OBJECT (ffmpegaudenc, "Open encoder again"); + + if (!gst_ffmpegaudenc_set_format (encoder, + gst_audio_encoder_get_audio_info (encoder))) { + GST_ERROR_OBJECT (ffmpegaudenc, "Couldn't re-open encoder"); + return GST_FLOW_NOT_NEGOTIATED; + } + } + + inbuf = gst_buffer_ref (inbuf); + + GST_DEBUG_OBJECT (ffmpegaudenc, + "Received time %" GST_TIME_FORMAT ", duration %" GST_TIME_FORMAT + ", size %" G_GSIZE_FORMAT, GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (inbuf)), + GST_TIME_ARGS (GST_BUFFER_DURATION (inbuf)), gst_buffer_get_size (inbuf)); + + /* Reorder channels to the GStreamer channel order */ + if (ffmpegaudenc->needs_reorder) { + GstAudioInfo *info = gst_audio_encoder_get_audio_info (encoder); + + inbuf = gst_buffer_make_writable (inbuf); + gst_audio_buffer_reorder_channels (inbuf, info->finfo->format, + info->channels, info->position, ffmpegaudenc->ffmpeg_layout); + } + + ret = gst_ffmpegaudenc_send_frame (ffmpegaudenc, inbuf); + + if (ret != GST_FLOW_OK) + goto send_frame_failed; + + do { + ret = gst_ffmpegaudenc_receive_packet (ffmpegaudenc, &got_packet); + } while (got_packet); + + return GST_FLOW_OK; + + /* ERRORS */ +not_negotiated: + { + GST_ELEMENT_ERROR (ffmpegaudenc, CORE, NEGOTIATION, (NULL), + ("not configured to input format before data start")); + gst_buffer_unref (inbuf); + return GST_FLOW_NOT_NEGOTIATED; + } +send_frame_failed: + { + GST_DEBUG_OBJECT (ffmpegaudenc, "Failed to send frame %d (%s)", ret, + gst_flow_get_name (ret)); + return ret; + } +} + +static void +gst_ffmpegaudenc_set_property (GObject * object, + guint prop_id, const GValue * value, GParamSpec * pspec) +{ + GstFFMpegAudEnc *ffmpegaudenc; + + ffmpegaudenc = (GstFFMpegAudEnc *) (object); + + if (ffmpegaudenc->opened) { + GST_WARNING_OBJECT (ffmpegaudenc, + "Can't change properties once encoder is setup !"); + return; + } + + switch (prop_id) { + default: + if (!gst_ffmpeg_cfg_set_property (ffmpegaudenc->refcontext, value, pspec)) + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +gst_ffmpegaudenc_get_property (GObject * object, + guint prop_id, GValue * value, GParamSpec * pspec) +{ + GstFFMpegAudEnc *ffmpegaudenc; + + ffmpegaudenc = (GstFFMpegAudEnc *) (object); + + switch (prop_id) { + default: + if (!gst_ffmpeg_cfg_get_property (ffmpegaudenc->refcontext, value, pspec)) + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +gboolean +gst_ffmpegaudenc_register (GstPlugin * plugin) +{ + GTypeInfo typeinfo = { + sizeof (GstFFMpegAudEncClass), + (GBaseInitFunc) gst_ffmpegaudenc_base_init, + NULL, + (GClassInitFunc) gst_ffmpegaudenc_class_init, + NULL, + NULL, + sizeof (GstFFMpegAudEnc), + 0, + (GInstanceInitFunc) gst_ffmpegaudenc_init, + }; + GType type; + AVCodec *in_plugin; + void *i = 0; + + + GST_LOG ("Registering encoders"); + + while ((in_plugin = (AVCodec *) av_codec_iterate (&i))) { + gchar *type_name; + guint rank; + + /* Skip non-AV codecs */ + if (in_plugin->type != AVMEDIA_TYPE_AUDIO) + continue; + + /* no quasi codecs, please */ + if (in_plugin->id == AV_CODEC_ID_PCM_S16LE_PLANAR || + (in_plugin->id >= AV_CODEC_ID_PCM_S16LE && + in_plugin->id <= AV_CODEC_ID_PCM_BLURAY) || + (in_plugin->id >= AV_CODEC_ID_PCM_S8_PLANAR && + in_plugin->id <= AV_CODEC_ID_PCM_F24LE)) { + continue; + } + + /* No encoders depending on external libraries (we don't build them, but + * people who build against an external ffmpeg might have them. + * We have native gstreamer plugins for all of those libraries anyway. */ + if (!strncmp (in_plugin->name, "lib", 3)) { + GST_DEBUG + ("Not using external library encoder %s. Use the gstreamer-native ones instead.", + in_plugin->name); + continue; + } + + /* only encoders */ + if (!av_codec_is_encoder (in_plugin)) { + continue; + } + + /* FIXME : We should have a method to know cheaply whether we have a mapping + * for the given plugin or not */ + + GST_DEBUG ("Trying plugin %s [%s]", in_plugin->name, in_plugin->long_name); + + /* no codecs for which we're GUARANTEED to have better alternatives */ + if (!strcmp (in_plugin->name, "vorbis") + || !strcmp (in_plugin->name, "flac")) { + GST_LOG ("Ignoring encoder %s", in_plugin->name); + continue; + } + + /* construct the type */ + type_name = g_strdup_printf ("avenc_%s", in_plugin->name); + + type = g_type_from_name (type_name); + + if (!type) { + + /* create the glib type now */ + type = + g_type_register_static (GST_TYPE_AUDIO_ENCODER, type_name, &typeinfo, + 0); + g_type_set_qdata (type, GST_FFENC_PARAMS_QDATA, (gpointer) in_plugin); + + { + static const GInterfaceInfo preset_info = { + NULL, + NULL, + NULL + }; + g_type_add_interface_static (type, GST_TYPE_PRESET, &preset_info); + } + } + + switch (in_plugin->id) { + /* avenc_aac: see https://bugzilla.gnome.org/show_bug.cgi?id=691617 */ + case AV_CODEC_ID_AAC: + rank = GST_RANK_NONE; + break; + default: + rank = GST_RANK_SECONDARY; + break; + } + + if (!gst_element_register (plugin, type_name, rank, type)) { + g_free (type_name); + return FALSE; + } + + g_free (type_name); + } + + GST_LOG ("Finished registering encoders"); + + return TRUE; +} diff --git a/ext/libav/gstavaudenc.h b/ext/libav/gstavaudenc.h new file mode 100644 index 0000000000..3c94aef4e0 --- /dev/null +++ b/ext/libav/gstavaudenc.h @@ -0,0 +1,73 @@ +/* GStreamer + * Copyright (C) <1999> Erik Walthinsen + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +/* First, include the header file for the plugin, to bring in the + * object definition and other useful things. + */ + +#ifndef __GST_FFMPEGAUDENC_H__ +#define __GST_FFMPEGAUDENC_H__ + +#include +#include +#include + +G_BEGIN_DECLS + +typedef struct _GstFFMpegAudEnc GstFFMpegAudEnc; + +struct _GstFFMpegAudEnc +{ + GstAudioEncoder parent; + + AVCodecContext *context; + AVCodecContext *refcontext; + gboolean opened; + gboolean need_reopen; + + AVFrame *frame; + + GstAudioChannelPosition ffmpeg_layout[64]; + gboolean needs_reorder; +}; + +typedef struct _GstFFMpegAudEncClass GstFFMpegAudEncClass; + +struct _GstFFMpegAudEncClass +{ + GstAudioEncoderClass parent_class; + + AVCodec *in_plugin; + GstPadTemplate *srctempl, *sinktempl; +}; + +#define GST_TYPE_FFMPEGAUDENC \ + (gst_ffmpegaudenc_get_type()) +#define GST_FFMPEGAUDENC(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_FFMPEGAUDENC,GstFFMpegAudEnc)) +#define GST_FFMPEGAUDENC_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_FFMPEGAUDENC,GstFFMpegAudEncClass)) +#define GST_IS_FFMPEGAUDENC(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_FFMPEGAUDENC)) +#define GST_IS_FFMPEGAUDENC_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_FFMPEGAUDENC)) + +G_END_DECLS + +#endif /* __GST_FFMPEGAUDENC_H__ */ diff --git a/ext/libav/gstavcfg.c b/ext/libav/gstavcfg.c new file mode 100644 index 0000000000..c736920da5 --- /dev/null +++ b/ext/libav/gstavcfg.c @@ -0,0 +1,606 @@ +/* GStreamer + * + * FFMpeg Configuration + * + * Copyright (C) <2006> Mark Nauwelaerts + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "gstav.h" +#include "gstavvidenc.h" +#include "gstavcfg.h" + +#include +#include + +static GQuark avoption_quark; +static GHashTable *generic_overrides = NULL; + +static void +make_generic_overrides (void) +{ + g_assert (!generic_overrides); + generic_overrides = g_hash_table_new_full (g_str_hash, g_str_equal, + g_free, (GDestroyNotify) gst_structure_free); + + g_hash_table_insert (generic_overrides, g_strdup ("b"), + gst_structure_new_empty ("bitrate")); + g_hash_table_insert (generic_overrides, g_strdup ("ab"), + gst_structure_new_empty ("bitrate")); + g_hash_table_insert (generic_overrides, g_strdup ("g"), + gst_structure_new_empty ("gop-size")); + g_hash_table_insert (generic_overrides, g_strdup ("bt"), + gst_structure_new_empty ("bitrate-tolerance")); + g_hash_table_insert (generic_overrides, g_strdup ("bf"), + gst_structure_new_empty ("max-bframes")); + + /* Those are exposed through caps */ + g_hash_table_insert (generic_overrides, g_strdup ("profile"), + gst_structure_new ("profile", "skip", G_TYPE_BOOLEAN, TRUE, NULL)); + g_hash_table_insert (generic_overrides, g_strdup ("level"), + gst_structure_new ("level", "skip", G_TYPE_BOOLEAN, TRUE, NULL)); + g_hash_table_insert (generic_overrides, g_strdup ("color_primaries"), + gst_structure_new ("color_primaries", "skip", G_TYPE_BOOLEAN, TRUE, + NULL)); + g_hash_table_insert (generic_overrides, g_strdup ("color_trc"), + gst_structure_new ("color_trc", "skip", G_TYPE_BOOLEAN, TRUE, NULL)); + g_hash_table_insert (generic_overrides, g_strdup ("colorspace"), + gst_structure_new ("colorspace", "skip", G_TYPE_BOOLEAN, TRUE, NULL)); + g_hash_table_insert (generic_overrides, g_strdup ("color_range"), + gst_structure_new ("color_range", "skip", G_TYPE_BOOLEAN, TRUE, NULL)); +} + +void +gst_ffmpeg_cfg_init (void) +{ + avoption_quark = g_quark_from_static_string ("ffmpeg-cfg-param-spec-data"); + make_generic_overrides (); +} + +static gint +cmp_enum_value (GEnumValue * val1, GEnumValue * val2) +{ + return val1->value - val2->value; +} + +static GType +register_enum (const AVClass ** obj, const AVOption * top_opt) +{ + const AVOption *opt = NULL; + GType res = 0; + GArray *values = g_array_new (TRUE, TRUE, sizeof (GEnumValue)); + gchar *lower_obj_name = g_ascii_strdown ((*obj)->class_name, -1); + gchar *enum_name = g_strdup_printf ("%s-%s", lower_obj_name, top_opt->unit); + gboolean none_default = TRUE; + + g_strcanon (enum_name, G_CSET_a_2_z G_CSET_DIGITS, '-'); + + if ((res = g_type_from_name (enum_name))) + goto done; + + while ((opt = av_opt_next (obj, opt))) { + if (opt->type == AV_OPT_TYPE_CONST && !g_strcmp0 (top_opt->unit, opt->unit)) { + GEnumValue val; + + val.value = opt->default_val.i64; + val.value_name = g_strdup (opt->help ? opt->help : opt->name); + val.value_nick = g_strdup (opt->name); + + if (opt->default_val.i64 == top_opt->default_val.i64) + none_default = FALSE; + + g_array_append_val (values, val); + } + } + + if (values->len) { + guint i = 0; + gint cur_val; + gboolean cur_val_set = FALSE; + + /* Sometimes ffmpeg sets a default value but no named constants with + * this value, we assume this means "unspecified" and add our own + */ + if (none_default) { + GEnumValue val; + + val.value = top_opt->default_val.i64; + val.value_name = g_strdup ("Unspecified"); + val.value_nick = g_strdup ("unknown"); + g_array_append_val (values, val); + } + + g_array_sort (values, (GCompareFunc) cmp_enum_value); + + /* Dedup, easy once sorted + * We do this because ffmpeg can expose multiple names for the + * same constant, the way we expose enums makes this too confusing. + */ + while (i < values->len) { + if (cur_val_set) { + if (g_array_index (values, GEnumValue, i).value == cur_val) { + g_array_remove_index (values, i); + } else { + cur_val = g_array_index (values, GEnumValue, i).value; + i++; + } + } else { + cur_val = g_array_index (values, GEnumValue, i).value; + cur_val_set = TRUE; + i++; + } + } + + res = + g_enum_register_static (enum_name, &g_array_index (values, GEnumValue, + 0)); + + gst_type_mark_as_plugin_api (res, 0); + } + +done: + g_free (lower_obj_name); + g_free (enum_name); + return res; +} + +static gint +cmp_flags_value (GEnumValue * val1, GEnumValue * val2) +{ + return val1->value - val2->value; +} + +static GType +register_flags (const AVClass ** obj, const AVOption * top_opt) +{ + const AVOption *opt = NULL; + GType res = 0; + GArray *values = g_array_new (TRUE, TRUE, sizeof (GEnumValue)); + gchar *lower_obj_name = g_ascii_strdown ((*obj)->class_name, -1); + gchar *flags_name = g_strdup_printf ("%s-%s", lower_obj_name, top_opt->unit); + + g_strcanon (flags_name, G_CSET_a_2_z G_CSET_DIGITS, '-'); + + if ((res = g_type_from_name (flags_name))) + goto done; + + while ((opt = av_opt_next (obj, opt))) { + if (opt->type == AV_OPT_TYPE_CONST && !g_strcmp0 (top_opt->unit, opt->unit)) { + GFlagsValue val; + + /* We expose pass manually, hardcoding this isn't very nice, but + * I don't expect we want to do that sort of things often enough + * to warrant a general mechanism + */ + if (!g_strcmp0 (top_opt->name, "flags")) { + if (opt->default_val.i64 == AV_CODEC_FLAG_QSCALE || + opt->default_val.i64 == AV_CODEC_FLAG_PASS1 || + opt->default_val.i64 == AV_CODEC_FLAG_PASS2) { + continue; + } + } + + val.value = opt->default_val.i64; + val.value_name = g_strdup (opt->help ? opt->help : opt->name); + val.value_nick = g_strdup (opt->name); + + g_array_append_val (values, val); + } + } + + if (values->len) { + g_array_sort (values, (GCompareFunc) cmp_flags_value); + + res = + g_flags_register_static (flags_name, &g_array_index (values, + GFlagsValue, 0)); + + gst_type_mark_as_plugin_api (res, 0); + } + +done: + g_free (lower_obj_name); + g_free (flags_name); + return res; +} + +static guint +install_opts (GObjectClass * gobject_class, const AVClass ** obj, guint prop_id, + gint flags, const gchar * extra_help, GHashTable * overrides) +{ + const AVOption *opt = NULL; + + while ((opt = av_opt_next (obj, opt))) { + GParamSpec *pspec = NULL; + AVOptionRanges *r; + gdouble min = G_MINDOUBLE; + gdouble max = G_MAXDOUBLE; + gchar *help; + const gchar *name; + + if (overrides && g_hash_table_contains (overrides, opt->name)) { + gboolean skip; + const GstStructure *s = + (GstStructure *) g_hash_table_lookup (overrides, opt->name); + + name = gst_structure_get_name (s); + if (gst_structure_get_boolean (s, "skip", &skip) && skip) { + continue; + } + } else { + name = opt->name; + } + + if ((opt->flags & flags) != flags) + continue; + + if (g_object_class_find_property (gobject_class, name)) + continue; + + if (av_opt_query_ranges (&r, obj, opt->name, AV_OPT_SEARCH_FAKE_OBJ) >= 0) { + if (r->nb_ranges == 1) { + min = r->range[0]->value_min; + max = r->range[0]->value_max; + } + av_opt_freep_ranges (&r); + } + + help = g_strdup_printf ("%s%s", opt->help, extra_help); + + switch (opt->type) { + case AV_OPT_TYPE_INT: + if (opt->unit) { + GType enum_gtype; + enum_gtype = register_enum (obj, opt); + + if (enum_gtype) { + pspec = g_param_spec_enum (name, name, help, + enum_gtype, opt->default_val.i64, G_PARAM_READWRITE); + g_object_class_install_property (gobject_class, prop_id++, pspec); + } else { /* Some options have a unit but no named constants associated */ + pspec = g_param_spec_int (name, name, help, + (gint) min, (gint) max, opt->default_val.i64, + G_PARAM_READWRITE); + g_object_class_install_property (gobject_class, prop_id++, pspec); + } + } else { + pspec = g_param_spec_int (name, name, help, + (gint) min, (gint) max, opt->default_val.i64, G_PARAM_READWRITE); + g_object_class_install_property (gobject_class, prop_id++, pspec); + } + break; + case AV_OPT_TYPE_FLAGS: + if (opt->unit) { + GType flags_gtype; + flags_gtype = register_flags (obj, opt); + + if (flags_gtype) { + pspec = g_param_spec_flags (name, name, help, + flags_gtype, opt->default_val.i64, G_PARAM_READWRITE); + g_object_class_install_property (gobject_class, prop_id++, pspec); + } + } + break; + case AV_OPT_TYPE_DURATION: /* Fall through */ + case AV_OPT_TYPE_INT64: + /* FIXME 2.0: Workaround for worst property related API change. We + * continue using a 32 bit integer for the bitrate property as + * otherwise too much existing code will fail at runtime. + * + * See https://gitlab.freedesktop.org/gstreamer/gst-libav/issues/41#note_142808 */ + if (g_strcmp0 (name, "bitrate") == 0) { + pspec = g_param_spec_int (name, name, help, + (gint) MAX (min, G_MININT), (gint) MIN (max, G_MAXINT), + (gint) opt->default_val.i64, G_PARAM_READWRITE); + } else { + /* ffmpeg expresses all ranges with doubles, this is sad */ + pspec = g_param_spec_int64 (name, name, help, + (min == (gdouble) INT64_MIN ? INT64_MIN : (gint64) min), + (max == (gdouble) INT64_MAX ? INT64_MAX : (gint64) max), + opt->default_val.i64, G_PARAM_READWRITE); + } + g_object_class_install_property (gobject_class, prop_id++, pspec); + break; + case AV_OPT_TYPE_DOUBLE: + pspec = g_param_spec_double (name, name, help, + min, max, opt->default_val.dbl, G_PARAM_READWRITE); + g_object_class_install_property (gobject_class, prop_id++, pspec); + break; + case AV_OPT_TYPE_FLOAT: + pspec = g_param_spec_float (name, name, help, + (gfloat) min, (gfloat) max, (gfloat) opt->default_val.dbl, + G_PARAM_READWRITE); + g_object_class_install_property (gobject_class, prop_id++, pspec); + break; + case AV_OPT_TYPE_STRING: + pspec = g_param_spec_string (name, name, help, + opt->default_val.str, G_PARAM_READWRITE); + g_object_class_install_property (gobject_class, prop_id++, pspec); + break; + case AV_OPT_TYPE_UINT64: + /* ffmpeg expresses all ranges with doubles, this is appalling */ + pspec = g_param_spec_uint64 (name, name, help, + (guint64) (min <= (gdouble) 0 ? 0 : (guint64) min), + (guint64) (max >= + /* Biggest value before UINT64_MAX that can be represented as double */ + (gdouble) 18446744073709550000.0 ? + /* The Double conversion rounds UINT64_MAX to a bigger */ + /* value, so the following smaller limit must be used. */ + G_GUINT64_CONSTANT (18446744073709550000) : (guint64) max), + opt->default_val.i64, G_PARAM_READWRITE); + g_object_class_install_property (gobject_class, prop_id++, pspec); + break; + case AV_OPT_TYPE_BOOL: + pspec = g_param_spec_boolean (name, name, help, + opt->default_val.i64 ? TRUE : FALSE, G_PARAM_READWRITE); + g_object_class_install_property (gobject_class, prop_id++, pspec); + break; + /* TODO: didn't find options for the video encoders with + * the following type, add support if needed */ + case AV_OPT_TYPE_CHANNEL_LAYOUT: + case AV_OPT_TYPE_COLOR: + case AV_OPT_TYPE_VIDEO_RATE: + case AV_OPT_TYPE_SAMPLE_FMT: + case AV_OPT_TYPE_PIXEL_FMT: + case AV_OPT_TYPE_IMAGE_SIZE: + case AV_OPT_TYPE_DICT: + case AV_OPT_TYPE_BINARY: + case AV_OPT_TYPE_RATIONAL: + default: + break; + } + + g_free (help); + + if (pspec) { + g_param_spec_set_qdata (pspec, avoption_quark, (gpointer) opt); + } + } + + return prop_id; +} + +void +gst_ffmpeg_cfg_install_properties (GObjectClass * klass, AVCodec * in_plugin, + guint base, gint flags) +{ + gint prop_id; + AVCodecContext *ctx; + + prop_id = base; + g_return_if_fail (base > 0); + + ctx = avcodec_alloc_context3 (in_plugin); + if (!ctx) + g_warning ("could not get context"); + + prop_id = + install_opts ((GObjectClass *) klass, &in_plugin->priv_class, prop_id, 0, + " (Private codec option)", NULL); + prop_id = + install_opts ((GObjectClass *) klass, &ctx->av_class, prop_id, flags, + " (Generic codec option, might have no effect)", generic_overrides); + + if (ctx) { + gst_ffmpeg_avcodec_close (ctx); + av_free (ctx); + } +} + +static gint +set_option_value (AVCodecContext * ctx, GParamSpec * pspec, + const GValue * value, const AVOption * opt) +{ + int res = -1; + + switch (G_PARAM_SPEC_VALUE_TYPE (pspec)) { + case G_TYPE_INT: + res = av_opt_set_int (ctx, opt->name, + g_value_get_int (value), AV_OPT_SEARCH_CHILDREN); + break; + case G_TYPE_INT64: + res = av_opt_set_int (ctx, opt->name, + g_value_get_int64 (value), AV_OPT_SEARCH_CHILDREN); + break; + case G_TYPE_UINT64: + res = av_opt_set_int (ctx, opt->name, + g_value_get_uint64 (value), AV_OPT_SEARCH_CHILDREN); + break; + case G_TYPE_DOUBLE: + res = av_opt_set_double (ctx, opt->name, + g_value_get_double (value), AV_OPT_SEARCH_CHILDREN); + break; + case G_TYPE_FLOAT: + res = av_opt_set_double (ctx, opt->name, + g_value_get_float (value), AV_OPT_SEARCH_CHILDREN); + break; + case G_TYPE_STRING: + res = av_opt_set (ctx, opt->name, + g_value_get_string (value), AV_OPT_SEARCH_CHILDREN); + /* Some code in FFmpeg returns ENOMEM if the string is NULL: + * *dst = av_strdup(val); + * return *dst ? 0 : AVERROR(ENOMEM); + * That makes little sense, let's ignore that + */ + if (!g_value_get_string (value)) + res = 0; + break; + case G_TYPE_BOOLEAN: + res = av_opt_set_int (ctx, opt->name, + g_value_get_boolean (value), AV_OPT_SEARCH_CHILDREN); + break; + default: + if (G_IS_PARAM_SPEC_ENUM (pspec)) { + res = av_opt_set_int (ctx, opt->name, + g_value_get_enum (value), AV_OPT_SEARCH_CHILDREN); + } else if (G_IS_PARAM_SPEC_FLAGS (pspec)) { + res = av_opt_set_int (ctx, opt->name, + g_value_get_flags (value), AV_OPT_SEARCH_CHILDREN); + } else { /* oops, bit lazy we don't cover this case yet */ + g_critical ("%s does not yet support type %s", GST_FUNCTION, + g_type_name (G_PARAM_SPEC_VALUE_TYPE (pspec))); + } + } + + return res; +} + +gboolean +gst_ffmpeg_cfg_set_property (AVCodecContext * refcontext, const GValue * value, + GParamSpec * pspec) +{ + const AVOption *opt; + + opt = g_param_spec_get_qdata (pspec, avoption_quark); + + if (!opt) + return FALSE; + + return set_option_value (refcontext, pspec, value, opt) >= 0; +} + +gboolean +gst_ffmpeg_cfg_get_property (AVCodecContext * refcontext, GValue * value, + GParamSpec * pspec) +{ + const AVOption *opt; + int res = -1; + + opt = g_param_spec_get_qdata (pspec, avoption_quark); + + if (!opt) + return FALSE; + + switch (G_PARAM_SPEC_VALUE_TYPE (pspec)) { + case G_TYPE_INT: + { + int64_t val; + if ((res = av_opt_get_int (refcontext, opt->name, + AV_OPT_SEARCH_CHILDREN, &val) >= 0)) + g_value_set_int (value, val); + break; + } + case G_TYPE_INT64: + { + int64_t val; + if ((res = av_opt_get_int (refcontext, opt->name, + AV_OPT_SEARCH_CHILDREN, &val) >= 0)) + g_value_set_int64 (value, val); + break; + } + case G_TYPE_UINT64: + { + int64_t val; + if ((res = av_opt_get_int (refcontext, opt->name, + AV_OPT_SEARCH_CHILDREN, &val) >= 0)) + g_value_set_uint64 (value, val); + break; + } + case G_TYPE_DOUBLE: + { + gdouble val; + if ((res = av_opt_get_double (refcontext, opt->name, + AV_OPT_SEARCH_CHILDREN, &val) >= 0)) + g_value_set_double (value, val); + break; + } + case G_TYPE_FLOAT: + { + gdouble val; + if ((res = av_opt_get_double (refcontext, opt->name, + AV_OPT_SEARCH_CHILDREN, &val) >= 0)) + g_value_set_float (value, (gfloat) val); + break; + } + case G_TYPE_STRING: + { + uint8_t *val; + if ((res = av_opt_get (refcontext, opt->name, + AV_OPT_SEARCH_CHILDREN | AV_OPT_ALLOW_NULL, &val) >= 0)) { + g_value_set_string (value, (gchar *) val); + } + break; + } + case G_TYPE_BOOLEAN: + { + int64_t val; + if ((res = av_opt_get_int (refcontext, opt->name, + AV_OPT_SEARCH_CHILDREN, &val) >= 0)) + g_value_set_boolean (value, val ? TRUE : FALSE); + break; + } + default: + if (G_IS_PARAM_SPEC_ENUM (pspec)) { + int64_t val; + + if ((res = av_opt_get_int (refcontext, opt->name, + AV_OPT_SEARCH_CHILDREN, &val) >= 0)) + g_value_set_enum (value, val); + } else if (G_IS_PARAM_SPEC_FLAGS (pspec)) { + int64_t val; + + if ((res = av_opt_get_int (refcontext, opt->name, + AV_OPT_SEARCH_CHILDREN, &val) >= 0)) + g_value_set_flags (value, val); + } else { /* oops, bit lazy we don't cover this case yet */ + g_critical ("%s does not yet support type %s", GST_FUNCTION, + g_type_name (G_PARAM_SPEC_VALUE_TYPE (pspec))); + } + } + + return res >= 0; +} + +void +gst_ffmpeg_cfg_fill_context (GObject * object, AVCodecContext * context) +{ + GParamSpec **pspecs; + guint num_props, i; + + pspecs = g_object_class_list_properties (G_OBJECT_GET_CLASS (object), + &num_props); + + for (i = 0; i < num_props; ++i) { + GParamSpec *pspec = pspecs[i]; + const AVOption *opt; + GValue value = G_VALUE_INIT; + + opt = g_param_spec_get_qdata (pspec, avoption_quark); + + if (!opt) + continue; + + g_value_init (&value, G_PARAM_SPEC_VALUE_TYPE (pspec)); + g_object_get_property (object, pspec->name, &value); + set_option_value (context, pspec, &value, opt); + g_value_unset (&value); + } + g_free (pspecs); +} + +void +gst_ffmpeg_cfg_finalize (void) +{ + GST_ERROR ("Finalizing"); + g_assert (generic_overrides); + g_hash_table_unref (generic_overrides); +} diff --git a/ext/libav/gstavcfg.h b/ext/libav/gstavcfg.h new file mode 100644 index 0000000000..e8bc88279f --- /dev/null +++ b/ext/libav/gstavcfg.h @@ -0,0 +1,45 @@ +/* GStreamer + * Copyright (C) <2006> Mark Nauwelaerts + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + + +#ifndef __GST_FFMPEGCFG_H__ +#define __GST_FFMPEGCFG_H__ + +#include +#include + +G_BEGIN_DECLS + +void gst_ffmpeg_cfg_init (void); + +void gst_ffmpeg_cfg_install_properties (GObjectClass * klass, AVCodec *in_plugin, guint base, gint flags); + +gboolean gst_ffmpeg_cfg_set_property (AVCodecContext *refcontext, + const GValue * value, GParamSpec * pspec); + +gboolean gst_ffmpeg_cfg_get_property (AVCodecContext *refcontext, + GValue * value, GParamSpec * pspec); + +void gst_ffmpeg_cfg_fill_context (GObject *object, AVCodecContext * context); +void gst_ffmpeg_cfg_finalize (void); + +G_END_DECLS + + +#endif /* __GST_FFMPEGCFG_H__ */ diff --git a/ext/libav/gstavcodecmap.c b/ext/libav/gstavcodecmap.c new file mode 100644 index 0000000000..ebd4e0490c --- /dev/null +++ b/ext/libav/gstavcodecmap.c @@ -0,0 +1,4419 @@ +/* GStreamer + * Copyright (C) <1999> Erik Walthinsen + * This file: + * Copyright (c) 2002-2004 Ronald Bultje + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include +#include +#include + +#include "gstav.h" +#include "gstavcodecmap.h" + +#include +#include +#include + +/* IMPORTANT: Keep this sorted by the ffmpeg channel masks */ +static const struct +{ + guint64 ff; + GstAudioChannelPosition gst; +} _ff_to_gst_layout[] = { + { + AV_CH_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT}, { + AV_CH_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT}, { + AV_CH_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER}, { + AV_CH_LOW_FREQUENCY, GST_AUDIO_CHANNEL_POSITION_LFE1}, { + AV_CH_BACK_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT}, { + AV_CH_BACK_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT}, { + AV_CH_FRONT_LEFT_OF_CENTER, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER}, { + AV_CH_FRONT_RIGHT_OF_CENTER, + GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER}, { + AV_CH_BACK_CENTER, GST_AUDIO_CHANNEL_POSITION_REAR_CENTER}, { + AV_CH_SIDE_LEFT, GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT}, { + AV_CH_SIDE_RIGHT, GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT}, { + AV_CH_TOP_CENTER, GST_AUDIO_CHANNEL_POSITION_TOP_CENTER}, { + AV_CH_TOP_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_TOP_FRONT_LEFT}, { + AV_CH_TOP_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_TOP_FRONT_CENTER}, { + AV_CH_TOP_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_TOP_FRONT_RIGHT}, { + AV_CH_TOP_BACK_LEFT, GST_AUDIO_CHANNEL_POSITION_TOP_REAR_LEFT}, { + AV_CH_TOP_BACK_CENTER, GST_AUDIO_CHANNEL_POSITION_TOP_REAR_CENTER}, { + AV_CH_TOP_BACK_RIGHT, GST_AUDIO_CHANNEL_POSITION_TOP_REAR_RIGHT}, { + AV_CH_STEREO_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT}, { + AV_CH_STEREO_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT} +}; + +static guint64 +gst_ffmpeg_channel_positions_to_layout (GstAudioChannelPosition * pos, + gint channels) +{ + gint i, j; + guint64 ret = 0; + gint channels_found = 0; + + if (!pos) + return 0; + + if (channels == 1 && pos[0] == GST_AUDIO_CHANNEL_POSITION_MONO) + return AV_CH_LAYOUT_MONO; + + for (i = 0; i < channels; i++) { + for (j = 0; j < G_N_ELEMENTS (_ff_to_gst_layout); j++) { + if (_ff_to_gst_layout[j].gst == pos[i]) { + ret |= _ff_to_gst_layout[j].ff; + channels_found++; + break; + } + } + } + + if (channels_found != channels) + return 0; + return ret; +} + +gboolean +gst_ffmpeg_channel_layout_to_gst (guint64 channel_layout, gint channels, + GstAudioChannelPosition * pos) +{ + guint nchannels = 0; + gboolean none_layout = FALSE; + + if (channel_layout == 0 || channels > 64) { + nchannels = channels; + none_layout = TRUE; + } else { + guint i, j; + + /* Special path for mono, as AV_CH_LAYOUT_MONO is the same + * as FRONT_CENTER but we distinguish between the two in + * GStreamer + */ + if (channels == 1 && channel_layout == AV_CH_LAYOUT_MONO) { + pos[0] = GST_AUDIO_CHANNEL_POSITION_MONO; + return TRUE; + } + + for (i = 0; i < 64; i++) { + if ((channel_layout & (G_GUINT64_CONSTANT (1) << i)) != 0) { + nchannels++; + } + } + + if (nchannels != channels) { + GST_ERROR ("Number of channels is different (%u != %u)", channels, + nchannels); + nchannels = channels; + none_layout = TRUE; + } else { + + for (i = 0, j = 0; i < G_N_ELEMENTS (_ff_to_gst_layout); i++) { + if ((channel_layout & _ff_to_gst_layout[i].ff) != 0) { + pos[j++] = _ff_to_gst_layout[i].gst; + + if (_ff_to_gst_layout[i].gst == GST_AUDIO_CHANNEL_POSITION_NONE) + none_layout = TRUE; + } + } + + if (j != nchannels) { + GST_WARNING + ("Unknown channels in channel layout - assuming NONE layout"); + none_layout = TRUE; + } + } + } + + if (!none_layout + && !gst_audio_check_valid_channel_positions (pos, nchannels, FALSE)) { + GST_ERROR ("Invalid channel layout %" G_GUINT64_FORMAT + " - assuming NONE layout", channel_layout); + none_layout = TRUE; + } + + if (none_layout) { + if (nchannels == 1) { + pos[0] = GST_AUDIO_CHANNEL_POSITION_MONO; + } else if (nchannels == 2) { + pos[0] = GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT; + pos[1] = GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT; + } else { + guint i; + + for (i = 0; i < nchannels && i < 64; i++) + pos[i] = GST_AUDIO_CHANNEL_POSITION_NONE; + } + } + + return TRUE; +} + +static gboolean +_gst_value_list_contains (const GValue * list, const GValue * value) +{ + guint i, n; + const GValue *tmp; + + n = gst_value_list_get_size (list); + for (i = 0; i < n; i++) { + tmp = gst_value_list_get_value (list, i); + if (gst_value_compare (value, tmp) == GST_VALUE_EQUAL) + return TRUE; + } + + return FALSE; +} + +static void +gst_ffmpeg_video_set_pix_fmts (GstCaps * caps, const enum AVPixelFormat *fmts) +{ + GValue va = { 0, }; + GValue v = { 0, }; + GstVideoFormat format; + + if (!fmts || fmts[0] == -1) { + gint i; + + g_value_init (&va, GST_TYPE_LIST); + g_value_init (&v, G_TYPE_STRING); + for (i = 0; i <= AV_PIX_FMT_NB; i++) { + format = gst_ffmpeg_pixfmt_to_videoformat (i); + if (format == GST_VIDEO_FORMAT_UNKNOWN) + continue; + g_value_set_string (&v, gst_video_format_to_string (format)); + gst_value_list_append_value (&va, &v); + } + gst_caps_set_value (caps, "format", &va); + g_value_unset (&v); + g_value_unset (&va); + return; + } + + /* Only a single format */ + g_value_init (&va, GST_TYPE_LIST); + g_value_init (&v, G_TYPE_STRING); + while (*fmts != -1) { + format = gst_ffmpeg_pixfmt_to_videoformat (*fmts); + if (format != GST_VIDEO_FORMAT_UNKNOWN) { + g_value_set_string (&v, gst_video_format_to_string (format)); + /* Only append values we don't have yet */ + if (!_gst_value_list_contains (&va, &v)) + gst_value_list_append_value (&va, &v); + } + fmts++; + } + if (gst_value_list_get_size (&va) == 1) { + /* The single value is still in v */ + gst_caps_set_value (caps, "format", &v); + } else if (gst_value_list_get_size (&va) > 1) { + gst_caps_set_value (caps, "format", &va); + } + g_value_unset (&v); + g_value_unset (&va); +} + +/* this macro makes a caps width fixed or unfixed width/height + * properties depending on whether we've got a context. + * + * See below for why we use this. + * + * We should actually do this stuff at the end, like in riff-media.c, + * but I'm too lazy today. Maybe later. + */ +static GstCaps * +gst_ff_vid_caps_new (AVCodecContext * context, AVCodec * codec, + enum AVCodecID codec_id, gboolean encode, const char *mimetype, + const char *fieldname, ...) +{ + GstCaps *caps = NULL; + va_list var_args; + gint i; + + GST_LOG ("context:%p, codec_id:%d, mimetype:%s", context, codec_id, mimetype); + + /* fixed, non probing context */ + if (context != NULL && context->width != -1) { + gint num, denom; + + caps = gst_caps_new_simple (mimetype, + "width", G_TYPE_INT, context->width, + "height", G_TYPE_INT, context->height, NULL); + + num = context->framerate.num; + denom = context->framerate.den; + + if (!denom) { + GST_LOG ("invalid framerate: %d/0, -> %d/1", num, num); + denom = 1; + } + if (gst_util_fraction_compare (num, denom, 1000, 1) > 0) { + GST_LOG ("excessive framerate: %d/%d, -> 0/1", num, denom); + num = 0; + denom = 1; + } + GST_LOG ("setting framerate: %d/%d", num, denom); + gst_caps_set_simple (caps, + "framerate", GST_TYPE_FRACTION, num, denom, NULL); + } else if (encode) { + /* so we are after restricted caps in this case */ + switch (codec_id) { + case AV_CODEC_ID_H261: + { + caps = gst_caps_new_simple (mimetype, + "width", G_TYPE_INT, 352, + "height", G_TYPE_INT, 288, + "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL); + gst_caps_append (caps, gst_caps_new_simple (mimetype, + "width", G_TYPE_INT, 176, + "height", G_TYPE_INT, 144, + "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL)); + break; + } + case AV_CODEC_ID_H263: + { + /* 128x96, 176x144, 352x288, 704x576, and 1408x1152. slightly reordered + * because we want automatic negotiation to go as close to 320x240 as + * possible. */ + const static gint widths[] = { 352, 704, 176, 1408, 128 }; + const static gint heights[] = { 288, 576, 144, 1152, 96 }; + GstCaps *temp; + gint n_sizes = G_N_ELEMENTS (widths); + + caps = gst_caps_new_empty (); + for (i = 0; i < n_sizes; i++) { + temp = gst_caps_new_simple (mimetype, + "width", G_TYPE_INT, widths[i], + "height", G_TYPE_INT, heights[i], + "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL); + + gst_caps_append (caps, temp); + } + break; + } + case AV_CODEC_ID_DVVIDEO: + { + static struct + { + const gchar *csp; + gint width, height; + gint par_n, par_d; + gint framerate_n, framerate_d; + } profiles[] = { + { + "Y41B", 720, 480, 8, 9, 30000, 1001}, { + "Y41B", 720, 480, 32, 27, 30000, 1001}, { + "Y42B", 720, 480, 8, 9, 30000, 1001}, { + "Y42B", 720, 480, 32, 27, 30000, 1001}, { + "I420", 720, 576, 16, 15, 25, 1}, { + "I420", 720, 576, 64, 45, 25, 1}, { + "Y41B", 720, 576, 16, 15, 25, 1}, { + "Y41B", 720, 576, 64, 45, 25, 1}, { + "Y42B", 720, 576, 16, 15, 25, 1}, { + "Y42B", 720, 576, 64, 45, 25, 1}, { + "Y42B", 1280, 1080, 1, 1, 30000, 1001}, { + "Y42B", 1280, 1080, 3, 2, 30000, 1001}, { + "Y42B", 1440, 1080, 1, 1, 25, 1}, { + "Y42B", 1440, 1080, 4, 3, 25, 1}, { + "Y42B", 960, 720, 1, 1, 60000, 1001}, { + "Y42B", 960, 720, 4, 3, 60000, 1001}, { + "Y42B", 960, 720, 1, 1, 50, 1}, { + "Y42B", 960, 720, 4, 3, 50, 1},}; + GstCaps *temp; + gint n_sizes = G_N_ELEMENTS (profiles); + + if (strcmp (mimetype, "video/x-raw") == 0) { + caps = gst_caps_new_empty (); + for (i = 0; i < n_sizes; i++) { + temp = gst_caps_new_simple (mimetype, + "format", G_TYPE_STRING, profiles[i].csp, + "width", G_TYPE_INT, profiles[i].width, + "height", G_TYPE_INT, profiles[i].height, + "framerate", GST_TYPE_FRACTION, profiles[i].framerate_n, + profiles[i].framerate_d, "pixel-aspect-ratio", + GST_TYPE_FRACTION, profiles[i].par_n, profiles[i].par_d, NULL); + + gst_caps_append (caps, temp); + } + } else { + caps = gst_caps_new_empty (); + for (i = 0; i < n_sizes; i++) { + temp = gst_caps_new_simple (mimetype, + "width", G_TYPE_INT, profiles[i].width, + "height", G_TYPE_INT, profiles[i].height, + "framerate", GST_TYPE_FRACTION, profiles[i].framerate_n, + profiles[i].framerate_d, "pixel-aspect-ratio", + GST_TYPE_FRACTION, profiles[i].par_n, profiles[i].par_d, NULL); + + gst_caps_append (caps, temp); + } + } + break; + } + case AV_CODEC_ID_DNXHD: + { + caps = gst_caps_new_simple (mimetype, + "width", G_TYPE_INT, 1920, + "height", G_TYPE_INT, 1080, + "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL); + gst_caps_append (caps, gst_caps_new_simple (mimetype, + "width", G_TYPE_INT, 1280, + "height", G_TYPE_INT, 720, + "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL)); + break; + } + default: + { + if (codec && codec->supported_framerates + && codec->supported_framerates[0].num != 0 + && codec->supported_framerates[0].den != 0) { + GValue va = { 0, }; + GValue v = { 0, }; + const AVRational *rates = codec->supported_framerates; + + if (rates[1].num == 0 && rates[1].den == 0) { + caps = + gst_caps_new_simple (mimetype, "framerate", GST_TYPE_FRACTION, + rates[0].num, rates[0].den, NULL); + } else { + g_value_init (&va, GST_TYPE_LIST); + g_value_init (&v, GST_TYPE_FRACTION); + + while (rates->num != 0 && rates->den != 0) { + gst_value_set_fraction (&v, rates->num, rates->den); + gst_value_list_append_value (&va, &v); + rates++; + } + + caps = gst_caps_new_simple (mimetype, NULL, NULL, NULL); + gst_caps_set_value (caps, "framerate", &va); + g_value_unset (&va); + g_value_unset (&v); + } + + } else { + caps = gst_caps_new_empty_simple (mimetype); + } + + break; + } + } + } + + /* no fixed caps or special restrictions applied; + * default unfixed setting */ + if (!caps) { + GST_DEBUG ("Creating default caps"); + caps = gst_caps_new_empty_simple (mimetype); + } + + va_start (var_args, fieldname); + gst_caps_set_simple_valist (caps, fieldname, var_args); + va_end (var_args); + + return caps; +} + +static gint +get_nbits_set (guint64 n) +{ + gint i, x; + + x = 0; + for (i = 0; i < 64; i++) { + if ((n & (G_GUINT64_CONSTANT (1) << i))) + x++; + } + + return x; +} + +static void +gst_ffmpeg_audio_set_sample_fmts (GstCaps * caps, + const enum AVSampleFormat *fmts, gboolean always_interleaved) +{ + GValue va = { 0, }; + GValue vap = { 0, }; + GValue v = { 0, }; + GstAudioFormat format; + GstAudioLayout layout; + GstCaps *caps_copy = NULL; + + if (!fmts || fmts[0] == -1) { + gint i; + + g_value_init (&va, GST_TYPE_LIST); + g_value_init (&v, G_TYPE_STRING); + for (i = 0; i <= AV_SAMPLE_FMT_DBL; i++) { + format = gst_ffmpeg_smpfmt_to_audioformat (i, NULL); + if (format == GST_AUDIO_FORMAT_UNKNOWN) + continue; + g_value_set_string (&v, gst_audio_format_to_string (format)); + gst_value_list_append_value (&va, &v); + } + gst_caps_set_value (caps, "format", &va); + if (!always_interleaved) { + g_value_init (&vap, GST_TYPE_LIST); + g_value_set_string (&v, "interleaved"); + gst_value_list_append_value (&vap, &v); + g_value_set_string (&v, "non-interleaved"); + gst_value_list_append_value (&vap, &v); + gst_caps_set_value (caps, "layout", &vap); + g_value_unset (&vap); + } else { + gst_caps_set_simple (caps, "layout", G_TYPE_STRING, "interleaved", NULL); + } + g_value_unset (&v); + g_value_unset (&va); + return; + } + + g_value_init (&va, GST_TYPE_LIST); + g_value_init (&vap, GST_TYPE_LIST); + g_value_init (&v, G_TYPE_STRING); + while (*fmts != -1) { + format = gst_ffmpeg_smpfmt_to_audioformat (*fmts, &layout); + if (format != GST_AUDIO_FORMAT_UNKNOWN) { + g_value_set_string (&v, gst_audio_format_to_string (format)); + /* Only append values we don't have yet */ + if (layout == GST_AUDIO_LAYOUT_INTERLEAVED || always_interleaved) { + if (!_gst_value_list_contains (&va, &v)) + gst_value_list_append_value (&va, &v); + } else { + if (!_gst_value_list_contains (&vap, &v)) + gst_value_list_append_value (&vap, &v); + } + } + fmts++; + } + if (gst_value_list_get_size (&va) >= 1 && gst_value_list_get_size (&vap) >= 1) { + caps_copy = gst_caps_copy (caps); + } + if (gst_value_list_get_size (&va) == 1) { + gst_caps_set_value (caps, "format", gst_value_list_get_value (&va, 0)); + gst_caps_set_simple (caps, "layout", G_TYPE_STRING, "interleaved", NULL); + } else if (gst_value_list_get_size (&va) > 1) { + gst_caps_set_value (caps, "format", &va); + gst_caps_set_simple (caps, "layout", G_TYPE_STRING, "interleaved", NULL); + } + if (gst_value_list_get_size (&vap) == 1) { + gst_caps_set_value (caps_copy ? caps_copy : caps, "format", + gst_value_list_get_value (&vap, 0)); + gst_caps_set_simple (caps_copy ? caps_copy : caps, "layout", G_TYPE_STRING, + "non-interleaved", NULL); + } else if (gst_value_list_get_size (&vap) > 1) { + gst_caps_set_value (caps_copy ? caps_copy : caps, "format", &vap); + gst_caps_set_simple (caps_copy ? caps_copy : caps, "layout", G_TYPE_STRING, + "non-interleaved", NULL); + } + if (caps_copy) { + gst_caps_append (caps, caps_copy); + } + g_value_unset (&v); + g_value_unset (&va); + g_value_unset (&vap); +} + +/* same for audio - now with channels/sample rate + */ +static GstCaps * +gst_ff_aud_caps_new (AVCodecContext * context, AVCodec * codec, + enum AVCodecID codec_id, gboolean encode, const char *mimetype, + const char *fieldname, ...) +{ + GstCaps *caps = NULL; + gint i; + va_list var_args; + + /* fixed, non-probing context */ + if (context != NULL && context->channels != -1) { + GstAudioChannelPosition pos[64]; + guint64 mask; + + caps = gst_caps_new_simple (mimetype, + "rate", G_TYPE_INT, context->sample_rate, + "channels", G_TYPE_INT, context->channels, NULL); + + if (context->channels > 1 && + gst_ffmpeg_channel_layout_to_gst (context->channel_layout, + context->channels, pos) && + gst_audio_channel_positions_to_mask (pos, context->channels, FALSE, + &mask)) { + gst_caps_set_simple (caps, "channel-mask", GST_TYPE_BITMASK, mask, NULL); + } + } else if (encode) { + gint maxchannels = 2; + const gint *rates = NULL; + gint n_rates = 0; + + /* so we must be after restricted caps in this case */ + switch (codec_id) { + case AV_CODEC_ID_AAC: + case AV_CODEC_ID_AAC_LATM: + case AV_CODEC_ID_DTS: + maxchannels = 6; + break; + case AV_CODEC_ID_MP2: + { + const static gint l_rates[] = + { 48000, 44100, 32000, 24000, 22050, 16000 }; + n_rates = G_N_ELEMENTS (l_rates); + rates = l_rates; + break; + } + case AV_CODEC_ID_EAC3: + case AV_CODEC_ID_AC3: + { + const static gint l_rates[] = { 48000, 44100, 32000 }; + maxchannels = 6; + n_rates = G_N_ELEMENTS (l_rates); + rates = l_rates; + break; + } + case AV_CODEC_ID_ADPCM_G722: + { + const static gint l_rates[] = { 16000 }; + n_rates = G_N_ELEMENTS (l_rates); + rates = l_rates; + maxchannels = 1; + break; + } + case AV_CODEC_ID_ADPCM_G726: + { + const static gint l_rates[] = { 8000 }; + n_rates = G_N_ELEMENTS (l_rates); + rates = l_rates; + maxchannels = 1; + break; + } + case AV_CODEC_ID_ADPCM_SWF: + { + const static gint l_rates[] = { 11025, 22050, 44100 }; + n_rates = G_N_ELEMENTS (l_rates); + rates = l_rates; + break; + } + case AV_CODEC_ID_ROQ_DPCM: + { + const static gint l_rates[] = { 22050 }; + n_rates = G_N_ELEMENTS (l_rates); + rates = l_rates; + break; + } + case AV_CODEC_ID_AMR_NB: + { + const static gint l_rates[] = { 8000 }; + maxchannels = 1; + n_rates = G_N_ELEMENTS (l_rates); + rates = l_rates; + break; + } + case AV_CODEC_ID_AMR_WB: + { + const static gint l_rates[] = { 16000 }; + maxchannels = 1; + n_rates = G_N_ELEMENTS (l_rates); + rates = l_rates; + break; + } + default: + break; + } + + /* regardless of encode/decode, open up channels if applicable */ + /* Until decoders/encoders expose the maximum number of channels + * they support, we whitelist them here. */ + switch (codec_id) { + case AV_CODEC_ID_WMAPRO: + case AV_CODEC_ID_TRUEHD: + maxchannels = 8; + break; + default: + break; + } + + if (codec && codec->channel_layouts) { + const uint64_t *layouts = codec->channel_layouts; + GstAudioChannelPosition pos[64]; + + caps = gst_caps_new_empty (); + while (*layouts) { + gint nbits_set = get_nbits_set (*layouts); + + if (gst_ffmpeg_channel_layout_to_gst (*layouts, nbits_set, pos)) { + guint64 mask; + + if (gst_audio_channel_positions_to_mask (pos, nbits_set, FALSE, + &mask)) { + GstStructure *s = + gst_structure_new (mimetype, "channels", G_TYPE_INT, nbits_set, + NULL); + + /* No need to require a channel mask for mono or stereo */ + if (!(nbits_set == 1 && pos[0] == GST_AUDIO_CHANNEL_POSITION_MONO) + && !(nbits_set == 2 + && pos[0] == GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT + && pos[1] == GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT)) + gst_structure_set (s, "channel-mask", GST_TYPE_BITMASK, mask, + NULL); + + gst_caps_append_structure (caps, s); + } + } + layouts++; + } + } else { + if (maxchannels == 1) + caps = gst_caps_new_simple (mimetype, + "channels", G_TYPE_INT, maxchannels, NULL); + else + caps = gst_caps_new_simple (mimetype, + "channels", GST_TYPE_INT_RANGE, 1, maxchannels, NULL); + } + + if (n_rates) { + GValue list = { 0, }; + + g_value_init (&list, GST_TYPE_LIST); + for (i = 0; i < n_rates; i++) { + GValue v = { 0, }; + + g_value_init (&v, G_TYPE_INT); + g_value_set_int (&v, rates[i]); + gst_value_list_append_value (&list, &v); + g_value_unset (&v); + } + gst_caps_set_value (caps, "rate", &list); + g_value_unset (&list); + } else if (codec && codec->supported_samplerates + && codec->supported_samplerates[0]) { + GValue va = { 0, }; + GValue v = { 0, }; + + if (!codec->supported_samplerates[1]) { + gst_caps_set_simple (caps, "rate", G_TYPE_INT, + codec->supported_samplerates[0], NULL); + } else { + const int *rates = codec->supported_samplerates; + + g_value_init (&va, GST_TYPE_LIST); + g_value_init (&v, G_TYPE_INT); + + while (*rates) { + g_value_set_int (&v, *rates); + gst_value_list_append_value (&va, &v); + rates++; + } + gst_caps_set_value (caps, "rate", &va); + g_value_unset (&va); + g_value_unset (&v); + } + } else { + gst_caps_set_simple (caps, "rate", GST_TYPE_INT_RANGE, 4000, 96000, NULL); + } + } else { + caps = gst_caps_new_empty_simple (mimetype); + } + + va_start (var_args, fieldname); + gst_caps_set_simple_valist (caps, fieldname, var_args); + va_end (var_args); + + return caps; +} + +/* Check if the given codec ID is an image format -- for now this is just + * anything whose caps is image/... */ +gboolean +gst_ffmpeg_codecid_is_image (enum AVCodecID codec_id) +{ + switch (codec_id) { + case AV_CODEC_ID_MJPEG: + case AV_CODEC_ID_LJPEG: + case AV_CODEC_ID_GIF: + case AV_CODEC_ID_PPM: + case AV_CODEC_ID_PBM: + case AV_CODEC_ID_PCX: + case AV_CODEC_ID_SGI: + case AV_CODEC_ID_TARGA: + case AV_CODEC_ID_TIFF: + case AV_CODEC_ID_SUNRAST: + case AV_CODEC_ID_BMP: + return TRUE; + + default: + return FALSE; + } +} + +/* Convert a FFMPEG codec ID and optional AVCodecContext + * to a GstCaps. If the context is ommitted, no fixed values + * for video/audio size will be included in the GstCaps + * + * CodecID is primarily meant for compressed data GstCaps! + * + * encode is a special parameter. gstffmpegdec will say + * FALSE, gstffmpegenc will say TRUE. The output caps + * depends on this, in such a way that it will be very + * specific, defined, fixed and correct caps for encoders, + * yet very wide, "forgiving" caps for decoders. Example + * for mp3: decode: audio/mpeg,mpegversion=1,layer=[1-3] + * but encode: audio/mpeg,mpegversion=1,layer=3,bitrate=x, + * rate=x,channels=x. + */ + +GstCaps * +gst_ffmpeg_codecid_to_caps (enum AVCodecID codec_id, + AVCodecContext * context, gboolean encode) +{ + GstCaps *caps = NULL; + gboolean buildcaps = FALSE; + + GST_LOG ("codec_id:%d, context:%p, encode:%d", codec_id, context, encode); + + switch (codec_id) { + case AV_CODEC_ID_MPEG1VIDEO: + /* FIXME: bitrate */ + caps = gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/mpeg", + "mpegversion", G_TYPE_INT, 1, + "systemstream", G_TYPE_BOOLEAN, FALSE, NULL); + break; + + case AV_CODEC_ID_MPEG2VIDEO: + if (encode) { + /* FIXME: bitrate */ + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/mpeg", + "mpegversion", G_TYPE_INT, 2, "systemstream", G_TYPE_BOOLEAN, FALSE, + NULL); + } else { + /* decode both MPEG-1 and MPEG-2; width/height/fps are all in + * the MPEG video stream headers, so may be omitted from caps. */ + caps = gst_caps_new_simple ("video/mpeg", + "mpegversion", GST_TYPE_INT_RANGE, 1, 2, + "systemstream", G_TYPE_BOOLEAN, FALSE, NULL); + } + break; + + case AV_CODEC_ID_H263: + if (encode) { + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-h263", "variant", G_TYPE_STRING, "itu", "h263version", + G_TYPE_STRING, "h263", NULL); + } else { + /* don't pass codec_id, we can decode other variants with the H263 + * decoder that don't have specific size requirements + */ + caps = + gst_ff_vid_caps_new (context, NULL, AV_CODEC_ID_NONE, encode, + "video/x-h263", "variant", G_TYPE_STRING, "itu", NULL); + } + break; + + case AV_CODEC_ID_H263P: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-h263", + "variant", G_TYPE_STRING, "itu", "h263version", G_TYPE_STRING, + "h263p", NULL); + if (encode && context) { + + gst_caps_set_simple (caps, + "annex-f", G_TYPE_BOOLEAN, context->flags & AV_CODEC_FLAG_4MV, + "annex-j", G_TYPE_BOOLEAN, + context->flags & AV_CODEC_FLAG_LOOP_FILTER, + "annex-i", G_TYPE_BOOLEAN, context->flags & AV_CODEC_FLAG_AC_PRED, + "annex-t", G_TYPE_BOOLEAN, context->flags & AV_CODEC_FLAG_AC_PRED, + NULL); + } + break; + + case AV_CODEC_ID_H263I: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-intel-h263", "variant", G_TYPE_STRING, "intel", NULL); + break; + + case AV_CODEC_ID_H261: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-h261", + NULL); + break; + + case AV_CODEC_ID_RV10: + case AV_CODEC_ID_RV20: + case AV_CODEC_ID_RV30: + case AV_CODEC_ID_RV40: + { + gint version; + + switch (codec_id) { + case AV_CODEC_ID_RV40: + version = 4; + break; + case AV_CODEC_ID_RV30: + version = 3; + break; + case AV_CODEC_ID_RV20: + version = 2; + break; + default: + version = 1; + break; + } + + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-pn-realvideo", "rmversion", G_TYPE_INT, version, NULL); + if (context) { + if (context->extradata_size >= 8) { + gst_caps_set_simple (caps, + "subformat", G_TYPE_INT, GST_READ_UINT32_BE (context->extradata), + NULL); + } + } + } + break; + + case AV_CODEC_ID_MP1: + /* FIXME: bitrate */ + caps = gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/mpeg", + "mpegversion", G_TYPE_INT, 1, "layer", G_TYPE_INT, 1, NULL); + break; + + case AV_CODEC_ID_MP2: + /* FIXME: bitrate */ + caps = gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/mpeg", + "mpegversion", G_TYPE_INT, 1, "layer", G_TYPE_INT, 2, NULL); + break; + + case AV_CODEC_ID_MP3: + if (encode) { + /* FIXME: bitrate */ + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/mpeg", + "mpegversion", G_TYPE_INT, 1, "layer", G_TYPE_INT, 3, NULL); + } else { + /* Decodes MPEG-1 layer 1/2/3. Samplerate, channels et al are + * in the MPEG audio header, so may be omitted from caps. */ + caps = gst_caps_new_simple ("audio/mpeg", + "mpegversion", G_TYPE_INT, 1, + "layer", GST_TYPE_INT_RANGE, 1, 3, NULL); + } + break; + + case AV_CODEC_ID_MUSEPACK7: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, + "audio/x-ffmpeg-parsed-musepack", "streamversion", G_TYPE_INT, 7, + NULL); + break; + + case AV_CODEC_ID_MUSEPACK8: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, + "audio/x-ffmpeg-parsed-musepack", "streamversion", G_TYPE_INT, 8, + NULL); + break; + + case AV_CODEC_ID_AC3: + /* FIXME: bitrate */ + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-ac3", + NULL); + break; + + case AV_CODEC_ID_EAC3: + /* FIXME: bitrate */ + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-eac3", + NULL); + break; + + case AV_CODEC_ID_TRUEHD: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, + "audio/x-true-hd", NULL); + break; + + case AV_CODEC_ID_ATRAC1: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, + "audio/x-vnd.sony.atrac1", NULL); + break; + + case AV_CODEC_ID_ATRAC3: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, + "audio/x-vnd.sony.atrac3", NULL); + break; + + case AV_CODEC_ID_DTS: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-dts", + NULL); + break; + + case AV_CODEC_ID_APE: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, + "audio/x-ffmpeg-parsed-ape", NULL); + if (context) { + gst_caps_set_simple (caps, + "depth", G_TYPE_INT, context->bits_per_coded_sample, NULL); + } + break; + + case AV_CODEC_ID_MLP: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-mlp", + NULL); + break; + + case AV_CODEC_ID_METASOUND: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, + "audio/x-voxware", NULL); + break; + + case AV_CODEC_ID_IMC: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-imc", + NULL); + break; + + /* MJPEG is normal JPEG, Motion-JPEG and Quicktime MJPEG-A. MJPEGB + * is Quicktime's MJPEG-B. LJPEG is lossless JPEG. I don't know what + * sp5x is, but it's apparently something JPEG... We don't separate + * between those in GStreamer. Should we (at least between MJPEG, + * MJPEG-B and sp5x decoding...)? */ + case AV_CODEC_ID_MJPEG: + case AV_CODEC_ID_LJPEG: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "image/jpeg", + "parsed", G_TYPE_BOOLEAN, TRUE, NULL); + break; + + case AV_CODEC_ID_JPEG2000: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "image/x-j2c", + NULL); + if (!encode) { + gst_caps_append (caps, gst_ff_vid_caps_new (context, NULL, codec_id, + encode, "image/x-jpc", NULL)); + gst_caps_append (caps, gst_ff_vid_caps_new (context, NULL, codec_id, + encode, "image/jp2", NULL)); + } + break; + + case AV_CODEC_ID_SP5X: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/sp5x", + NULL); + break; + + case AV_CODEC_ID_MJPEGB: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-mjpeg-b", NULL); + break; + + case AV_CODEC_ID_MPEG4: + if (encode && context != NULL) { + /* I'm not exactly sure what ffmpeg outputs... ffmpeg itself uses + * the AVI fourcc 'DIVX', but 'mp4v' for Quicktime... */ + switch (context->codec_tag) { + case GST_MAKE_FOURCC ('D', 'I', 'V', 'X'): + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-divx", "divxversion", G_TYPE_INT, 5, NULL); + break; + case GST_MAKE_FOURCC ('m', 'p', '4', 'v'): + default: + /* FIXME: bitrate. libav doesn't expose the used profile and level */ + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/mpeg", "systemstream", G_TYPE_BOOLEAN, FALSE, + "mpegversion", G_TYPE_INT, 4, NULL); + break; + } + } else { + /* The trick here is to separate xvid, divx, mpeg4, 3ivx et al */ + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/mpeg", + "mpegversion", G_TYPE_INT, 4, "systemstream", G_TYPE_BOOLEAN, FALSE, + NULL); + + if (encode) { + GValue arr = { 0, }; + GValue item = { 0, }; + + g_value_init (&arr, GST_TYPE_LIST); + g_value_init (&item, G_TYPE_STRING); + g_value_set_string (&item, "simple"); + gst_value_list_append_value (&arr, &item); + g_value_set_string (&item, "advanced-simple"); + gst_value_list_append_value (&arr, &item); + g_value_unset (&item); + + gst_caps_set_value (caps, "profile", &arr); + g_value_unset (&arr); + + gst_caps_append (caps, gst_ff_vid_caps_new (context, NULL, codec_id, + encode, "video/x-divx", "divxversion", G_TYPE_INT, 5, NULL)); + } else { + gst_caps_append (caps, gst_ff_vid_caps_new (context, NULL, codec_id, + encode, "video/x-divx", "divxversion", GST_TYPE_INT_RANGE, 4, + 5, NULL)); + } + } + break; + + case AV_CODEC_ID_RAWVIDEO: + caps = + gst_ffmpeg_codectype_to_video_caps (context, codec_id, encode, NULL); + break; + + case AV_CODEC_ID_MSMPEG4V1: + case AV_CODEC_ID_MSMPEG4V2: + case AV_CODEC_ID_MSMPEG4V3: + { + gint version = 41 + codec_id - AV_CODEC_ID_MSMPEG4V1; + + /* encode-FIXME: bitrate */ + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-msmpeg", "msmpegversion", G_TYPE_INT, version, NULL); + if (!encode && codec_id == AV_CODEC_ID_MSMPEG4V3) { + gst_caps_append (caps, gst_ff_vid_caps_new (context, NULL, codec_id, + encode, "video/x-divx", "divxversion", G_TYPE_INT, 3, NULL)); + } + } + break; + + case AV_CODEC_ID_WMV1: + case AV_CODEC_ID_WMV2: + { + gint version = (codec_id == AV_CODEC_ID_WMV1) ? 1 : 2; + + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-wmv", + "wmvversion", G_TYPE_INT, version, NULL); + } + break; + + case AV_CODEC_ID_FLV1: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-flash-video", "flvversion", G_TYPE_INT, 1, NULL); + break; + + case AV_CODEC_ID_SVQ1: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-svq", + "svqversion", G_TYPE_INT, 1, NULL); + break; + + case AV_CODEC_ID_SVQ3: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-svq", + "svqversion", G_TYPE_INT, 3, NULL); + break; + + case AV_CODEC_ID_DVAUDIO: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-dv", + NULL); + break; + + case AV_CODEC_ID_DVVIDEO: + { + if (encode && context) { + const gchar *format; + + switch (context->pix_fmt) { + case AV_PIX_FMT_YUYV422: + format = "YUY2"; + break; + case AV_PIX_FMT_YUV420P: + format = "I420"; + break; + case AV_PIX_FMT_YUVA420P: + format = "A420"; + break; + case AV_PIX_FMT_YUV411P: + format = "Y41B"; + break; + case AV_PIX_FMT_YUV422P: + format = "Y42B"; + break; + case AV_PIX_FMT_YUV410P: + format = "YUV9"; + break; + default: + GST_WARNING + ("Couldnt' find format for pixfmt %d, defaulting to I420", + context->pix_fmt); + format = "I420"; + break; + } + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-dv", + "systemstream", G_TYPE_BOOLEAN, FALSE, "format", G_TYPE_STRING, + format, NULL); + } else { + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-dv", + "systemstream", G_TYPE_BOOLEAN, FALSE, NULL); + } + } + break; + + case AV_CODEC_ID_WMAV1: + case AV_CODEC_ID_WMAV2: + { + gint version = (codec_id == AV_CODEC_ID_WMAV1) ? 1 : 2; + + if (context) { + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-wma", + "wmaversion", G_TYPE_INT, version, "block_align", G_TYPE_INT, + context->block_align, "bitrate", G_TYPE_INT, + (guint) context->bit_rate, NULL); + } else { + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-wma", + "wmaversion", G_TYPE_INT, version, "block_align", + GST_TYPE_INT_RANGE, 0, G_MAXINT, "bitrate", GST_TYPE_INT_RANGE, 0, + G_MAXINT, NULL); + } + } + break; + case AV_CODEC_ID_WMAPRO: + { + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-wma", + "wmaversion", G_TYPE_INT, 3, NULL); + break; + } + case AV_CODEC_ID_WMALOSSLESS: + { + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-wma", + "wmaversion", G_TYPE_INT, 4, NULL); + break; + } + case AV_CODEC_ID_WMAVOICE: + { + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-wms", + NULL); + break; + } + + case AV_CODEC_ID_XMA1: + { + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-xma", + "xmaversion", G_TYPE_INT, 1, NULL); + break; + } + case AV_CODEC_ID_XMA2: + { + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-xma", + "xmaversion", G_TYPE_INT, 2, NULL); + break; + } + + case AV_CODEC_ID_MACE3: + case AV_CODEC_ID_MACE6: + { + gint version = (codec_id == AV_CODEC_ID_MACE3) ? 3 : 6; + + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-mace", + "maceversion", G_TYPE_INT, version, NULL); + } + break; + + case AV_CODEC_ID_HUFFYUV: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-huffyuv", NULL); + if (context) { + gst_caps_set_simple (caps, + "bpp", G_TYPE_INT, context->bits_per_coded_sample, NULL); + } + break; + + case AV_CODEC_ID_CYUV: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-compressed-yuv", NULL); + break; + + case AV_CODEC_ID_H264: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-h264", + "alignment", G_TYPE_STRING, "au", NULL); + if (!encode) { + GValue arr = { 0, }; + GValue item = { 0, }; + g_value_init (&arr, GST_TYPE_LIST); + g_value_init (&item, G_TYPE_STRING); + g_value_set_string (&item, "avc"); + gst_value_list_append_value (&arr, &item); + g_value_set_string (&item, "byte-stream"); + gst_value_list_append_value (&arr, &item); + g_value_unset (&item); + gst_caps_set_value (caps, "stream-format", &arr); + g_value_unset (&arr); + + gst_caps_append (caps, gst_ff_vid_caps_new (context, NULL, codec_id, + encode, "video/x-h264", "alignment", G_TYPE_STRING, "nal", + "stream-format", G_TYPE_STRING, "byte-stream", NULL)); + + } else if (context) { + /* FIXME: ffmpeg currently assumes AVC if there is extradata and + * byte-stream otherwise. See for example the MOV or MPEG-TS code. + * ffmpeg does not distinguish the different types of AVC. */ + if (context->extradata_size > 0) { + gst_caps_set_simple (caps, "stream-format", G_TYPE_STRING, "avc", + NULL); + } else { + gst_caps_set_simple (caps, "stream-format", G_TYPE_STRING, + "byte-stream", NULL); + } + } + break; + + case AV_CODEC_ID_HEVC: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-h265", + "alignment", G_TYPE_STRING, "au", NULL); + if (!encode) { + GValue arr = { 0, }; + GValue item = { 0, }; + g_value_init (&arr, GST_TYPE_LIST); + g_value_init (&item, G_TYPE_STRING); + g_value_set_string (&item, "hvc1"); + gst_value_list_append_value (&arr, &item); + g_value_set_string (&item, "hev1"); + gst_value_list_append_value (&arr, &item); + g_value_set_string (&item, "byte-stream"); + gst_value_list_append_value (&arr, &item); + g_value_unset (&item); + gst_caps_set_value (caps, "stream-format", &arr); + g_value_unset (&arr); + } else if (context) { + /* FIXME: ffmpeg currently assumes HVC1 if there is extradata and + * byte-stream otherwise. See for example the MOV or MPEG-TS code. + * ffmpeg does not distinguish the different types: HVC1/HEV1/etc. */ + if (context->extradata_size > 0) { + gst_caps_set_simple (caps, "stream-format", G_TYPE_STRING, "hvc1", + NULL); + } else { + gst_caps_set_simple (caps, "stream-format", G_TYPE_STRING, + "byte-stream", NULL); + } + } + break; + + case AV_CODEC_ID_INDEO5: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-indeo", + "indeoversion", G_TYPE_INT, 5, NULL); + break; + + case AV_CODEC_ID_INDEO4: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-indeo", + "indeoversion", G_TYPE_INT, 4, NULL); + break; + + case AV_CODEC_ID_INDEO3: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-indeo", + "indeoversion", G_TYPE_INT, 3, NULL); + break; + + case AV_CODEC_ID_INDEO2: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-indeo", + "indeoversion", G_TYPE_INT, 2, NULL); + break; + + case AV_CODEC_ID_FLASHSV: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-flash-screen", NULL); + break; + + case AV_CODEC_ID_FLASHSV2: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-flash-screen2", NULL); + break; + + case AV_CODEC_ID_VP3: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-vp3", + NULL); + break; + + case AV_CODEC_ID_VP5: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-vp5", + NULL); + break; + + case AV_CODEC_ID_VP6: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-vp6", + NULL); + break; + + case AV_CODEC_ID_VP6F: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-vp6-flash", NULL); + break; + + case AV_CODEC_ID_VP6A: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-vp6-alpha", NULL); + break; + + case AV_CODEC_ID_VP8: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-vp8", + NULL); + break; + + case AV_CODEC_ID_VP9: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-vp9", + NULL); + break; + + case AV_CODEC_ID_THEORA: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-theora", NULL); + break; + + case AV_CODEC_ID_CFHD: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-cineform", NULL); + break; + + case AV_CODEC_ID_SPEEDHQ: + if (context && context->codec_tag) { + gchar *variant = g_strdup_printf ("%" GST_FOURCC_FORMAT, + GST_FOURCC_ARGS (context->codec_tag)); + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-speedhq", "variant", G_TYPE_STRING, variant, NULL); + g_free (variant); + } else { + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-speedhq", NULL); + } + break; + + case AV_CODEC_ID_AAC: + { + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/mpeg", + NULL); + + if (!encode) { + GValue arr = { 0, }; + GValue item = { 0, }; + + g_value_init (&arr, GST_TYPE_LIST); + g_value_init (&item, G_TYPE_INT); + g_value_set_int (&item, 2); + gst_value_list_append_value (&arr, &item); + g_value_set_int (&item, 4); + gst_value_list_append_value (&arr, &item); + g_value_unset (&item); + + gst_caps_set_value (caps, "mpegversion", &arr); + g_value_unset (&arr); + + g_value_init (&arr, GST_TYPE_LIST); + g_value_init (&item, G_TYPE_STRING); + g_value_set_string (&item, "raw"); + gst_value_list_append_value (&arr, &item); + g_value_set_string (&item, "adts"); + gst_value_list_append_value (&arr, &item); + g_value_set_string (&item, "adif"); + gst_value_list_append_value (&arr, &item); + g_value_unset (&item); + + gst_caps_set_value (caps, "stream-format", &arr); + g_value_unset (&arr); + } else { + gst_caps_set_simple (caps, "mpegversion", G_TYPE_INT, 4, + "base-profile", G_TYPE_STRING, "lc", NULL); + + /* FIXME: ffmpeg currently assumes raw if there is extradata and + * ADTS otherwise. See for example the FDK AAC encoder. */ + if (context && context->extradata_size > 0) { + gst_caps_set_simple (caps, "stream-format", G_TYPE_STRING, "raw", + NULL); + gst_codec_utils_aac_caps_set_level_and_profile (caps, + context->extradata, context->extradata_size); + } else if (context) { + gst_caps_set_simple (caps, "stream-format", G_TYPE_STRING, "adts", + NULL); + } + } + + break; + } + case AV_CODEC_ID_AAC_LATM: /* LATM/LOAS AAC syntax */ + caps = gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/mpeg", + "mpegversion", G_TYPE_INT, 4, "stream-format", G_TYPE_STRING, "loas", + NULL); + break; + + case AV_CODEC_ID_ASV1: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-asus", + "asusversion", G_TYPE_INT, 1, NULL); + break; + case AV_CODEC_ID_ASV2: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-asus", + "asusversion", G_TYPE_INT, 2, NULL); + break; + + case AV_CODEC_ID_FFV1: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-ffv", + "ffvversion", G_TYPE_INT, 1, NULL); + break; + + case AV_CODEC_ID_4XM: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-4xm", + NULL); + break; + + case AV_CODEC_ID_XAN_WC3: + case AV_CODEC_ID_XAN_WC4: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-xan", + "wcversion", G_TYPE_INT, 3 - AV_CODEC_ID_XAN_WC3 + codec_id, NULL); + break; + + case AV_CODEC_ID_CLJR: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-cirrus-logic-accupak", NULL); + break; + + case AV_CODEC_ID_FRAPS: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-fraps", + NULL); + break; + + case AV_CODEC_ID_MDEC: + case AV_CODEC_ID_ROQ: + case AV_CODEC_ID_INTERPLAY_VIDEO: + buildcaps = TRUE; + break; + + case AV_CODEC_ID_VCR1: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-ati-vcr", "vcrversion", G_TYPE_INT, 1, NULL); + break; + + case AV_CODEC_ID_RPZA: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-apple-video", NULL); + break; + + case AV_CODEC_ID_CINEPAK: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-cinepak", NULL); + break; + + /* WS_VQA belogns here (order) */ + + case AV_CODEC_ID_MSRLE: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-rle", + "layout", G_TYPE_STRING, "microsoft", NULL); + if (context) { + gst_caps_set_simple (caps, + "depth", G_TYPE_INT, (gint) context->bits_per_coded_sample, NULL); + } else { + gst_caps_set_simple (caps, "depth", GST_TYPE_INT_RANGE, 1, 64, NULL); + } + break; + + case AV_CODEC_ID_QTRLE: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-rle", + "layout", G_TYPE_STRING, "quicktime", NULL); + if (context) { + gst_caps_set_simple (caps, + "depth", G_TYPE_INT, (gint) context->bits_per_coded_sample, NULL); + } else { + gst_caps_set_simple (caps, "depth", GST_TYPE_INT_RANGE, 1, 64, NULL); + } + break; + + case AV_CODEC_ID_MSVIDEO1: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-msvideocodec", "msvideoversion", G_TYPE_INT, 1, NULL); + break; + + case AV_CODEC_ID_MSS1: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-wmv", + "wmvversion", G_TYPE_INT, 1, "format", G_TYPE_STRING, "MSS1", NULL); + break; + + case AV_CODEC_ID_MSS2: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-wmv", + "wmvversion", G_TYPE_INT, 3, "format", G_TYPE_STRING, "MSS2", NULL); + break; + + case AV_CODEC_ID_WMV3: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-wmv", + "wmvversion", G_TYPE_INT, 3, "format", G_TYPE_STRING, "WMV3", NULL); + break; + case AV_CODEC_ID_VC1: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-wmv", + "wmvversion", G_TYPE_INT, 3, NULL); + if (!context && !encode) { + GValue arr = { 0, }; + GValue item = { 0, }; + + g_value_init (&arr, GST_TYPE_LIST); + g_value_init (&item, G_TYPE_STRING); + g_value_set_string (&item, "WVC1"); + gst_value_list_append_value (&arr, &item); + g_value_set_string (&item, "WMVA"); + gst_value_list_append_and_take_value (&arr, &item); + gst_caps_set_value (caps, "format", &arr); + g_value_unset (&arr); + } else { + gst_caps_set_simple (caps, "format", G_TYPE_STRING, "WVC1", NULL); + } + break; + case AV_CODEC_ID_QDM2: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-qdm2", + NULL); + break; + + case AV_CODEC_ID_MSZH: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-mszh", + NULL); + break; + + case AV_CODEC_ID_ZLIB: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-zlib", + NULL); + break; + + case AV_CODEC_ID_TRUEMOTION1: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-truemotion", "trueversion", G_TYPE_INT, 1, NULL); + break; + case AV_CODEC_ID_TRUEMOTION2: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-truemotion", "trueversion", G_TYPE_INT, 2, NULL); + break; + + case AV_CODEC_ID_ULTI: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-ultimotion", NULL); + break; + + case AV_CODEC_ID_TSCC: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-camtasia", NULL); + if (context) { + gst_caps_set_simple (caps, + "depth", G_TYPE_INT, (gint) context->bits_per_coded_sample, NULL); + } else { + gst_caps_set_simple (caps, "depth", GST_TYPE_INT_RANGE, 8, 32, NULL); + } + break; + + case AV_CODEC_ID_TSCC2: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-tscc", "tsccversion", G_TYPE_INT, 2, NULL); + break; + + case AV_CODEC_ID_KMVC: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-kmvc", + NULL); + break; + + case AV_CODEC_ID_NUV: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-nuv", + NULL); + break; + + case AV_CODEC_ID_GIF: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "image/gst-libav-gif", "parsed", G_TYPE_BOOLEAN, TRUE, NULL); + break; + + case AV_CODEC_ID_PNG: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "image/png", + NULL); + break; + + case AV_CODEC_ID_PPM: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "image/ppm", + NULL); + break; + + case AV_CODEC_ID_PBM: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "image/pbm", + NULL); + break; + + case AV_CODEC_ID_PAM: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "image/x-portable-anymap", NULL); + break; + + case AV_CODEC_ID_PGM: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "image/x-portable-graymap", NULL); + break; + + case AV_CODEC_ID_PCX: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "image/x-pcx", + NULL); + break; + + case AV_CODEC_ID_SGI: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "image/x-sgi", + NULL); + break; + + case AV_CODEC_ID_TARGA: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "image/x-tga", + NULL); + break; + + case AV_CODEC_ID_TIFF: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "image/tiff", + NULL); + break; + + case AV_CODEC_ID_SUNRAST: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "image/x-sun-raster", NULL); + break; + + case AV_CODEC_ID_SMC: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-smc", + NULL); + break; + + case AV_CODEC_ID_QDRAW: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-qdrw", + NULL); + break; + + case AV_CODEC_ID_DNXHD: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-dnxhd", + NULL); + break; + + case AV_CODEC_ID_PRORES: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-prores", NULL); + if (context) { + switch (context->codec_tag) { + case GST_MAKE_FOURCC ('a', 'p', 'c', 'o'): + gst_caps_set_simple (caps, "variant", G_TYPE_STRING, "proxy", NULL); + break; + case GST_MAKE_FOURCC ('a', 'p', 'c', 's'): + gst_caps_set_simple (caps, "variant", G_TYPE_STRING, "lt", NULL); + break; + default: + case GST_MAKE_FOURCC ('a', 'p', 'c', 'n'): + gst_caps_set_simple (caps, "variant", G_TYPE_STRING, "standard", + NULL); + break; + case GST_MAKE_FOURCC ('a', 'p', 'c', 'h'): + gst_caps_set_simple (caps, "variant", G_TYPE_STRING, "hq", NULL); + break; + case GST_MAKE_FOURCC ('a', 'p', '4', 'h'): + gst_caps_set_simple (caps, "variant", G_TYPE_STRING, "4444", NULL); + break; + case GST_MAKE_FOURCC ('a', 'p', '4', 'x'): + gst_caps_set_simple (caps, "variant", G_TYPE_STRING, "4444xq", + NULL); + break; + } + } + break; + + case AV_CODEC_ID_MIMIC: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-mimic", + NULL); + break; + + case AV_CODEC_ID_VMNC: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-vmnc", + NULL); + break; + + case AV_CODEC_ID_TRUESPEECH: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, + "audio/x-truespeech", NULL); + break; + + case AV_CODEC_ID_QCELP: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/qcelp", + NULL); + break; + + case AV_CODEC_ID_AMV: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-amv", + NULL); + break; + + case AV_CODEC_ID_AASC: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-aasc", + NULL); + break; + + case AV_CODEC_ID_LOCO: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-loco", + NULL); + break; + + case AV_CODEC_ID_ZMBV: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-zmbv", + NULL); + break; + + case AV_CODEC_ID_LAGARITH: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-lagarith", NULL); + break; + + case AV_CODEC_ID_CSCD: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-camstudio", NULL); + if (context) { + gst_caps_set_simple (caps, + "depth", G_TYPE_INT, (gint) context->bits_per_coded_sample, NULL); + } else { + gst_caps_set_simple (caps, "depth", GST_TYPE_INT_RANGE, 8, 32, NULL); + } + break; + + case AV_CODEC_ID_AIC: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-apple-intermediate-codec", NULL); + break; + + case AV_CODEC_ID_CAVS: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-cavs", NULL); + break; + + case AV_CODEC_ID_WS_VQA: + case AV_CODEC_ID_IDCIN: + case AV_CODEC_ID_8BPS: + case AV_CODEC_ID_FLIC: + case AV_CODEC_ID_VMDVIDEO: + case AV_CODEC_ID_VMDAUDIO: + case AV_CODEC_ID_VIXL: + case AV_CODEC_ID_QPEG: + case AV_CODEC_ID_PGMYUV: + case AV_CODEC_ID_FFVHUFF: + case AV_CODEC_ID_WNV1: + case AV_CODEC_ID_MP3ADU: + case AV_CODEC_ID_MP3ON4: + case AV_CODEC_ID_WESTWOOD_SND1: + case AV_CODEC_ID_MMVIDEO: + case AV_CODEC_ID_AVS: + buildcaps = TRUE; + break; + + /* weird quasi-codecs for the demuxers only */ + case AV_CODEC_ID_PCM_S16LE: + case AV_CODEC_ID_PCM_S16BE: + case AV_CODEC_ID_PCM_U16LE: + case AV_CODEC_ID_PCM_U16BE: + case AV_CODEC_ID_PCM_S8: + case AV_CODEC_ID_PCM_U8: + { + GstAudioFormat format; + + switch (codec_id) { + case AV_CODEC_ID_PCM_S16LE: + format = GST_AUDIO_FORMAT_S16LE; + break; + case AV_CODEC_ID_PCM_S16BE: + format = GST_AUDIO_FORMAT_S16BE; + break; + case AV_CODEC_ID_PCM_U16LE: + format = GST_AUDIO_FORMAT_U16LE; + break; + case AV_CODEC_ID_PCM_U16BE: + format = GST_AUDIO_FORMAT_U16BE; + break; + case AV_CODEC_ID_PCM_S8: + format = GST_AUDIO_FORMAT_S8; + break; + case AV_CODEC_ID_PCM_U8: + format = GST_AUDIO_FORMAT_U8; + break; + default: + format = 0; + g_assert (0); /* don't worry, we never get here */ + break; + } + + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-raw", + "format", G_TYPE_STRING, gst_audio_format_to_string (format), + "layout", G_TYPE_STRING, "interleaved", NULL); + } + break; + + case AV_CODEC_ID_PCM_MULAW: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-mulaw", + NULL); + break; + + case AV_CODEC_ID_PCM_ALAW: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-alaw", + NULL); + break; + + case AV_CODEC_ID_ADPCM_G722: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/G722", + NULL); + if (context) + gst_caps_set_simple (caps, + "block_align", G_TYPE_INT, context->block_align, + "bitrate", G_TYPE_INT, (guint) context->bit_rate, NULL); + break; + + case AV_CODEC_ID_ADPCM_G726: + { + /* the G726 decoder can also handle G721 */ + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-adpcm", + "layout", G_TYPE_STRING, "g726", NULL); + if (context) + gst_caps_set_simple (caps, + "block_align", G_TYPE_INT, context->block_align, + "bitrate", G_TYPE_INT, (guint) context->bit_rate, NULL); + + if (!encode) { + gst_caps_append (caps, gst_caps_new_simple ("audio/x-adpcm", + "layout", G_TYPE_STRING, "g721", + "channels", G_TYPE_INT, 1, "rate", G_TYPE_INT, 8000, NULL)); + } + break; + } + case AV_CODEC_ID_ADPCM_IMA_QT: + case AV_CODEC_ID_ADPCM_IMA_WAV: + case AV_CODEC_ID_ADPCM_IMA_DK3: + case AV_CODEC_ID_ADPCM_IMA_DK4: + case AV_CODEC_ID_ADPCM_IMA_OKI: + case AV_CODEC_ID_ADPCM_IMA_WS: + case AV_CODEC_ID_ADPCM_IMA_SMJPEG: + case AV_CODEC_ID_ADPCM_IMA_AMV: + case AV_CODEC_ID_ADPCM_IMA_ISS: + case AV_CODEC_ID_ADPCM_IMA_EA_EACS: + case AV_CODEC_ID_ADPCM_IMA_EA_SEAD: + case AV_CODEC_ID_ADPCM_MS: + case AV_CODEC_ID_ADPCM_4XM: + case AV_CODEC_ID_ADPCM_XA: + case AV_CODEC_ID_ADPCM_ADX: + case AV_CODEC_ID_ADPCM_EA: + case AV_CODEC_ID_ADPCM_CT: + case AV_CODEC_ID_ADPCM_SWF: + case AV_CODEC_ID_ADPCM_YAMAHA: + case AV_CODEC_ID_ADPCM_SBPRO_2: + case AV_CODEC_ID_ADPCM_SBPRO_3: + case AV_CODEC_ID_ADPCM_SBPRO_4: + case AV_CODEC_ID_ADPCM_EA_R1: + case AV_CODEC_ID_ADPCM_EA_R2: + case AV_CODEC_ID_ADPCM_EA_R3: + case AV_CODEC_ID_ADPCM_EA_MAXIS_XA: + case AV_CODEC_ID_ADPCM_EA_XAS: + case AV_CODEC_ID_ADPCM_THP: + { + const gchar *layout = NULL; + + switch (codec_id) { + case AV_CODEC_ID_ADPCM_IMA_QT: + layout = "quicktime"; + break; + case AV_CODEC_ID_ADPCM_IMA_WAV: + layout = "dvi"; + break; + case AV_CODEC_ID_ADPCM_IMA_DK3: + layout = "dk3"; + break; + case AV_CODEC_ID_ADPCM_IMA_DK4: + layout = "dk4"; + break; + case AV_CODEC_ID_ADPCM_IMA_OKI: + layout = "oki"; + break; + case AV_CODEC_ID_ADPCM_IMA_WS: + layout = "westwood"; + break; + case AV_CODEC_ID_ADPCM_IMA_SMJPEG: + layout = "smjpeg"; + break; + case AV_CODEC_ID_ADPCM_IMA_AMV: + layout = "amv"; + break; + case AV_CODEC_ID_ADPCM_IMA_ISS: + layout = "iss"; + break; + case AV_CODEC_ID_ADPCM_IMA_EA_EACS: + layout = "ea-eacs"; + break; + case AV_CODEC_ID_ADPCM_IMA_EA_SEAD: + layout = "ea-sead"; + break; + case AV_CODEC_ID_ADPCM_MS: + layout = "microsoft"; + break; + case AV_CODEC_ID_ADPCM_4XM: + layout = "4xm"; + break; + case AV_CODEC_ID_ADPCM_XA: + layout = "xa"; + break; + case AV_CODEC_ID_ADPCM_ADX: + layout = "adx"; + break; + case AV_CODEC_ID_ADPCM_EA: + layout = "ea"; + break; + case AV_CODEC_ID_ADPCM_CT: + layout = "ct"; + break; + case AV_CODEC_ID_ADPCM_SWF: + layout = "swf"; + break; + case AV_CODEC_ID_ADPCM_YAMAHA: + layout = "yamaha"; + break; + case AV_CODEC_ID_ADPCM_SBPRO_2: + layout = "sbpro2"; + break; + case AV_CODEC_ID_ADPCM_SBPRO_3: + layout = "sbpro3"; + break; + case AV_CODEC_ID_ADPCM_SBPRO_4: + layout = "sbpro4"; + break; + case AV_CODEC_ID_ADPCM_EA_R1: + layout = "ea-r1"; + break; + case AV_CODEC_ID_ADPCM_EA_R2: + layout = "ea-r3"; + break; + case AV_CODEC_ID_ADPCM_EA_R3: + layout = "ea-r3"; + break; + case AV_CODEC_ID_ADPCM_EA_MAXIS_XA: + layout = "ea-maxis-xa"; + break; + case AV_CODEC_ID_ADPCM_EA_XAS: + layout = "ea-xas"; + break; + case AV_CODEC_ID_ADPCM_THP: + layout = "thp"; + break; + default: + g_assert (0); /* don't worry, we never get here */ + break; + } + + /* FIXME: someone please check whether we need additional properties + * in this caps definition. */ + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-adpcm", + "layout", G_TYPE_STRING, layout, NULL); + if (context) + gst_caps_set_simple (caps, + "block_align", G_TYPE_INT, context->block_align, + "bitrate", G_TYPE_INT, (guint) context->bit_rate, NULL); + } + break; + + case AV_CODEC_ID_AMR_NB: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/AMR", + NULL); + break; + + case AV_CODEC_ID_AMR_WB: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/AMR-WB", + NULL); + break; + + case AV_CODEC_ID_GSM: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-gsm", + NULL); + break; + + case AV_CODEC_ID_GSM_MS: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/ms-gsm", + NULL); + break; + + case AV_CODEC_ID_NELLYMOSER: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, + "audio/x-nellymoser", NULL); + break; + + case AV_CODEC_ID_SIPR: + { + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-sipro", + NULL); + if (context) { + gst_caps_set_simple (caps, + "leaf_size", G_TYPE_INT, context->block_align, + "bitrate", G_TYPE_INT, (guint) context->bit_rate, NULL); + } + } + break; + + case AV_CODEC_ID_RA_144: + case AV_CODEC_ID_RA_288: + case AV_CODEC_ID_COOK: + { + gint version = 0; + + switch (codec_id) { + case AV_CODEC_ID_RA_144: + version = 1; + break; + case AV_CODEC_ID_RA_288: + version = 2; + break; + case AV_CODEC_ID_COOK: + version = 8; + break; + default: + break; + } + + /* FIXME: properties? */ + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, + "audio/x-pn-realaudio", "raversion", G_TYPE_INT, version, NULL); + if (context) { + gst_caps_set_simple (caps, + "leaf_size", G_TYPE_INT, context->block_align, + "bitrate", G_TYPE_INT, (guint) context->bit_rate, NULL); + } + } + break; + + case AV_CODEC_ID_ROQ_DPCM: + case AV_CODEC_ID_INTERPLAY_DPCM: + case AV_CODEC_ID_XAN_DPCM: + case AV_CODEC_ID_SOL_DPCM: + { + const gchar *layout = NULL; + + switch (codec_id) { + case AV_CODEC_ID_ROQ_DPCM: + layout = "roq"; + break; + case AV_CODEC_ID_INTERPLAY_DPCM: + layout = "interplay"; + break; + case AV_CODEC_ID_XAN_DPCM: + layout = "xan"; + break; + case AV_CODEC_ID_SOL_DPCM: + layout = "sol"; + break; + default: + g_assert (0); /* don't worry, we never get here */ + break; + } + + /* FIXME: someone please check whether we need additional properties + * in this caps definition. */ + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-dpcm", + "layout", G_TYPE_STRING, layout, NULL); + if (context) + gst_caps_set_simple (caps, + "block_align", G_TYPE_INT, context->block_align, + "bitrate", G_TYPE_INT, (guint) context->bit_rate, NULL); + } + break; + + case AV_CODEC_ID_SHORTEN: + caps = gst_caps_new_empty_simple ("audio/x-shorten"); + break; + + case AV_CODEC_ID_ALAC: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-alac", + NULL); + if (context) { + gst_caps_set_simple (caps, + "samplesize", G_TYPE_INT, context->bits_per_coded_sample, NULL); + } + break; + + case AV_CODEC_ID_FLAC: + /* Note that ffmpeg has no encoder yet, but just for safety. In the + * encoder case, we want to add things like samplerate, channels... */ + if (!encode) { + caps = gst_caps_new_empty_simple ("audio/x-flac"); + } + break; + + case AV_CODEC_ID_OPUS: + /* Note that ffmpeg has no encoder yet, but just for safety. In the + * encoder case, we want to add things like samplerate, channels... */ + if (!encode) { + /* FIXME: can ffmpeg handle multichannel Opus? */ + caps = gst_caps_new_simple ("audio/x-opus", + "channel-mapping-family", G_TYPE_INT, 0, NULL); + } + break; + + case AV_CODEC_ID_S302M: + caps = gst_caps_new_empty_simple ("audio/x-smpte-302m"); + break; + + case AV_CODEC_ID_DVD_SUBTITLE: + case AV_CODEC_ID_DVB_SUBTITLE: + caps = NULL; + break; + case AV_CODEC_ID_BMP: + caps = gst_caps_new_empty_simple ("image/bmp"); + break; + case AV_CODEC_ID_TTA: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-tta", + NULL); + if (context) { + gst_caps_set_simple (caps, + "samplesize", G_TYPE_INT, context->bits_per_coded_sample, NULL); + } + break; + case AV_CODEC_ID_TWINVQ: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, + "audio/x-twin-vq", NULL); + break; + case AV_CODEC_ID_G729: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/G729", + NULL); + break; + case AV_CODEC_ID_DSD_LSBF: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-dsd", + NULL); + gst_caps_set_simple (caps, "lsbf", G_TYPE_BOOLEAN, + TRUE, "planar", G_TYPE_BOOLEAN, FALSE, NULL); + break; + case AV_CODEC_ID_DSD_MSBF: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-dsd", + NULL); + gst_caps_set_simple (caps, "lsbf", G_TYPE_BOOLEAN, + FALSE, "planar", G_TYPE_BOOLEAN, FALSE, NULL); + break; + case AV_CODEC_ID_DSD_LSBF_PLANAR: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-dsd", + NULL); + gst_caps_set_simple (caps, "lsbf", G_TYPE_BOOLEAN, + TRUE, "planar", G_TYPE_BOOLEAN, TRUE, NULL); + break; + case AV_CODEC_ID_DSD_MSBF_PLANAR: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/x-dsd", + NULL); + gst_caps_set_simple (caps, "lsbf", G_TYPE_BOOLEAN, + FALSE, "planar", G_TYPE_BOOLEAN, TRUE, NULL); + break; + case AV_CODEC_ID_APTX: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/aptx", + NULL); + break; + case AV_CODEC_ID_APTX_HD: + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, "audio/aptx-hd", + NULL); + break; + case AV_CODEC_ID_AV1: + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, "video/x-av1", + NULL); + break; + default: + GST_DEBUG ("Unknown codec ID %d, please add mapping here", codec_id); + break; + } + + if (buildcaps) { + AVCodec *codec; + + if ((codec = avcodec_find_decoder (codec_id)) || + (codec = avcodec_find_encoder (codec_id))) { + gchar *mime = NULL; + + GST_LOG ("Could not create stream format caps for %s", codec->name); + + switch (codec->type) { + case AVMEDIA_TYPE_VIDEO: + mime = g_strdup_printf ("video/x-gst-av-%s", codec->name); + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, mime, NULL); + g_free (mime); + break; + case AVMEDIA_TYPE_AUDIO: + mime = g_strdup_printf ("audio/x-gst-av-%s", codec->name); + caps = + gst_ff_aud_caps_new (context, NULL, codec_id, encode, mime, NULL); + if (context) + gst_caps_set_simple (caps, + "block_align", G_TYPE_INT, context->block_align, + "bitrate", G_TYPE_INT, (guint) context->bit_rate, NULL); + g_free (mime); + break; + default: + break; + } + } + } + + if (caps != NULL) { + + /* set private data */ + if (context && context->extradata_size > 0) { + GstBuffer *data = gst_buffer_new_and_alloc (context->extradata_size); + + gst_buffer_fill (data, 0, context->extradata, context->extradata_size); + gst_caps_set_simple (caps, "codec_data", GST_TYPE_BUFFER, data, NULL); + gst_buffer_unref (data); + } + + GST_LOG ("caps for codec_id=%d: %" GST_PTR_FORMAT, codec_id, caps); + + } else { + GST_LOG ("No caps found for codec_id=%d", codec_id); + } + + return caps; +} + +/* Convert a FFMPEG Pixel Format and optional AVCodecContext + * to a GstCaps. If the context is ommitted, no fixed values + * for video/audio size will be included in the GstCaps + * + * See below for usefullness + */ + +static GstCaps * +gst_ffmpeg_pixfmt_to_caps (enum AVPixelFormat pix_fmt, AVCodecContext * context, + enum AVCodecID codec_id) +{ + GstCaps *caps = NULL; + GstVideoFormat format; + + format = gst_ffmpeg_pixfmt_to_videoformat (pix_fmt); + + if (format != GST_VIDEO_FORMAT_UNKNOWN) { + caps = gst_ff_vid_caps_new (context, NULL, codec_id, TRUE, "video/x-raw", + "format", G_TYPE_STRING, gst_video_format_to_string (format), NULL); + } + + if (caps != NULL) { + GST_DEBUG ("caps for pix_fmt=%d: %" GST_PTR_FORMAT, pix_fmt, caps); + } else { + GST_LOG ("No caps found for pix_fmt=%d", pix_fmt); + } + + return caps; +} + +GstAudioFormat +gst_ffmpeg_smpfmt_to_audioformat (enum AVSampleFormat sample_fmt, + GstAudioLayout * layout) +{ + if (layout) + *layout = GST_AUDIO_LAYOUT_NON_INTERLEAVED; + + switch (sample_fmt) { + case AV_SAMPLE_FMT_U8: + if (layout) + *layout = GST_AUDIO_LAYOUT_INTERLEAVED; + case AV_SAMPLE_FMT_U8P: + return GST_AUDIO_FORMAT_U8; + break; + + case AV_SAMPLE_FMT_S16: + if (layout) + *layout = GST_AUDIO_LAYOUT_INTERLEAVED; + case AV_SAMPLE_FMT_S16P: + return GST_AUDIO_FORMAT_S16; + break; + + case AV_SAMPLE_FMT_S32: + if (layout) + *layout = GST_AUDIO_LAYOUT_INTERLEAVED; + case AV_SAMPLE_FMT_S32P: + return GST_AUDIO_FORMAT_S32; + break; + case AV_SAMPLE_FMT_FLT: + if (layout) + *layout = GST_AUDIO_LAYOUT_INTERLEAVED; + case AV_SAMPLE_FMT_FLTP: + return GST_AUDIO_FORMAT_F32; + break; + + case AV_SAMPLE_FMT_DBL: + if (layout) + *layout = GST_AUDIO_LAYOUT_INTERLEAVED; + case AV_SAMPLE_FMT_DBLP: + return GST_AUDIO_FORMAT_F64; + break; + + default: + /* .. */ + return GST_AUDIO_FORMAT_UNKNOWN; + break; + } +} + +/* Convert a FFMPEG Sample Format and optional AVCodecContext + * to a GstCaps. If the context is ommitted, no fixed values + * for video/audio size will be included in the GstCaps + * + * See below for usefullness + */ + +static GstCaps * +gst_ffmpeg_smpfmt_to_caps (enum AVSampleFormat sample_fmt, + AVCodecContext * context, AVCodec * codec, enum AVCodecID codec_id) +{ + GstCaps *caps = NULL; + GstAudioFormat format; + GstAudioLayout layout; + + format = gst_ffmpeg_smpfmt_to_audioformat (sample_fmt, &layout); + + if (format != GST_AUDIO_FORMAT_UNKNOWN) { + caps = gst_ff_aud_caps_new (context, codec, codec_id, TRUE, "audio/x-raw", + "format", G_TYPE_STRING, gst_audio_format_to_string (format), + "layout", G_TYPE_STRING, + (layout == GST_AUDIO_LAYOUT_INTERLEAVED) ? + "interleaved" : "non-interleaved", NULL); + GST_LOG ("caps for sample_fmt=%d: %" GST_PTR_FORMAT, sample_fmt, caps); + } else { + GST_LOG ("No caps found for sample_fmt=%d", sample_fmt); + } + + return caps; +} + +static gboolean +caps_has_field (GstCaps * caps, const gchar * field) +{ + guint i, n; + + n = gst_caps_get_size (caps); + for (i = 0; i < n; i++) { + GstStructure *s = gst_caps_get_structure (caps, i); + + if (gst_structure_has_field (s, field)) + return TRUE; + } + + return FALSE; +} + +GstCaps * +gst_ffmpeg_codectype_to_audio_caps (AVCodecContext * context, + enum AVCodecID codec_id, gboolean encode, AVCodec * codec) +{ + GstCaps *caps = NULL; + + GST_DEBUG ("context:%p, codec_id:%d, encode:%d, codec:%p", + context, codec_id, encode, codec); + if (codec) + GST_DEBUG ("sample_fmts:%p, samplerates:%p", + codec->sample_fmts, codec->supported_samplerates); + + if (context) { + /* Specific codec context */ + caps = + gst_ffmpeg_smpfmt_to_caps (context->sample_fmt, context, codec, + codec_id); + } else { + caps = gst_ff_aud_caps_new (context, codec, codec_id, encode, "audio/x-raw", + NULL); + if (!caps_has_field (caps, "format")) + gst_ffmpeg_audio_set_sample_fmts (caps, + codec ? codec->sample_fmts : NULL, encode); + } + + return caps; +} + +GstCaps * +gst_ffmpeg_codectype_to_video_caps (AVCodecContext * context, + enum AVCodecID codec_id, gboolean encode, AVCodec * codec) +{ + GstCaps *caps; + + GST_LOG ("context:%p, codec_id:%d, encode:%d, codec:%p", + context, codec_id, encode, codec); + + if (context) { + caps = gst_ffmpeg_pixfmt_to_caps (context->pix_fmt, context, codec_id); + } else { + caps = + gst_ff_vid_caps_new (context, codec, codec_id, encode, "video/x-raw", + NULL); + if (!caps_has_field (caps, "format")) + gst_ffmpeg_video_set_pix_fmts (caps, codec ? codec->pix_fmts : NULL); + } + return caps; +} + +/* Convert a GstCaps (audio/raw) to a FFMPEG SampleFmt + * and other audio properties in a AVCodecContext. + * + * For usefullness, see below + */ + +static void +gst_ffmpeg_caps_to_smpfmt (const GstCaps * caps, + AVCodecContext * context, gboolean raw) +{ + GstStructure *structure; + const gchar *fmt; + GstAudioFormat format = GST_AUDIO_FORMAT_UNKNOWN; + gint bitrate; + const gchar *layout; + gboolean interleaved; + + g_return_if_fail (gst_caps_get_size (caps) == 1); + + structure = gst_caps_get_structure (caps, 0); + + gst_structure_get_int (structure, "channels", &context->channels); + gst_structure_get_int (structure, "rate", &context->sample_rate); + gst_structure_get_int (structure, "block_align", &context->block_align); + if (gst_structure_get_int (structure, "bitrate", &bitrate)) + context->bit_rate = bitrate; + + if (!raw) + return; + + if (gst_structure_has_name (structure, "audio/x-raw")) { + if ((fmt = gst_structure_get_string (structure, "format"))) { + format = gst_audio_format_from_string (fmt); + } + } + + layout = gst_structure_get_string (structure, "layout"); + interleaved = ! !g_strcmp0 (layout, "non-interleaved"); + + switch (format) { + case GST_AUDIO_FORMAT_F32: + context->sample_fmt = + interleaved ? AV_SAMPLE_FMT_FLT : AV_SAMPLE_FMT_FLTP; + break; + case GST_AUDIO_FORMAT_F64: + context->sample_fmt = + interleaved ? AV_SAMPLE_FMT_DBL : AV_SAMPLE_FMT_DBLP; + break; + case GST_AUDIO_FORMAT_S32: + context->sample_fmt = + interleaved ? AV_SAMPLE_FMT_S32 : AV_SAMPLE_FMT_S32P; + break; + case GST_AUDIO_FORMAT_S16: + context->sample_fmt = + interleaved ? AV_SAMPLE_FMT_S16 : AV_SAMPLE_FMT_S16P; + break; + default: + break; + } +} + +/* Convert a GstCaps (video/raw) to a FFMPEG PixFmt + * and other video properties in a AVCodecContext. + * + * For usefullness, see below + */ + +static void +gst_ffmpeg_caps_to_pixfmt (const GstCaps * caps, + AVCodecContext * context, gboolean raw) +{ + GstStructure *structure; + const GValue *fps; + const GValue *par = NULL; + const gchar *fmt; + GstVideoFormat format = GST_VIDEO_FORMAT_UNKNOWN; + const gchar *s; + + GST_DEBUG ("converting caps %" GST_PTR_FORMAT, caps); + g_return_if_fail (gst_caps_get_size (caps) == 1); + structure = gst_caps_get_structure (caps, 0); + + gst_structure_get_int (structure, "width", &context->width); + gst_structure_get_int (structure, "height", &context->height); + gst_structure_get_int (structure, "bpp", &context->bits_per_coded_sample); + + fps = gst_structure_get_value (structure, "framerate"); + if (fps != NULL && GST_VALUE_HOLDS_FRACTION (fps)) { + + int num = gst_value_get_fraction_numerator (fps); + int den = gst_value_get_fraction_denominator (fps); + + if (num > 0 && den > 0) { + /* somehow these seem mixed up.. */ + /* they're fine, this is because it does period=1/frequency */ + context->time_base.den = gst_value_get_fraction_numerator (fps); + context->time_base.num = gst_value_get_fraction_denominator (fps); + context->ticks_per_frame = 1; + + GST_DEBUG ("setting framerate %d/%d = %lf", + context->time_base.den, context->time_base.num, + 1. * context->time_base.den / context->time_base.num); + } else { + GST_INFO ("ignoring framerate %d/%d (probably variable framerate)", + context->time_base.num, context->time_base.den); + } + } + + par = gst_structure_get_value (structure, "pixel-aspect-ratio"); + if (par && GST_VALUE_HOLDS_FRACTION (par)) { + + int num = gst_value_get_fraction_numerator (par); + int den = gst_value_get_fraction_denominator (par); + + if (num > 0 && den > 0) { + context->sample_aspect_ratio.num = num; + context->sample_aspect_ratio.den = den; + + GST_DEBUG ("setting pixel-aspect-ratio %d/%d = %lf", + context->sample_aspect_ratio.num, context->sample_aspect_ratio.den, + 1. * context->sample_aspect_ratio.num / + context->sample_aspect_ratio.den); + } else { + GST_WARNING ("ignoring insane pixel-aspect-ratio %d/%d", + context->sample_aspect_ratio.num, context->sample_aspect_ratio.den); + } + } + + if (!raw) + return; + + g_return_if_fail (fps != NULL && GST_VALUE_HOLDS_FRACTION (fps)); + + if (gst_structure_has_name (structure, "video/x-raw")) { + if ((fmt = gst_structure_get_string (structure, "format"))) { + format = gst_video_format_from_string (fmt); + } + } + + switch (format) { + case GST_VIDEO_FORMAT_YUY2: + context->pix_fmt = AV_PIX_FMT_YUYV422; + break; + case GST_VIDEO_FORMAT_I420: + context->pix_fmt = AV_PIX_FMT_YUV420P; + break; + case GST_VIDEO_FORMAT_A420: + context->pix_fmt = AV_PIX_FMT_YUVA420P; + break; + case GST_VIDEO_FORMAT_Y41B: + context->pix_fmt = AV_PIX_FMT_YUV411P; + break; + case GST_VIDEO_FORMAT_Y42B: + context->pix_fmt = AV_PIX_FMT_YUV422P; + break; + case GST_VIDEO_FORMAT_YUV9: + context->pix_fmt = AV_PIX_FMT_YUV410P; + break; + case GST_VIDEO_FORMAT_Y444: + context->pix_fmt = AV_PIX_FMT_YUV444P; + break; + case GST_VIDEO_FORMAT_GRAY8: + context->pix_fmt = AV_PIX_FMT_GRAY8; + break; + case GST_VIDEO_FORMAT_xRGB: +#if (G_BYTE_ORDER == G_BIG_ENDIAN) + context->pix_fmt = AV_PIX_FMT_RGB32; +#endif + break; + case GST_VIDEO_FORMAT_BGRx: +#if (G_BYTE_ORDER == G_LITTLE_ENDIAN) + context->pix_fmt = AV_PIX_FMT_RGB32; +#endif + break; + case GST_VIDEO_FORMAT_RGB: + context->pix_fmt = AV_PIX_FMT_RGB24; + break; + case GST_VIDEO_FORMAT_BGR: + context->pix_fmt = AV_PIX_FMT_BGR24; + break; + case GST_VIDEO_FORMAT_RGB16: + context->pix_fmt = AV_PIX_FMT_RGB565; + break; + case GST_VIDEO_FORMAT_RGB15: + context->pix_fmt = AV_PIX_FMT_RGB555; + break; + case GST_VIDEO_FORMAT_RGB8P: + context->pix_fmt = AV_PIX_FMT_PAL8; + break; + default: + break; + } + + s = gst_structure_get_string (structure, "interlace-mode"); + if (s) { + if (strcmp (s, "progressive") == 0) { + context->field_order = AV_FIELD_PROGRESSIVE; + } else if (strcmp (s, "interleaved") == 0) { + s = gst_structure_get_string (structure, "field-order"); + if (s) { + if (strcmp (s, "top-field-first") == 0) { + context->field_order = AV_FIELD_TT; + } else if (strcmp (s, "bottom-field-first") == 0) { + context->field_order = AV_FIELD_TB; + } + } + } + } +} + +typedef struct +{ + GstVideoFormat format; + enum AVPixelFormat pixfmt; +} PixToFmt; + +/* FIXME : FILLME */ +static const PixToFmt pixtofmttable[] = { + /* GST_VIDEO_FORMAT_I420, */ + {GST_VIDEO_FORMAT_I420, AV_PIX_FMT_YUV420P}, + /* Note : this should use a different chroma placement */ + {GST_VIDEO_FORMAT_I420, AV_PIX_FMT_YUVJ420P}, + + /* GST_VIDEO_FORMAT_YV12, */ + /* GST_VIDEO_FORMAT_YUY2, */ + {GST_VIDEO_FORMAT_YUY2, AV_PIX_FMT_YUYV422}, + /* GST_VIDEO_FORMAT_UYVY, */ + {GST_VIDEO_FORMAT_UYVY, AV_PIX_FMT_UYVY422}, + /* GST_VIDEO_FORMAT_AYUV, */ + /* GST_VIDEO_FORMAT_RGBx, */ + {GST_VIDEO_FORMAT_RGBx, AV_PIX_FMT_RGB0}, + /* GST_VIDEO_FORMAT_BGRx, */ + {GST_VIDEO_FORMAT_BGRx, AV_PIX_FMT_BGR0}, + /* GST_VIDEO_FORMAT_xRGB, */ + {GST_VIDEO_FORMAT_xRGB, AV_PIX_FMT_0RGB}, + /* GST_VIDEO_FORMAT_xBGR, */ + {GST_VIDEO_FORMAT_xBGR, AV_PIX_FMT_0BGR}, + /* GST_VIDEO_FORMAT_RGBA, */ + {GST_VIDEO_FORMAT_RGBA, AV_PIX_FMT_RGBA}, + /* GST_VIDEO_FORMAT_BGRA, */ + {GST_VIDEO_FORMAT_BGRA, AV_PIX_FMT_BGRA}, + /* GST_VIDEO_FORMAT_ARGB, */ + {GST_VIDEO_FORMAT_ARGB, AV_PIX_FMT_ARGB}, + /* GST_VIDEO_FORMAT_ABGR, */ + {GST_VIDEO_FORMAT_ABGR, AV_PIX_FMT_ABGR}, + /* GST_VIDEO_FORMAT_RGB, */ + {GST_VIDEO_FORMAT_RGB, AV_PIX_FMT_RGB24}, + /* GST_VIDEO_FORMAT_BGR, */ + {GST_VIDEO_FORMAT_BGR, AV_PIX_FMT_BGR24}, + /* GST_VIDEO_FORMAT_Y41B, */ + {GST_VIDEO_FORMAT_Y41B, AV_PIX_FMT_YUV411P}, + /* GST_VIDEO_FORMAT_Y42B, */ + {GST_VIDEO_FORMAT_Y42B, AV_PIX_FMT_YUV422P}, + {GST_VIDEO_FORMAT_Y42B, AV_PIX_FMT_YUVJ422P}, + /* GST_VIDEO_FORMAT_YVYU, */ + /* GST_VIDEO_FORMAT_Y444, */ + {GST_VIDEO_FORMAT_Y444, AV_PIX_FMT_YUV444P}, + {GST_VIDEO_FORMAT_Y444, AV_PIX_FMT_YUVJ444P}, + /* GST_VIDEO_FORMAT_v210, */ + /* GST_VIDEO_FORMAT_v216, */ + /* GST_VIDEO_FORMAT_NV12, */ + {GST_VIDEO_FORMAT_NV12, AV_PIX_FMT_NV12}, + /* GST_VIDEO_FORMAT_NV21, */ + {GST_VIDEO_FORMAT_NV21, AV_PIX_FMT_NV21}, + /* GST_VIDEO_FORMAT_GRAY8, */ + {GST_VIDEO_FORMAT_GRAY8, AV_PIX_FMT_GRAY8}, + /* GST_VIDEO_FORMAT_GRAY16_BE, */ + {GST_VIDEO_FORMAT_GRAY16_BE, AV_PIX_FMT_GRAY16BE}, + /* GST_VIDEO_FORMAT_GRAY16_LE, */ + {GST_VIDEO_FORMAT_GRAY16_LE, AV_PIX_FMT_GRAY16LE}, + /* GST_VIDEO_FORMAT_v308, */ + /* GST_VIDEO_FORMAT_Y800, */ + /* GST_VIDEO_FORMAT_Y16, */ + /* GST_VIDEO_FORMAT_RGB16, */ + {GST_VIDEO_FORMAT_RGB16, AV_PIX_FMT_RGB565}, + /* GST_VIDEO_FORMAT_BGR16, */ + /* GST_VIDEO_FORMAT_RGB15, */ + {GST_VIDEO_FORMAT_RGB15, AV_PIX_FMT_RGB555}, + /* GST_VIDEO_FORMAT_BGR15, */ + /* GST_VIDEO_FORMAT_UYVP, */ + /* GST_VIDEO_FORMAT_A420, */ + {GST_VIDEO_FORMAT_A420, AV_PIX_FMT_YUVA420P}, + /* GST_VIDEO_FORMAT_RGB8_PALETTED, */ + {GST_VIDEO_FORMAT_RGB8P, AV_PIX_FMT_PAL8}, + /* GST_VIDEO_FORMAT_YUV9, */ + {GST_VIDEO_FORMAT_YUV9, AV_PIX_FMT_YUV410P}, + /* GST_VIDEO_FORMAT_YVU9, */ + /* GST_VIDEO_FORMAT_IYU1, */ + /* GST_VIDEO_FORMAT_ARGB64, */ + /* GST_VIDEO_FORMAT_AYUV64, */ + /* GST_VIDEO_FORMAT_r210, */ + {GST_VIDEO_FORMAT_I420_10LE, AV_PIX_FMT_YUV420P10LE}, + {GST_VIDEO_FORMAT_I420_10BE, AV_PIX_FMT_YUV420P10BE}, + {GST_VIDEO_FORMAT_I422_10LE, AV_PIX_FMT_YUV422P10LE}, + {GST_VIDEO_FORMAT_I422_10BE, AV_PIX_FMT_YUV422P10BE}, + {GST_VIDEO_FORMAT_Y444_10LE, AV_PIX_FMT_YUV444P10LE}, + {GST_VIDEO_FORMAT_Y444_10BE, AV_PIX_FMT_YUV444P10BE}, + {GST_VIDEO_FORMAT_GBR, AV_PIX_FMT_GBRP}, + {GST_VIDEO_FORMAT_GBRA, AV_PIX_FMT_GBRAP}, + {GST_VIDEO_FORMAT_GBR_10LE, AV_PIX_FMT_GBRP10LE}, + {GST_VIDEO_FORMAT_GBR_10BE, AV_PIX_FMT_GBRP10BE}, + {GST_VIDEO_FORMAT_GBRA_10LE, AV_PIX_FMT_GBRAP10LE}, + {GST_VIDEO_FORMAT_GBRA_10BE, AV_PIX_FMT_GBRAP10BE}, + {GST_VIDEO_FORMAT_GBR_12LE, AV_PIX_FMT_GBRP12LE}, + {GST_VIDEO_FORMAT_GBR_12BE, AV_PIX_FMT_GBRP12BE}, + {GST_VIDEO_FORMAT_GBRA_12LE, AV_PIX_FMT_GBRAP12LE}, + {GST_VIDEO_FORMAT_GBRA_12BE, AV_PIX_FMT_GBRAP12BE}, + {GST_VIDEO_FORMAT_A420_10LE, AV_PIX_FMT_YUVA420P10LE}, + {GST_VIDEO_FORMAT_A420_10BE, AV_PIX_FMT_YUVA420P10BE}, + {GST_VIDEO_FORMAT_A422_10LE, AV_PIX_FMT_YUVA422P10LE}, + {GST_VIDEO_FORMAT_A422_10BE, AV_PIX_FMT_YUVA422P10BE}, + {GST_VIDEO_FORMAT_A444_10LE, AV_PIX_FMT_YUVA444P10LE}, + {GST_VIDEO_FORMAT_A444_10BE, AV_PIX_FMT_YUVA444P10BE}, + {GST_VIDEO_FORMAT_I420_12LE, AV_PIX_FMT_YUV420P12LE}, + {GST_VIDEO_FORMAT_I420_12BE, AV_PIX_FMT_YUV420P12BE}, + {GST_VIDEO_FORMAT_I422_12LE, AV_PIX_FMT_YUV422P12LE}, + {GST_VIDEO_FORMAT_I422_12BE, AV_PIX_FMT_YUV422P12BE}, + {GST_VIDEO_FORMAT_Y444_12LE, AV_PIX_FMT_YUV444P12LE}, + {GST_VIDEO_FORMAT_Y444_12BE, AV_PIX_FMT_YUV444P12BE}, +}; + +GstVideoFormat +gst_ffmpeg_pixfmt_to_videoformat (enum AVPixelFormat pixfmt) +{ + guint i; + + for (i = 0; i < G_N_ELEMENTS (pixtofmttable); i++) + if (pixtofmttable[i].pixfmt == pixfmt) + return pixtofmttable[i].format; + + GST_DEBUG ("Unknown pixel format %d", pixfmt); + return GST_VIDEO_FORMAT_UNKNOWN; +} + +static enum AVPixelFormat +gst_ffmpeg_videoformat_to_pixfmt_for_codec (GstVideoFormat format, + const AVCodec * codec) +{ + guint i; + + for (i = 0; i < G_N_ELEMENTS (pixtofmttable); i++) { + if (pixtofmttable[i].format == format) { + gint j; + + if (codec && codec->pix_fmts) { + for (j = 0; codec->pix_fmts[j] != -1; j++) { + if (pixtofmttable[i].pixfmt == codec->pix_fmts[j]) + return pixtofmttable[i].pixfmt; + } + } else { + return pixtofmttable[i].pixfmt; + } + } + } + + return AV_PIX_FMT_NONE; +} + +enum AVPixelFormat +gst_ffmpeg_videoformat_to_pixfmt (GstVideoFormat format) +{ + return gst_ffmpeg_videoformat_to_pixfmt_for_codec (format, NULL); +} + +void +gst_ffmpeg_videoinfo_to_context (GstVideoInfo * info, AVCodecContext * context) +{ + gint i, bpp = 0; + + context->width = GST_VIDEO_INFO_WIDTH (info); + context->height = GST_VIDEO_INFO_HEIGHT (info); + for (i = 0; i < GST_VIDEO_INFO_N_COMPONENTS (info); i++) + bpp += GST_VIDEO_INFO_COMP_DEPTH (info, i); + context->bits_per_coded_sample = bpp; + + context->ticks_per_frame = 1; + if (GST_VIDEO_INFO_FPS_N (info) == 0) { + GST_DEBUG ("Using 25/1 framerate"); + context->time_base.den = 25; + context->time_base.num = 1; + } else { + context->time_base.den = GST_VIDEO_INFO_FPS_N (info); + context->time_base.num = GST_VIDEO_INFO_FPS_D (info); + } + + context->sample_aspect_ratio.num = GST_VIDEO_INFO_PAR_N (info); + context->sample_aspect_ratio.den = GST_VIDEO_INFO_PAR_D (info); + + context->pix_fmt = + gst_ffmpeg_videoformat_to_pixfmt_for_codec (GST_VIDEO_INFO_FORMAT (info), + context->codec); + + switch (info->chroma_site) { + case GST_VIDEO_CHROMA_SITE_MPEG2: + context->chroma_sample_location = AVCHROMA_LOC_LEFT; + break; + case GST_VIDEO_CHROMA_SITE_JPEG: + context->chroma_sample_location = AVCHROMA_LOC_CENTER; + break; + case GST_VIDEO_CHROMA_SITE_DV: + context->chroma_sample_location = AVCHROMA_LOC_TOPLEFT; + break; + case GST_VIDEO_CHROMA_SITE_V_COSITED: + context->chroma_sample_location = AVCHROMA_LOC_TOP; + break; + default: + break; + } + + context->color_primaries = + gst_video_color_primaries_to_iso (info->colorimetry.primaries); + context->color_trc = + gst_video_transfer_function_to_iso (info->colorimetry.transfer); + context->colorspace = + gst_video_color_matrix_to_iso (info->colorimetry.matrix); + + if (info->colorimetry.range == GST_VIDEO_COLOR_RANGE_0_255) { + context->color_range = AVCOL_RANGE_JPEG; + } else { + context->color_range = AVCOL_RANGE_MPEG; + } +} + +void +gst_ffmpeg_audioinfo_to_context (GstAudioInfo * info, AVCodecContext * context) +{ + const AVCodec *codec; + const enum AVSampleFormat *smpl_fmts; + enum AVSampleFormat smpl_fmt = -1; + + context->channels = info->channels; + context->sample_rate = info->rate; + context->channel_layout = + gst_ffmpeg_channel_positions_to_layout (info->position, info->channels); + + codec = context->codec; + + smpl_fmts = codec->sample_fmts; + + switch (info->finfo->format) { + case GST_AUDIO_FORMAT_F32: + if (smpl_fmts) { + while (*smpl_fmts != -1) { + if (*smpl_fmts == AV_SAMPLE_FMT_FLT) { + smpl_fmt = *smpl_fmts; + break; + } else if (*smpl_fmts == AV_SAMPLE_FMT_FLTP) { + smpl_fmt = *smpl_fmts; + } + + smpl_fmts++; + } + } else { + smpl_fmt = AV_SAMPLE_FMT_FLT; + } + break; + case GST_AUDIO_FORMAT_F64: + if (smpl_fmts) { + while (*smpl_fmts != -1) { + if (*smpl_fmts == AV_SAMPLE_FMT_DBL) { + smpl_fmt = *smpl_fmts; + break; + } else if (*smpl_fmts == AV_SAMPLE_FMT_DBLP) { + smpl_fmt = *smpl_fmts; + } + + smpl_fmts++; + } + } else { + smpl_fmt = AV_SAMPLE_FMT_DBL; + } + break; + case GST_AUDIO_FORMAT_S32: + if (smpl_fmts) { + while (*smpl_fmts != -1) { + if (*smpl_fmts == AV_SAMPLE_FMT_S32) { + smpl_fmt = *smpl_fmts; + break; + } else if (*smpl_fmts == AV_SAMPLE_FMT_S32P) { + smpl_fmt = *smpl_fmts; + } + + smpl_fmts++; + } + } else { + smpl_fmt = AV_SAMPLE_FMT_S32; + } + break; + case GST_AUDIO_FORMAT_S16: + if (smpl_fmts) { + while (*smpl_fmts != -1) { + if (*smpl_fmts == AV_SAMPLE_FMT_S16) { + smpl_fmt = *smpl_fmts; + break; + } else if (*smpl_fmts == AV_SAMPLE_FMT_S16P) { + smpl_fmt = *smpl_fmts; + } + + smpl_fmts++; + } + } else { + smpl_fmt = AV_SAMPLE_FMT_S16; + } + break; + case GST_AUDIO_FORMAT_U8: + if (smpl_fmts) { + while (*smpl_fmts != -1) { + if (*smpl_fmts == AV_SAMPLE_FMT_U8) { + smpl_fmt = *smpl_fmts; + break; + } else if (*smpl_fmts == AV_SAMPLE_FMT_U8P) { + smpl_fmt = *smpl_fmts; + } + + smpl_fmts++; + } + } else { + smpl_fmt = AV_SAMPLE_FMT_U8; + } + break; + default: + break; + } + + g_assert (smpl_fmt != -1); + + context->sample_fmt = smpl_fmt; +} + +/* Convert a GstCaps and a FFMPEG codec Type to a + * AVCodecContext. If the context is ommitted, no fixed values + * for video/audio size will be included in the context + * + * AVMediaType is primarily meant for uncompressed data GstCaps! + */ + +void +gst_ffmpeg_caps_with_codectype (enum AVMediaType type, + const GstCaps * caps, AVCodecContext * context) +{ + if (context == NULL) + return; + + switch (type) { + case AVMEDIA_TYPE_VIDEO: + gst_ffmpeg_caps_to_pixfmt (caps, context, TRUE); + break; + + case AVMEDIA_TYPE_AUDIO: + gst_ffmpeg_caps_to_smpfmt (caps, context, TRUE); + break; + + default: + /* unknown */ + break; + } +} + +#if 0 +static void +nal_escape (guint8 * dst, guint8 * src, guint size, guint * destsize) +{ + guint8 *dstp = dst; + guint8 *srcp = src; + guint8 *end = src + size; + gint count = 0; + + while (srcp < end) { + if (count == 2 && *srcp <= 0x03) { + GST_DEBUG ("added escape code"); + *dstp++ = 0x03; + count = 0; + } + if (*srcp == 0) + count++; + else + count = 0; + + GST_DEBUG ("copy %02x, count %d", *srcp, count); + *dstp++ = *srcp++; + } + *destsize = dstp - dst; +} + +/* copy the config, escaping NAL units as we iterate them, if something fails we + * copy everything and hope for the best. */ +static void +copy_config (guint8 * dst, guint8 * src, guint size, guint * destsize) +{ + guint8 *dstp = dst; + guint8 *srcp = src; + gint cnt, i; + guint nalsize, esize; + + /* check size */ + if (size < 7) + goto full_copy; + + /* check version */ + if (*srcp != 1) + goto full_copy; + + cnt = *(srcp + 5) & 0x1f; /* Number of sps */ + + GST_DEBUG ("num SPS %d", cnt); + + memcpy (dstp, srcp, 6); + srcp += 6; + dstp += 6; + + for (i = 0; i < cnt; i++) { + GST_DEBUG ("copy SPS %d", i); + nalsize = (srcp[0] << 8) | srcp[1]; + nal_escape (dstp + 2, srcp + 2, nalsize, &esize); + dstp[0] = esize >> 8; + dstp[1] = esize & 0xff; + dstp += esize + 2; + srcp += nalsize + 2; + } + + cnt = *(dstp++) = *(srcp++); /* Number of pps */ + + GST_DEBUG ("num PPS %d", cnt); + + for (i = 0; i < cnt; i++) { + GST_DEBUG ("copy PPS %d", i); + nalsize = (srcp[0] << 8) | srcp[1]; + nal_escape (dstp + 2, srcp + 2, nalsize, &esize); + dstp[0] = esize >> 8; + dstp[1] = esize & 0xff; + dstp += esize + 2; + srcp += nalsize + 2; + } + *destsize = dstp - dst; + + return; + +full_copy: + { + GST_DEBUG ("something unexpected, doing full copy"); + memcpy (dst, src, size); + *destsize = size; + return; + } +} +#endif + +/* + * caps_with_codecid () transforms a GstCaps for a known codec + * ID into a filled-in context. + * codec_data from caps will override possible extradata already in the context + */ + +void +gst_ffmpeg_caps_with_codecid (enum AVCodecID codec_id, + enum AVMediaType codec_type, const GstCaps * caps, AVCodecContext * context) +{ + GstStructure *str; + const GValue *value; + GstBuffer *buf; + + GST_LOG ("codec_id:%d, codec_type:%d, caps:%" GST_PTR_FORMAT " context:%p", + codec_id, codec_type, caps, context); + + if (!context || !gst_caps_get_size (caps)) + return; + + str = gst_caps_get_structure (caps, 0); + + /* extradata parsing (esds [mpeg4], wma/wmv, msmpeg4v1/2/3, etc.) */ + if ((value = gst_structure_get_value (str, "codec_data"))) { + GstMapInfo map; + + buf = gst_value_get_buffer (value); + gst_buffer_map (buf, &map, GST_MAP_READ); + + /* free the old one if it is there */ + if (context->extradata) + av_free (context->extradata); + +#if 0 + if (codec_id == AV_CODEC_ID_H264) { + guint extrasize; + + GST_DEBUG ("copy, escaping codec_data %d", size); + /* ffmpeg h264 expects the codec_data to be escaped, there is no real + * reason for this but let's just escape it for now. Start by allocating + * enough space, x2 is more than enough. + * + * FIXME, we disabled escaping because some file already contain escaped + * codec_data and then we escape twice and fail. It's better to leave it + * as is, as that is what most players do. */ + context->extradata = + av_mallocz (GST_ROUND_UP_16 (size * 2 + + AV_INPUT_BUFFER_PADDING_SIZE)); + copy_config (context->extradata, data, size, &extrasize); + GST_DEBUG ("escaped size: %d", extrasize); + context->extradata_size = extrasize; + } else +#endif + { + /* allocate with enough padding */ + GST_DEBUG ("copy codec_data"); + context->extradata = + av_mallocz (GST_ROUND_UP_16 (map.size + + AV_INPUT_BUFFER_PADDING_SIZE)); + memcpy (context->extradata, map.data, map.size); + context->extradata_size = map.size; + } + + /* Hack for VC1. Sometimes the first (length) byte is 0 for some files */ + if (codec_id == AV_CODEC_ID_VC1 && map.size > 0 && map.data[0] == 0) { + context->extradata[0] = (guint8) map.size; + } + + GST_DEBUG ("have codec data of size %" G_GSIZE_FORMAT, map.size); + + gst_buffer_unmap (buf, &map); + } else { + context->extradata = NULL; + context->extradata_size = 0; + GST_DEBUG ("no codec data"); + } + + switch (codec_id) { + case AV_CODEC_ID_MPEG4: + { + const gchar *mime = gst_structure_get_name (str); + + context->flags |= AV_CODEC_FLAG_4MV; + + if (!strcmp (mime, "video/x-divx")) + context->codec_tag = GST_MAKE_FOURCC ('D', 'I', 'V', 'X'); + else if (!strcmp (mime, "video/mpeg")) { + const gchar *profile; + + context->codec_tag = GST_MAKE_FOURCC ('m', 'p', '4', 'v'); + + profile = gst_structure_get_string (str, "profile"); + if (profile) { + if (g_strcmp0 (profile, "advanced-simple") == 0) + context->flags |= AV_CODEC_FLAG_QPEL; + } + } + break; + } + + case AV_CODEC_ID_SVQ3: + /* FIXME: this is a workaround for older gst-plugins releases + * (<= 0.8.9). This should be removed at some point, because + * it causes wrong decoded frame order. */ + if (!context->extradata) { + gint halfpel_flag, thirdpel_flag, low_delay, unknown_svq3_flag; + guint16 flags; + + if (gst_structure_get_int (str, "halfpel_flag", &halfpel_flag) && + gst_structure_get_int (str, "thirdpel_flag", &thirdpel_flag) && + gst_structure_get_int (str, "low_delay", &low_delay) && + gst_structure_get_int (str, "unknown_svq3_flag", + &unknown_svq3_flag)) { + context->extradata = (guint8 *) av_mallocz (0x64); + g_stpcpy ((gchar *) context->extradata, "SVQ3"); + flags = 1 << 3; + flags |= low_delay; + flags = flags << 2; + flags |= unknown_svq3_flag; + flags = flags << 6; + flags |= halfpel_flag; + flags = flags << 1; + flags |= thirdpel_flag; + flags = flags << 3; + + flags = GUINT16_FROM_LE (flags); + + memcpy ((gchar *) context->extradata + 0x62, &flags, 2); + context->extradata_size = 0x64; + } + } + break; + + case AV_CODEC_ID_MSRLE: + case AV_CODEC_ID_QTRLE: + case AV_CODEC_ID_TSCC: + case AV_CODEC_ID_CSCD: + case AV_CODEC_ID_APE: + { + gint depth; + + if (gst_structure_get_int (str, "depth", &depth)) { + context->bits_per_coded_sample = depth; + } else { + GST_WARNING ("No depth field in caps %" GST_PTR_FORMAT, caps); + } + + } + break; + + case AV_CODEC_ID_COOK: + case AV_CODEC_ID_RA_288: + case AV_CODEC_ID_RA_144: + case AV_CODEC_ID_SIPR: + { + gint leaf_size; + gint bitrate; + + if (gst_structure_get_int (str, "leaf_size", &leaf_size)) + context->block_align = leaf_size; + if (gst_structure_get_int (str, "bitrate", &bitrate)) + context->bit_rate = bitrate; + } + break; + case AV_CODEC_ID_ALAC: + gst_structure_get_int (str, "samplesize", + &context->bits_per_coded_sample); + break; + + case AV_CODEC_ID_DVVIDEO: + { + const gchar *format; + + if ((format = gst_structure_get_string (str, "format"))) { + + if (g_str_equal (format, "YUY2")) + context->pix_fmt = AV_PIX_FMT_YUYV422; + else if (g_str_equal (format, "I420")) + context->pix_fmt = AV_PIX_FMT_YUV420P; + else if (g_str_equal (format, "A420")) + context->pix_fmt = AV_PIX_FMT_YUVA420P; + else if (g_str_equal (format, "Y41B")) + context->pix_fmt = AV_PIX_FMT_YUV411P; + else if (g_str_equal (format, "Y42B")) + context->pix_fmt = AV_PIX_FMT_YUV422P; + else if (g_str_equal (format, "YUV9")) + context->pix_fmt = AV_PIX_FMT_YUV410P; + else { + GST_WARNING ("couldn't convert format %s" " to a pixel format", + format); + } + } else + GST_WARNING ("No specified format"); + break; + } + case AV_CODEC_ID_H263P: + { + gboolean val; + + if (!gst_structure_get_boolean (str, "annex-f", &val) || val) + context->flags |= AV_CODEC_FLAG_4MV; + else + context->flags &= ~AV_CODEC_FLAG_4MV; + if ((!gst_structure_get_boolean (str, "annex-i", &val) || val) && + (!gst_structure_get_boolean (str, "annex-t", &val) || val)) + context->flags |= AV_CODEC_FLAG_AC_PRED; + else + context->flags &= ~AV_CODEC_FLAG_AC_PRED; + if (!gst_structure_get_boolean (str, "annex-j", &val) || val) + context->flags |= AV_CODEC_FLAG_LOOP_FILTER; + else + context->flags &= ~AV_CODEC_FLAG_LOOP_FILTER; + break; + } + case AV_CODEC_ID_ADPCM_G726: + { + const gchar *layout; + + if ((layout = gst_structure_get_string (str, "layout"))) { + if (!strcmp (layout, "g721")) { + context->sample_rate = 8000; + context->channels = 1; + context->bit_rate = 32000; + } + } + break; + } + case AV_CODEC_ID_SPEEDHQ: + { + const gchar *variant; + + if (context && (variant = gst_structure_get_string (str, "variant")) + && strlen (variant) == 4) { + + context->codec_tag = + GST_MAKE_FOURCC (variant[0], variant[1], variant[2], variant[3]); + } + break; + } + default: + break; + } + + if (!gst_caps_is_fixed (caps)) + return; + + /* common properties (width, height, fps) */ + switch (codec_type) { + case AVMEDIA_TYPE_VIDEO: + gst_ffmpeg_caps_to_pixfmt (caps, context, + codec_id == AV_CODEC_ID_RAWVIDEO); + break; + case AVMEDIA_TYPE_AUDIO: + gst_ffmpeg_caps_to_smpfmt (caps, context, FALSE); + break; + default: + break; + } + + /* fixup of default settings */ + switch (codec_id) { + case AV_CODEC_ID_QCELP: + /* QCELP is always mono, no matter what the caps say */ + context->channels = 1; + break; + case AV_CODEC_ID_ADPCM_G726: + if (context->sample_rate && context->bit_rate) + context->bits_per_coded_sample = + context->bit_rate / context->sample_rate; + break; + default: + break; + } +} + +/* _formatid_to_caps () is meant for muxers/demuxers, it + * transforms a name (ffmpeg way of ID'ing these, why don't + * they have unique numerical IDs?) to the corresponding + * caps belonging to that mux-format + * + * Note: we don't need any additional info because the caps + * isn't supposed to contain any useful info besides the + * media type anyway + */ + +GstCaps * +gst_ffmpeg_formatid_to_caps (const gchar * format_name) +{ + GstCaps *caps = NULL; + + if (!strcmp (format_name, "mpeg")) { + caps = gst_caps_new_simple ("video/mpeg", + "systemstream", G_TYPE_BOOLEAN, TRUE, NULL); + } else if (!strcmp (format_name, "mpegts")) { + caps = gst_caps_new_simple ("video/mpegts", + "systemstream", G_TYPE_BOOLEAN, TRUE, NULL); + } else if (!strcmp (format_name, "rm")) { + caps = gst_caps_new_simple ("application/x-pn-realmedia", + "systemstream", G_TYPE_BOOLEAN, TRUE, NULL); + } else if (!strcmp (format_name, "asf")) { + caps = gst_caps_new_empty_simple ("video/x-ms-asf"); + } else if (!strcmp (format_name, "avi")) { + caps = gst_caps_new_empty_simple ("video/x-msvideo"); + } else if (!strcmp (format_name, "wav")) { + caps = gst_caps_new_empty_simple ("audio/x-wav"); + } else if (!strcmp (format_name, "ape")) { + caps = gst_caps_new_empty_simple ("application/x-ape"); + } else if (!strcmp (format_name, "swf")) { + caps = gst_caps_new_empty_simple ("application/x-shockwave-flash"); + } else if (!strcmp (format_name, "au")) { + caps = gst_caps_new_empty_simple ("audio/x-au"); + } else if (!strcmp (format_name, "dv")) { + caps = gst_caps_new_simple ("video/x-dv", + "systemstream", G_TYPE_BOOLEAN, TRUE, NULL); + } else if (!strcmp (format_name, "4xm")) { + caps = gst_caps_new_empty_simple ("video/x-4xm"); + } else if (!strcmp (format_name, "matroska")) { + caps = gst_caps_new_empty_simple ("video/x-matroska"); + } else if (!strcmp (format_name, "ivf")) { + caps = gst_caps_new_empty_simple ("video/x-ivf"); + } else if (!strcmp (format_name, "mp3")) { + caps = gst_caps_new_empty_simple ("application/x-id3"); + } else if (!strcmp (format_name, "flic")) { + caps = gst_caps_new_empty_simple ("video/x-fli"); + } else if (!strcmp (format_name, "flv")) { + caps = gst_caps_new_empty_simple ("video/x-flv"); + } else if (!strcmp (format_name, "tta")) { + caps = gst_caps_new_empty_simple ("audio/x-ttafile"); + } else if (!strcmp (format_name, "aiff")) { + caps = gst_caps_new_empty_simple ("audio/x-aiff"); + } else if (!strcmp (format_name, "mov_mp4_m4a_3gp_3g2")) { + caps = + gst_caps_from_string + ("application/x-3gp; video/quicktime; audio/x-m4a"); + } else if (!strcmp (format_name, "mov")) { + caps = gst_caps_from_string ("video/quicktime,variant=(string)apple"); + } else if (!strcmp (format_name, "mp4")) { + caps = gst_caps_from_string ("video/quicktime,variant=(string)iso"); + } else if (!strcmp (format_name, "3gp")) { + caps = gst_caps_from_string ("video/quicktime,variant=(string)3gpp"); + } else if (!strcmp (format_name, "3g2")) { + caps = gst_caps_from_string ("video/quicktime,variant=(string)3g2"); + } else if (!strcmp (format_name, "psp")) { + caps = gst_caps_from_string ("video/quicktime,variant=(string)psp"); + } else if (!strcmp (format_name, "ipod")) { + caps = gst_caps_from_string ("video/quicktime,variant=(string)ipod"); + } else if (!strcmp (format_name, "aac")) { + caps = gst_caps_new_simple ("audio/mpeg", + "mpegversion", G_TYPE_INT, 4, NULL); + } else if (!strcmp (format_name, "gif")) { + caps = gst_caps_from_string ("image/gif"); + } else if (!strcmp (format_name, "ogg")) { + caps = gst_caps_from_string ("application/ogg"); + } else if (!strcmp (format_name, "mxf") || !strcmp (format_name, "mxf_d10")) { + caps = gst_caps_from_string ("application/mxf"); + } else if (!strcmp (format_name, "gxf")) { + caps = gst_caps_from_string ("application/gxf"); + } else if (!strcmp (format_name, "yuv4mpegpipe")) { + caps = gst_caps_new_simple ("application/x-yuv4mpeg", + "y4mversion", G_TYPE_INT, 2, NULL); + } else if (!strcmp (format_name, "mpc")) { + caps = gst_caps_from_string ("audio/x-musepack, streamversion = (int) 7"); + } else if (!strcmp (format_name, "mpc8")) { + caps = gst_caps_from_string ("audio/x-musepack, streamversion = (int) 8"); + } else if (!strcmp (format_name, "vqf")) { + caps = gst_caps_from_string ("audio/x-vqf"); + } else if (!strcmp (format_name, "nsv")) { + caps = gst_caps_from_string ("video/x-nsv"); + } else if (!strcmp (format_name, "amr")) { + caps = gst_caps_from_string ("audio/x-amr-nb-sh"); + } else if (!strcmp (format_name, "webm")) { + caps = gst_caps_from_string ("video/webm"); + } else if (!strcmp (format_name, "voc")) { + caps = gst_caps_from_string ("audio/x-voc"); + } else if (!strcmp (format_name, "pva")) { + caps = gst_caps_from_string ("video/x-pva"); + } else if (!strcmp (format_name, "brstm")) { + caps = gst_caps_from_string ("audio/x-brstm"); + } else if (!strcmp (format_name, "bfstm")) { + caps = gst_caps_from_string ("audio/x-bfstm"); + } else { + gchar *name; + + GST_LOG ("Could not create stream format caps for %s", format_name); + name = g_strdup_printf ("application/x-gst-av-%s", format_name); + caps = gst_caps_new_empty_simple (name); + g_free (name); + } + + return caps; +} + +gboolean +gst_ffmpeg_formatid_get_codecids (const gchar * format_name, + enum AVCodecID ** video_codec_list, enum AVCodecID ** audio_codec_list, + AVOutputFormat * plugin) +{ + static enum AVCodecID tmp_vlist[] = { + AV_CODEC_ID_NONE, + AV_CODEC_ID_NONE + }; + static enum AVCodecID tmp_alist[] = { + AV_CODEC_ID_NONE, + AV_CODEC_ID_NONE + }; + + GST_LOG ("format_name : %s", format_name); + + if (!strcmp (format_name, "mp4")) { + static enum AVCodecID mp4_video_list[] = { + AV_CODEC_ID_MPEG4, AV_CODEC_ID_H264, + AV_CODEC_ID_MJPEG, + AV_CODEC_ID_NONE + }; + static enum AVCodecID mp4_audio_list[] = { + AV_CODEC_ID_AAC, AV_CODEC_ID_MP3, + AV_CODEC_ID_NONE + }; + + *video_codec_list = mp4_video_list; + *audio_codec_list = mp4_audio_list; + } else if (!strcmp (format_name, "mpeg")) { + static enum AVCodecID mpeg_video_list[] = { AV_CODEC_ID_MPEG1VIDEO, + AV_CODEC_ID_MPEG2VIDEO, + AV_CODEC_ID_H264, + AV_CODEC_ID_NONE + }; + static enum AVCodecID mpeg_audio_list[] = { AV_CODEC_ID_MP1, + AV_CODEC_ID_MP2, + AV_CODEC_ID_MP3, + AV_CODEC_ID_NONE + }; + + *video_codec_list = mpeg_video_list; + *audio_codec_list = mpeg_audio_list; + } else if (!strcmp (format_name, "dvd")) { + static enum AVCodecID mpeg_video_list[] = { AV_CODEC_ID_MPEG2VIDEO, + AV_CODEC_ID_NONE + }; + static enum AVCodecID mpeg_audio_list[] = { AV_CODEC_ID_MP2, + AV_CODEC_ID_AC3, + AV_CODEC_ID_DTS, + AV_CODEC_ID_PCM_S16BE, + AV_CODEC_ID_NONE + }; + + *video_codec_list = mpeg_video_list; + *audio_codec_list = mpeg_audio_list; + } else if (!strcmp (format_name, "mpegts")) { + static enum AVCodecID mpegts_video_list[] = { AV_CODEC_ID_MPEG1VIDEO, + AV_CODEC_ID_MPEG2VIDEO, + AV_CODEC_ID_H264, + AV_CODEC_ID_NONE + }; + static enum AVCodecID mpegts_audio_list[] = { AV_CODEC_ID_MP2, + AV_CODEC_ID_MP3, + AV_CODEC_ID_AC3, + AV_CODEC_ID_DTS, + AV_CODEC_ID_AAC, + AV_CODEC_ID_NONE + }; + + *video_codec_list = mpegts_video_list; + *audio_codec_list = mpegts_audio_list; + } else if (!strcmp (format_name, "vob")) { + static enum AVCodecID vob_video_list[] = + { AV_CODEC_ID_MPEG2VIDEO, AV_CODEC_ID_NONE }; + static enum AVCodecID vob_audio_list[] = { AV_CODEC_ID_MP2, AV_CODEC_ID_AC3, + AV_CODEC_ID_DTS, AV_CODEC_ID_NONE + }; + + *video_codec_list = vob_video_list; + *audio_codec_list = vob_audio_list; + } else if (!strcmp (format_name, "flv")) { + static enum AVCodecID flv_video_list[] = + { AV_CODEC_ID_FLV1, AV_CODEC_ID_NONE }; + static enum AVCodecID flv_audio_list[] = + { AV_CODEC_ID_MP3, AV_CODEC_ID_NONE }; + + *video_codec_list = flv_video_list; + *audio_codec_list = flv_audio_list; + } else if (!strcmp (format_name, "asf")) { + static enum AVCodecID asf_video_list[] = + { AV_CODEC_ID_WMV1, AV_CODEC_ID_WMV2, AV_CODEC_ID_MSMPEG4V3, + AV_CODEC_ID_NONE + }; + static enum AVCodecID asf_audio_list[] = + { AV_CODEC_ID_WMAV1, AV_CODEC_ID_WMAV2, AV_CODEC_ID_MP3, + AV_CODEC_ID_NONE + }; + + *video_codec_list = asf_video_list; + *audio_codec_list = asf_audio_list; + } else if (!strcmp (format_name, "dv")) { + static enum AVCodecID dv_video_list[] = + { AV_CODEC_ID_DVVIDEO, AV_CODEC_ID_NONE }; + static enum AVCodecID dv_audio_list[] = + { AV_CODEC_ID_PCM_S16LE, AV_CODEC_ID_NONE }; + + *video_codec_list = dv_video_list; + *audio_codec_list = dv_audio_list; + } else if (!strcmp (format_name, "mov")) { + static enum AVCodecID mov_video_list[] = { + AV_CODEC_ID_SVQ1, AV_CODEC_ID_SVQ3, AV_CODEC_ID_MPEG4, + AV_CODEC_ID_H263, AV_CODEC_ID_H263P, + AV_CODEC_ID_H264, AV_CODEC_ID_DVVIDEO, + AV_CODEC_ID_MJPEG, + AV_CODEC_ID_NONE + }; + static enum AVCodecID mov_audio_list[] = { + AV_CODEC_ID_PCM_MULAW, AV_CODEC_ID_PCM_ALAW, AV_CODEC_ID_ADPCM_IMA_QT, + AV_CODEC_ID_MACE3, AV_CODEC_ID_MACE6, AV_CODEC_ID_AAC, + AV_CODEC_ID_AMR_NB, AV_CODEC_ID_AMR_WB, + AV_CODEC_ID_PCM_S16BE, AV_CODEC_ID_PCM_S16LE, + AV_CODEC_ID_MP3, AV_CODEC_ID_NONE + }; + + *video_codec_list = mov_video_list; + *audio_codec_list = mov_audio_list; + } else if ((!strcmp (format_name, "3gp") || !strcmp (format_name, "3g2"))) { + static enum AVCodecID tgp_video_list[] = { + AV_CODEC_ID_MPEG4, AV_CODEC_ID_H263, AV_CODEC_ID_H263P, AV_CODEC_ID_H264, + AV_CODEC_ID_NONE + }; + static enum AVCodecID tgp_audio_list[] = { + AV_CODEC_ID_AMR_NB, AV_CODEC_ID_AMR_WB, + AV_CODEC_ID_AAC, + AV_CODEC_ID_NONE + }; + + *video_codec_list = tgp_video_list; + *audio_codec_list = tgp_audio_list; + } else if (!strcmp (format_name, "mmf")) { + static enum AVCodecID mmf_audio_list[] = { + AV_CODEC_ID_ADPCM_YAMAHA, AV_CODEC_ID_NONE + }; + *video_codec_list = NULL; + *audio_codec_list = mmf_audio_list; + } else if (!strcmp (format_name, "amr")) { + static enum AVCodecID amr_audio_list[] = { + AV_CODEC_ID_AMR_NB, AV_CODEC_ID_AMR_WB, + AV_CODEC_ID_NONE + }; + *video_codec_list = NULL; + *audio_codec_list = amr_audio_list; + } else if (!strcmp (format_name, "gif")) { + static enum AVCodecID gif_image_list[] = { + AV_CODEC_ID_RAWVIDEO, AV_CODEC_ID_NONE + }; + *video_codec_list = gif_image_list; + *audio_codec_list = NULL; + } else if ((!strcmp (format_name, "pva"))) { + static enum AVCodecID pga_video_list[] = { + AV_CODEC_ID_MPEG2VIDEO, + AV_CODEC_ID_NONE + }; + static enum AVCodecID pga_audio_list[] = { + AV_CODEC_ID_MP2, + AV_CODEC_ID_NONE + }; + + *video_codec_list = pga_video_list; + *audio_codec_list = pga_audio_list; + } else if ((!strcmp (format_name, "ivf"))) { + static enum AVCodecID ivf_video_list[] = { + AV_CODEC_ID_VP8, + AV_CODEC_ID_VP9, + AV_CODEC_ID_AV1, + AV_CODEC_ID_NONE + }; + static enum AVCodecID ivf_audio_list[] = { + AV_CODEC_ID_NONE + }; + + *video_codec_list = ivf_video_list; + *audio_codec_list = ivf_audio_list; + } else if ((plugin->audio_codec != AV_CODEC_ID_NONE) || + (plugin->video_codec != AV_CODEC_ID_NONE)) { + tmp_vlist[0] = plugin->video_codec; + tmp_alist[0] = plugin->audio_codec; + + *video_codec_list = tmp_vlist; + *audio_codec_list = tmp_alist; + } else { + GST_LOG ("Format %s not found", format_name); + return FALSE; + } + + return TRUE; +} + +/* Convert a GstCaps to a FFMPEG codec ID. Size et all + * are omitted, that can be queried by the user itself, + * we're not eating the GstCaps or anything + * A pointer to an allocated context is also needed for + * optional extra info + */ + +enum AVCodecID +gst_ffmpeg_caps_to_codecid (const GstCaps * caps, AVCodecContext * context) +{ + enum AVCodecID id = AV_CODEC_ID_NONE; + const gchar *mimetype; + const GstStructure *structure; + gboolean video = FALSE, audio = FALSE; /* we want to be sure! */ + + g_return_val_if_fail (caps != NULL, AV_CODEC_ID_NONE); + g_return_val_if_fail (gst_caps_get_size (caps) == 1, AV_CODEC_ID_NONE); + structure = gst_caps_get_structure (caps, 0); + + mimetype = gst_structure_get_name (structure); + + if (!strcmp (mimetype, "video/x-raw")) { + id = AV_CODEC_ID_RAWVIDEO; + video = TRUE; + } else if (!strcmp (mimetype, "audio/x-raw")) { + GstAudioInfo info; + + if (gst_audio_info_from_caps (&info, caps)) { + switch (GST_AUDIO_INFO_FORMAT (&info)) { + case GST_AUDIO_FORMAT_S8: + id = AV_CODEC_ID_PCM_S8; + break; + case GST_AUDIO_FORMAT_U8: + id = AV_CODEC_ID_PCM_U8; + break; + case GST_AUDIO_FORMAT_S16LE: + id = AV_CODEC_ID_PCM_S16LE; + break; + case GST_AUDIO_FORMAT_S16BE: + id = AV_CODEC_ID_PCM_S16BE; + break; + case GST_AUDIO_FORMAT_U16LE: + id = AV_CODEC_ID_PCM_U16LE; + break; + case GST_AUDIO_FORMAT_U16BE: + id = AV_CODEC_ID_PCM_U16BE; + break; + default: + break; + } + if (id != AV_CODEC_ID_NONE) + audio = TRUE; + } + } else if (!strcmp (mimetype, "audio/x-mulaw")) { + id = AV_CODEC_ID_PCM_MULAW; + audio = TRUE; + } else if (!strcmp (mimetype, "audio/x-alaw")) { + id = AV_CODEC_ID_PCM_ALAW; + audio = TRUE; + } else if (!strcmp (mimetype, "video/x-dv")) { + gboolean sys_strm; + + if (gst_structure_get_boolean (structure, "systemstream", &sys_strm) && + !sys_strm) { + id = AV_CODEC_ID_DVVIDEO; + video = TRUE; + } + } else if (!strcmp (mimetype, "audio/x-dv")) { /* ??? */ + id = AV_CODEC_ID_DVAUDIO; + audio = TRUE; + } else if (!strcmp (mimetype, "video/x-h263")) { + const gchar *h263version = + gst_structure_get_string (structure, "h263version"); + if (h263version && !strcmp (h263version, "h263p")) + id = AV_CODEC_ID_H263P; + else + id = AV_CODEC_ID_H263; + video = TRUE; + } else if (!strcmp (mimetype, "video/x-intel-h263")) { + id = AV_CODEC_ID_H263I; + video = TRUE; + } else if (!strcmp (mimetype, "video/x-h261")) { + id = AV_CODEC_ID_H261; + video = TRUE; + } else if (!strcmp (mimetype, "video/mpeg")) { + gboolean sys_strm; + gint mpegversion; + + if (gst_structure_get_boolean (structure, "systemstream", &sys_strm) && + gst_structure_get_int (structure, "mpegversion", &mpegversion) && + !sys_strm) { + switch (mpegversion) { + case 1: + id = AV_CODEC_ID_MPEG1VIDEO; + break; + case 2: + id = AV_CODEC_ID_MPEG2VIDEO; + break; + case 4: + id = AV_CODEC_ID_MPEG4; + break; + } + } + if (id != AV_CODEC_ID_NONE) + video = TRUE; + } else if (!strcmp (mimetype, "image/jpeg")) { + id = AV_CODEC_ID_MJPEG; /* A... B... */ + video = TRUE; + } else if (!strcmp (mimetype, "video/x-jpeg-b")) { + id = AV_CODEC_ID_MJPEGB; + video = TRUE; + } else if (!strcmp (mimetype, "video/x-wmv")) { + gint wmvversion = 0; + + if (gst_structure_get_int (structure, "wmvversion", &wmvversion)) { + switch (wmvversion) { + case 1: + id = AV_CODEC_ID_WMV1; + break; + case 2: + id = AV_CODEC_ID_WMV2; + break; + case 3: + { + const gchar *format; + + /* WMV3 unless the fourcc exists and says otherwise */ + id = AV_CODEC_ID_WMV3; + + if ((format = gst_structure_get_string (structure, "format")) && + (g_str_equal (format, "WVC1") || g_str_equal (format, "WMVA"))) + id = AV_CODEC_ID_VC1; + + break; + } + } + } + if (id != AV_CODEC_ID_NONE) + video = TRUE; + } else if (!strcmp (mimetype, "audio/x-vorbis")) { + id = AV_CODEC_ID_VORBIS; + audio = TRUE; + } else if (!strcmp (mimetype, "audio/x-qdm2")) { + id = AV_CODEC_ID_QDM2; + audio = TRUE; + } else if (!strcmp (mimetype, "audio/mpeg")) { + gint layer = 0; + gint mpegversion = 0; + + if (gst_structure_get_int (structure, "mpegversion", &mpegversion)) { + switch (mpegversion) { + case 2: /* ffmpeg uses faad for both... */ + case 4: + id = AV_CODEC_ID_AAC; + break; + case 1: + if (gst_structure_get_int (structure, "layer", &layer)) { + switch (layer) { + case 1: + id = AV_CODEC_ID_MP1; + break; + case 2: + id = AV_CODEC_ID_MP2; + break; + case 3: + id = AV_CODEC_ID_MP3; + break; + } + } + } + } + if (id != AV_CODEC_ID_NONE) + audio = TRUE; + } else if (!strcmp (mimetype, "audio/x-musepack")) { + gint streamversion = -1; + + if (gst_structure_get_int (structure, "streamversion", &streamversion)) { + if (streamversion == 7) + id = AV_CODEC_ID_MUSEPACK7; + } else { + id = AV_CODEC_ID_MUSEPACK7; + } + } else if (!strcmp (mimetype, "audio/x-wma")) { + gint wmaversion = 0; + + if (gst_structure_get_int (structure, "wmaversion", &wmaversion)) { + switch (wmaversion) { + case 1: + id = AV_CODEC_ID_WMAV1; + break; + case 2: + id = AV_CODEC_ID_WMAV2; + break; + case 3: + id = AV_CODEC_ID_WMAPRO; + break; + } + } + if (id != AV_CODEC_ID_NONE) + audio = TRUE; + } else if (!strcmp (mimetype, "audio/x-xma")) { + gint xmaversion = 0; + + if (gst_structure_get_int (structure, "xmaversion", &xmaversion)) { + switch (xmaversion) { + case 1: + id = AV_CODEC_ID_XMA1; + break; + case 2: + id = AV_CODEC_ID_XMA2; + break; + } + } + if (id != AV_CODEC_ID_NONE) + audio = TRUE; + } else if (!strcmp (mimetype, "audio/x-wms")) { + id = AV_CODEC_ID_WMAVOICE; + audio = TRUE; + } else if (!strcmp (mimetype, "audio/x-ac3")) { + id = AV_CODEC_ID_AC3; + audio = TRUE; + } else if (!strcmp (mimetype, "audio/x-eac3")) { + id = AV_CODEC_ID_EAC3; + audio = TRUE; + } else if (!strcmp (mimetype, "audio/x-vnd.sony.atrac3") || + !strcmp (mimetype, "audio/atrac3")) { + id = AV_CODEC_ID_ATRAC3; + audio = TRUE; + } else if (!strcmp (mimetype, "audio/x-dts")) { + id = AV_CODEC_ID_DTS; + audio = TRUE; + } else if (!strcmp (mimetype, "application/x-ape")) { + id = AV_CODEC_ID_APE; + audio = TRUE; + } else if (!strcmp (mimetype, "video/x-msmpeg")) { + gint msmpegversion = 0; + + if (gst_structure_get_int (structure, "msmpegversion", &msmpegversion)) { + switch (msmpegversion) { + case 41: + id = AV_CODEC_ID_MSMPEG4V1; + break; + case 42: + id = AV_CODEC_ID_MSMPEG4V2; + break; + case 43: + id = AV_CODEC_ID_MSMPEG4V3; + break; + } + } + if (id != AV_CODEC_ID_NONE) + video = TRUE; + } else if (!strcmp (mimetype, "video/x-svq")) { + gint svqversion = 0; + + if (gst_structure_get_int (structure, "svqversion", &svqversion)) { + switch (svqversion) { + case 1: + id = AV_CODEC_ID_SVQ1; + break; + case 3: + id = AV_CODEC_ID_SVQ3; + break; + } + } + if (id != AV_CODEC_ID_NONE) + video = TRUE; + } else if (!strcmp (mimetype, "video/x-huffyuv")) { + id = AV_CODEC_ID_HUFFYUV; + video = TRUE; + } else if (!strcmp (mimetype, "audio/x-mace")) { + gint maceversion = 0; + + if (gst_structure_get_int (structure, "maceversion", &maceversion)) { + switch (maceversion) { + case 3: + id = AV_CODEC_ID_MACE3; + break; + case 6: + id = AV_CODEC_ID_MACE6; + break; + } + } + if (id != AV_CODEC_ID_NONE) + audio = TRUE; + } else if (!strcmp (mimetype, "video/x-theora")) { + id = AV_CODEC_ID_THEORA; + video = TRUE; + } else if (!strcmp (mimetype, "video/x-vp3")) { + id = AV_CODEC_ID_VP3; + video = TRUE; + } else if (!strcmp (mimetype, "video/x-vp5")) { + id = AV_CODEC_ID_VP5; + video = TRUE; + } else if (!strcmp (mimetype, "video/x-vp6")) { + id = AV_CODEC_ID_VP6; + video = TRUE; + } else if (!strcmp (mimetype, "video/x-vp6-flash")) { + id = AV_CODEC_ID_VP6F; + video = TRUE; + } else if (!strcmp (mimetype, "video/x-vp6-alpha")) { + id = AV_CODEC_ID_VP6A; + video = TRUE; + } else if (!strcmp (mimetype, "video/x-vp8")) { + id = AV_CODEC_ID_VP8; + video = TRUE; + } else if (!strcmp (mimetype, "video/x-vp9")) { + id = AV_CODEC_ID_VP9; + video = TRUE; + } else if (!strcmp (mimetype, "video/x-flash-screen")) { + id = AV_CODEC_ID_FLASHSV; + video = TRUE; + } else if (!strcmp (mimetype, "video/x-flash-screen2")) { + id = AV_CODEC_ID_FLASHSV2; + video = TRUE; + } else if (!strcmp (mimetype, "video/x-cineform")) { + id = AV_CODEC_ID_CFHD; + video = TRUE; + } else if (!strcmp (mimetype, "video/x-speedhq")) { + id = AV_CODEC_ID_SPEEDHQ; + video = TRUE; + } else if (!strcmp (mimetype, "video/x-indeo")) { + gint indeoversion = 0; + + if (gst_structure_get_int (structure, "indeoversion", &indeoversion)) { + switch (indeoversion) { + case 5: + id = AV_CODEC_ID_INDEO5; + break; + case 4: + id = AV_CODEC_ID_INDEO4; + break; + case 3: + id = AV_CODEC_ID_INDEO3; + break; + case 2: + id = AV_CODEC_ID_INDEO2; + break; + } + if (id != AV_CODEC_ID_NONE) + video = TRUE; + } + } else if (!strcmp (mimetype, "video/x-divx")) { + gint divxversion = 0; + + if (gst_structure_get_int (structure, "divxversion", &divxversion)) { + switch (divxversion) { + case 3: + id = AV_CODEC_ID_MSMPEG4V3; + break; + case 4: + case 5: + id = AV_CODEC_ID_MPEG4; + break; + } + } + if (id != AV_CODEC_ID_NONE) + video = TRUE; + } else if (!strcmp (mimetype, "video/x-ffv")) { + gint ffvversion = 0; + + if (gst_structure_get_int (structure, "ffvversion", &ffvversion) && + ffvversion == 1) { + id = AV_CODEC_ID_FFV1; + video = TRUE; + } + } else if (!strcmp (mimetype, "video/x-apple-intermediate-codec")) { + id = AV_CODEC_ID_AIC; + video = TRUE; + } else if (!strcmp (mimetype, "audio/x-adpcm")) { + const gchar *layout; + + layout = gst_structure_get_string (structure, "layout"); + if (layout == NULL) { + /* break */ + } else if (!strcmp (layout, "quicktime")) { + id = AV_CODEC_ID_ADPCM_IMA_QT; + } else if (!strcmp (layout, "microsoft")) { + id = AV_CODEC_ID_ADPCM_MS; + } else if (!strcmp (layout, "dvi")) { + id = AV_CODEC_ID_ADPCM_IMA_WAV; + } else if (!strcmp (layout, "4xm")) { + id = AV_CODEC_ID_ADPCM_4XM; + } else if (!strcmp (layout, "smjpeg")) { + id = AV_CODEC_ID_ADPCM_IMA_SMJPEG; + } else if (!strcmp (layout, "dk3")) { + id = AV_CODEC_ID_ADPCM_IMA_DK3; + } else if (!strcmp (layout, "dk4")) { + id = AV_CODEC_ID_ADPCM_IMA_DK4; + } else if (!strcmp (layout, "oki")) { + id = AV_CODEC_ID_ADPCM_IMA_OKI; + } else if (!strcmp (layout, "westwood")) { + id = AV_CODEC_ID_ADPCM_IMA_WS; + } else if (!strcmp (layout, "iss")) { + id = AV_CODEC_ID_ADPCM_IMA_ISS; + } else if (!strcmp (layout, "xa")) { + id = AV_CODEC_ID_ADPCM_XA; + } else if (!strcmp (layout, "adx")) { + id = AV_CODEC_ID_ADPCM_ADX; + } else if (!strcmp (layout, "ea")) { + id = AV_CODEC_ID_ADPCM_EA; + } else if (!strcmp (layout, "g726")) { + id = AV_CODEC_ID_ADPCM_G726; + } else if (!strcmp (layout, "g721")) { + id = AV_CODEC_ID_ADPCM_G726; + } else if (!strcmp (layout, "ct")) { + id = AV_CODEC_ID_ADPCM_CT; + } else if (!strcmp (layout, "swf")) { + id = AV_CODEC_ID_ADPCM_SWF; + } else if (!strcmp (layout, "yamaha")) { + id = AV_CODEC_ID_ADPCM_YAMAHA; + } else if (!strcmp (layout, "sbpro2")) { + id = AV_CODEC_ID_ADPCM_SBPRO_2; + } else if (!strcmp (layout, "sbpro3")) { + id = AV_CODEC_ID_ADPCM_SBPRO_3; + } else if (!strcmp (layout, "sbpro4")) { + id = AV_CODEC_ID_ADPCM_SBPRO_4; + } + if (id != AV_CODEC_ID_NONE) + audio = TRUE; + } else if (!strcmp (mimetype, "video/x-4xm")) { + id = AV_CODEC_ID_4XM; + video = TRUE; + } else if (!strcmp (mimetype, "audio/x-dpcm")) { + const gchar *layout; + + layout = gst_structure_get_string (structure, "layout"); + if (!layout) { + /* .. */ + } else if (!strcmp (layout, "roq")) { + id = AV_CODEC_ID_ROQ_DPCM; + } else if (!strcmp (layout, "interplay")) { + id = AV_CODEC_ID_INTERPLAY_DPCM; + } else if (!strcmp (layout, "xan")) { + id = AV_CODEC_ID_XAN_DPCM; + } else if (!strcmp (layout, "sol")) { + id = AV_CODEC_ID_SOL_DPCM; + } + if (id != AV_CODEC_ID_NONE) + audio = TRUE; + } else if (!strcmp (mimetype, "audio/x-flac")) { + id = AV_CODEC_ID_FLAC; + audio = TRUE; + } else if (!strcmp (mimetype, "audio/x-shorten")) { + id = AV_CODEC_ID_SHORTEN; + audio = TRUE; + } else if (!strcmp (mimetype, "audio/x-alac")) { + id = AV_CODEC_ID_ALAC; + audio = TRUE; + } else if (!strcmp (mimetype, "video/x-cinepak")) { + id = AV_CODEC_ID_CINEPAK; + video = TRUE; + } else if (!strcmp (mimetype, "video/x-pn-realvideo")) { + gint rmversion; + + if (gst_structure_get_int (structure, "rmversion", &rmversion)) { + switch (rmversion) { + case 1: + id = AV_CODEC_ID_RV10; + break; + case 2: + id = AV_CODEC_ID_RV20; + break; + case 3: + id = AV_CODEC_ID_RV30; + break; + case 4: + id = AV_CODEC_ID_RV40; + break; + } + } + if (id != AV_CODEC_ID_NONE) + video = TRUE; + } else if (!strcmp (mimetype, "audio/x-sipro")) { + id = AV_CODEC_ID_SIPR; + audio = TRUE; + } else if (!strcmp (mimetype, "audio/x-pn-realaudio")) { + gint raversion; + + if (gst_structure_get_int (structure, "raversion", &raversion)) { + switch (raversion) { + case 1: + id = AV_CODEC_ID_RA_144; + break; + case 2: + id = AV_CODEC_ID_RA_288; + break; + case 8: + id = AV_CODEC_ID_COOK; + break; + } + } + if (id != AV_CODEC_ID_NONE) + audio = TRUE; + } else if (!strcmp (mimetype, "video/x-rle")) { + const gchar *layout; + + if ((layout = gst_structure_get_string (structure, "layout"))) { + if (!strcmp (layout, "microsoft")) { + id = AV_CODEC_ID_MSRLE; + video = TRUE; + } + } + } else if (!strcmp (mimetype, "video/x-xan")) { + gint wcversion = 0; + + if ((gst_structure_get_int (structure, "wcversion", &wcversion))) { + switch (wcversion) { + case 3: + id = AV_CODEC_ID_XAN_WC3; + video = TRUE; + break; + case 4: + id = AV_CODEC_ID_XAN_WC4; + video = TRUE; + break; + default: + break; + } + } + } else if (!strcmp (mimetype, "audio/AMR")) { + audio = TRUE; + id = AV_CODEC_ID_AMR_NB; + } else if (!strcmp (mimetype, "audio/AMR-WB")) { + id = AV_CODEC_ID_AMR_WB; + audio = TRUE; + } else if (!strcmp (mimetype, "audio/qcelp")) { + id = AV_CODEC_ID_QCELP; + audio = TRUE; + } else if (!strcmp (mimetype, "video/x-h264")) { + id = AV_CODEC_ID_H264; + video = TRUE; + } else if (!strcmp (mimetype, "video/x-h265")) { + id = AV_CODEC_ID_HEVC; + video = TRUE; + } else if (!strcmp (mimetype, "video/x-flash-video")) { + gint flvversion = 0; + + if ((gst_structure_get_int (structure, "flvversion", &flvversion))) { + switch (flvversion) { + case 1: + id = AV_CODEC_ID_FLV1; + video = TRUE; + break; + default: + break; + } + } + + } else if (!strcmp (mimetype, "audio/x-nellymoser")) { + id = AV_CODEC_ID_NELLYMOSER; + audio = TRUE; + } else if (!strncmp (mimetype, "audio/x-gst-av-", 15)) { + gchar ext[16]; + AVCodec *codec; + + if (strlen (mimetype) <= 30 && + sscanf (mimetype, "audio/x-gst-av-%s", ext) == 1) { + if ((codec = avcodec_find_decoder_by_name (ext)) || + (codec = avcodec_find_encoder_by_name (ext))) { + id = codec->id; + audio = TRUE; + } + } + } else if (!strncmp (mimetype, "video/x-gst-av-", 15)) { + gchar ext[16]; + AVCodec *codec; + + if (strlen (mimetype) <= 30 && + sscanf (mimetype, "video/x-gst-av-%s", ext) == 1) { + if ((codec = avcodec_find_decoder_by_name (ext)) || + (codec = avcodec_find_encoder_by_name (ext))) { + id = codec->id; + video = TRUE; + } + } + } + + if (context != NULL) { + if (video == TRUE) { + context->codec_type = AVMEDIA_TYPE_VIDEO; + } else if (audio == TRUE) { + context->codec_type = AVMEDIA_TYPE_AUDIO; + } else { + context->codec_type = AVMEDIA_TYPE_UNKNOWN; + } + context->codec_id = id; + gst_ffmpeg_caps_with_codecid (id, context->codec_type, caps, context); + } + + if (id != AV_CODEC_ID_NONE) { + GST_DEBUG ("The id=%d belongs to the caps %" GST_PTR_FORMAT, id, caps); + } else { + GST_WARNING ("Couldn't figure out the id for caps %" GST_PTR_FORMAT, caps); + } + + return id; +} diff --git a/ext/libav/gstavcodecmap.h b/ext/libav/gstavcodecmap.h new file mode 100644 index 0000000000..04b0479403 --- /dev/null +++ b/ext/libav/gstavcodecmap.h @@ -0,0 +1,133 @@ +/* GStreamer + * Copyright (C) <1999> Erik Walthinsen + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifndef __GST_FFMPEG_CODECMAP_H__ +#define __GST_FFMPEG_CODECMAP_H__ + +#include +#include +#include +#include +#include + +/* + * _codecid_is_image() returns TRUE for image formats + */ +gboolean +gst_ffmpeg_codecid_is_image (enum AVCodecID codec_id); + +/* + * _codecid_to_caps () gets the GstCaps that belongs to + * a certain CodecID for a pad with compressed data. + */ + +GstCaps * +gst_ffmpeg_codecid_to_caps (enum AVCodecID codec_id, + AVCodecContext *context, + gboolean encode); + +/* + * _codectype_to_caps () gets the GstCaps that belongs to + * a certain AVMediaType for a pad with uncompressed data. + */ + +GstCaps * +gst_ffmpeg_codectype_to_audio_caps (AVCodecContext *context, + enum AVCodecID codec_id, + gboolean encode, + AVCodec *codec); +GstCaps * +gst_ffmpeg_codectype_to_video_caps (AVCodecContext *context, + enum AVCodecID codec_id, + gboolean encode, + AVCodec *codec); + +/* + * caps_to_codecid () transforms a GstCaps that belongs to + * a pad for compressed data to (optionally) a filled-in + * context and a codecID. + */ + +enum AVCodecID +gst_ffmpeg_caps_to_codecid (const GstCaps *caps, + AVCodecContext *context); + +/* + * caps_with_codecid () transforms a GstCaps for a known codec + * ID into a filled-in context. + */ + +void +gst_ffmpeg_caps_with_codecid (enum AVCodecID codec_id, + enum AVMediaType codec_type, + const GstCaps *caps, + AVCodecContext *context); + +/* + * caps_with_codectype () transforms a GstCaps that belongs to + * a pad for uncompressed data to a filled-in context. + */ + +void +gst_ffmpeg_caps_with_codectype (enum AVMediaType type, + const GstCaps *caps, + AVCodecContext *context); + +void +gst_ffmpeg_videoinfo_to_context (GstVideoInfo *info, + AVCodecContext *context); + +void +gst_ffmpeg_audioinfo_to_context (GstAudioInfo *info, + AVCodecContext *context); + +GstVideoFormat gst_ffmpeg_pixfmt_to_videoformat (enum AVPixelFormat pixfmt); +enum AVPixelFormat gst_ffmpeg_videoformat_to_pixfmt (GstVideoFormat format); + +GstAudioFormat gst_ffmpeg_smpfmt_to_audioformat (enum AVSampleFormat sample_fmt, + GstAudioLayout * layout); + +/* + * _formatid_to_caps () is meant for muxers/demuxers, it + * transforms a name (ffmpeg way of ID'ing these, why don't + * they have unique numerical IDs?) to the corresponding + * caps belonging to that mux-format + */ + +GstCaps * +gst_ffmpeg_formatid_to_caps (const gchar *format_name); + +/* + * _formatid_get_codecids () can be used to get the codecIDs + * (AV_CODEC_ID_NONE-terminated list) that fit that specific + * output format. + */ + +gboolean +gst_ffmpeg_formatid_get_codecids (const gchar *format_name, + enum AVCodecID ** video_codec_list, + enum AVCodecID ** audio_codec_list, + AVOutputFormat * plugin); + + +gboolean +gst_ffmpeg_channel_layout_to_gst (guint64 channel_layout, gint channels, + GstAudioChannelPosition * pos); + +#endif /* __GST_FFMPEG_CODECMAP_H__ */ diff --git a/ext/libav/gstavdeinterlace.c b/ext/libav/gstavdeinterlace.c new file mode 100644 index 0000000000..15159ddf67 --- /dev/null +++ b/ext/libav/gstavdeinterlace.c @@ -0,0 +1,506 @@ +/* GStreamer + * Copyright (C) <1999> Erik Walthinsen + * This file: + * Copyright (C) 2005 Luca Ognibene + * Copyright (C) 2006 Martin Zlomek + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include +#include +#include +#include +#include + +#include +#include + +#include "gstav.h" +#include "gstavcodecmap.h" +#include "gstavutils.h" + + +/* Properties */ + +#define DEFAULT_MODE GST_FFMPEGDEINTERLACE_MODE_AUTO + +enum +{ + PROP_0, + PROP_MODE, + PROP_LAST +}; + +typedef enum +{ + GST_FFMPEGDEINTERLACE_MODE_AUTO, + GST_FFMPEGDEINTERLACE_MODE_INTERLACED, + GST_FFMPEGDEINTERLACE_MODE_DISABLED +} GstFFMpegDeinterlaceMode; + +#define GST_TYPE_FFMPEGDEINTERLACE_MODES (gst_ffmpegdeinterlace_modes_get_type ()) +static GType +gst_ffmpegdeinterlace_modes_get_type (void) +{ + static GType deinterlace_modes_type = 0; + + static const GEnumValue modes_types[] = { + {GST_FFMPEGDEINTERLACE_MODE_AUTO, "Auto detection", "auto"}, + {GST_FFMPEGDEINTERLACE_MODE_INTERLACED, "Force deinterlacing", + "interlaced"}, + {GST_FFMPEGDEINTERLACE_MODE_DISABLED, "Run in passthrough mode", + "disabled"}, + {0, NULL, NULL}, + }; + + if (!deinterlace_modes_type) { + deinterlace_modes_type = + g_enum_register_static ("GstLibAVDeinterlaceModes", modes_types); + } + return deinterlace_modes_type; +} + +typedef struct _GstFFMpegDeinterlace +{ + GstElement element; + + GstPad *sinkpad, *srcpad; + + gint width, height; + gint to_size; + + GstFFMpegDeinterlaceMode mode; + + gboolean interlaced; /* is input interlaced? */ + gboolean passthrough; + + gboolean reconfigure; + GstFFMpegDeinterlaceMode new_mode; + + enum AVPixelFormat pixfmt; + AVFrame from_frame, to_frame; + + AVFilterContext *buffersink_ctx; + AVFilterContext *buffersrc_ctx; + AVFilterGraph *filter_graph; + AVFrame *filter_frame; + int last_width, last_height; + enum AVPixelFormat last_pixfmt; + +} GstFFMpegDeinterlace; + +typedef struct _GstFFMpegDeinterlaceClass +{ + GstElementClass parent_class; +} GstFFMpegDeinterlaceClass; + +#define GST_TYPE_FFMPEGDEINTERLACE \ + (gst_ffmpegdeinterlace_get_type()) +#define GST_FFMPEGDEINTERLACE(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_FFMPEGDEINTERLACE,GstFFMpegDeinterlace)) +#define GST_FFMPEGDEINTERLACE_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_FFMPEGDEINTERLACE,GstFFMpegDeinterlace)) +#define GST_IS_FFMPEGDEINTERLACE(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_FFMPEGDEINTERLACE)) +#define GST_IS_FFMPEGDEINTERLACE_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_FFMPEGDEINTERLACE)) + +GType gst_ffmpegdeinterlace_get_type (void); + +static void gst_ffmpegdeinterlace_set_property (GObject * self, guint prop_id, + const GValue * value, GParamSpec * pspec); +static void gst_ffmpegdeinterlace_get_property (GObject * self, guint prop_id, + GValue * value, GParamSpec * pspec); + +static GstStaticPadTemplate src_factory = GST_STATIC_PAD_TEMPLATE ("src", + GST_PAD_SRC, + GST_PAD_ALWAYS, + GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("I420")) + ); + +static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink", + GST_PAD_SINK, + GST_PAD_ALWAYS, + GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("I420")) + ); + +G_DEFINE_TYPE (GstFFMpegDeinterlace, gst_ffmpegdeinterlace, GST_TYPE_ELEMENT); + +static GstFlowReturn gst_ffmpegdeinterlace_chain (GstPad * pad, + GstObject * parent, GstBuffer * inbuf); + +static void gst_ffmpegdeinterlace_dispose (GObject * obj); + +static void +gst_ffmpegdeinterlace_class_init (GstFFMpegDeinterlaceClass * klass) +{ + GObjectClass *gobject_class = (GObjectClass *) klass; + GstElementClass *element_class = GST_ELEMENT_CLASS (klass); + + gobject_class->set_property = gst_ffmpegdeinterlace_set_property; + gobject_class->get_property = gst_ffmpegdeinterlace_get_property; + + /** + * GstFFMpegDeinterlace:mode + * + * This selects whether the deinterlacing methods should + * always be applied or if they should only be applied + * on content that has the "interlaced" flag on the caps. + * + * Since: 0.10.13 + */ + g_object_class_install_property (gobject_class, PROP_MODE, + g_param_spec_enum ("mode", "Mode", "Deinterlace Mode", + GST_TYPE_FFMPEGDEINTERLACE_MODES, + DEFAULT_MODE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS) + ); + + gst_element_class_add_static_pad_template (element_class, &src_factory); + gst_element_class_add_static_pad_template (element_class, &sink_factory); + + gst_element_class_set_static_metadata (element_class, + "libav Deinterlace element", "Filter/Effect/Video/Deinterlace", + "Deinterlace video", "Luca Ognibene "); + + gobject_class->dispose = gst_ffmpegdeinterlace_dispose; + + gst_type_mark_as_plugin_api (GST_TYPE_FFMPEGDEINTERLACE_MODES, 0); +} + +static void +gst_ffmpegdeinterlace_update_passthrough (GstFFMpegDeinterlace * deinterlace) +{ + deinterlace->passthrough = + (deinterlace->mode == GST_FFMPEGDEINTERLACE_MODE_DISABLED + || (!deinterlace->interlaced + && deinterlace->mode != GST_FFMPEGDEINTERLACE_MODE_INTERLACED)); + GST_DEBUG_OBJECT (deinterlace, "Passthrough: %d", deinterlace->passthrough); +} + +static gboolean +gst_ffmpegdeinterlace_sink_setcaps (GstPad * pad, GstCaps * caps) +{ + GstFFMpegDeinterlace *deinterlace = + GST_FFMPEGDEINTERLACE (gst_pad_get_parent (pad)); + GstStructure *structure = gst_caps_get_structure (caps, 0); + const gchar *imode; + AVCodecContext *ctx; + GstCaps *src_caps; + gboolean ret; + + /* FIXME: use GstVideoInfo etc. */ + if (!gst_structure_get_int (structure, "width", &deinterlace->width)) + return FALSE; + if (!gst_structure_get_int (structure, "height", &deinterlace->height)) + return FALSE; + + deinterlace->interlaced = FALSE; + imode = gst_structure_get_string (structure, "interlace-mode"); + if (imode && (!strcmp (imode, "interleaved") || !strcmp (imode, "mixed"))) { + deinterlace->interlaced = TRUE; + } + gst_ffmpegdeinterlace_update_passthrough (deinterlace); + + ctx = avcodec_alloc_context3 (NULL); + ctx->width = deinterlace->width; + ctx->height = deinterlace->height; + ctx->pix_fmt = AV_PIX_FMT_NB; + gst_ffmpeg_caps_with_codectype (AVMEDIA_TYPE_VIDEO, caps, ctx); + if (ctx->pix_fmt == AV_PIX_FMT_NB) { + gst_ffmpeg_avcodec_close (ctx); + av_free (ctx); + return FALSE; + } + + deinterlace->pixfmt = ctx->pix_fmt; + + av_free (ctx); + + deinterlace->to_size = + av_image_get_buffer_size (deinterlace->pixfmt, deinterlace->width, + deinterlace->height, 1); + + src_caps = gst_caps_copy (caps); + gst_caps_set_simple (src_caps, "interlace-mode", G_TYPE_STRING, + deinterlace->interlaced ? "progressive" : imode, NULL); + ret = gst_pad_set_caps (deinterlace->srcpad, src_caps); + gst_caps_unref (src_caps); + + return ret; +} + +static gboolean +gst_ffmpegdeinterlace_sink_event (GstPad * pad, GstObject * parent, + GstEvent * event) +{ + GstFFMpegDeinterlace *deinterlace = GST_FFMPEGDEINTERLACE (parent); + gboolean ret = FALSE; + + switch (GST_EVENT_TYPE (event)) { + case GST_EVENT_CAPS: + { + GstCaps *caps; + + gst_event_parse_caps (event, &caps); + ret = gst_ffmpegdeinterlace_sink_setcaps (pad, caps); + gst_event_unref (event); + break; + } + default: + ret = gst_pad_push_event (deinterlace->srcpad, event); + break; + } + + return ret; +} + +static void +gst_ffmpegdeinterlace_init (GstFFMpegDeinterlace * deinterlace) +{ + deinterlace->sinkpad = + gst_pad_new_from_static_template (&sink_factory, "sink"); + gst_pad_set_event_function (deinterlace->sinkpad, + gst_ffmpegdeinterlace_sink_event); + gst_pad_set_chain_function (deinterlace->sinkpad, + gst_ffmpegdeinterlace_chain); + gst_element_add_pad (GST_ELEMENT (deinterlace), deinterlace->sinkpad); + + deinterlace->srcpad = gst_pad_new_from_static_template (&src_factory, "src"); + gst_element_add_pad (GST_ELEMENT (deinterlace), deinterlace->srcpad); + + deinterlace->pixfmt = AV_PIX_FMT_NB; + + deinterlace->interlaced = FALSE; + deinterlace->passthrough = FALSE; + deinterlace->reconfigure = FALSE; + deinterlace->mode = DEFAULT_MODE; + deinterlace->new_mode = -1; + deinterlace->last_width = -1; + deinterlace->last_height = -1; + deinterlace->last_pixfmt = AV_PIX_FMT_NONE; +} + +static void +delete_filter_graph (GstFFMpegDeinterlace * deinterlace) +{ + if (deinterlace->filter_graph) { + av_frame_free (&deinterlace->filter_frame); + avfilter_graph_free (&deinterlace->filter_graph); + } +} + +static void +gst_ffmpegdeinterlace_dispose (GObject * obj) +{ + GstFFMpegDeinterlace *deinterlace = GST_FFMPEGDEINTERLACE (obj); + + delete_filter_graph (deinterlace); + + G_OBJECT_CLASS (gst_ffmpegdeinterlace_parent_class)->dispose (obj); +} + +static int +init_filter_graph (GstFFMpegDeinterlace * deinterlace, + enum AVPixelFormat pixfmt, int width, int height) +{ + AVFilterInOut *inputs = NULL, *outputs = NULL; + char args[512]; + int res; + + delete_filter_graph (deinterlace); + deinterlace->filter_graph = avfilter_graph_alloc (); + snprintf (args, sizeof (args), + "buffer=video_size=%dx%d:pix_fmt=%d:time_base=1/1:pixel_aspect=0/1[in];" + "[in]yadif[out];" "[out]buffersink", width, height, pixfmt); + res = + avfilter_graph_parse2 (deinterlace->filter_graph, args, &inputs, + &outputs); + if (res < 0) + return res; + if (inputs || outputs) + return -1; + res = avfilter_graph_config (deinterlace->filter_graph, NULL); + if (res < 0) + return res; + + deinterlace->buffersrc_ctx = + avfilter_graph_get_filter (deinterlace->filter_graph, "Parsed_buffer_0"); + deinterlace->buffersink_ctx = + avfilter_graph_get_filter (deinterlace->filter_graph, + "Parsed_buffersink_2"); + if (!deinterlace->buffersrc_ctx || !deinterlace->buffersink_ctx) + return -1; + deinterlace->filter_frame = av_frame_alloc (); + deinterlace->last_width = width; + deinterlace->last_height = height; + deinterlace->last_pixfmt = pixfmt; + + return 0; +} + +static int +process_filter_graph (GstFFMpegDeinterlace * deinterlace, AVFrame * dst, + const AVFrame * src, enum AVPixelFormat pixfmt, int width, int height) +{ + int res; + + if (!deinterlace->filter_graph || width != deinterlace->last_width || + height != deinterlace->last_height + || pixfmt != deinterlace->last_pixfmt) { + res = init_filter_graph (deinterlace, pixfmt, width, height); + if (res < 0) + return res; + } + + memcpy (deinterlace->filter_frame->data, src->data, sizeof (src->data)); + memcpy (deinterlace->filter_frame->linesize, src->linesize, + sizeof (src->linesize)); + deinterlace->filter_frame->width = width; + deinterlace->filter_frame->height = height; + deinterlace->filter_frame->format = pixfmt; + res = + av_buffersrc_add_frame (deinterlace->buffersrc_ctx, + deinterlace->filter_frame); + if (res < 0) + return res; + res = + av_buffersink_get_frame (deinterlace->buffersink_ctx, + deinterlace->filter_frame); + if (res < 0) + return res; + av_image_copy (dst->data, dst->linesize, + (const uint8_t **) deinterlace->filter_frame->data, + deinterlace->filter_frame->linesize, pixfmt, width, height); + av_frame_unref (deinterlace->filter_frame); + + return 0; +} + +static GstFlowReturn +gst_ffmpegdeinterlace_chain (GstPad * pad, GstObject * parent, + GstBuffer * inbuf) +{ + GstFFMpegDeinterlace *deinterlace = GST_FFMPEGDEINTERLACE (parent); + GstBuffer *outbuf = NULL; + GstFlowReturn result; + GstMapInfo from_map, to_map; + + GST_OBJECT_LOCK (deinterlace); + if (deinterlace->reconfigure) { + GstCaps *caps; + + if ((gint) deinterlace->new_mode != -1) + deinterlace->mode = deinterlace->new_mode; + deinterlace->new_mode = -1; + + deinterlace->reconfigure = FALSE; + GST_OBJECT_UNLOCK (deinterlace); + if ((caps = gst_pad_get_current_caps (deinterlace->srcpad))) { + gst_ffmpegdeinterlace_sink_setcaps (deinterlace->sinkpad, caps); + gst_caps_unref (caps); + } + } else { + GST_OBJECT_UNLOCK (deinterlace); + } + + if (deinterlace->passthrough) + return gst_pad_push (deinterlace->srcpad, inbuf); + + outbuf = gst_buffer_new_and_alloc (deinterlace->to_size); + + gst_buffer_map (inbuf, &from_map, GST_MAP_READ); + gst_ffmpeg_avpicture_fill (&deinterlace->from_frame, from_map.data, + deinterlace->pixfmt, deinterlace->width, deinterlace->height); + + gst_buffer_map (outbuf, &to_map, GST_MAP_WRITE); + gst_ffmpeg_avpicture_fill (&deinterlace->to_frame, to_map.data, + deinterlace->pixfmt, deinterlace->width, deinterlace->height); + + process_filter_graph (deinterlace, &deinterlace->to_frame, + &deinterlace->from_frame, deinterlace->pixfmt, deinterlace->width, + deinterlace->height); + gst_buffer_unmap (outbuf, &to_map); + gst_buffer_unmap (inbuf, &from_map); + + gst_buffer_copy_into (outbuf, inbuf, GST_BUFFER_COPY_TIMESTAMPS, 0, -1); + + result = gst_pad_push (deinterlace->srcpad, outbuf); + + gst_buffer_unref (inbuf); + + return result; +} + +gboolean +gst_ffmpegdeinterlace_register (GstPlugin * plugin) +{ + return gst_element_register (plugin, "avdeinterlace", + GST_RANK_NONE, GST_TYPE_FFMPEGDEINTERLACE); +} + +static void +gst_ffmpegdeinterlace_set_property (GObject * object, guint prop_id, + const GValue * value, GParamSpec * pspec) +{ + GstFFMpegDeinterlace *self; + + g_return_if_fail (GST_IS_FFMPEGDEINTERLACE (object)); + self = GST_FFMPEGDEINTERLACE (object); + + switch (prop_id) { + case PROP_MODE:{ + gint new_mode; + + GST_OBJECT_LOCK (self); + new_mode = g_value_get_enum (value); + if (self->mode != new_mode && gst_pad_has_current_caps (self->srcpad)) { + self->reconfigure = TRUE; + self->new_mode = new_mode; + } else { + self->mode = new_mode; + gst_ffmpegdeinterlace_update_passthrough (self); + } + GST_OBJECT_UNLOCK (self); + break; + } + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (self, prop_id, pspec); + } + +} + +static void +gst_ffmpegdeinterlace_get_property (GObject * object, guint prop_id, + GValue * value, GParamSpec * pspec) +{ + GstFFMpegDeinterlace *self; + + g_return_if_fail (GST_IS_FFMPEGDEINTERLACE (object)); + self = GST_FFMPEGDEINTERLACE (object); + + switch (prop_id) { + case PROP_MODE: + g_value_set_enum (value, self->mode); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (self, prop_id, pspec); + } +} diff --git a/ext/libav/gstavdemux.c b/ext/libav/gstavdemux.c new file mode 100644 index 0000000000..37de3faffb --- /dev/null +++ b/ext/libav/gstavdemux.c @@ -0,0 +1,2202 @@ +/* GStreamer + * Copyright (C) <1999> Erik Walthinsen , + * <2006> Edward Hervey + * <2006> Wim Taymans + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include +#include +/* #include */ +#include +#include + +#include "gstav.h" +#include "gstavcodecmap.h" +#include "gstavutils.h" +#include "gstavprotocol.h" + +#define MAX_STREAMS 20 + +typedef struct _GstFFMpegDemux GstFFMpegDemux; +typedef struct _GstFFStream GstFFStream; + +struct _GstFFStream +{ + GstPad *pad; + + AVStream *avstream; + + gboolean unknown; + GstClockTime last_ts; + gboolean discont; + gboolean eos; + + GstTagList *tags; /* stream tags */ +}; + +struct _GstFFMpegDemux +{ + GstElement element; + + /* We need to keep track of our pads, so we do so here. */ + GstPad *sinkpad; + + gboolean have_group_id; + guint group_id; + + AVFormatContext *context; + gboolean opened; + + GstFFStream *streams[MAX_STREAMS]; + + GstFlowCombiner *flowcombiner; + + gint videopads, audiopads; + + GstClockTime start_time; + GstClockTime duration; + + /* TRUE if working in pull-mode */ + gboolean seekable; + + /* TRUE if the avformat demuxer can reliably handle streaming mode */ + gboolean can_push; + + gboolean flushing; + + /* segment stuff */ + GstSegment segment; + + /* cached seek in READY */ + GstEvent *seek_event; + + /* cached upstream events */ + GList *cached_events; + + /* push mode data */ + GstFFMpegPipe ffpipe; + GstTask *task; + GRecMutex task_lock; +}; + +typedef struct _GstFFMpegDemuxClass GstFFMpegDemuxClass; + +struct _GstFFMpegDemuxClass +{ + GstElementClass parent_class; + + AVInputFormat *in_plugin; + GstPadTemplate *sinktempl; + GstPadTemplate *videosrctempl; + GstPadTemplate *audiosrctempl; +}; + +/* A number of function prototypes are given so we can refer to them later. */ +static void gst_ffmpegdemux_class_init (GstFFMpegDemuxClass * klass); +static void gst_ffmpegdemux_base_init (GstFFMpegDemuxClass * klass); +static void gst_ffmpegdemux_init (GstFFMpegDemux * demux); +static void gst_ffmpegdemux_finalize (GObject * object); + +static gboolean gst_ffmpegdemux_sink_event (GstPad * sinkpad, + GstObject * parent, GstEvent * event); +static GstFlowReturn gst_ffmpegdemux_chain (GstPad * sinkpad, + GstObject * parent, GstBuffer * buf); + +static void gst_ffmpegdemux_loop (GstFFMpegDemux * demux); +static gboolean gst_ffmpegdemux_sink_activate (GstPad * sinkpad, + GstObject * parent); +static gboolean gst_ffmpegdemux_sink_activate_mode (GstPad * sinkpad, + GstObject * parent, GstPadMode mode, gboolean active); +static GstTagList *gst_ffmpeg_metadata_to_tag_list (AVDictionary * metadata); + +#if 0 +static gboolean +gst_ffmpegdemux_src_convert (GstPad * pad, + GstFormat src_fmt, + gint64 src_value, GstFormat * dest_fmt, gint64 * dest_value); +#endif +static gboolean +gst_ffmpegdemux_send_event (GstElement * element, GstEvent * event); +static GstStateChangeReturn +gst_ffmpegdemux_change_state (GstElement * element, GstStateChange transition); + +#define GST_FFDEMUX_PARAMS_QDATA g_quark_from_static_string("avdemux-params") + +static GstElementClass *parent_class = NULL; + +static const gchar * +gst_ffmpegdemux_averror (gint av_errno) +{ + const gchar *message = NULL; + + switch (av_errno) { + case AVERROR (EINVAL): + message = "Unknown error"; + break; + case AVERROR (EIO): + message = "Input/output error"; + break; + case AVERROR (EDOM): + message = "Number syntax expected in filename"; + break; + case AVERROR (ENOMEM): + message = "Not enough memory"; + break; + case AVERROR (EILSEQ): + message = "Unknown format"; + break; + case AVERROR (ENOSYS): + message = "Operation not supported"; + break; + default: + message = "Unhandled error code received"; + break; + } + + return message; +} + +static void +gst_ffmpegdemux_base_init (GstFFMpegDemuxClass * klass) +{ + GstElementClass *element_class = GST_ELEMENT_CLASS (klass); + AVInputFormat *in_plugin; + GstCaps *sinkcaps; + GstPadTemplate *sinktempl, *audiosrctempl, *videosrctempl; + gchar *longname, *description, *name; + + in_plugin = (AVInputFormat *) + g_type_get_qdata (G_OBJECT_CLASS_TYPE (klass), GST_FFDEMUX_PARAMS_QDATA); + g_assert (in_plugin != NULL); + + name = g_strdup (in_plugin->name); + g_strdelimit (name, ".,|-<> ", '_'); + + /* construct the element details struct */ + longname = g_strdup_printf ("libav %s demuxer", in_plugin->long_name); + description = g_strdup_printf ("libav %s demuxer", in_plugin->long_name); + gst_element_class_set_metadata (element_class, longname, + "Codec/Demuxer", description, + "Wim Taymans , " + "Ronald Bultje , " + "Edward Hervey "); + g_free (longname); + g_free (description); + + /* pad templates */ + sinkcaps = gst_ffmpeg_formatid_to_caps (name); + sinktempl = gst_pad_template_new ("sink", + GST_PAD_SINK, GST_PAD_ALWAYS, sinkcaps); + g_free (name); + videosrctempl = gst_pad_template_new ("video_%u", + GST_PAD_SRC, GST_PAD_SOMETIMES, GST_CAPS_ANY); + audiosrctempl = gst_pad_template_new ("audio_%u", + GST_PAD_SRC, GST_PAD_SOMETIMES, GST_CAPS_ANY); + + gst_element_class_add_pad_template (element_class, videosrctempl); + gst_element_class_add_pad_template (element_class, audiosrctempl); + gst_element_class_add_pad_template (element_class, sinktempl); + + gst_caps_unref (sinkcaps); + + klass->in_plugin = in_plugin; + klass->videosrctempl = videosrctempl; + klass->audiosrctempl = audiosrctempl; + klass->sinktempl = sinktempl; +} + +static void +gst_ffmpegdemux_class_init (GstFFMpegDemuxClass * klass) +{ + GObjectClass *gobject_class; + GstElementClass *gstelement_class; + + gobject_class = (GObjectClass *) klass; + gstelement_class = (GstElementClass *) klass; + + parent_class = g_type_class_peek_parent (klass); + + gobject_class->finalize = GST_DEBUG_FUNCPTR (gst_ffmpegdemux_finalize); + + gstelement_class->change_state = gst_ffmpegdemux_change_state; + gstelement_class->send_event = gst_ffmpegdemux_send_event; +} + +static void +gst_ffmpegdemux_init (GstFFMpegDemux * demux) +{ + GstFFMpegDemuxClass *oclass = + (GstFFMpegDemuxClass *) (G_OBJECT_GET_CLASS (demux)); + gint n; + + demux->sinkpad = gst_pad_new_from_template (oclass->sinktempl, "sink"); + gst_pad_set_activate_function (demux->sinkpad, + GST_DEBUG_FUNCPTR (gst_ffmpegdemux_sink_activate)); + gst_pad_set_activatemode_function (demux->sinkpad, + GST_DEBUG_FUNCPTR (gst_ffmpegdemux_sink_activate_mode)); + gst_element_add_pad (GST_ELEMENT (demux), demux->sinkpad); + + /* push based setup */ + /* the following are not used in pull-based mode, so safe to set anyway */ + gst_pad_set_event_function (demux->sinkpad, + GST_DEBUG_FUNCPTR (gst_ffmpegdemux_sink_event)); + gst_pad_set_chain_function (demux->sinkpad, + GST_DEBUG_FUNCPTR (gst_ffmpegdemux_chain)); + /* task for driving ffmpeg in loop function */ + demux->task = + gst_task_new ((GstTaskFunction) gst_ffmpegdemux_loop, demux, NULL); + g_rec_mutex_init (&demux->task_lock); + gst_task_set_lock (demux->task, &demux->task_lock); + + demux->have_group_id = FALSE; + demux->group_id = G_MAXUINT; + + demux->opened = FALSE; + demux->context = NULL; + + for (n = 0; n < MAX_STREAMS; n++) { + demux->streams[n] = NULL; + } + demux->videopads = 0; + demux->audiopads = 0; + + demux->seek_event = NULL; + gst_segment_init (&demux->segment, GST_FORMAT_TIME); + + demux->flowcombiner = gst_flow_combiner_new (); + + /* push based data */ + g_mutex_init (&demux->ffpipe.tlock); + g_cond_init (&demux->ffpipe.cond); + demux->ffpipe.adapter = gst_adapter_new (); + + /* blacklist unreliable push-based demuxers */ + if (strcmp (oclass->in_plugin->name, "ape")) + demux->can_push = TRUE; + else + demux->can_push = FALSE; +} + +static void +gst_ffmpegdemux_finalize (GObject * object) +{ + GstFFMpegDemux *demux; + + demux = (GstFFMpegDemux *) object; + + gst_flow_combiner_free (demux->flowcombiner); + + g_mutex_clear (&demux->ffpipe.tlock); + g_cond_clear (&demux->ffpipe.cond); + gst_object_unref (demux->ffpipe.adapter); + + gst_object_unref (demux->task); + g_rec_mutex_clear (&demux->task_lock); + + G_OBJECT_CLASS (parent_class)->finalize (object); +} + +static void +gst_ffmpegdemux_close (GstFFMpegDemux * demux) +{ + gint n; + GstEvent **event_p; + + if (!demux->opened) + return; + + /* remove pads from ourselves */ + for (n = 0; n < MAX_STREAMS; n++) { + GstFFStream *stream; + + stream = demux->streams[n]; + if (stream) { + if (stream->pad) { + gst_flow_combiner_remove_pad (demux->flowcombiner, stream->pad); + gst_element_remove_pad (GST_ELEMENT (demux), stream->pad); + } + if (stream->tags) + gst_tag_list_unref (stream->tags); + g_free (stream); + } + demux->streams[n] = NULL; + } + demux->videopads = 0; + demux->audiopads = 0; + + /* close demuxer context from ffmpeg */ + if (demux->seekable) + gst_ffmpegdata_close (demux->context->pb); + else + gst_ffmpeg_pipe_close (demux->context->pb); + demux->context->pb = NULL; + avformat_close_input (&demux->context); + if (demux->context) + avformat_free_context (demux->context); + demux->context = NULL; + + GST_OBJECT_LOCK (demux); + demux->opened = FALSE; + event_p = &demux->seek_event; + gst_event_replace (event_p, NULL); + GST_OBJECT_UNLOCK (demux); + + gst_segment_init (&demux->segment, GST_FORMAT_TIME); +} + +/* send an event to all the source pads . + * Takes ownership of the event. + * + * Returns FALSE if none of the source pads handled the event. + */ +static gboolean +gst_ffmpegdemux_push_event (GstFFMpegDemux * demux, GstEvent * event) +{ + gboolean res; + gint n; + + res = TRUE; + + for (n = 0; n < MAX_STREAMS; n++) { + GstFFStream *s = demux->streams[n]; + + if (s && s->pad) { + gst_event_ref (event); + res &= gst_pad_push_event (s->pad, event); + } + } + gst_event_unref (event); + + return res; +} + +/* set flags on all streams */ +static void +gst_ffmpegdemux_set_flags (GstFFMpegDemux * demux, gboolean discont, + gboolean eos) +{ + GstFFStream *s; + gint n; + + for (n = 0; n < MAX_STREAMS; n++) { + if ((s = demux->streams[n])) { + s->discont = discont; + s->eos = eos; + } + } +} + +/* check if all streams are eos */ +static gboolean +gst_ffmpegdemux_is_eos (GstFFMpegDemux * demux) +{ + GstFFStream *s; + gint n; + + for (n = 0; n < MAX_STREAMS; n++) { + if ((s = demux->streams[n])) { + GST_DEBUG ("stream %d %p eos:%d", n, s, s->eos); + if (!s->eos) + return FALSE; + } + } + return TRUE; +} + +/* Returns True if we at least outputted one buffer */ +static gboolean +gst_ffmpegdemux_has_outputted (GstFFMpegDemux * demux) +{ + GstFFStream *s; + gint n; + + for (n = 0; n < MAX_STREAMS; n++) { + if ((s = demux->streams[n])) { + if (GST_CLOCK_TIME_IS_VALID (s->last_ts)) + return TRUE; + } + } + return FALSE; +} + +static gboolean +gst_ffmpegdemux_do_seek (GstFFMpegDemux * demux, GstSegment * segment) +{ + gboolean ret; + gint seekret; + gint64 target; + gint64 fftarget; + AVStream *stream; + gint index; + + /* find default index and fail if none is present */ + index = av_find_default_stream_index (demux->context); + GST_LOG_OBJECT (demux, "default stream index %d", index); + if (index < 0) + return FALSE; + + ret = TRUE; + + /* get the stream for seeking */ + stream = demux->context->streams[index]; + /* initial seek position */ + target = segment->position + demux->start_time; + /* convert target to ffmpeg time */ + fftarget = gst_ffmpeg_time_gst_to_ff (target, stream->time_base); + + GST_LOG_OBJECT (demux, "do seek to time %" GST_TIME_FORMAT, + GST_TIME_ARGS (target)); + + /* if we need to land on a keyframe, try to do so, we don't try to do a + * keyframe seek if we are not absolutely sure we have an index.*/ + if (segment->flags & GST_SEEK_FLAG_KEY_UNIT) { + gint keyframeidx; + + GST_LOG_OBJECT (demux, "looking for keyframe in ffmpeg for time %" + GST_TIME_FORMAT, GST_TIME_ARGS (target)); + + /* search in the index for the previous keyframe */ + keyframeidx = + av_index_search_timestamp (stream, fftarget, AVSEEK_FLAG_BACKWARD); + + GST_LOG_OBJECT (demux, "keyframeidx: %d", keyframeidx); + + if (keyframeidx >= 0) { +#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(58,78,0) + fftarget = avformat_index_get_entry (stream, keyframeidx)->timestamp; +#else + fftarget = stream->index_entries[keyframeidx].timestamp; +#endif + target = gst_ffmpeg_time_ff_to_gst (fftarget, stream->time_base); + + GST_LOG_OBJECT (demux, + "Found a keyframe at ffmpeg idx: %d timestamp :%" GST_TIME_FORMAT, + keyframeidx, GST_TIME_ARGS (target)); + } + } + + GST_DEBUG_OBJECT (demux, + "About to call av_seek_frame (context, %d, %" G_GINT64_FORMAT + ", 0) for time %" GST_TIME_FORMAT, index, fftarget, + GST_TIME_ARGS (target)); + + if ((seekret = + av_seek_frame (demux->context, index, fftarget, + AVSEEK_FLAG_BACKWARD)) < 0) + goto seek_failed; + + GST_DEBUG_OBJECT (demux, "seek success, returned %d", seekret); + + if (target > demux->start_time) + target -= demux->start_time; + else + target = 0; + + segment->position = target; + segment->time = target; + segment->start = target; + + return ret; + + /* ERRORS */ +seek_failed: + { + GST_WARNING_OBJECT (demux, "Call to av_seek_frame failed : %d", seekret); + return FALSE; + } +} + +static gboolean +gst_ffmpegdemux_perform_seek (GstFFMpegDemux * demux, GstEvent * event) +{ + gboolean res; + gdouble rate; + GstFormat format; + GstSeekFlags flags; + GstSeekType cur_type, stop_type; + gint64 cur, stop; + gboolean flush; + gboolean update; + GstSegment seeksegment; + + if (!demux->seekable) { + GST_DEBUG_OBJECT (demux, "in push mode; ignoring seek"); + return FALSE; + } + + GST_DEBUG_OBJECT (demux, "starting seek"); + + if (event) { + gst_event_parse_seek (event, &rate, &format, &flags, + &cur_type, &cur, &stop_type, &stop); + + /* we have to have a format as the segment format. Try to convert + * if not. */ + if (demux->segment.format != format) { + GstFormat fmt; + + fmt = demux->segment.format; + res = TRUE; + /* FIXME, use source pad */ + if (cur_type != GST_SEEK_TYPE_NONE && cur != -1) + res = gst_pad_query_convert (demux->sinkpad, format, cur, fmt, &cur); + if (res && stop_type != GST_SEEK_TYPE_NONE && stop != -1) + res = gst_pad_query_convert (demux->sinkpad, format, stop, fmt, &stop); + if (!res) + goto no_format; + + format = fmt; + } + } else { + flags = 0; + } + + flush = flags & GST_SEEK_FLAG_FLUSH; + + /* send flush start */ + if (flush) { + /* mark flushing so that the streaming thread can react on it */ + GST_OBJECT_LOCK (demux); + demux->flushing = TRUE; + GST_OBJECT_UNLOCK (demux); + gst_pad_push_event (demux->sinkpad, gst_event_new_flush_start ()); + gst_ffmpegdemux_push_event (demux, gst_event_new_flush_start ()); + } else { + gst_pad_pause_task (demux->sinkpad); + } + + /* grab streaming lock, this should eventually be possible, either + * because the task is paused or our streaming thread stopped + * because our peer is flushing. */ + GST_PAD_STREAM_LOCK (demux->sinkpad); + + /* make copy into temp structure, we can only update the main one + * when we actually could do the seek. */ + memcpy (&seeksegment, &demux->segment, sizeof (GstSegment)); + + /* now configure the seek segment */ + if (event) { + gst_segment_do_seek (&seeksegment, rate, format, flags, + cur_type, cur, stop_type, stop, &update); + } + + GST_DEBUG_OBJECT (demux, "segment configured from %" G_GINT64_FORMAT + " to %" G_GINT64_FORMAT ", position %" G_GINT64_FORMAT, + seeksegment.start, seeksegment.stop, seeksegment.position); + + /* make the sinkpad available for data passing since we might need + * it when doing the seek */ + if (flush) { + GST_OBJECT_LOCK (demux); + demux->flushing = FALSE; + GST_OBJECT_UNLOCK (demux); + gst_pad_push_event (demux->sinkpad, gst_event_new_flush_stop (TRUE)); + } + + /* do the seek, segment.position contains new position. */ + res = gst_ffmpegdemux_do_seek (demux, &seeksegment); + + /* and prepare to continue streaming */ + if (flush) { + /* send flush stop, peer will accept data and events again. We + * are not yet providing data as we still have the STREAM_LOCK. */ + gst_ffmpegdemux_push_event (demux, gst_event_new_flush_stop (TRUE)); + } + /* if successfull seek, we update our real segment and push + * out the new segment. */ + if (res) { + memcpy (&demux->segment, &seeksegment, sizeof (GstSegment)); + + if (demux->segment.flags & GST_SEEK_FLAG_SEGMENT) { + gst_element_post_message (GST_ELEMENT (demux), + gst_message_new_segment_start (GST_OBJECT (demux), + demux->segment.format, demux->segment.position)); + } + + /* now send the newsegment, FIXME, do this from the streaming thread */ + GST_DEBUG_OBJECT (demux, "Sending newsegment %" GST_SEGMENT_FORMAT, + &demux->segment); + + gst_ffmpegdemux_push_event (demux, gst_event_new_segment (&demux->segment)); + } + + /* Mark discont on all srcpads and remove eos */ + gst_ffmpegdemux_set_flags (demux, TRUE, FALSE); + gst_flow_combiner_reset (demux->flowcombiner); + + /* and restart the task in case it got paused explicitely or by + * the FLUSH_START event we pushed out. */ + gst_pad_start_task (demux->sinkpad, (GstTaskFunction) gst_ffmpegdemux_loop, + demux->sinkpad, NULL); + + /* and release the lock again so we can continue streaming */ + GST_PAD_STREAM_UNLOCK (demux->sinkpad); + + return res; + + /* ERROR */ +no_format: + { + GST_DEBUG_OBJECT (demux, "undefined format given, seek aborted."); + return FALSE; + } +} + +static gboolean +gst_ffmpegdemux_src_event (GstPad * pad, GstObject * parent, GstEvent * event) +{ + GstFFMpegDemux *demux; + gboolean res = TRUE; + + demux = (GstFFMpegDemux *) parent; + + switch (GST_EVENT_TYPE (event)) { + case GST_EVENT_SEEK: + res = gst_ffmpegdemux_perform_seek (demux, event); + gst_event_unref (event); + break; + case GST_EVENT_LATENCY: + res = gst_pad_push_event (demux->sinkpad, event); + break; + case GST_EVENT_NAVIGATION: + case GST_EVENT_QOS: + default: + res = FALSE; + gst_event_unref (event); + break; + } + + return res; +} + +static gboolean +gst_ffmpegdemux_send_event (GstElement * element, GstEvent * event) +{ + GstFFMpegDemux *demux = (GstFFMpegDemux *) (element); + gboolean res; + + switch (GST_EVENT_TYPE (event)) { + case GST_EVENT_SEEK: + GST_OBJECT_LOCK (demux); + if (!demux->opened) { + GstEvent **event_p; + + GST_DEBUG_OBJECT (demux, "caching seek event"); + event_p = &demux->seek_event; + gst_event_replace (event_p, event); + GST_OBJECT_UNLOCK (demux); + + res = TRUE; + } else { + GST_OBJECT_UNLOCK (demux); + res = gst_ffmpegdemux_perform_seek (demux, event); + gst_event_unref (event); + } + break; + default: + res = FALSE; + break; + } + + return res; +} + +static gboolean +gst_ffmpegdemux_src_query (GstPad * pad, GstObject * parent, GstQuery * query) +{ + GstFFMpegDemux *demux; + GstFFStream *stream; + AVStream *avstream; + gboolean res = FALSE; + + if (!(stream = gst_pad_get_element_private (pad))) + return FALSE; + + avstream = stream->avstream; + + demux = (GstFFMpegDemux *) parent; + + switch (GST_QUERY_TYPE (query)) { + case GST_QUERY_POSITION: + { + GstFormat format; + gint64 timeposition; + + gst_query_parse_position (query, &format, NULL); + + timeposition = stream->last_ts; + if (!(GST_CLOCK_TIME_IS_VALID (timeposition))) + break; + + switch (format) { + case GST_FORMAT_TIME: + gst_query_set_position (query, GST_FORMAT_TIME, timeposition); + res = TRUE; + break; + case GST_FORMAT_DEFAULT: + gst_query_set_position (query, GST_FORMAT_DEFAULT, + gst_util_uint64_scale (timeposition, avstream->avg_frame_rate.num, + GST_SECOND * avstream->avg_frame_rate.den)); + res = TRUE; + break; + case GST_FORMAT_BYTES: + if (demux->videopads + demux->audiopads == 1 && + GST_PAD_PEER (demux->sinkpad) != NULL) + res = gst_pad_query_default (pad, parent, query); + break; + default: + break; + } + } + break; + case GST_QUERY_DURATION: + { + GstFormat format; + gint64 timeduration; + + gst_query_parse_duration (query, &format, NULL); + + timeduration = + gst_ffmpeg_time_ff_to_gst (avstream->duration, avstream->time_base); + if (!(GST_CLOCK_TIME_IS_VALID (timeduration))) { + /* use duration of complete file if the stream duration is not known */ + timeduration = demux->duration; + if (!(GST_CLOCK_TIME_IS_VALID (timeduration))) + break; + } + + switch (format) { + case GST_FORMAT_TIME: + gst_query_set_duration (query, GST_FORMAT_TIME, timeduration); + res = TRUE; + break; + case GST_FORMAT_DEFAULT: + gst_query_set_duration (query, GST_FORMAT_DEFAULT, + gst_util_uint64_scale (timeduration, avstream->avg_frame_rate.num, + GST_SECOND * avstream->avg_frame_rate.den)); + res = TRUE; + break; + case GST_FORMAT_BYTES: + if (demux->videopads + demux->audiopads == 1 && + GST_PAD_PEER (demux->sinkpad) != NULL) + res = gst_pad_query_default (pad, parent, query); + break; + default: + break; + } + } + break; + case GST_QUERY_SEEKING:{ + GstFormat format; + gboolean seekable; + gint64 dur = -1; + + gst_query_parse_seeking (query, &format, NULL, NULL, NULL); + seekable = demux->seekable; + if (!gst_pad_query_duration (pad, format, &dur)) { + /* unlikely that we don't know duration but can seek */ + seekable = FALSE; + dur = -1; + } + gst_query_set_seeking (query, format, seekable, 0, dur); + res = TRUE; + break; + } + case GST_QUERY_SEGMENT:{ + GstFormat format; + gint64 start, stop; + + format = demux->segment.format; + + start = + gst_segment_to_stream_time (&demux->segment, format, + demux->segment.start); + if ((stop = demux->segment.stop) == -1) + stop = demux->segment.duration; + else + stop = gst_segment_to_stream_time (&demux->segment, format, stop); + + gst_query_set_segment (query, demux->segment.rate, format, start, stop); + res = TRUE; + break; + } + default: + /* FIXME : ADD GST_QUERY_CONVERT */ + res = gst_pad_query_default (pad, parent, query); + break; + } + + return res; +} + +#if 0 +/* FIXME, reenable me */ +static gboolean +gst_ffmpegdemux_src_convert (GstPad * pad, + GstFormat src_fmt, + gint64 src_value, GstFormat * dest_fmt, gint64 * dest_value) +{ + GstFFStream *stream; + gboolean res = TRUE; + AVStream *avstream; + + if (!(stream = gst_pad_get_element_private (pad))) + return FALSE; + + avstream = stream->avstream; + if (avstream->codec->codec_type != AVMEDIA_TYPE_VIDEO) + return FALSE; + + switch (src_fmt) { + case GST_FORMAT_TIME: + switch (*dest_fmt) { + case GST_FORMAT_DEFAULT: + *dest_value = gst_util_uint64_scale (src_value, + avstream->avg_frame_rate.num, + GST_SECOND * avstream->avg_frame_rate.den); + break; + default: + res = FALSE; + break; + } + break; + case GST_FORMAT_DEFAULT: + switch (*dest_fmt) { + case GST_FORMAT_TIME: + *dest_value = gst_util_uint64_scale (src_value, + GST_SECOND * avstream->avg_frame_rate.num, + avstream->avg_frame_rate.den); + break; + default: + res = FALSE; + break; + } + break; + default: + res = FALSE; + break; + } + + return res; +} +#endif + +static gchar * +gst_ffmpegdemux_create_padname (const gchar * templ, gint n) +{ + GString *string; + + /* FIXME, we just want to printf the number according to the template but + * then the format string is not a literal and we can't check arguments and + * this generates a compiler error */ + string = g_string_new (templ); + g_string_truncate (string, string->len - 2); + g_string_append_printf (string, "%u", n); + + return g_string_free (string, FALSE); +} + +static GstFFStream * +gst_ffmpegdemux_get_stream (GstFFMpegDemux * demux, AVStream * avstream) +{ + GstFFMpegDemuxClass *oclass; + GstPadTemplate *templ = NULL; + GstPad *pad; + GstCaps *caps; + gint num; + gchar *padname; + const gchar *codec; + AVCodecContext *ctx = NULL; + GstFFStream *stream; + GstEvent *event; + gchar *stream_id; + + oclass = (GstFFMpegDemuxClass *) G_OBJECT_GET_CLASS (demux); + + if (demux->streams[avstream->index] != NULL) + goto exists; + + ctx = avcodec_alloc_context3 (NULL); + avcodec_parameters_to_context (ctx, avstream->codecpar); + + /* create new stream */ + stream = g_new0 (GstFFStream, 1); + demux->streams[avstream->index] = stream; + + /* mark stream as unknown */ + stream->unknown = TRUE; + stream->discont = TRUE; + stream->avstream = avstream; + stream->last_ts = GST_CLOCK_TIME_NONE; + stream->tags = NULL; + + switch (ctx->codec_type) { + case AVMEDIA_TYPE_VIDEO: + templ = oclass->videosrctempl; + num = demux->videopads++; + /* These are not part of the codec parameters we built the + * context from */ + ctx->framerate.num = avstream->r_frame_rate.num; + ctx->framerate.den = avstream->r_frame_rate.den; + break; + case AVMEDIA_TYPE_AUDIO: + templ = oclass->audiosrctempl; + num = demux->audiopads++; + break; + default: + goto unknown_type; + } + + /* get caps that belongs to this stream */ + caps = gst_ffmpeg_codecid_to_caps (ctx->codec_id, ctx, TRUE); + if (caps == NULL) + goto unknown_caps; + + /* stream is known now */ + stream->unknown = FALSE; + + /* create new pad for this stream */ + padname = + gst_ffmpegdemux_create_padname (GST_PAD_TEMPLATE_NAME_TEMPLATE (templ), + num); + pad = gst_pad_new_from_template (templ, padname); + g_free (padname); + + gst_pad_use_fixed_caps (pad); + gst_pad_set_active (pad, TRUE); + + gst_pad_set_query_function (pad, gst_ffmpegdemux_src_query); + gst_pad_set_event_function (pad, gst_ffmpegdemux_src_event); + + /* store pad internally */ + stream->pad = pad; + gst_pad_set_element_private (pad, stream); + + /* transform some useful info to GstClockTime and remember */ + { + GstClockTime tmp; + + /* FIXME, actually use the start_time in some way */ + tmp = gst_ffmpeg_time_ff_to_gst (avstream->start_time, avstream->time_base); + GST_DEBUG_OBJECT (demux, "stream %d: start time: %" GST_TIME_FORMAT, + avstream->index, GST_TIME_ARGS (tmp)); + + tmp = gst_ffmpeg_time_ff_to_gst (avstream->duration, avstream->time_base); + GST_DEBUG_OBJECT (demux, "stream %d: duration: %" GST_TIME_FORMAT, + avstream->index, GST_TIME_ARGS (tmp)); + } + + demux->streams[avstream->index] = stream; + + + stream_id = + gst_pad_create_stream_id_printf (pad, GST_ELEMENT_CAST (demux), "%03u", + avstream->index); + + event = gst_pad_get_sticky_event (demux->sinkpad, GST_EVENT_STREAM_START, 0); + if (event) { + if (gst_event_parse_group_id (event, &demux->group_id)) + demux->have_group_id = TRUE; + else + demux->have_group_id = FALSE; + gst_event_unref (event); + } else if (!demux->have_group_id) { + demux->have_group_id = TRUE; + demux->group_id = gst_util_group_id_next (); + } + event = gst_event_new_stream_start (stream_id); + if (demux->have_group_id) + gst_event_set_group_id (event, demux->group_id); + + gst_pad_push_event (pad, event); + g_free (stream_id); + + GST_INFO_OBJECT (pad, "adding pad with caps %" GST_PTR_FORMAT, caps); + gst_pad_set_caps (pad, caps); + gst_caps_unref (caps); + + /* activate and add */ + gst_element_add_pad (GST_ELEMENT (demux), pad); + gst_flow_combiner_add_pad (demux->flowcombiner, pad); + + /* metadata */ + if ((codec = gst_ffmpeg_get_codecid_longname (ctx->codec_id))) { + stream->tags = gst_ffmpeg_metadata_to_tag_list (avstream->metadata); + + if (stream->tags == NULL) + stream->tags = gst_tag_list_new_empty (); + + gst_tag_list_add (stream->tags, GST_TAG_MERGE_REPLACE, + (ctx->codec_type == AVMEDIA_TYPE_VIDEO) ? + GST_TAG_VIDEO_CODEC : GST_TAG_AUDIO_CODEC, codec, NULL); + } + +done: + if (ctx) + avcodec_free_context (&ctx); + return stream; + + /* ERRORS */ +exists: + { + GST_DEBUG_OBJECT (demux, "Pad existed (stream %d)", avstream->index); + stream = demux->streams[avstream->index]; + goto done; + } +unknown_type: + { + GST_WARNING_OBJECT (demux, "Unknown pad type %d", ctx->codec_type); + goto done; + } +unknown_caps: + { + GST_WARNING_OBJECT (demux, "Unknown caps for codec %d", ctx->codec_id); + goto done; + } +} + +static gchar * +safe_utf8_copy (gchar * input) +{ + gchar *output; + + if (!(g_utf8_validate (input, -1, NULL))) { + output = g_convert (input, strlen (input), + "UTF-8", "ISO-8859-1", NULL, NULL, NULL); + } else { + output = g_strdup (input); + } + + return output; +} + +/* This is a list of standard tag keys taken from the avformat.h + * header, without handling any variants. */ +static const struct +{ + const gchar *ffmpeg_tag_name; + const gchar *gst_tag_name; +} tagmapping[] = { + { + "album", GST_TAG_ALBUM}, { + "album_artist", GST_TAG_ALBUM_ARTIST}, { + "artist", GST_TAG_ARTIST}, { + "comment", GST_TAG_COMMENT}, { + "composer", GST_TAG_COMPOSER}, { + "copyright", GST_TAG_COPYRIGHT}, { + /* Need to convert ISO 8601 to GstDateTime: */ + "creation_time", GST_TAG_DATE_TIME}, { + /* Need to convert ISO 8601 to GDateTime: */ + "date", GST_TAG_DATE_TIME}, { + "disc", GST_TAG_ALBUM_VOLUME_NUMBER}, { + "encoder", GST_TAG_ENCODER}, { + "encoded_by", GST_TAG_ENCODED_BY}, { + "genre", GST_TAG_GENRE}, { + "language", GST_TAG_LANGUAGE_CODE}, { + "performer", GST_TAG_PERFORMER}, { + "publisher", GST_TAG_PUBLISHER}, { + "title", GST_TAG_TITLE}, { + "track", GST_TAG_TRACK_NUMBER} +}; + +static const gchar * +match_tag_name (gchar * ffmpeg_tag_name) +{ + gint i; + for (i = 0; i < G_N_ELEMENTS (tagmapping); i++) { + if (!g_strcmp0 (tagmapping[i].ffmpeg_tag_name, ffmpeg_tag_name)) + return tagmapping[i].gst_tag_name; + } + return NULL; +} + +static GstTagList * +gst_ffmpeg_metadata_to_tag_list (AVDictionary * metadata) +{ + AVDictionaryEntry *tag = NULL; + GstTagList *list; + list = gst_tag_list_new_empty (); + + while ((tag = av_dict_get (metadata, "", tag, AV_DICT_IGNORE_SUFFIX))) { + const gchar *gsttag = match_tag_name (tag->key); + GType t; + GST_LOG ("mapping tag %s=%s\n", tag->key, tag->value); + if (gsttag == NULL) { + GST_LOG ("Ignoring unknown metadata tag %s", tag->key); + continue; + } + /* Special case, track and disc numbers may be x/n in libav, split + * them */ + if (g_str_equal (gsttag, GST_TAG_TRACK_NUMBER)) { + guint track, trackcount; + if (sscanf (tag->value, "%u/%u", &track, &trackcount) == 2) { + gst_tag_list_add (list, GST_TAG_MERGE_REPLACE, + gsttag, track, GST_TAG_TRACK_COUNT, trackcount, NULL); + continue; + } + /* Fall through and handle as a single uint below */ + } else if (g_str_equal (gsttag, GST_TAG_ALBUM_VOLUME_NUMBER)) { + guint disc, disc_count; + if (sscanf (tag->value, "%u/%u", &disc, &disc_count) == 2) { + gst_tag_list_add (list, GST_TAG_MERGE_REPLACE, + gsttag, disc, GST_TAG_ALBUM_VOLUME_COUNT, disc_count, NULL); + continue; + } + /* Fall through and handle as a single uint below */ + } + + t = gst_tag_get_type (gsttag); + if (t == G_TYPE_STRING) { + gchar *s = safe_utf8_copy (tag->value); + gst_tag_list_add (list, GST_TAG_MERGE_REPLACE, gsttag, s, NULL); + g_free (s); + } else if (t == G_TYPE_UINT || t == G_TYPE_INT) { + gchar *end; + gint v = strtol (tag->value, &end, 10); + if (end == tag->value) + continue; /* Failed to parse */ + gst_tag_list_add (list, GST_TAG_MERGE_REPLACE, gsttag, v, NULL); + } else if (t == G_TYPE_DATE) { + guint year, month, day; + GDate *date = NULL; + if (sscanf (tag->value, "%04u-%02u-%02u", &year, &month, &day) == 3) { + date = g_date_new_dmy (day, month, year); + } else { + /* Try interpreting just as a year */ + gchar *end; + + year = strtol (tag->value, &end, 10); + if (end != tag->value) + date = g_date_new_dmy (1, 1, year); + } + if (date) { + gst_tag_list_add (list, GST_TAG_MERGE_REPLACE, gsttag, date, NULL); + g_date_free (date); + } + } else if (t == GST_TYPE_DATE_TIME) { + gchar *s = safe_utf8_copy (tag->value); + GstDateTime *d = gst_date_time_new_from_iso8601_string (s); + + g_free (s); + if (d) { + gst_tag_list_add (list, GST_TAG_MERGE_REPLACE, gsttag, d, NULL); + gst_date_time_unref (d); + } + } else { + GST_FIXME ("Unhandled tag %s", gsttag); + } + } + + if (gst_tag_list_is_empty (list)) { + gst_tag_list_unref (list); + return NULL; + } + + return list; +} + +static gboolean +gst_ffmpegdemux_open (GstFFMpegDemux * demux) +{ + AVIOContext *iocontext = NULL; + GstFFMpegDemuxClass *oclass = + (GstFFMpegDemuxClass *) G_OBJECT_GET_CLASS (demux); + gint res, n_streams, i; + GstTagList *tags; + GstEvent *event; + GList *cached_events; + GstQuery *query; + gchar *uri = NULL; + + /* to be sure... */ + gst_ffmpegdemux_close (demux); + + /* open via our input protocol hack */ + if (demux->seekable) + res = gst_ffmpegdata_open (demux->sinkpad, AVIO_FLAG_READ, &iocontext); + else + res = gst_ffmpeg_pipe_open (&demux->ffpipe, AVIO_FLAG_READ, &iocontext); + + if (res < 0) + goto beach; + + query = gst_query_new_uri (); + if (gst_pad_peer_query (demux->sinkpad, query)) { + gchar *query_uri, *redirect_uri; + gboolean permanent; + + gst_query_parse_uri (query, &query_uri); + gst_query_parse_uri_redirection (query, &redirect_uri); + gst_query_parse_uri_redirection_permanent (query, &permanent); + + if (permanent && redirect_uri) { + uri = redirect_uri; + g_free (query_uri); + } else { + uri = query_uri; + g_free (redirect_uri); + } + } + gst_query_unref (query); + + GST_DEBUG_OBJECT (demux, "Opening context with URI %s", GST_STR_NULL (uri)); + + demux->context = avformat_alloc_context (); + demux->context->pb = iocontext; + res = avformat_open_input (&demux->context, uri, oclass->in_plugin, NULL); + + g_free (uri); + + GST_DEBUG_OBJECT (demux, "av_open_input returned %d", res); + if (res < 0) + goto beach; + + res = gst_ffmpeg_av_find_stream_info (demux->context); + GST_DEBUG_OBJECT (demux, "av_find_stream_info returned %d", res); + if (res < 0) + goto beach; + + n_streams = demux->context->nb_streams; + GST_DEBUG_OBJECT (demux, "we have %d streams", n_streams); + + /* open_input_file() automatically reads the header. We can now map each + * created AVStream to a GstPad to make GStreamer handle it. */ + for (i = 0; i < n_streams; i++) { + gst_ffmpegdemux_get_stream (demux, demux->context->streams[i]); + } + + gst_element_no_more_pads (GST_ELEMENT (demux)); + + /* transform some useful info to GstClockTime and remember */ + demux->start_time = gst_util_uint64_scale_int (demux->context->start_time, + GST_SECOND, AV_TIME_BASE); + GST_DEBUG_OBJECT (demux, "start time: %" GST_TIME_FORMAT, + GST_TIME_ARGS (demux->start_time)); + if (demux->context->duration > 0) + demux->duration = gst_util_uint64_scale_int (demux->context->duration, + GST_SECOND, AV_TIME_BASE); + else + demux->duration = GST_CLOCK_TIME_NONE; + + GST_DEBUG_OBJECT (demux, "duration: %" GST_TIME_FORMAT, + GST_TIME_ARGS (demux->duration)); + + /* store duration in the segment as well */ + demux->segment.duration = demux->duration; + + GST_OBJECT_LOCK (demux); + demux->opened = TRUE; + event = demux->seek_event; + demux->seek_event = NULL; + cached_events = demux->cached_events; + demux->cached_events = NULL; + GST_OBJECT_UNLOCK (demux); + + if (event) { + gst_ffmpegdemux_perform_seek (demux, event); + gst_event_unref (event); + } else { + GST_DEBUG_OBJECT (demux, "Sending segment %" GST_SEGMENT_FORMAT, + &demux->segment); + gst_ffmpegdemux_push_event (demux, gst_event_new_segment (&demux->segment)); + } + + while (cached_events) { + event = cached_events->data; + GST_INFO_OBJECT (demux, "pushing cached event: %" GST_PTR_FORMAT, event); + gst_ffmpegdemux_push_event (demux, event); + cached_events = g_list_delete_link (cached_events, cached_events); + } + + /* grab the global tags */ + tags = gst_ffmpeg_metadata_to_tag_list (demux->context->metadata); + if (tags) { + GST_INFO_OBJECT (demux, "global tags: %" GST_PTR_FORMAT, tags); + } + + /* now handle the stream tags */ + for (i = 0; i < n_streams; i++) { + GstFFStream *stream; + + stream = gst_ffmpegdemux_get_stream (demux, demux->context->streams[i]); + if (stream->pad != NULL) { + + /* Global tags */ + if (tags) + gst_pad_push_event (stream->pad, + gst_event_new_tag (gst_tag_list_ref (tags))); + + /* Per-stream tags */ + if (stream->tags != NULL) { + GST_INFO_OBJECT (stream->pad, "stream tags: %" GST_PTR_FORMAT, + stream->tags); + gst_pad_push_event (stream->pad, + gst_event_new_tag (gst_tag_list_ref (stream->tags))); + } + } + } + if (tags) + gst_tag_list_unref (tags); + return TRUE; + + /* ERRORS */ +beach: + { + GST_ELEMENT_ERROR (demux, LIBRARY, FAILED, (NULL), + ("%s", gst_ffmpegdemux_averror (res))); + return FALSE; + } +} + +#define GST_FFMPEG_TYPE_FIND_SIZE 4096 +#define GST_FFMPEG_TYPE_FIND_MIN_SIZE 256 + +static void +gst_ffmpegdemux_type_find (GstTypeFind * tf, gpointer priv) +{ + const guint8 *data; + AVInputFormat *in_plugin = (AVInputFormat *) priv; + gint res = 0; + guint64 length; + GstCaps *sinkcaps; + + /* We want GST_FFMPEG_TYPE_FIND_SIZE bytes, but if the file is shorter than + * that we'll give it a try... */ + length = gst_type_find_get_length (tf); + if (length == 0 || length > GST_FFMPEG_TYPE_FIND_SIZE) + length = GST_FFMPEG_TYPE_FIND_SIZE; + + /* The ffmpeg typefinders assume there's a certain minimum amount of data + * and will happily do invalid memory access if there isn't, so let's just + * skip the ffmpeg typefinders if the data available is too short + * (in which case it's unlikely to be a media file anyway) */ + if (length < GST_FFMPEG_TYPE_FIND_MIN_SIZE) { + GST_LOG ("not typefinding %" G_GUINT64_FORMAT " bytes, too short", length); + return; + } + + GST_LOG ("typefinding %" G_GUINT64_FORMAT " bytes", length); + if (in_plugin->read_probe && + (data = gst_type_find_peek (tf, 0, length)) != NULL) { + AVProbeData probe_data; + + probe_data.filename = ""; + probe_data.buf = (guint8 *) data; + probe_data.buf_size = length; + + res = in_plugin->read_probe (&probe_data); + if (res > 0) { + res = MAX (1, res * GST_TYPE_FIND_MAXIMUM / AVPROBE_SCORE_MAX); + /* Restrict the probability for MPEG-TS streams, because there is + * probably a better version in plugins-base, if the user has a recent + * plugins-base (in fact we shouldn't even get here for ffmpeg mpegts or + * mpegtsraw typefinders, since we blacklist them) */ + if (g_str_has_prefix (in_plugin->name, "mpegts")) + res = MIN (res, GST_TYPE_FIND_POSSIBLE); + + sinkcaps = gst_ffmpeg_formatid_to_caps (in_plugin->name); + + GST_LOG ("libav typefinder '%s' suggests %" GST_PTR_FORMAT ", p=%u%%", + in_plugin->name, sinkcaps, res); + + gst_type_find_suggest (tf, res, sinkcaps); + gst_caps_unref (sinkcaps); + } + } +} + +/* Task */ +static void +gst_ffmpegdemux_loop (GstFFMpegDemux * demux) +{ + GstFlowReturn ret; + gint res = -1; + AVPacket pkt; + GstPad *srcpad; + GstFFStream *stream; + AVStream *avstream; + GstBuffer *outbuf = NULL; + GstClockTime timestamp, duration; + gint outsize; + gboolean rawvideo; + GstFlowReturn stream_last_flow; + gint64 pts; + + /* open file if we didn't so already */ + if (!demux->opened) + if (!gst_ffmpegdemux_open (demux)) + goto open_failed; + + GST_DEBUG_OBJECT (demux, "about to read a frame"); + + /* read a frame */ + res = av_read_frame (demux->context, &pkt); + if (res < 0) + goto read_failed; + + /* get the stream */ + stream = + gst_ffmpegdemux_get_stream (demux, + demux->context->streams[pkt.stream_index]); + + /* check if we know the stream */ + if (stream->unknown) + goto done; + + /* get more stuff belonging to this stream */ + avstream = stream->avstream; + + /* do timestamps, we do this first so that we can know when we + * stepped over the segment stop position. */ + pts = pkt.pts; + if (G_UNLIKELY (pts < 0)) { + /* some streams have pts such this: + * 0 + * -2 + * -1 + * 1 + * + * we reset pts to 0 since for us timestamp are unsigned + */ + GST_WARNING_OBJECT (demux, + "negative pts detected: %" G_GINT64_FORMAT " resetting to 0", pts); + pts = 0; + } + timestamp = gst_ffmpeg_time_ff_to_gst (pts, avstream->time_base); + if (GST_CLOCK_TIME_IS_VALID (timestamp)) { + stream->last_ts = timestamp; + } + duration = gst_ffmpeg_time_ff_to_gst (pkt.duration, avstream->time_base); + if (G_UNLIKELY (!duration)) { + GST_WARNING_OBJECT (demux, "invalid buffer duration, setting to NONE"); + duration = GST_CLOCK_TIME_NONE; + } + + + GST_DEBUG_OBJECT (demux, + "pkt pts:%" GST_TIME_FORMAT + " / size:%d / stream_index:%d / flags:%d / duration:%" GST_TIME_FORMAT + " / pos:%" G_GINT64_FORMAT, GST_TIME_ARGS (timestamp), pkt.size, + pkt.stream_index, pkt.flags, GST_TIME_ARGS (duration), (gint64) pkt.pos); + + /* check start_time */ +#if 0 + if (demux->start_time != -1 && demux->start_time > timestamp) + goto drop; +#endif + + if (GST_CLOCK_TIME_IS_VALID (timestamp)) { + /* start_time should be the ts of the first frame but it may actually be + * higher because of rounding when converting to gst ts. */ + if (demux->start_time >= timestamp) + timestamp = 0; + else + timestamp -= demux->start_time; + } + + /* check if we ran outside of the segment */ + if (demux->segment.stop != -1 && timestamp > demux->segment.stop) + goto drop; + + /* prepare to push packet to peer */ + srcpad = stream->pad; + + rawvideo = (avstream->codecpar->codec_type == AVMEDIA_TYPE_VIDEO && + avstream->codecpar->codec_id == AV_CODEC_ID_RAWVIDEO); + + if (rawvideo) + outsize = gst_ffmpeg_avpicture_get_size (avstream->codecpar->format, + avstream->codecpar->width, avstream->codecpar->height); + else + outsize = pkt.size; + + outbuf = gst_buffer_new_and_alloc (outsize); + + /* copy the data from packet into the target buffer + * and do conversions for raw video packets */ + if (rawvideo) { + AVFrame src, dst; + const gchar *plugin_name = + ((GstFFMpegDemuxClass *) (G_OBJECT_GET_CLASS (demux)))->in_plugin->name; + GstMapInfo map; + + GST_WARNING ("Unknown demuxer %s, no idea what to do", plugin_name); + gst_ffmpeg_avpicture_fill (&src, pkt.data, + avstream->codecpar->format, avstream->codecpar->width, + avstream->codecpar->height); + + gst_buffer_map (outbuf, &map, GST_MAP_WRITE); + gst_ffmpeg_avpicture_fill (&dst, map.data, + avstream->codecpar->format, avstream->codecpar->width, + avstream->codecpar->height); + + av_image_copy (dst.data, dst.linesize, (const uint8_t **) src.data, + src.linesize, avstream->codecpar->format, avstream->codecpar->width, + avstream->codecpar->height); + gst_buffer_unmap (outbuf, &map); + } else { + gst_buffer_fill (outbuf, 0, pkt.data, outsize); + } + + GST_BUFFER_TIMESTAMP (outbuf) = timestamp; + GST_BUFFER_DURATION (outbuf) = duration; + + /* mark keyframes */ + if (!(pkt.flags & AV_PKT_FLAG_KEY)) { + GST_BUFFER_FLAG_SET (outbuf, GST_BUFFER_FLAG_DELTA_UNIT); + } + + /* Mark discont */ + if (stream->discont) { + GST_DEBUG_OBJECT (demux, "marking DISCONT"); + GST_BUFFER_FLAG_SET (outbuf, GST_BUFFER_FLAG_DISCONT); + stream->discont = FALSE; + } + + GST_DEBUG_OBJECT (demux, + "Sending out buffer time:%" GST_TIME_FORMAT " size:%" G_GSIZE_FORMAT, + GST_TIME_ARGS (timestamp), gst_buffer_get_size (outbuf)); + + ret = stream_last_flow = gst_pad_push (srcpad, outbuf); + + /* if a pad is in e.g. WRONG_STATE, we want to pause to unlock the STREAM_LOCK */ + if (((ret = gst_flow_combiner_update_flow (demux->flowcombiner, + ret)) != GST_FLOW_OK)) { + GST_WARNING_OBJECT (demux, "stream_movi flow: %s / %s", + gst_flow_get_name (stream_last_flow), gst_flow_get_name (ret)); + goto pause; + } + +done: + /* can destroy the packet now */ + if (res == 0) { + av_packet_unref (&pkt); + } + + return; + + /* ERRORS */ +pause: + { + GST_LOG_OBJECT (demux, "pausing task, reason %d (%s)", ret, + gst_flow_get_name (ret)); + if (demux->seekable) + gst_pad_pause_task (demux->sinkpad); + else { + GstFFMpegPipe *ffpipe = &demux->ffpipe; + + GST_FFMPEG_PIPE_MUTEX_LOCK (ffpipe); + /* pause task and make sure loop stops */ + gst_task_pause (demux->task); + g_rec_mutex_lock (&demux->task_lock); + g_rec_mutex_unlock (&demux->task_lock); + demux->ffpipe.srcresult = ret; + GST_FFMPEG_PIPE_MUTEX_UNLOCK (ffpipe); + } + + if (ret == GST_FLOW_EOS) { + if (demux->segment.flags & GST_SEEK_FLAG_SEGMENT) { + gint64 stop; + + if ((stop = demux->segment.stop) == -1) + stop = demux->segment.duration; + + GST_LOG_OBJECT (demux, "posting segment done"); + gst_element_post_message (GST_ELEMENT (demux), + gst_message_new_segment_done (GST_OBJECT (demux), + demux->segment.format, stop)); + gst_ffmpegdemux_push_event (demux, + gst_event_new_segment_done (demux->segment.format, stop)); + } else { + GST_LOG_OBJECT (demux, "pushing eos"); + gst_ffmpegdemux_push_event (demux, gst_event_new_eos ()); + } + } else if (ret == GST_FLOW_NOT_LINKED || ret < GST_FLOW_EOS) { + GST_ELEMENT_FLOW_ERROR (demux, ret); + gst_ffmpegdemux_push_event (demux, gst_event_new_eos ()); + } + goto done; + } +open_failed: + { + ret = GST_FLOW_ERROR; + goto pause; + } +read_failed: + { + /* something went wrong... */ + GST_WARNING_OBJECT (demux, "av_read_frame returned %d", res); + + GST_OBJECT_LOCK (demux); + /* pause appropriatly based on if we are flushing or not */ + if (demux->flushing) + ret = GST_FLOW_FLUSHING; + else if (gst_ffmpegdemux_has_outputted (demux) + || gst_ffmpegdemux_is_eos (demux)) { + GST_DEBUG_OBJECT (demux, "We are EOS"); + ret = GST_FLOW_EOS; + } else + ret = GST_FLOW_ERROR; + GST_OBJECT_UNLOCK (demux); + + goto pause; + } +drop: + { + GST_DEBUG_OBJECT (demux, "dropping buffer out of segment, stream eos"); + stream->eos = TRUE; + if (gst_ffmpegdemux_is_eos (demux)) { + av_packet_unref (&pkt); + GST_DEBUG_OBJECT (demux, "we are eos"); + ret = GST_FLOW_EOS; + goto pause; + } else { + GST_DEBUG_OBJECT (demux, "some streams are not yet eos"); + goto done; + } + } +} + + +static gboolean +gst_ffmpegdemux_sink_event (GstPad * sinkpad, GstObject * parent, + GstEvent * event) +{ + GstFFMpegDemux *demux; + GstFFMpegPipe *ffpipe; + gboolean result = TRUE; + + demux = (GstFFMpegDemux *) parent; + ffpipe = &(demux->ffpipe); + + GST_LOG_OBJECT (demux, "event: %" GST_PTR_FORMAT, event); + + switch (GST_EVENT_TYPE (event)) { + case GST_EVENT_FLUSH_START: + /* forward event */ + gst_pad_event_default (sinkpad, parent, event); + + /* now unblock the chain function */ + GST_FFMPEG_PIPE_MUTEX_LOCK (ffpipe); + ffpipe->srcresult = GST_FLOW_FLUSHING; + GST_FFMPEG_PIPE_SIGNAL (ffpipe); + GST_FFMPEG_PIPE_MUTEX_UNLOCK (ffpipe); + + /* loop might run into WRONG_STATE and end itself, + * but may also be waiting in a ffmpeg read + * trying to break that would make ffmpeg believe eos, + * so no harm to have the loop 'pausing' there ... */ + goto done; + case GST_EVENT_FLUSH_STOP: + /* forward event */ + gst_pad_event_default (sinkpad, parent, event); + + GST_OBJECT_LOCK (demux); + g_list_foreach (demux->cached_events, (GFunc) gst_mini_object_unref, + NULL); + g_list_free (demux->cached_events); + GST_OBJECT_UNLOCK (demux); + GST_FFMPEG_PIPE_MUTEX_LOCK (ffpipe); + gst_adapter_clear (ffpipe->adapter); + ffpipe->srcresult = GST_FLOW_OK; + /* loop may have decided to end itself as a result of flush WRONG_STATE */ + gst_task_start (demux->task); + demux->flushing = FALSE; + GST_LOG_OBJECT (demux, "loop started"); + GST_FFMPEG_PIPE_MUTEX_UNLOCK (ffpipe); + goto done; + case GST_EVENT_EOS: + /* inform the src task that it can stop now */ + GST_FFMPEG_PIPE_MUTEX_LOCK (ffpipe); + ffpipe->eos = TRUE; + GST_FFMPEG_PIPE_SIGNAL (ffpipe); + GST_FFMPEG_PIPE_MUTEX_UNLOCK (ffpipe); + + /* eat this event for now, task will send eos when finished */ + gst_event_unref (event); + goto done; + case GST_EVENT_STREAM_START: + case GST_EVENT_CAPS: + GST_LOG_OBJECT (demux, "dropping %s event", GST_EVENT_TYPE_NAME (event)); + gst_event_unref (event); + goto done; + default: + /* for a serialized event, wait until an earlier data is gone, + * though this is no guarantee as to when task is done with it. + * + * If the demuxer isn't opened, push straight away, since we'll + * be waiting against a cond that will never be signalled. */ + if (GST_EVENT_IS_SERIALIZED (event)) { + if (demux->opened) { + GST_FFMPEG_PIPE_MUTEX_LOCK (ffpipe); + while (!ffpipe->needed) + GST_FFMPEG_PIPE_WAIT (ffpipe); + GST_FFMPEG_PIPE_MUTEX_UNLOCK (ffpipe); + } else { + /* queue events and send them later (esp. tag events) */ + GST_OBJECT_LOCK (demux); + demux->cached_events = g_list_append (demux->cached_events, event); + GST_OBJECT_UNLOCK (demux); + goto done; + } + } + break; + } + + result = gst_pad_event_default (sinkpad, parent, event); + +done: + + return result; +} + +static GstFlowReturn +gst_ffmpegdemux_chain (GstPad * sinkpad, GstObject * parent, GstBuffer * buffer) +{ + GstFFMpegDemux *demux; + GstFFMpegPipe *ffpipe; + + demux = (GstFFMpegDemux *) parent; + ffpipe = &demux->ffpipe; + + GST_FFMPEG_PIPE_MUTEX_LOCK (ffpipe); + + if (G_UNLIKELY (ffpipe->eos)) + goto eos; + + if (G_UNLIKELY (ffpipe->srcresult != GST_FLOW_OK)) + goto ignore; + + GST_DEBUG ("Giving a buffer of %" G_GSIZE_FORMAT " bytes", + gst_buffer_get_size (buffer)); + gst_adapter_push (ffpipe->adapter, buffer); + buffer = NULL; + while (gst_adapter_available (ffpipe->adapter) >= ffpipe->needed) { + GST_DEBUG ("Adapter has more that requested (ffpipe->needed:%d)", + ffpipe->needed); + GST_FFMPEG_PIPE_SIGNAL (ffpipe); + GST_FFMPEG_PIPE_WAIT (ffpipe); + /* may have become flushing */ + if (G_UNLIKELY (ffpipe->srcresult != GST_FLOW_OK)) + goto ignore; + } + + GST_FFMPEG_PIPE_MUTEX_UNLOCK (ffpipe); + + return GST_FLOW_OK; + +/* special cases */ +eos: + { + GST_DEBUG_OBJECT (demux, "ignoring buffer at end-of-stream"); + GST_FFMPEG_PIPE_MUTEX_UNLOCK (ffpipe); + + gst_buffer_unref (buffer); + return GST_FLOW_EOS; + } +ignore: + { + GST_DEBUG_OBJECT (demux, "ignoring buffer because src task encountered %s", + gst_flow_get_name (ffpipe->srcresult)); + GST_FFMPEG_PIPE_MUTEX_UNLOCK (ffpipe); + + if (buffer) + gst_buffer_unref (buffer); + return GST_FLOW_FLUSHING; + } +} + +static gboolean +gst_ffmpegdemux_sink_activate (GstPad * sinkpad, GstObject * parent) +{ + GstQuery *query; + gboolean pull_mode; + GstSchedulingFlags flags; + + query = gst_query_new_scheduling (); + + if (!gst_pad_peer_query (sinkpad, query)) { + gst_query_unref (query); + goto activate_push; + } + + pull_mode = gst_query_has_scheduling_mode_with_flags (query, + GST_PAD_MODE_PULL, GST_SCHEDULING_FLAG_SEEKABLE); + + gst_query_parse_scheduling (query, &flags, NULL, NULL, NULL); + if (flags & GST_SCHEDULING_FLAG_SEQUENTIAL) + pull_mode = FALSE; + + gst_query_unref (query); + + if (!pull_mode) + goto activate_push; + + GST_DEBUG_OBJECT (sinkpad, "activating pull"); + return gst_pad_activate_mode (sinkpad, GST_PAD_MODE_PULL, TRUE); + +activate_push: + { + GST_DEBUG_OBJECT (sinkpad, "activating push"); + return gst_pad_activate_mode (sinkpad, GST_PAD_MODE_PUSH, TRUE); + } +} + +/* push mode: + * - not seekable + * - use gstpipe protocol, like ffmpeg's pipe protocol + * - (independently managed) task driving ffmpeg + */ +static gboolean +gst_ffmpegdemux_sink_activate_push (GstPad * sinkpad, GstObject * parent, + gboolean active) +{ + GstFFMpegDemux *demux; + gboolean res = FALSE; + + demux = (GstFFMpegDemux *) (parent); + + if (active) { + if (demux->can_push == FALSE) { + GST_WARNING_OBJECT (demux, "Demuxer can't reliably operate in push-mode"); + goto beach; + } + demux->ffpipe.eos = FALSE; + demux->ffpipe.srcresult = GST_FLOW_OK; + demux->ffpipe.needed = 0; + demux->seekable = FALSE; + res = gst_task_start (demux->task); + } else { + GstFFMpegPipe *ffpipe = &demux->ffpipe; + + /* release chain and loop */ + GST_FFMPEG_PIPE_MUTEX_LOCK (ffpipe); + demux->ffpipe.srcresult = GST_FLOW_FLUSHING; + /* end streaming by making ffmpeg believe eos */ + demux->ffpipe.eos = TRUE; + GST_FFMPEG_PIPE_SIGNAL (ffpipe); + GST_FFMPEG_PIPE_MUTEX_UNLOCK (ffpipe); + + /* make sure streaming ends */ + gst_task_stop (demux->task); + g_rec_mutex_lock (&demux->task_lock); + g_rec_mutex_unlock (&demux->task_lock); + res = gst_task_join (demux->task); + demux->seekable = FALSE; + } + +beach: + return res; +} + +/* pull mode: + * - seekable + * - use gstreamer protocol, like ffmpeg's file protocol + * - task driving ffmpeg based on sink pad + */ +static gboolean +gst_ffmpegdemux_sink_activate_pull (GstPad * sinkpad, GstObject * parent, + gboolean active) +{ + GstFFMpegDemux *demux; + gboolean res; + + demux = (GstFFMpegDemux *) parent; + + if (active) { + demux->seekable = TRUE; + res = gst_pad_start_task (sinkpad, (GstTaskFunction) gst_ffmpegdemux_loop, + demux, NULL); + } else { + res = gst_pad_stop_task (sinkpad); + demux->seekable = FALSE; + } + + return res; +} + +static gboolean +gst_ffmpegdemux_sink_activate_mode (GstPad * sinkpad, GstObject * parent, + GstPadMode mode, gboolean active) +{ + gboolean res; + + switch (mode) { + case GST_PAD_MODE_PUSH: + res = gst_ffmpegdemux_sink_activate_push (sinkpad, parent, active); + break; + case GST_PAD_MODE_PULL: + res = gst_ffmpegdemux_sink_activate_pull (sinkpad, parent, active); + break; + default: + res = FALSE; + break; + } + return res; +} + +static GstStateChangeReturn +gst_ffmpegdemux_change_state (GstElement * element, GstStateChange transition) +{ + GstFFMpegDemux *demux = (GstFFMpegDemux *) (element); + GstStateChangeReturn ret; + + switch (transition) { + case GST_STATE_CHANGE_READY_TO_PAUSED: +#if 0 + /* test seek in READY here */ + gst_element_send_event (element, gst_event_new_seek (1.0, + GST_FORMAT_TIME, GST_SEEK_FLAG_NONE, + GST_SEEK_TYPE_SET, 10 * GST_SECOND, + GST_SEEK_TYPE_SET, 13 * GST_SECOND)); +#endif + break; + default: + break; + } + + ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition); + + switch (transition) { + case GST_STATE_CHANGE_PAUSED_TO_READY: + gst_ffmpegdemux_close (demux); + gst_adapter_clear (demux->ffpipe.adapter); + g_list_foreach (demux->cached_events, (GFunc) gst_mini_object_unref, + NULL); + g_list_free (demux->cached_events); + demux->cached_events = NULL; + demux->have_group_id = FALSE; + demux->group_id = G_MAXUINT; + break; + default: + break; + } + + return ret; +} + +gboolean +gst_ffmpegdemux_register (GstPlugin * plugin) +{ + GType type; + const AVInputFormat *in_plugin; + gchar *extensions; + GTypeInfo typeinfo = { + sizeof (GstFFMpegDemuxClass), + (GBaseInitFunc) gst_ffmpegdemux_base_init, + NULL, + (GClassInitFunc) gst_ffmpegdemux_class_init, + NULL, + NULL, + sizeof (GstFFMpegDemux), + 0, + (GInstanceInitFunc) gst_ffmpegdemux_init, + }; + + void *i = 0; + + GST_LOG ("Registering demuxers"); + + while ((in_plugin = av_demuxer_iterate (&i))) { + gchar *type_name, *typefind_name; + gint rank; + gboolean register_typefind_func = TRUE; + + GST_LOG ("Attempting to handle libav demuxer plugin %s [%s]", + in_plugin->name, in_plugin->long_name); + + /* no emulators */ + if (in_plugin->long_name != NULL) { + if (!strncmp (in_plugin->long_name, "raw ", 4) || + !strncmp (in_plugin->long_name, "pcm ", 4) + ) + continue; + } + + if (!strcmp (in_plugin->name, "audio_device") || + !strncmp (in_plugin->name, "image", 5) || + !strcmp (in_plugin->name, "mpegvideo") || + !strcmp (in_plugin->name, "mjpeg") || + !strcmp (in_plugin->name, "redir") || + !strncmp (in_plugin->name, "u8", 2) || + !strncmp (in_plugin->name, "u16", 3) || + !strncmp (in_plugin->name, "u24", 3) || + !strncmp (in_plugin->name, "u32", 3) || + !strncmp (in_plugin->name, "s8", 2) || + !strncmp (in_plugin->name, "s16", 3) || + !strncmp (in_plugin->name, "s24", 3) || + !strncmp (in_plugin->name, "s32", 3) || + !strncmp (in_plugin->name, "f32", 3) || + !strncmp (in_plugin->name, "f64", 3) || + !strcmp (in_plugin->name, "mulaw") || !strcmp (in_plugin->name, "alaw") + ) + continue; + + /* no network demuxers */ + if (!strcmp (in_plugin->name, "sdp") || + !strcmp (in_plugin->name, "rtsp") || + !strcmp (in_plugin->name, "applehttp") + ) + continue; + + /* these don't do what one would expect or + * are only partially functional/useful */ + if (!strcmp (in_plugin->name, "aac") || + !strcmp (in_plugin->name, "wv") || + !strcmp (in_plugin->name, "ass") || + !strcmp (in_plugin->name, "ffmetadata")) + continue; + + /* Don't use the typefind functions of formats for which we already have + * better typefind functions */ + if (!strcmp (in_plugin->name, "mov,mp4,m4a,3gp,3g2,mj2") || + !strcmp (in_plugin->name, "ass") || + !strcmp (in_plugin->name, "avi") || + !strcmp (in_plugin->name, "asf") || + !strcmp (in_plugin->name, "mpegvideo") || + !strcmp (in_plugin->name, "mp3") || + !strcmp (in_plugin->name, "matroska") || + !strcmp (in_plugin->name, "matroska_webm") || + !strcmp (in_plugin->name, "matroska,webm") || + !strcmp (in_plugin->name, "mpeg") || + !strcmp (in_plugin->name, "wav") || + !strcmp (in_plugin->name, "au") || + !strcmp (in_plugin->name, "tta") || + !strcmp (in_plugin->name, "rm") || + !strcmp (in_plugin->name, "amr") || + !strcmp (in_plugin->name, "ogg") || + !strcmp (in_plugin->name, "aiff") || + !strcmp (in_plugin->name, "ape") || + !strcmp (in_plugin->name, "dv") || + !strcmp (in_plugin->name, "flv") || + !strcmp (in_plugin->name, "mpc") || + !strcmp (in_plugin->name, "mpc8") || + !strcmp (in_plugin->name, "mpegts") || + !strcmp (in_plugin->name, "mpegtsraw") || + !strcmp (in_plugin->name, "mxf") || + !strcmp (in_plugin->name, "nuv") || + !strcmp (in_plugin->name, "swf") || + !strcmp (in_plugin->name, "voc") || + !strcmp (in_plugin->name, "pva") || + !strcmp (in_plugin->name, "gif") || + !strcmp (in_plugin->name, "vc1test") || + !strcmp (in_plugin->name, "ivf")) + register_typefind_func = FALSE; + + /* Set the rank of demuxers known to work to MARGINAL. + * Set demuxers for which we already have another implementation to NONE + * Set All others to NONE*/ + /** + * element-avdemux_xwma + * + * Since: 1.20 + */ + if (!strcmp (in_plugin->name, "wsvqa") || + !strcmp (in_plugin->name, "wsaud") || + !strcmp (in_plugin->name, "wc3movie") || + !strcmp (in_plugin->name, "voc") || + !strcmp (in_plugin->name, "tta") || + !strcmp (in_plugin->name, "sol") || + !strcmp (in_plugin->name, "smk") || + !strcmp (in_plugin->name, "vmd") || + !strcmp (in_plugin->name, "film_cpk") || + !strcmp (in_plugin->name, "ingenient") || + !strcmp (in_plugin->name, "psxstr") || + !strcmp (in_plugin->name, "nuv") || + !strcmp (in_plugin->name, "nut") || + !strcmp (in_plugin->name, "nsv") || + !strcmp (in_plugin->name, "mxf") || + !strcmp (in_plugin->name, "mmf") || + !strcmp (in_plugin->name, "mm") || + !strcmp (in_plugin->name, "ipmovie") || + !strcmp (in_plugin->name, "ape") || + !strcmp (in_plugin->name, "RoQ") || + !strcmp (in_plugin->name, "idcin") || + !strcmp (in_plugin->name, "gxf") || + !strcmp (in_plugin->name, "ffm") || + !strcmp (in_plugin->name, "ea") || + !strcmp (in_plugin->name, "daud") || + !strcmp (in_plugin->name, "avs") || + !strcmp (in_plugin->name, "aiff") || + !strcmp (in_plugin->name, "xwma") || + !strcmp (in_plugin->name, "4xm") || + !strcmp (in_plugin->name, "yuv4mpegpipe") || + !strcmp (in_plugin->name, "pva") || + !strcmp (in_plugin->name, "mpc") || + !strcmp (in_plugin->name, "mpc8") || + !strcmp (in_plugin->name, "ivf") || + !strcmp (in_plugin->name, "brstm") || + !strcmp (in_plugin->name, "bfstm") || + !strcmp (in_plugin->name, "gif") || + !strcmp (in_plugin->name, "dsf") || !strcmp (in_plugin->name, "iff")) + rank = GST_RANK_MARGINAL; + else { + GST_DEBUG ("ignoring %s", in_plugin->name); + rank = GST_RANK_NONE; + continue; + } + + /* construct the type */ + type_name = g_strdup_printf ("avdemux_%s", in_plugin->name); + g_strdelimit (type_name, ".,|-<> ", '_'); + + /* if it's already registered, drop it */ + if (g_type_from_name (type_name)) { + g_free (type_name); + continue; + } + + typefind_name = g_strdup_printf ("avtype_%s", in_plugin->name); + g_strdelimit (typefind_name, ".,|-<> ", '_'); + + /* create the type now */ + type = g_type_register_static (GST_TYPE_ELEMENT, type_name, &typeinfo, 0); + g_type_set_qdata (type, GST_FFDEMUX_PARAMS_QDATA, (gpointer) in_plugin); + + if (in_plugin->extensions) + extensions = g_strdelimit (g_strdup (in_plugin->extensions), " ", ','); + else + extensions = NULL; + + if (!gst_element_register (plugin, type_name, rank, type) || + (register_typefind_func == TRUE && + !gst_type_find_register (plugin, typefind_name, rank, + gst_ffmpegdemux_type_find, extensions, NULL, + (gpointer) in_plugin, NULL))) { + g_warning ("Registration of type %s failed", type_name); + g_free (type_name); + g_free (typefind_name); + g_free (extensions); + return FALSE; + } + + g_free (type_name); + g_free (typefind_name); + g_free (extensions); + } + + GST_LOG ("Finished registering demuxers"); + + return TRUE; +} diff --git a/ext/libav/gstavmux.c b/ext/libav/gstavmux.c new file mode 100644 index 0000000000..2b347a34fd --- /dev/null +++ b/ext/libav/gstavmux.c @@ -0,0 +1,962 @@ +/* GStreamer + * Copyright (C) <1999> Erik Walthinsen + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include +#include +#include +#include + +#include "gstav.h" +#include "gstavcodecmap.h" +#include "gstavutils.h" +#include "gstavprotocol.h" + +typedef struct _GstFFMpegMux GstFFMpegMux; +typedef struct _GstFFMpegMuxPad GstFFMpegMuxPad; + +struct _GstFFMpegMuxPad +{ + GstCollectData collect; /* we extend the CollectData */ + + gint padnum; +}; + +struct _GstFFMpegMux +{ + GstElement element; + + GstCollectPads *collect; + /* We need to keep track of our pads, so we do so here. */ + GstPad *srcpad; + + AVFormatContext *context; + gboolean opened; + + guint videopads, audiopads; + + /*< private > */ + /* event_function is the collectpads default eventfunction */ + GstPadEventFunction event_function; + int max_delay; + int preload; +}; + +typedef struct _GstFFMpegMuxClass GstFFMpegMuxClass; + +struct _GstFFMpegMuxClass +{ + GstElementClass parent_class; + + AVOutputFormat *in_plugin; +}; + +#define GST_TYPE_FFMPEGMUX \ + (gst_ffmpegdec_get_type()) +#define GST_FFMPEGMUX(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_FFMPEGMUX,GstFFMpegMux)) +#define GST_FFMPEGMUX_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_FFMPEGMUX,GstFFMpegMuxClass)) +#define GST_IS_FFMPEGMUX(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_FFMPEGMUX)) +#define GST_IS_FFMPEGMUX_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_FFMPEGMUX)) + +enum +{ + /* FILL ME */ + LAST_SIGNAL +}; + +enum +{ + PROP_0, + PROP_PRELOAD, + PROP_MAXDELAY +}; + +/* A number of function prototypes are given so we can refer to them later. */ +static void gst_ffmpegmux_class_init (GstFFMpegMuxClass * klass); +static void gst_ffmpegmux_base_init (gpointer g_class); +static void gst_ffmpegmux_init (GstFFMpegMux * ffmpegmux, + GstFFMpegMuxClass * g_class); +static void gst_ffmpegmux_finalize (GObject * object); + +static gboolean gst_ffmpegmux_setcaps (GstPad * pad, GstCaps * caps); +static GstPad *gst_ffmpegmux_request_new_pad (GstElement * element, + GstPadTemplate * templ, const gchar * name, const GstCaps * caps); +static GstFlowReturn gst_ffmpegmux_collected (GstCollectPads * pads, + gpointer user_data); + +static gboolean gst_ffmpegmux_sink_event (GstPad * pad, GstObject * parent, + GstEvent * event); + +static GstStateChangeReturn gst_ffmpegmux_change_state (GstElement * element, + GstStateChange transition); + +static void gst_ffmpegmux_set_property (GObject * object, guint prop_id, + const GValue * value, GParamSpec * pspec); +static void gst_ffmpegmux_get_property (GObject * object, guint prop_id, + GValue * value, GParamSpec * pspec); + +static GstCaps *gst_ffmpegmux_get_id_caps (enum AVCodecID *id_list); +static void gst_ffmpeg_mux_simple_caps_set_int_list (GstCaps * caps, + const gchar * field, guint num, const gint * values); + +#define GST_FFMUX_PARAMS_QDATA g_quark_from_static_string("avmux-params") + +static GstElementClass *parent_class = NULL; + +/*static guint gst_ffmpegmux_signals[LAST_SIGNAL] = { 0 }; */ + +typedef struct +{ + const char *name; + const char *replacement; +} GstFFMpegMuxReplacement; + +static const char * +gst_ffmpegmux_get_replacement (const char *name) +{ + static const GstFFMpegMuxReplacement blacklist[] = { + {"avi", "avimux"}, + {"matroska", "matroskamux"}, + {"mov", "qtmux"}, + {"mpegts", "mpegtsmux"}, + {"mp4", "mp4mux"}, + {"mpjpeg", "multipartmux"}, + {"ogg", "oggmux"}, + {"wav", "wavenc"}, + {"webm", "webmmux"}, + {"mxf", "mxfmux"}, + {"3gp", "gppmux"}, + {"yuv4mpegpipe", "y4menc"}, + {"aiff", "aiffmux"}, + {"adts", "aacparse"}, + {"asf", "asfmux"}, + {"asf_stream", "asfmux"}, + {"flv", "flvmux"}, + {"mp3", "id3v2mux"}, + {"mp2", "id3v2mux"} + }; + guint i; + + for (i = 0; i < sizeof (blacklist) / sizeof (blacklist[0]); i++) { + if (strcmp (blacklist[i].name, name) == 0) { + return blacklist[i].replacement; + } + } + + return NULL; +} + +static gboolean +gst_ffmpegmux_is_formatter (const char *name) +{ + static const char *replace[] = { + "mp2", "mp3", NULL + }; + int i; + + for (i = 0; replace[i]; i++) + if (strcmp (replace[i], name) == 0) + return TRUE; + return FALSE; +} + +static void +gst_ffmpegmux_base_init (gpointer g_class) +{ + GstFFMpegMuxClass *klass = (GstFFMpegMuxClass *) g_class; + GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); + GstPadTemplate *videosinktempl, *audiosinktempl, *srctempl; + AVOutputFormat *in_plugin; + GstCaps *srccaps, *audiosinkcaps, *videosinkcaps; + enum AVCodecID *video_ids = NULL, *audio_ids = NULL; + gchar *longname, *description, *name; + const char *replacement; + gboolean is_formatter; + + in_plugin = + (AVOutputFormat *) g_type_get_qdata (G_OBJECT_CLASS_TYPE (klass), + GST_FFMUX_PARAMS_QDATA); + g_assert (in_plugin != NULL); + + name = g_strdup (in_plugin->name); + g_strdelimit (name, ".,|-<> ", '_'); + + /* construct the element details struct */ + replacement = gst_ffmpegmux_get_replacement (in_plugin->name); + is_formatter = gst_ffmpegmux_is_formatter (in_plugin->name); + if (replacement != NULL) { + longname = + g_strdup_printf ("libav %s %s (not recommended, use %s instead)", + in_plugin->long_name, is_formatter ? "formatter" : "muxer", + replacement); + description = + g_strdup_printf ("libav %s %s (not recommended, use %s instead)", + in_plugin->long_name, is_formatter ? "formatter" : "muxer", + replacement); + } else { + longname = g_strdup_printf ("libav %s %s", in_plugin->long_name, + is_formatter ? "formatter" : "muxer"); + description = g_strdup_printf ("libav %s %s", in_plugin->long_name, + is_formatter ? "formatter" : "muxer"); + } + gst_element_class_set_metadata (element_class, longname, + is_formatter ? "Formatter/Metadata" : "Codec/Muxer", description, + "Wim Taymans , " + "Ronald Bultje "); + g_free (longname); + g_free (description); + + /* Try to find the caps that belongs here */ + srccaps = gst_ffmpeg_formatid_to_caps (name); + if (!srccaps) { + GST_DEBUG ("Couldn't get source caps for muxer '%s', skipping", name); + goto beach; + } + + if (!gst_ffmpeg_formatid_get_codecids (in_plugin->name, + &video_ids, &audio_ids, in_plugin)) { + gst_caps_unref (srccaps); + GST_DEBUG ("Couldn't get sink caps for muxer '%s'. Most likely because " + "no input format mapping exists.", name); + goto beach; + } + + videosinkcaps = video_ids ? gst_ffmpegmux_get_id_caps (video_ids) : NULL; + audiosinkcaps = audio_ids ? gst_ffmpegmux_get_id_caps (audio_ids) : NULL; + + /* fix up allowed caps for some muxers */ + /* FIXME : This should be in gstffmpegcodecmap.c ! */ + if (strcmp (in_plugin->name, "flv") == 0) { + const gint rates[] = { 44100, 22050, 11025 }; + + gst_ffmpeg_mux_simple_caps_set_int_list (audiosinkcaps, "rate", 3, rates); + } else if (strcmp (in_plugin->name, "dv") == 0) { + gst_caps_set_simple (audiosinkcaps, + "rate", G_TYPE_INT, 48000, "channels", G_TYPE_INT, 2, NULL); + + } + + /* pad templates */ + srctempl = gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS, srccaps); + gst_element_class_add_pad_template (element_class, srctempl); + gst_caps_unref (srccaps); + + if (audiosinkcaps) { + audiosinktempl = gst_pad_template_new ("audio_%u", + GST_PAD_SINK, GST_PAD_REQUEST, audiosinkcaps); + gst_element_class_add_pad_template (element_class, audiosinktempl); + gst_caps_unref (audiosinkcaps); + } + + if (videosinkcaps) { + videosinktempl = gst_pad_template_new ("video_%u", + GST_PAD_SINK, GST_PAD_REQUEST, videosinkcaps); + gst_element_class_add_pad_template (element_class, videosinktempl); + gst_caps_unref (videosinkcaps); + } + +beach: + klass->in_plugin = in_plugin; + + g_free (name); +} + +static void +gst_ffmpegmux_class_init (GstFFMpegMuxClass * klass) +{ + GObjectClass *gobject_class; + GstElementClass *gstelement_class; + + gobject_class = (GObjectClass *) klass; + gstelement_class = (GstElementClass *) klass; + + parent_class = g_type_class_peek_parent (klass); + + gobject_class->set_property = GST_DEBUG_FUNCPTR (gst_ffmpegmux_set_property); + gobject_class->get_property = GST_DEBUG_FUNCPTR (gst_ffmpegmux_get_property); + + g_object_class_install_property (gobject_class, PROP_PRELOAD, + g_param_spec_int ("preload", "preload", + "Set the initial demux-decode delay (in microseconds)", + 0, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + + g_object_class_install_property (gobject_class, PROP_MAXDELAY, + g_param_spec_int ("maxdelay", "maxdelay", + "Set the maximum demux-decode delay (in microseconds)", 0, G_MAXINT, + 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + + gstelement_class->request_new_pad = gst_ffmpegmux_request_new_pad; + gstelement_class->change_state = gst_ffmpegmux_change_state; + gobject_class->finalize = gst_ffmpegmux_finalize; +} + +static void +gst_ffmpegmux_init (GstFFMpegMux * ffmpegmux, GstFFMpegMuxClass * g_class) +{ + GstElementClass *klass = GST_ELEMENT_CLASS (g_class); + GstFFMpegMuxClass *oclass = (GstFFMpegMuxClass *) klass; + GstPadTemplate *templ = gst_element_class_get_pad_template (klass, "src"); + + ffmpegmux->srcpad = gst_pad_new_from_template (templ, "src"); + gst_pad_set_caps (ffmpegmux->srcpad, gst_pad_template_get_caps (templ)); + gst_element_add_pad (GST_ELEMENT (ffmpegmux), ffmpegmux->srcpad); + + ffmpegmux->collect = gst_collect_pads_new (); + gst_collect_pads_set_function (ffmpegmux->collect, + (GstCollectPadsFunction) gst_ffmpegmux_collected, ffmpegmux); + + ffmpegmux->context = avformat_alloc_context (); + ffmpegmux->context->oformat = oclass->in_plugin; + ffmpegmux->context->nb_streams = 0; + ffmpegmux->opened = FALSE; + + ffmpegmux->videopads = 0; + ffmpegmux->audiopads = 0; + ffmpegmux->max_delay = 0; +} + +static void +gst_ffmpegmux_set_property (GObject * object, guint prop_id, + const GValue * value, GParamSpec * pspec) +{ + GstFFMpegMux *src; + + src = (GstFFMpegMux *) object; + + switch (prop_id) { + case PROP_PRELOAD: + src->preload = g_value_get_int (value); + break; + case PROP_MAXDELAY: + src->max_delay = g_value_get_int (value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +gst_ffmpegmux_get_property (GObject * object, guint prop_id, GValue * value, + GParamSpec * pspec) +{ + GstFFMpegMux *src; + + src = (GstFFMpegMux *) object; + + switch (prop_id) { + case PROP_PRELOAD: + g_value_set_int (value, src->preload); + break; + case PROP_MAXDELAY: + g_value_set_int (value, src->max_delay); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + + +static void +gst_ffmpegmux_finalize (GObject * object) +{ + GstFFMpegMux *ffmpegmux = (GstFFMpegMux *) object; + + avformat_free_context (ffmpegmux->context); + ffmpegmux->context = NULL; + + gst_object_unref (ffmpegmux->collect); + + if (G_OBJECT_CLASS (parent_class)->finalize) + G_OBJECT_CLASS (parent_class)->finalize (object); +} + +static GstPad * +gst_ffmpegmux_request_new_pad (GstElement * element, + GstPadTemplate * templ, const gchar * name, const GstCaps * caps) +{ + GstFFMpegMux *ffmpegmux = (GstFFMpegMux *) element; + GstElementClass *klass = GST_ELEMENT_GET_CLASS (element); + GstFFMpegMuxPad *collect_pad; + gchar *padname; + GstPad *pad; + AVStream *st; + enum AVMediaType type; + gint bitrate = 0, framesize = 0; + + g_return_val_if_fail (templ != NULL, NULL); + g_return_val_if_fail (templ->direction == GST_PAD_SINK, NULL); + g_return_val_if_fail (ffmpegmux->opened == FALSE, NULL); + + /* figure out a name that *we* like */ + if (templ == gst_element_class_get_pad_template (klass, "video_%u")) { + padname = g_strdup_printf ("video_%u", ffmpegmux->videopads++); + type = AVMEDIA_TYPE_VIDEO; + bitrate = 64 * 1024; + framesize = 1152; + } else if (templ == gst_element_class_get_pad_template (klass, "audio_%u")) { + padname = g_strdup_printf ("audio_%u", ffmpegmux->audiopads++); + type = AVMEDIA_TYPE_AUDIO; + bitrate = 285 * 1024; + } else { + g_warning ("avmux: unknown pad template!"); + return NULL; + } + + /* create pad */ + pad = gst_pad_new_from_template (templ, padname); + collect_pad = (GstFFMpegMuxPad *) + gst_collect_pads_add_pad (ffmpegmux->collect, pad, + sizeof (GstFFMpegMuxPad), NULL, TRUE); + collect_pad->padnum = ffmpegmux->context->nb_streams; + + /* small hack to put our own event pad function and chain up to collect pad */ + ffmpegmux->event_function = GST_PAD_EVENTFUNC (pad); + gst_pad_set_event_function (pad, + GST_DEBUG_FUNCPTR (gst_ffmpegmux_sink_event)); + + gst_element_add_pad (element, pad); + + /* AVStream needs to be created */ + st = avformat_new_stream (ffmpegmux->context, NULL); + st->id = collect_pad->padnum; + st->codecpar->codec_type = type; + st->codecpar->codec_id = AV_CODEC_ID_NONE; /* this is a check afterwards */ + st->codecpar->bit_rate = bitrate; + st->codecpar->frame_size = framesize; + /* we fill in codec during capsnego */ + + /* we love debug output (c) (tm) (r) */ + GST_DEBUG ("Created %s pad for avmux_%s element", + padname, ((GstFFMpegMuxClass *) klass)->in_plugin->name); + g_free (padname); + + return pad; +} + +/** + * gst_ffmpegmux_setcaps + * @pad: #GstPad + * @caps: New caps. + * + * Set caps to pad. + * + * Returns: #TRUE on success. + */ +static gboolean +gst_ffmpegmux_setcaps (GstPad * pad, GstCaps * caps) +{ + GstFFMpegMux *ffmpegmux = (GstFFMpegMux *) (gst_pad_get_parent (pad)); + GstFFMpegMuxPad *collect_pad; + AVStream *st; + AVCodecContext tmp; + + collect_pad = (GstFFMpegMuxPad *) gst_pad_get_element_private (pad); + + st = ffmpegmux->context->streams[collect_pad->padnum]; + av_opt_set_int (ffmpegmux->context, "preload", ffmpegmux->preload, 0); + ffmpegmux->context->max_delay = ffmpegmux->max_delay; + memset (&tmp, 0, sizeof (tmp)); + + /* for the format-specific guesses, we'll go to + * our famous codec mapper */ + if (gst_ffmpeg_caps_to_codecid (caps, &tmp) == AV_CODEC_ID_NONE) + goto not_accepted; + + avcodec_parameters_from_context (st->codecpar, &tmp); + + /* copy over the aspect ratios, ffmpeg expects the stream aspect to match the + * codec aspect. */ + st->sample_aspect_ratio = st->codecpar->sample_aspect_ratio; + + GST_LOG_OBJECT (pad, "accepted caps %" GST_PTR_FORMAT, caps); + return TRUE; + + /* ERRORS */ +not_accepted: + { + GST_LOG_OBJECT (pad, "rejecting caps %" GST_PTR_FORMAT, caps); + return FALSE; + } +} + + +static gboolean +gst_ffmpegmux_sink_event (GstPad * pad, GstObject * parent, GstEvent * event) +{ + GstFFMpegMux *ffmpegmux = (GstFFMpegMux *) parent; + gboolean res = TRUE; + + switch (GST_EVENT_TYPE (event)) { + case GST_EVENT_TAG:{ + GstTagList *taglist; + GstTagSetter *setter = GST_TAG_SETTER (ffmpegmux); + const GstTagMergeMode mode = gst_tag_setter_get_tag_merge_mode (setter); + + gst_event_parse_tag (event, &taglist); + gst_tag_setter_merge_tags (setter, taglist, mode); + break; + } + case GST_EVENT_CAPS:{ + GstCaps *caps; + gst_event_parse_caps (event, &caps); + if (!(res = gst_ffmpegmux_setcaps (pad, caps))) + goto beach; + break; + } + default: + break; + } + + /* chaining up to collectpads default event function */ + res = ffmpegmux->event_function (pad, parent, event); + +beach: + return res; +} + +static GstFlowReturn +gst_ffmpegmux_collected (GstCollectPads * pads, gpointer user_data) +{ + GstFFMpegMux *ffmpegmux = (GstFFMpegMux *) user_data; + GSList *collected; + GstFFMpegMuxPad *best_pad; + GstClockTime best_time; +#if 0 + /* Re-enable once converted to new AVMetaData API + * See #566605 + */ + const GstTagList *tags; +#endif + + /* open "file" (gstreamer protocol to next element) */ + if (!ffmpegmux->opened) { + int open_flags = AVIO_FLAG_WRITE; + + /* we do need all streams to have started capsnego, + * or things will go horribly wrong */ + for (collected = ffmpegmux->collect->data; collected; + collected = g_slist_next (collected)) { + GstFFMpegMuxPad *collect_pad = (GstFFMpegMuxPad *) collected->data; + AVStream *st = ffmpegmux->context->streams[collect_pad->padnum]; + + /* check whether the pad has successfully completed capsnego */ + if (st->codecpar->codec_id == AV_CODEC_ID_NONE) { + GST_ELEMENT_ERROR (ffmpegmux, CORE, NEGOTIATION, (NULL), + ("no caps set on stream %d (%s)", collect_pad->padnum, + (st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) ? + "video" : "audio")); + return GST_FLOW_ERROR; + } + /* set framerate for audio */ + if (st->codecpar->codec_type == AVMEDIA_TYPE_AUDIO) { + switch (st->codecpar->codec_id) { + case AV_CODEC_ID_PCM_S16LE: + case AV_CODEC_ID_PCM_S16BE: + case AV_CODEC_ID_PCM_U16LE: + case AV_CODEC_ID_PCM_U16BE: + case AV_CODEC_ID_PCM_S8: + case AV_CODEC_ID_PCM_U8: + st->codecpar->frame_size = 1; + break; + default: + { + GstBuffer *buffer; + + /* FIXME : This doesn't work for RAW AUDIO... + * in fact I'm wondering if it even works for any kind of audio... */ + buffer = gst_collect_pads_peek (ffmpegmux->collect, + (GstCollectData *) collect_pad); + if (buffer) { + st->codecpar->frame_size = + st->codecpar->sample_rate * + GST_BUFFER_DURATION (buffer) / GST_SECOND; + gst_buffer_unref (buffer); + } + } + } + } + } + +#if 0 + /* Re-enable once converted to new AVMetaData API + * See #566605 + */ + + /* tags */ + tags = gst_tag_setter_get_tag_list (GST_TAG_SETTER (ffmpegmux)); + if (tags) { + gint i; + gchar *s; + + /* get the interesting ones */ + if (gst_tag_list_get_string (tags, GST_TAG_TITLE, &s)) { + strncpy (ffmpegmux->context->title, s, + sizeof (ffmpegmux->context->title)); + } + if (gst_tag_list_get_string (tags, GST_TAG_ARTIST, &s)) { + strncpy (ffmpegmux->context->author, s, + sizeof (ffmpegmux->context->author)); + } + if (gst_tag_list_get_string (tags, GST_TAG_COPYRIGHT, &s)) { + strncpy (ffmpegmux->context->copyright, s, + sizeof (ffmpegmux->context->copyright)); + } + if (gst_tag_list_get_string (tags, GST_TAG_COMMENT, &s)) { + strncpy (ffmpegmux->context->comment, s, + sizeof (ffmpegmux->context->comment)); + } + if (gst_tag_list_get_string (tags, GST_TAG_ALBUM, &s)) { + strncpy (ffmpegmux->context->album, s, + sizeof (ffmpegmux->context->album)); + } + if (gst_tag_list_get_string (tags, GST_TAG_GENRE, &s)) { + strncpy (ffmpegmux->context->genre, s, + sizeof (ffmpegmux->context->genre)); + } + if (gst_tag_list_get_int (tags, GST_TAG_TRACK_NUMBER, &i)) { + ffmpegmux->context->track = i; + } + } +#endif + + /* set the streamheader flag for gstffmpegprotocol if codec supports it */ + if (!strcmp (ffmpegmux->context->oformat->name, "flv")) { + open_flags |= GST_FFMPEG_URL_STREAMHEADER; + } + + /* some house-keeping for downstream before starting data flow */ + /* stream-start (FIXME: create id based on input ids) */ + { + gchar s_id[32]; + + g_snprintf (s_id, sizeof (s_id), "avmux-%08x", g_random_int ()); + gst_pad_push_event (ffmpegmux->srcpad, gst_event_new_stream_start (s_id)); + } + /* segment */ + { + GstSegment segment; + + /* let downstream know we think in BYTES and expect to do seeking later on */ + gst_segment_init (&segment, GST_FORMAT_BYTES); + gst_pad_push_event (ffmpegmux->srcpad, gst_event_new_segment (&segment)); + } + + if (gst_ffmpegdata_open (ffmpegmux->srcpad, open_flags, + &ffmpegmux->context->pb) < 0) { + GST_ELEMENT_ERROR (ffmpegmux, LIBRARY, TOO_LAZY, (NULL), + ("Failed to open stream context in avmux")); + return GST_FLOW_ERROR; + } + + /* now open the mux format */ + if (avformat_write_header (ffmpegmux->context, NULL) < 0) { + GST_ELEMENT_ERROR (ffmpegmux, LIBRARY, SETTINGS, (NULL), + ("Failed to write file header - check codec settings")); + return GST_FLOW_ERROR; + } + + /* we're now opened */ + ffmpegmux->opened = TRUE; + + /* flush the header so it will be used as streamheader */ + avio_flush (ffmpegmux->context->pb); + } + + /* take the one with earliest timestamp, + * and push it forward */ + best_pad = NULL; + best_time = GST_CLOCK_TIME_NONE; + for (collected = ffmpegmux->collect->data; collected; + collected = g_slist_next (collected)) { + GstFFMpegMuxPad *collect_pad = (GstFFMpegMuxPad *) collected->data; + GstBuffer *buffer = gst_collect_pads_peek (ffmpegmux->collect, + (GstCollectData *) collect_pad); + + /* if there's no buffer, just continue */ + if (buffer == NULL) { + continue; + } + + /* if we have no buffer yet, just use the first one */ + if (best_pad == NULL) { + best_pad = collect_pad; + best_time = GST_BUFFER_TIMESTAMP (buffer); + goto next_pad; + } + + /* if we do have one, only use this one if it's older */ + if (GST_BUFFER_TIMESTAMP (buffer) < best_time) { + best_time = GST_BUFFER_TIMESTAMP (buffer); + best_pad = collect_pad; + } + + next_pad: + gst_buffer_unref (buffer); + + /* Mux buffers with invalid timestamp first */ + if (!GST_CLOCK_TIME_IS_VALID (best_time)) + break; + } + + /* now handle the buffer, or signal EOS if we have + * no buffers left */ + if (best_pad != NULL) { + GstBuffer *buf; + AVPacket pkt = { 0, }; + GstMapInfo map; + + /* push out current buffer */ + buf = + gst_collect_pads_pop (ffmpegmux->collect, (GstCollectData *) best_pad); + + /* set time */ + pkt.pts = gst_ffmpeg_time_gst_to_ff (GST_BUFFER_TIMESTAMP (buf), + ffmpegmux->context->streams[best_pad->padnum]->time_base); + pkt.dts = pkt.pts; + + gst_buffer_map (buf, &map, GST_MAP_READ); + pkt.data = map.data; + pkt.size = map.size; + + pkt.stream_index = best_pad->padnum; + + if (!GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_DELTA_UNIT)) + pkt.flags |= AV_PKT_FLAG_KEY; + + if (GST_BUFFER_DURATION_IS_VALID (buf)) + pkt.duration = + gst_ffmpeg_time_gst_to_ff (GST_BUFFER_DURATION (buf), + ffmpegmux->context->streams[best_pad->padnum]->time_base); + av_write_frame (ffmpegmux->context, &pkt); + gst_buffer_unmap (buf, &map); + gst_buffer_unref (buf); + } else { + /* close down */ + av_write_trailer (ffmpegmux->context); + ffmpegmux->opened = FALSE; + avio_flush (ffmpegmux->context->pb); + gst_ffmpegdata_close (ffmpegmux->context->pb); + gst_pad_push_event (ffmpegmux->srcpad, gst_event_new_eos ()); + return GST_FLOW_EOS; + } + + return GST_FLOW_OK; +} + +static GstStateChangeReturn +gst_ffmpegmux_change_state (GstElement * element, GstStateChange transition) +{ + GstStateChangeReturn ret; + GstFFMpegMux *ffmpegmux = (GstFFMpegMux *) (element); + + switch (transition) { + case GST_STATE_CHANGE_NULL_TO_READY: + break; + case GST_STATE_CHANGE_READY_TO_PAUSED: + gst_collect_pads_start (ffmpegmux->collect); + break; + case GST_STATE_CHANGE_PAUSED_TO_PLAYING: + break; + case GST_STATE_CHANGE_PAUSED_TO_READY: + gst_collect_pads_stop (ffmpegmux->collect); + break; + default: + break; + } + + ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition); + + switch (transition) { + case GST_STATE_CHANGE_PLAYING_TO_PAUSED: + break; + case GST_STATE_CHANGE_PAUSED_TO_READY: + gst_tag_setter_reset_tags (GST_TAG_SETTER (ffmpegmux)); + if (ffmpegmux->opened) { + ffmpegmux->opened = FALSE; + gst_ffmpegdata_close (ffmpegmux->context->pb); + } + break; + case GST_STATE_CHANGE_READY_TO_NULL: + break; + default: + break; + } + + return ret; +} + +static GstCaps * +gst_ffmpegmux_get_id_caps (enum AVCodecID *id_list) +{ + GstCaps *caps, *t; + gint i; + + caps = gst_caps_new_empty (); + for (i = 0; id_list[i] != AV_CODEC_ID_NONE; i++) { + if ((t = gst_ffmpeg_codecid_to_caps (id_list[i], NULL, TRUE))) + gst_caps_append (caps, t); + } + if (gst_caps_is_empty (caps)) { + gst_caps_unref (caps); + return NULL; + } + + return caps; +} + +/* set a list of integer values on the caps, e.g. for sample rates */ +static void +gst_ffmpeg_mux_simple_caps_set_int_list (GstCaps * caps, const gchar * field, + guint num, const gint * values) +{ + GValue list = { 0, }; + GValue val = { 0, }; + guint i; + + g_return_if_fail (GST_CAPS_IS_SIMPLE (caps)); + + g_value_init (&list, GST_TYPE_LIST); + g_value_init (&val, G_TYPE_INT); + + for (i = 0; i < num; ++i) { + g_value_set_int (&val, values[i]); + gst_value_list_append_value (&list, &val); + } + + gst_structure_set_value (gst_caps_get_structure (caps, 0), field, &list); + + g_value_unset (&val); + g_value_unset (&list); +} + +gboolean +gst_ffmpegmux_register (GstPlugin * plugin) +{ + GTypeInfo typeinfo = { + sizeof (GstFFMpegMuxClass), + (GBaseInitFunc) gst_ffmpegmux_base_init, + NULL, + (GClassInitFunc) gst_ffmpegmux_class_init, + NULL, + NULL, + sizeof (GstFFMpegMux), + 0, + (GInstanceInitFunc) gst_ffmpegmux_init, + }; + static const GInterfaceInfo tag_setter_info = { + NULL, NULL, NULL + }; + GType type; + const AVOutputFormat *in_plugin; + void *i = 0; + + GST_LOG ("Registering muxers"); + + while ((in_plugin = av_muxer_iterate (&i))) { + gchar *type_name; + GstRank rank = GST_RANK_MARGINAL; + + if ((!strncmp (in_plugin->name, "u16", 3)) || + (!strncmp (in_plugin->name, "s16", 3)) || + (!strncmp (in_plugin->name, "u24", 3)) || + (!strncmp (in_plugin->name, "s24", 3)) || + (!strncmp (in_plugin->name, "u8", 2)) || + (!strncmp (in_plugin->name, "s8", 2)) || + (!strncmp (in_plugin->name, "u32", 3)) || + (!strncmp (in_plugin->name, "s32", 3)) || + (!strncmp (in_plugin->name, "f32", 3)) || + (!strncmp (in_plugin->name, "f64", 3)) || + (!strncmp (in_plugin->name, "raw", 3)) || + (!strncmp (in_plugin->name, "crc", 3)) || + (!strncmp (in_plugin->name, "null", 4)) || + (!strncmp (in_plugin->name, "gif", 3)) || + (!strncmp (in_plugin->name, "fifo", 4)) || + (!strncmp (in_plugin->name, "frame", 5)) || + (!strncmp (in_plugin->name, "image", 5)) || + (!strncmp (in_plugin->name, "mulaw", 5)) || + (!strncmp (in_plugin->name, "alaw", 4)) || + (!strncmp (in_plugin->name, "h26", 3)) || + (!strncmp (in_plugin->name, "rtp", 3)) || + (!strncmp (in_plugin->name, "ass", 3)) || + (!strncmp (in_plugin->name, "ffmetadata", 10)) || + (!strncmp (in_plugin->name, "srt", 3)) || + (!strncmp (in_plugin->name, "scc", 3)) || + !strcmp (in_plugin->name, "ttml") || + !strcmp (in_plugin->name, "segment") || + !strcmp (in_plugin->name, "stream_segment,ssegment") || + !strcmp (in_plugin->name, "jacosub") || + !strcmp (in_plugin->name, "webvtt") || + !strcmp (in_plugin->name, "lrc") || + !strcmp (in_plugin->name, "microdvd") || + !strcmp (in_plugin->name, "tee") || + !strncmp (in_plugin->name, "webm", 4) + ) { + GST_LOG ("Ignoring muxer %s", in_plugin->name); + continue; + } + + if (in_plugin->long_name != NULL) { + if ((!strncmp (in_plugin->long_name, "raw ", 4))) { + GST_LOG ("Ignoring raw muxer %s", in_plugin->name); + continue; + } + } + + if (gst_ffmpegmux_get_replacement (in_plugin->name)) + rank = GST_RANK_NONE; + + /* FIXME : We need a fast way to know whether we have mappings for this + * muxer type. */ + + /* construct the type */ + type_name = g_strdup_printf ("avmux_%s", in_plugin->name); + g_strdelimit (type_name, ".,|-<> ", '_'); + + type = g_type_from_name (type_name); + + if (!type) { + /* create the type now */ + type = g_type_register_static (GST_TYPE_ELEMENT, type_name, &typeinfo, 0); + g_type_set_qdata (type, GST_FFMUX_PARAMS_QDATA, (gpointer) in_plugin); + g_type_add_interface_static (type, GST_TYPE_TAG_SETTER, &tag_setter_info); + } + + if (!gst_element_register (plugin, type_name, rank, type)) { + g_free (type_name); + return FALSE; + } + + g_free (type_name); + } + + GST_LOG ("Finished registering muxers"); + + return TRUE; +} diff --git a/ext/libav/gstavprotocol.c b/ext/libav/gstavprotocol.c new file mode 100644 index 0000000000..249b240642 --- /dev/null +++ b/ext/libav/gstavprotocol.c @@ -0,0 +1,369 @@ +/* GStreamer + * Copyright (C) <1999> Erik Walthinsen + * <2006> Edward Hervey + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include + +#include + +#include + +#include "gstav.h" +#include "gstavprotocol.h" + +typedef struct _GstProtocolInfo GstProtocolInfo; + +struct _GstProtocolInfo +{ + GstPad *pad; + + guint64 offset; + gboolean eos; + gint set_streamheader; +}; + +static int +gst_ffmpegdata_peek (void *priv_data, unsigned char *buf, int size) +{ + GstProtocolInfo *info; + GstBuffer *inbuf = NULL; + GstFlowReturn ret; + int total = 0; + + info = (GstProtocolInfo *) priv_data; + + GST_DEBUG ("Pulling %d bytes at position %" G_GUINT64_FORMAT, size, + info->offset); + + ret = gst_pad_pull_range (info->pad, info->offset, (guint) size, &inbuf); + + switch (ret) { + case GST_FLOW_OK: + total = (gint) gst_buffer_get_size (inbuf); + gst_buffer_extract (inbuf, 0, buf, total); + gst_buffer_unref (inbuf); + break; + case GST_FLOW_EOS: + total = 0; + break; + case GST_FLOW_FLUSHING: + total = -1; + break; + default: + case GST_FLOW_ERROR: + total = -2; + break; + } + + GST_DEBUG ("Got %d (%s) return result %d", ret, gst_flow_get_name (ret), + total); + + return total; +} + +static int +gst_ffmpegdata_read (void *priv_data, unsigned char *buf, int size) +{ + gint res; + GstProtocolInfo *info; + + info = (GstProtocolInfo *) priv_data; + + GST_DEBUG ("Reading %d bytes of data at position %" G_GUINT64_FORMAT, size, + info->offset); + + res = gst_ffmpegdata_peek (priv_data, buf, size); + if (res >= 0) + info->offset += res; + + GST_DEBUG ("Returning %d bytes", res); + + return res; +} + +static int +gst_ffmpegdata_write (void *priv_data, uint8_t * buf, int size) +{ + GstProtocolInfo *info; + GstBuffer *outbuf; + + GST_DEBUG ("Writing %d bytes", size); + info = (GstProtocolInfo *) priv_data; + + /* create buffer and push data further */ + outbuf = gst_buffer_new_and_alloc (size); + + gst_buffer_fill (outbuf, 0, buf, size); + + if (gst_pad_push (info->pad, outbuf) != GST_FLOW_OK) + return 0; + + info->offset += size; + return size; +} + +static int64_t +gst_ffmpegdata_seek (void *priv_data, int64_t pos, int whence) +{ + GstProtocolInfo *info; + guint64 newpos = 0, oldpos; + + GST_DEBUG ("Seeking to %" G_GINT64_FORMAT ", whence=%d", + (gint64) pos, whence); + + info = (GstProtocolInfo *) priv_data; + + /* TODO : if we are push-based, we need to return sensible info */ + + if (GST_PAD_IS_SINK (info->pad)) { + /* sinkpad */ + switch (whence) { + case SEEK_SET: + newpos = (guint64) pos; + break; + case SEEK_CUR: + newpos = info->offset + pos; + break; + case SEEK_END: + case AVSEEK_SIZE: + /* ffmpeg wants to know the current end position in bytes ! */ + { + gint64 duration; + + GST_DEBUG ("Seek end"); + + if (gst_pad_is_linked (info->pad)) + if (gst_pad_query_duration (GST_PAD_PEER (info->pad), + GST_FORMAT_BYTES, &duration)) + newpos = ((guint64) duration) + pos; + } + break; + default: + g_assert (0); + break; + } + /* FIXME : implement case for push-based behaviour */ + if (whence != AVSEEK_SIZE) + info->offset = newpos; + } else if (GST_PAD_IS_SRC (info->pad)) { + GstSegment segment; + + oldpos = info->offset; + + /* srcpad */ + switch (whence) { + case SEEK_SET: + { + info->offset = (guint64) pos; + break; + } + case SEEK_CUR: + info->offset += pos; + break; + default: + break; + } + newpos = info->offset; + + if (newpos != oldpos) { + gst_segment_init (&segment, GST_FORMAT_BYTES); + segment.start = newpos; + segment.time = newpos; + gst_pad_push_event (info->pad, gst_event_new_segment (&segment)); + } + } else { + g_assert_not_reached (); + } + + GST_DEBUG ("Now at offset %" G_GUINT64_FORMAT " (returning %" G_GUINT64_FORMAT + ")", info->offset, newpos); + return newpos; +} + +int +gst_ffmpegdata_close (AVIOContext * h) +{ + GstProtocolInfo *info; + + if (h == NULL) + return 0; + + info = (GstProtocolInfo *) h->opaque; + if (info == NULL) + return 0; + + GST_LOG ("Closing file"); + + if (GST_PAD_IS_SRC (info->pad)) { + /* send EOS - that closes down the stream */ + gst_pad_push_event (info->pad, gst_event_new_eos ()); + } + + /* clean up data */ + g_free (info); + h->opaque = NULL; + + av_freep (&h->buffer); + av_free (h); + + return 0; +} + +int +gst_ffmpegdata_open (GstPad * pad, int flags, AVIOContext ** context) +{ + GstProtocolInfo *info; + static const int buffer_size = 4096; + unsigned char *buffer = NULL; + + info = g_new0 (GstProtocolInfo, 1); + + info->set_streamheader = flags & GST_FFMPEG_URL_STREAMHEADER; + flags &= ~GST_FFMPEG_URL_STREAMHEADER; + + /* we don't support R/W together */ + if ((flags & AVIO_FLAG_WRITE) && (flags & AVIO_FLAG_READ)) { + GST_WARNING ("Only read-only or write-only are supported"); + g_free (info); + return -EINVAL; + } + + /* make sure we're a pad and that we're of the right type */ + g_return_val_if_fail (GST_IS_PAD (pad), -EINVAL); + + if ((flags & AVIO_FLAG_READ)) + g_return_val_if_fail (GST_PAD_IS_SINK (pad), -EINVAL); + if ((flags & AVIO_FLAG_WRITE)) + g_return_val_if_fail (GST_PAD_IS_SRC (pad), -EINVAL); + + info->eos = FALSE; + info->pad = pad; + info->offset = 0; + + buffer = av_malloc (buffer_size); + if (buffer == NULL) { + GST_WARNING ("Failed to allocate buffer"); + g_free (info); + return -ENOMEM; + } + + *context = + avio_alloc_context (buffer, buffer_size, flags, (void *) info, + gst_ffmpegdata_read, gst_ffmpegdata_write, gst_ffmpegdata_seek); + if (*context == NULL) { + GST_WARNING ("Failed to allocate memory"); + g_free (info); + av_free (buffer); + return -ENOMEM; + } + (*context)->seekable = AVIO_SEEKABLE_NORMAL; + if (!(flags & AVIO_FLAG_WRITE)) { + (*context)->buf_ptr = (*context)->buf_end; + (*context)->write_flag = 0; + } + + return 0; +} + +/* specialized protocol for cross-thread pushing, + * based on ffmpeg's pipe protocol */ + +static int +gst_ffmpeg_pipe_read (void *priv_data, uint8_t * buf, int size) +{ + GstFFMpegPipe *ffpipe; + guint available; + + ffpipe = (GstFFMpegPipe *) priv_data; + + GST_LOG ("requested size %d", size); + + GST_FFMPEG_PIPE_MUTEX_LOCK (ffpipe); + + GST_LOG ("requested size %d", size); + + while ((available = gst_adapter_available (ffpipe->adapter)) < size + && !ffpipe->eos) { + GST_DEBUG ("Available:%d, requested:%d", available, size); + ffpipe->needed = size; + GST_FFMPEG_PIPE_SIGNAL (ffpipe); + GST_FFMPEG_PIPE_WAIT (ffpipe); + } + + size = MIN (available, size); + if (size) { + GST_LOG ("Getting %d bytes", size); + gst_adapter_copy (ffpipe->adapter, buf, 0, size); + gst_adapter_flush (ffpipe->adapter, size); + GST_LOG ("%" G_GSIZE_FORMAT " bytes left in adapter", + gst_adapter_available (ffpipe->adapter)); + ffpipe->needed = 0; + } + GST_FFMPEG_PIPE_MUTEX_UNLOCK (ffpipe); + + return size; +} + +int +gst_ffmpeg_pipe_close (AVIOContext * h) +{ + GST_LOG ("Closing pipe"); + + if (h == NULL) + return 0; + + h->opaque = NULL; + av_freep (&h->buffer); + av_free (h); + + return 0; +} + +int +gst_ffmpeg_pipe_open (GstFFMpegPipe * ffpipe, int flags, AVIOContext ** context) +{ + static const int buffer_size = 4096; + unsigned char *buffer = NULL; + + /* sanity check */ + g_return_val_if_fail (GST_IS_ADAPTER (ffpipe->adapter), -EINVAL); + + buffer = av_malloc (buffer_size); + if (buffer == NULL) { + GST_WARNING ("Failed to allocate buffer"); + return -ENOMEM; + } + + *context = + avio_alloc_context (buffer, buffer_size, 0, (void *) ffpipe, + gst_ffmpeg_pipe_read, NULL, NULL); + if (*context == NULL) { + GST_WARNING ("Failed to allocate memory"); + av_free (buffer); + return -ENOMEM; + } + (*context)->seekable = 0; + (*context)->buf_ptr = (*context)->buf_end; + + return 0; +} diff --git a/ext/libav/gstavprotocol.h b/ext/libav/gstavprotocol.h new file mode 100644 index 0000000000..a4d7b71c3b --- /dev/null +++ b/ext/libav/gstavprotocol.h @@ -0,0 +1,78 @@ +/* GStreamer + * Copyright (C) <2006> Mark Nauwelaerts + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + + +#ifndef __GST_FFMPEGPROTOCOL_H__ +#define __GST_FFMPEGPROTOCOL_H__ + +#include +#include "gstav.h" + +G_BEGIN_DECLS + +/* pipe protocol helpers */ +#define GST_FFMPEG_PIPE_MUTEX_LOCK(m) G_STMT_START { \ + GST_LOG ("locking tlock from thread %p", g_thread_self ()); \ + g_mutex_lock (&m->tlock); \ + GST_LOG ("locked tlock from thread %p", g_thread_self ()); \ +} G_STMT_END + +#define GST_FFMPEG_PIPE_MUTEX_UNLOCK(m) G_STMT_START { \ + GST_LOG ("unlocking tlock from thread %p", g_thread_self ()); \ + g_mutex_unlock (&m->tlock); \ +} G_STMT_END + +#define GST_FFMPEG_PIPE_WAIT(m) G_STMT_START { \ + GST_LOG ("thread %p waiting", g_thread_self ()); \ + g_cond_wait (&m->cond, &m->tlock); \ +} G_STMT_END + +#define GST_FFMPEG_PIPE_SIGNAL(m) G_STMT_START { \ + GST_LOG ("signalling from thread %p", g_thread_self ()); \ + g_cond_signal (&m->cond); \ +} G_STMT_END + +typedef struct _GstFFMpegPipe GstFFMpegPipe; + +struct _GstFFMpegPipe +{ + /* lock for syncing */ + GMutex tlock; + /* with TLOCK */ + /* signals counterpart thread to have a look */ + GCond cond; + /* seen eos */ + gboolean eos; + /* flowreturn obtained by src task */ + GstFlowReturn srcresult; + /* adpater collecting data */ + GstAdapter *adapter; + /* amount needed in adapter by src task */ + guint needed; +}; + +int gst_ffmpeg_pipe_open (GstFFMpegPipe *ffpipe, int flags, AVIOContext ** context); +int gst_ffmpeg_pipe_close (AVIOContext * h); + +int gst_ffmpegdata_open (GstPad * pad, int flags, AVIOContext ** context); +int gst_ffmpegdata_close (AVIOContext * h); + +G_END_DECLS + +#endif /* __GST_FFMPEGPROTOCOL_H__ */ diff --git a/ext/libav/gstavutils.c b/ext/libav/gstavutils.c new file mode 100644 index 0000000000..3780cff4f8 --- /dev/null +++ b/ext/libav/gstavutils.c @@ -0,0 +1,495 @@ +/* GStreamer + * Copyright (c) 2009 Edward Hervey + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include "gstavutils.h" +#ifdef HAVE_UNISTD_H +#include +#endif +#ifdef __APPLE__ +#include +#endif +#ifdef __MINGW32__ +#include +#endif + +#include + +const gchar * +gst_ffmpeg_get_codecid_longname (enum AVCodecID codec_id) +{ + AVCodec *codec; + /* Let's use what ffmpeg can provide us */ + + if ((codec = avcodec_find_decoder (codec_id)) || + (codec = avcodec_find_encoder (codec_id))) + return codec->long_name; + return NULL; +} + +gint +av_smp_format_depth (enum AVSampleFormat smp_fmt) +{ + gint depth = -1; + switch (smp_fmt) { + case AV_SAMPLE_FMT_U8: + case AV_SAMPLE_FMT_U8P: + depth = 1; + break; + case AV_SAMPLE_FMT_S16: + case AV_SAMPLE_FMT_S16P: + depth = 2; + break; + case AV_SAMPLE_FMT_S32: + case AV_SAMPLE_FMT_S32P: + case AV_SAMPLE_FMT_FLT: + case AV_SAMPLE_FMT_FLTP: + depth = 4; + break; + case AV_SAMPLE_FMT_DBL: + case AV_SAMPLE_FMT_DBLP: + depth = 8; + break; + default: + GST_ERROR ("UNHANDLED SAMPLE FORMAT !"); + break; + } + return depth; +} + + +/* + * Fill in pointers to memory in a AVFrame, where + * everything is aligned by 4 (as required by X). + * This is mostly a copy from imgconvert.c with some + * small changes. + */ + +#define FF_COLOR_RGB 0 /* RGB color space */ +#define FF_COLOR_GRAY 1 /* gray color space */ +#define FF_COLOR_YUV 2 /* YUV color space. 16 <= Y <= 235, 16 <= U, V <= 240 */ +#define FF_COLOR_YUV_JPEG 3 /* YUV color space. 0 <= Y <= 255, 0 <= U, V <= 255 */ + +#define FF_PIXEL_PLANAR 0 /* each channel has one component in AVFrame */ +#define FF_PIXEL_PACKED 1 /* only one components containing all the channels */ +#define FF_PIXEL_PALETTE 2 /* one components containing indexes for a palette */ + +typedef struct PixFmtInfo +{ + const char *name; + uint8_t nb_channels; /* number of channels (including alpha) */ + uint8_t color_type; /* color type (see FF_COLOR_xxx constants) */ + uint8_t pixel_type; /* pixel storage type (see FF_PIXEL_xxx constants) */ + uint8_t is_alpha:1; /* true if alpha can be specified */ + uint8_t x_chroma_shift; /* X chroma subsampling factor is 2 ^ shift */ + uint8_t y_chroma_shift; /* Y chroma subsampling factor is 2 ^ shift */ + uint8_t depth; /* bit depth of the color components */ +} PixFmtInfo; + + +/* this table gives more information about formats */ +static PixFmtInfo pix_fmt_info[AV_PIX_FMT_NB]; +void +gst_ffmpeg_init_pix_fmt_info (void) +{ + /* YUV formats */ + pix_fmt_info[AV_PIX_FMT_YUV420P].name = g_strdup ("yuv420p"); + pix_fmt_info[AV_PIX_FMT_YUV420P].nb_channels = 3; + pix_fmt_info[AV_PIX_FMT_YUV420P].color_type = FF_COLOR_YUV; + pix_fmt_info[AV_PIX_FMT_YUV420P].pixel_type = FF_PIXEL_PLANAR; + pix_fmt_info[AV_PIX_FMT_YUV420P].depth = 8, + pix_fmt_info[AV_PIX_FMT_YUV420P].x_chroma_shift = 1, + pix_fmt_info[AV_PIX_FMT_YUV420P].y_chroma_shift = 1; + + pix_fmt_info[AV_PIX_FMT_YUV422P].name = g_strdup ("yuv422p"); + pix_fmt_info[AV_PIX_FMT_YUV422P].nb_channels = 3; + pix_fmt_info[AV_PIX_FMT_YUV422P].color_type = FF_COLOR_YUV; + pix_fmt_info[AV_PIX_FMT_YUV422P].pixel_type = FF_PIXEL_PLANAR; + pix_fmt_info[AV_PIX_FMT_YUV422P].depth = 8; + pix_fmt_info[AV_PIX_FMT_YUV422P].x_chroma_shift = 1; + pix_fmt_info[AV_PIX_FMT_YUV422P].y_chroma_shift = 0; + + pix_fmt_info[AV_PIX_FMT_YUV444P].name = g_strdup ("yuv444p"); + pix_fmt_info[AV_PIX_FMT_YUV444P].nb_channels = 3; + pix_fmt_info[AV_PIX_FMT_YUV444P].color_type = FF_COLOR_YUV; + pix_fmt_info[AV_PIX_FMT_YUV444P].pixel_type = FF_PIXEL_PLANAR; + pix_fmt_info[AV_PIX_FMT_YUV444P].depth = 8; + pix_fmt_info[AV_PIX_FMT_YUV444P].x_chroma_shift = 0; + pix_fmt_info[AV_PIX_FMT_YUV444P].y_chroma_shift = 0; + + pix_fmt_info[AV_PIX_FMT_YUYV422].name = g_strdup ("yuv422"); + pix_fmt_info[AV_PIX_FMT_YUYV422].nb_channels = 1; + pix_fmt_info[AV_PIX_FMT_YUYV422].color_type = FF_COLOR_YUV; + pix_fmt_info[AV_PIX_FMT_YUYV422].pixel_type = FF_PIXEL_PACKED; + pix_fmt_info[AV_PIX_FMT_YUYV422].depth = 8; + pix_fmt_info[AV_PIX_FMT_YUYV422].x_chroma_shift = 1; + pix_fmt_info[AV_PIX_FMT_YUYV422].y_chroma_shift = 0; + + pix_fmt_info[AV_PIX_FMT_YUV410P].name = g_strdup ("yuv410p"); + pix_fmt_info[AV_PIX_FMT_YUV410P].nb_channels = 3; + pix_fmt_info[AV_PIX_FMT_YUV410P].color_type = FF_COLOR_YUV; + pix_fmt_info[AV_PIX_FMT_YUV410P].pixel_type = FF_PIXEL_PLANAR; + pix_fmt_info[AV_PIX_FMT_YUV410P].depth = 8; + pix_fmt_info[AV_PIX_FMT_YUV410P].x_chroma_shift = 2; + pix_fmt_info[AV_PIX_FMT_YUV410P].y_chroma_shift = 2; + + pix_fmt_info[AV_PIX_FMT_YUV411P].name = g_strdup ("yuv411p"); + pix_fmt_info[AV_PIX_FMT_YUV411P].nb_channels = 3; + pix_fmt_info[AV_PIX_FMT_YUV411P].color_type = FF_COLOR_YUV; + pix_fmt_info[AV_PIX_FMT_YUV411P].pixel_type = FF_PIXEL_PLANAR; + pix_fmt_info[AV_PIX_FMT_YUV411P].depth = 8; + pix_fmt_info[AV_PIX_FMT_YUV411P].x_chroma_shift = 2; + pix_fmt_info[AV_PIX_FMT_YUV411P].y_chroma_shift = 0; + + /* JPEG YUV */ + pix_fmt_info[AV_PIX_FMT_YUVJ420P].name = g_strdup ("yuvj420p"); + pix_fmt_info[AV_PIX_FMT_YUVJ420P].nb_channels = 3; + pix_fmt_info[AV_PIX_FMT_YUVJ420P].color_type = FF_COLOR_YUV_JPEG; + pix_fmt_info[AV_PIX_FMT_YUVJ420P].pixel_type = FF_PIXEL_PLANAR; + pix_fmt_info[AV_PIX_FMT_YUVJ420P].depth = 8; + pix_fmt_info[AV_PIX_FMT_YUVJ420P].x_chroma_shift = 1; + pix_fmt_info[AV_PIX_FMT_YUVJ420P].y_chroma_shift = 1; + + pix_fmt_info[AV_PIX_FMT_YUVJ422P].name = g_strdup ("yuvj422p"); + pix_fmt_info[AV_PIX_FMT_YUVJ422P].nb_channels = 3; + pix_fmt_info[AV_PIX_FMT_YUVJ422P].color_type = FF_COLOR_YUV_JPEG; + pix_fmt_info[AV_PIX_FMT_YUVJ422P].pixel_type = FF_PIXEL_PLANAR; + pix_fmt_info[AV_PIX_FMT_YUVJ422P].depth = 8; + pix_fmt_info[AV_PIX_FMT_YUVJ422P].x_chroma_shift = 1; + pix_fmt_info[AV_PIX_FMT_YUVJ422P].y_chroma_shift = 0; + + pix_fmt_info[AV_PIX_FMT_YUVJ444P].name = g_strdup ("yuvj444p"); + pix_fmt_info[AV_PIX_FMT_YUVJ444P].nb_channels = 3; + pix_fmt_info[AV_PIX_FMT_YUVJ444P].color_type = FF_COLOR_YUV_JPEG; + pix_fmt_info[AV_PIX_FMT_YUVJ444P].pixel_type = FF_PIXEL_PLANAR; + pix_fmt_info[AV_PIX_FMT_YUVJ444P].depth = 8; + pix_fmt_info[AV_PIX_FMT_YUVJ444P].x_chroma_shift = 0; + pix_fmt_info[AV_PIX_FMT_YUVJ444P].y_chroma_shift = 0; + + /* RGB formats */ + pix_fmt_info[AV_PIX_FMT_RGB24].name = g_strdup ("rgb24"); + pix_fmt_info[AV_PIX_FMT_RGB24].nb_channels = 3; + pix_fmt_info[AV_PIX_FMT_RGB24].color_type = FF_COLOR_RGB; + pix_fmt_info[AV_PIX_FMT_RGB24].pixel_type = FF_PIXEL_PACKED; + pix_fmt_info[AV_PIX_FMT_RGB24].depth = 8; + pix_fmt_info[AV_PIX_FMT_RGB24].x_chroma_shift = 0; + pix_fmt_info[AV_PIX_FMT_RGB24].y_chroma_shift = 0; + + pix_fmt_info[AV_PIX_FMT_BGR24].name = g_strdup ("bgr24"); + pix_fmt_info[AV_PIX_FMT_BGR24].nb_channels = 3; + pix_fmt_info[AV_PIX_FMT_BGR24].color_type = FF_COLOR_RGB; + pix_fmt_info[AV_PIX_FMT_BGR24].pixel_type = FF_PIXEL_PACKED; + pix_fmt_info[AV_PIX_FMT_BGR24].depth = 8; + pix_fmt_info[AV_PIX_FMT_BGR24].x_chroma_shift = 0; + pix_fmt_info[AV_PIX_FMT_BGR24].y_chroma_shift = 0; + + pix_fmt_info[AV_PIX_FMT_RGB32].name = g_strdup ("rgba32"); + pix_fmt_info[AV_PIX_FMT_RGB32].nb_channels = 4; + pix_fmt_info[AV_PIX_FMT_RGB32].is_alpha = 1; + pix_fmt_info[AV_PIX_FMT_RGB32].color_type = FF_COLOR_RGB; + pix_fmt_info[AV_PIX_FMT_RGB32].pixel_type = FF_PIXEL_PACKED; + pix_fmt_info[AV_PIX_FMT_RGB32].depth = 8; + pix_fmt_info[AV_PIX_FMT_RGB32].x_chroma_shift = 0; + pix_fmt_info[AV_PIX_FMT_RGB32].y_chroma_shift = 0; + + pix_fmt_info[AV_PIX_FMT_RGB565].name = g_strdup ("rgb565"); + pix_fmt_info[AV_PIX_FMT_RGB565].nb_channels = 3; + pix_fmt_info[AV_PIX_FMT_RGB565].color_type = FF_COLOR_RGB; + pix_fmt_info[AV_PIX_FMT_RGB565].pixel_type = FF_PIXEL_PACKED; + pix_fmt_info[AV_PIX_FMT_RGB565].depth = 5; + pix_fmt_info[AV_PIX_FMT_RGB565].x_chroma_shift = 0; + pix_fmt_info[AV_PIX_FMT_RGB565].y_chroma_shift = 0; + + pix_fmt_info[AV_PIX_FMT_RGB555].name = g_strdup ("rgb555"); + pix_fmt_info[AV_PIX_FMT_RGB555].nb_channels = 4; + pix_fmt_info[AV_PIX_FMT_RGB555].is_alpha = 1; + pix_fmt_info[AV_PIX_FMT_RGB555].color_type = FF_COLOR_RGB; + pix_fmt_info[AV_PIX_FMT_RGB555].pixel_type = FF_PIXEL_PACKED; + pix_fmt_info[AV_PIX_FMT_RGB555].depth = 5; + pix_fmt_info[AV_PIX_FMT_RGB555].x_chroma_shift = 0; + pix_fmt_info[AV_PIX_FMT_RGB555].y_chroma_shift = 0; + + /* gray / mono formats */ + pix_fmt_info[AV_PIX_FMT_GRAY8].name = g_strdup ("gray"); + pix_fmt_info[AV_PIX_FMT_GRAY8].nb_channels = 1; + pix_fmt_info[AV_PIX_FMT_GRAY8].color_type = FF_COLOR_GRAY; + pix_fmt_info[AV_PIX_FMT_GRAY8].pixel_type = FF_PIXEL_PLANAR; + pix_fmt_info[AV_PIX_FMT_GRAY8].depth = 8; + + pix_fmt_info[AV_PIX_FMT_MONOWHITE].name = g_strdup ("monow"); + pix_fmt_info[AV_PIX_FMT_MONOWHITE].nb_channels = 1; + pix_fmt_info[AV_PIX_FMT_MONOWHITE].color_type = FF_COLOR_GRAY; + pix_fmt_info[AV_PIX_FMT_MONOWHITE].pixel_type = FF_PIXEL_PLANAR; + pix_fmt_info[AV_PIX_FMT_MONOWHITE].depth = 1; + + pix_fmt_info[AV_PIX_FMT_MONOBLACK].name = g_strdup ("monob"); + pix_fmt_info[AV_PIX_FMT_MONOBLACK].nb_channels = 1; + pix_fmt_info[AV_PIX_FMT_MONOBLACK].color_type = FF_COLOR_GRAY; + pix_fmt_info[AV_PIX_FMT_MONOBLACK].pixel_type = FF_PIXEL_PLANAR; + pix_fmt_info[AV_PIX_FMT_MONOBLACK].depth = 1; + + /* paletted formats */ + pix_fmt_info[AV_PIX_FMT_PAL8].name = g_strdup ("pal8"); + pix_fmt_info[AV_PIX_FMT_PAL8].nb_channels = 4; + pix_fmt_info[AV_PIX_FMT_PAL8].is_alpha = 1; + pix_fmt_info[AV_PIX_FMT_PAL8].color_type = FF_COLOR_RGB; + pix_fmt_info[AV_PIX_FMT_PAL8].pixel_type = FF_PIXEL_PALETTE; + pix_fmt_info[AV_PIX_FMT_PAL8].depth = 8; + + pix_fmt_info[AV_PIX_FMT_YUVA420P].name = g_strdup ("yuva420p"); + pix_fmt_info[AV_PIX_FMT_YUVA420P].nb_channels = 4; + pix_fmt_info[AV_PIX_FMT_YUVA420P].is_alpha = 1; + pix_fmt_info[AV_PIX_FMT_YUVA420P].color_type = FF_COLOR_YUV; + pix_fmt_info[AV_PIX_FMT_YUVA420P].pixel_type = FF_PIXEL_PLANAR; + pix_fmt_info[AV_PIX_FMT_YUVA420P].depth = 8, + pix_fmt_info[AV_PIX_FMT_YUVA420P].x_chroma_shift = 1, + pix_fmt_info[AV_PIX_FMT_YUVA420P].y_chroma_shift = 1; +}; + +int +gst_ffmpeg_avpicture_get_size (int pix_fmt, int width, int height) +{ + AVFrame dummy_pict; + + return gst_ffmpeg_avpicture_fill (&dummy_pict, NULL, pix_fmt, width, height); +} + +#define GEN_MASK(x) ((1<<(x))-1) +#define ROUND_UP_X(v,x) (((v) + GEN_MASK(x)) & ~GEN_MASK(x)) +#define ROUND_UP_2(x) ROUND_UP_X (x, 1) +#define ROUND_UP_4(x) ROUND_UP_X (x, 2) +#define ROUND_UP_8(x) ROUND_UP_X (x, 3) +#define DIV_ROUND_UP_X(v,x) (((v) + GEN_MASK(x)) >> (x)) + +int +gst_ffmpeg_avpicture_fill (AVFrame * picture, + uint8_t * ptr, enum AVPixelFormat pix_fmt, int width, int height) +{ + int size, w2, h2, size2; + int stride, stride2; + PixFmtInfo *pinfo; + + pinfo = &pix_fmt_info[pix_fmt]; + + switch (pix_fmt) { + case AV_PIX_FMT_YUV420P: + case AV_PIX_FMT_YUV422P: + case AV_PIX_FMT_YUV444P: + case AV_PIX_FMT_YUV410P: + case AV_PIX_FMT_YUV411P: + case AV_PIX_FMT_YUVJ420P: + case AV_PIX_FMT_YUVJ422P: + case AV_PIX_FMT_YUVJ444P: + stride = ROUND_UP_4 (width); + h2 = ROUND_UP_X (height, pinfo->y_chroma_shift); + size = stride * h2; + w2 = DIV_ROUND_UP_X (width, pinfo->x_chroma_shift); + stride2 = ROUND_UP_4 (w2); + h2 = DIV_ROUND_UP_X (height, pinfo->y_chroma_shift); + size2 = stride2 * h2; + picture->data[0] = ptr; + picture->data[1] = picture->data[0] + size; + picture->data[2] = picture->data[1] + size2; + picture->data[3] = NULL; + picture->linesize[0] = stride; + picture->linesize[1] = stride2; + picture->linesize[2] = stride2; + picture->linesize[3] = 0; + GST_DEBUG ("planes %d %d %d", 0, size, size + size2); + GST_DEBUG ("strides %d %d %d", stride, stride2, stride2); + return size + 2 * size2; + case AV_PIX_FMT_YUVA420P: + stride = ROUND_UP_4 (width); + h2 = ROUND_UP_X (height, pinfo->y_chroma_shift); + size = stride * h2; + w2 = DIV_ROUND_UP_X (width, pinfo->x_chroma_shift); + stride2 = ROUND_UP_4 (w2); + h2 = DIV_ROUND_UP_X (height, pinfo->y_chroma_shift); + size2 = stride2 * h2; + picture->data[0] = ptr; + picture->data[1] = picture->data[0] + size; + picture->data[2] = picture->data[1] + size2; + picture->data[3] = picture->data[2] + size2; + picture->linesize[0] = stride; + picture->linesize[1] = stride2; + picture->linesize[2] = stride2; + picture->linesize[3] = stride; + GST_DEBUG ("planes %d %d %d %d", 0, size, size + size2, size + 2 * size2); + GST_DEBUG ("strides %d %d %d %d", stride, stride2, stride2, stride); + return 2 * size + 2 * size2; + case AV_PIX_FMT_RGB24: + case AV_PIX_FMT_BGR24: + stride = ROUND_UP_4 (width * 3); + size = stride * height; + picture->data[0] = ptr; + picture->data[1] = NULL; + picture->data[2] = NULL; + picture->data[3] = NULL; + picture->linesize[0] = stride; + picture->linesize[1] = 0; + picture->linesize[2] = 0; + picture->linesize[3] = 0; + return size; + /*case AV_PIX_FMT_AYUV4444: + case AV_PIX_FMT_BGR32: + case AV_PIX_FMT_BGRA32: + case AV_PIX_FMT_RGB32: */ + case AV_PIX_FMT_RGB32: + stride = width * 4; + size = stride * height; + picture->data[0] = ptr; + picture->data[1] = NULL; + picture->data[2] = NULL; + picture->data[3] = NULL; + picture->linesize[0] = stride; + picture->linesize[1] = 0; + picture->linesize[2] = 0; + picture->linesize[3] = 0; + return size; + case AV_PIX_FMT_RGB555: + case AV_PIX_FMT_RGB565: + case AV_PIX_FMT_YUYV422: + case AV_PIX_FMT_UYVY422: + stride = ROUND_UP_4 (width * 2); + size = stride * height; + picture->data[0] = ptr; + picture->data[1] = NULL; + picture->data[2] = NULL; + picture->data[3] = NULL; + picture->linesize[0] = stride; + picture->linesize[1] = 0; + picture->linesize[2] = 0; + picture->linesize[3] = 0; + return size; + case AV_PIX_FMT_UYYVYY411: + /* FIXME, probably not the right stride */ + stride = ROUND_UP_4 (width); + size = stride * height; + picture->data[0] = ptr; + picture->data[1] = NULL; + picture->data[2] = NULL; + picture->data[3] = NULL; + picture->linesize[0] = width + width / 2; + picture->linesize[1] = 0; + picture->linesize[2] = 0; + picture->linesize[3] = 0; + return size + size / 2; + case AV_PIX_FMT_GRAY8: + stride = ROUND_UP_4 (width); + size = stride * height; + picture->data[0] = ptr; + picture->data[1] = NULL; + picture->data[2] = NULL; + picture->data[3] = NULL; + picture->linesize[0] = stride; + picture->linesize[1] = 0; + picture->linesize[2] = 0; + picture->linesize[3] = 0; + return size; + case AV_PIX_FMT_MONOWHITE: + case AV_PIX_FMT_MONOBLACK: + stride = ROUND_UP_4 ((width + 7) >> 3); + size = stride * height; + picture->data[0] = ptr; + picture->data[1] = NULL; + picture->data[2] = NULL; + picture->data[3] = NULL; + picture->linesize[0] = stride; + picture->linesize[1] = 0; + picture->linesize[2] = 0; + picture->linesize[3] = 0; + return size; + case AV_PIX_FMT_PAL8: + /* already forced to be with stride, so same result as other function */ + stride = ROUND_UP_4 (width); + size = stride * height; + picture->data[0] = ptr; + picture->data[1] = ptr + size; /* palette is stored here as 256 32 bit words */ + picture->data[2] = NULL; + picture->data[3] = NULL; + picture->linesize[0] = stride; + picture->linesize[1] = 4; + picture->linesize[2] = 0; + picture->linesize[3] = 0; + return size + 256 * 4; + default: + picture->data[0] = NULL; + picture->data[1] = NULL; + picture->data[2] = NULL; + picture->data[3] = NULL; + return -1; + } + + return 0; +} + +/* Create a GstBuffer of the requested size and caps. + * The memory will be allocated by ffmpeg, making sure it's properly aligned + * for any processing. */ + +GstBuffer * +new_aligned_buffer (gint size) +{ + GstBuffer *buf; + guint8 *data; + + data = av_malloc (size); + + buf = gst_buffer_new (); + gst_buffer_append_memory (buf, + gst_memory_new_wrapped (0, data, size, 0, size, data, av_free)); + + return buf; +} + +int +gst_ffmpeg_auto_max_threads (void) +{ + static gsize n_threads = 0; + if (g_once_init_enter (&n_threads)) { + int n = 1; +#if defined(_WIN32) + { + const char *s = getenv ("NUMBER_OF_PROCESSORS"); + if (s) { + n = atoi (s); + } + } +#elif defined(__APPLE__) + { + int mib[] = { CTL_HW, HW_NCPU }; + size_t dataSize = sizeof (int); + + if (sysctl (mib, 2, &n, &dataSize, NULL, 0)) { + n = 1; + } + } +#else + n = sysconf (_SC_NPROCESSORS_CONF); +#endif + if (n < 1) + n = 1; + + g_once_init_leave (&n_threads, n); + } + + return (int) (n_threads); +} diff --git a/ext/libav/gstavutils.h b/ext/libav/gstavutils.h new file mode 100644 index 0000000000..7b41b663da --- /dev/null +++ b/ext/libav/gstavutils.h @@ -0,0 +1,117 @@ +/* GStreamer + * Copyright (C) <2009> Edward Hervey + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifndef __GST_FFMPEG_UTILS_H__ +#define __GST_FFMPEG_UTILS_H__ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include + +#include + +/* Introduced since ffmpeg version 4.3 + * + * Note: Not all ffmpeg encoders seem to be reusable after flushing/draining. + * So if ffmpeg encoder doesn't support it, we should reopen encoding session. + * + * Before ffmpeg 4.3, avcodec_flush_buffers() was implemented in + * libavcodec/decodec.c but it was moved to libavcodec/utils.c and it would be + * accepted if encoder supports AV_CODEC_CAP_ENCODER_FLUSH flag. + * That implies that avcodec_flush_buffers() wasn't intended to be working + * properly for encoders. + */ +#ifndef AV_CODEC_CAP_ENCODER_FLUSH +/* + * This encoder can be flushed using avcodec_flush_buffers(). If this flag is + * not set, the encoder must be closed and reopened to ensure that no frames + * remain pending. + */ +#define AV_CODEC_CAP_ENCODER_FLUSH (1 << 21) +#endif + +/* + *Get the size of an picture + */ +int +gst_ffmpeg_avpicture_get_size (int pix_fmt, int width, int height); + +/* + * Fill in pointers in an AVFrame, aligned by 4 (required by X). + */ + +int +gst_ffmpeg_avpicture_fill (AVFrame * picture, + uint8_t * ptr, + enum AVPixelFormat pix_fmt, + int width, + int height); + +/* + * Convert from/to a GStreamer <-> FFMpeg timestamp. + */ +static inline guint64 +gst_ffmpeg_time_ff_to_gst (gint64 pts, AVRational base) +{ + guint64 out; + + if (pts == AV_NOPTS_VALUE){ + out = GST_CLOCK_TIME_NONE; + } else { + AVRational bq = { 1, GST_SECOND }; + out = av_rescale_q (pts, base, bq); + } + + return out; +} + +static inline gint64 +gst_ffmpeg_time_gst_to_ff (guint64 time, AVRational base) +{ + gint64 out; + + if (!GST_CLOCK_TIME_IS_VALID (time) || base.num == 0) { + out = AV_NOPTS_VALUE; + } else { + AVRational bq = { 1, GST_SECOND }; + out = av_rescale_q (time, bq, base); + } + + return out; +} + +void +gst_ffmpeg_init_pix_fmt_info(void); + +int +gst_ffmpeg_auto_max_threads(void); + +const gchar * +gst_ffmpeg_get_codecid_longname (enum AVCodecID codec_id); + +gint +av_smp_format_depth(enum AVSampleFormat smp_fmt); + +GstBuffer * +new_aligned_buffer (gint size); + +#endif /* __GST_FFMPEG_UTILS_H__ */ diff --git a/ext/libav/gstavviddec.c b/ext/libav/gstavviddec.c new file mode 100644 index 0000000000..a14b6df306 --- /dev/null +++ b/ext/libav/gstavviddec.c @@ -0,0 +1,2600 @@ +/* GStreamer + * Copyright (C) <1999> Erik Walthinsen + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include + +#include +#include +#include + +#include "gstav.h" +#include "gstavcodecmap.h" +#include "gstavutils.h" +#include "gstavviddec.h" + +GST_DEBUG_CATEGORY_STATIC (GST_CAT_PERFORMANCE); + +#define GST_FFMPEG_VIDEO_CODEC_FRAME_FLAG_ALLOCATED (1<<15) + +#define MAX_TS_MASK 0xff + +#define DEFAULT_LOWRES 0 +#define DEFAULT_SKIPFRAME 0 +#define DEFAULT_DIRECT_RENDERING TRUE +#define DEFAULT_MAX_THREADS 0 +#define DEFAULT_OUTPUT_CORRUPT TRUE +#define REQUIRED_POOL_MAX_BUFFERS 32 +#define DEFAULT_STRIDE_ALIGN 31 +#define DEFAULT_ALLOC_PARAM { 0, DEFAULT_STRIDE_ALIGN, 0, 0, } +#define DEFAULT_THREAD_TYPE 0 + +enum +{ + PROP_0, + PROP_LOWRES, + PROP_SKIPFRAME, + PROP_DIRECT_RENDERING, + PROP_DEBUG_MV, + PROP_MAX_THREADS, + PROP_OUTPUT_CORRUPT, + PROP_THREAD_TYPE, + PROP_LAST +}; + +/* A number of function prototypes are given so we can refer to them later. */ +static void gst_ffmpegviddec_base_init (GstFFMpegVidDecClass * klass); +static void gst_ffmpegviddec_class_init (GstFFMpegVidDecClass * klass); +static void gst_ffmpegviddec_init (GstFFMpegVidDec * ffmpegdec); +static void gst_ffmpegviddec_finalize (GObject * object); + +static gboolean gst_ffmpegviddec_set_format (GstVideoDecoder * decoder, + GstVideoCodecState * state); +static GstFlowReturn gst_ffmpegviddec_handle_frame (GstVideoDecoder * decoder, + GstVideoCodecFrame * frame); +static gboolean gst_ffmpegviddec_start (GstVideoDecoder * decoder); +static gboolean gst_ffmpegviddec_stop (GstVideoDecoder * decoder); +static gboolean gst_ffmpegviddec_flush (GstVideoDecoder * decoder); +static gboolean gst_ffmpegviddec_decide_allocation (GstVideoDecoder * decoder, + GstQuery * query); +static gboolean gst_ffmpegviddec_propose_allocation (GstVideoDecoder * decoder, + GstQuery * query); + +static void gst_ffmpegviddec_set_property (GObject * object, + guint prop_id, const GValue * value, GParamSpec * pspec); +static void gst_ffmpegviddec_get_property (GObject * object, + guint prop_id, GValue * value, GParamSpec * pspec); + +static gboolean gst_ffmpegviddec_negotiate (GstFFMpegVidDec * ffmpegdec, + AVCodecContext * context, AVFrame * picture, GstBufferFlags flags); + +/* some sort of bufferpool handling, but different */ +static int gst_ffmpegviddec_get_buffer2 (AVCodecContext * context, + AVFrame * picture, int flags); +static gboolean gst_ffmpegviddec_can_direct_render (GstFFMpegVidDec * + ffmpegdec); + +static GstFlowReturn gst_ffmpegviddec_finish (GstVideoDecoder * decoder); +static GstFlowReturn gst_ffmpegviddec_drain (GstVideoDecoder * decoder); + +static gboolean picture_changed (GstFFMpegVidDec * ffmpegdec, + AVFrame * picture); +static gboolean context_changed (GstFFMpegVidDec * ffmpegdec, + AVCodecContext * context); + +#define GST_FFDEC_PARAMS_QDATA g_quark_from_static_string("avdec-params") + +static GstElementClass *parent_class = NULL; + +#define GST_FFMPEGVIDDEC_TYPE_LOWRES (gst_ffmpegviddec_lowres_get_type()) +static GType +gst_ffmpegviddec_lowres_get_type (void) +{ + static GType ffmpegdec_lowres_type = 0; + + if (!ffmpegdec_lowres_type) { + static const GEnumValue ffmpegdec_lowres[] = { + {0, "0", "full"}, + {1, "1", "1/2-size"}, + {2, "2", "1/4-size"}, + {0, NULL, NULL}, + }; + + ffmpegdec_lowres_type = + g_enum_register_static ("GstLibAVVidDecLowres", ffmpegdec_lowres); + } + + return ffmpegdec_lowres_type; +} + +#define GST_FFMPEGVIDDEC_TYPE_SKIPFRAME (gst_ffmpegviddec_skipframe_get_type()) +static GType +gst_ffmpegviddec_skipframe_get_type (void) +{ + static GType ffmpegdec_skipframe_type = 0; + + if (!ffmpegdec_skipframe_type) { + static const GEnumValue ffmpegdec_skipframe[] = { + {0, "0", "Skip nothing"}, + {1, "1", "Skip B-frames"}, + {2, "2", "Skip IDCT/Dequantization"}, + {5, "5", "Skip everything"}, + {0, NULL, NULL}, + }; + + ffmpegdec_skipframe_type = + g_enum_register_static ("GstLibAVVidDecSkipFrame", ffmpegdec_skipframe); + } + + return ffmpegdec_skipframe_type; +} + +static const GFlagsValue ffmpegdec_thread_types[] = { + {0x0, "Auto", "auto"}, + {0x1, "Frame", "frame"}, + {0x2, "Slice", "slice"}, + {0, NULL, NULL}, +}; + +#define GST_FFMPEGVIDDEC_TYPE_THREAD_TYPE (gst_ffmpegviddec_thread_type_get_type()) +static GType +gst_ffmpegviddec_thread_type_get_type (void) +{ + static GType ffmpegdec_thread_type_type = 0; + + if (!ffmpegdec_thread_type_type) { + ffmpegdec_thread_type_type = + g_flags_register_static ("GstLibAVVidDecThreadType", + ffmpegdec_thread_types); + } + return ffmpegdec_thread_type_type; +} + +static GstCaps * +dup_caps_with_alternate (GstCaps * caps) +{ + GstCaps *with_alternate; + GstCapsFeatures *features; + + with_alternate = gst_caps_copy (caps); + features = gst_caps_features_new (GST_CAPS_FEATURE_FORMAT_INTERLACED, NULL); + gst_caps_set_features_simple (with_alternate, features); + + gst_caps_set_simple (with_alternate, "interlace-mode", G_TYPE_STRING, + "alternate", NULL); + + return with_alternate; +} + +static void +gst_ffmpegviddec_base_init (GstFFMpegVidDecClass * klass) +{ + GstElementClass *element_class = GST_ELEMENT_CLASS (klass); + GstPadTemplate *sinktempl, *srctempl; + GstCaps *sinkcaps, *srccaps; + AVCodec *in_plugin; + gchar *longname, *description; + + in_plugin = + (AVCodec *) g_type_get_qdata (G_OBJECT_CLASS_TYPE (klass), + GST_FFDEC_PARAMS_QDATA); + g_assert (in_plugin != NULL); + + /* construct the element details struct */ + longname = g_strdup_printf ("libav %s decoder", in_plugin->long_name); + description = g_strdup_printf ("libav %s decoder", in_plugin->name); + gst_element_class_set_metadata (element_class, longname, + "Codec/Decoder/Video", description, + "Wim Taymans , " + "Ronald Bultje , " + "Edward Hervey "); + g_free (longname); + g_free (description); + + /* get the caps */ + sinkcaps = gst_ffmpeg_codecid_to_caps (in_plugin->id, NULL, FALSE); + if (!sinkcaps) { + GST_DEBUG ("Couldn't get sink caps for decoder '%s'", in_plugin->name); + sinkcaps = gst_caps_new_empty_simple ("unknown/unknown"); + } + srccaps = gst_ffmpeg_codectype_to_video_caps (NULL, + in_plugin->id, FALSE, in_plugin); + if (!srccaps) { + GST_DEBUG ("Couldn't get source caps for decoder '%s'", in_plugin->name); + srccaps = gst_caps_from_string ("video/x-raw"); + } + gst_caps_append (srccaps, dup_caps_with_alternate (srccaps)); + + /* pad templates */ + sinktempl = gst_pad_template_new ("sink", GST_PAD_SINK, + GST_PAD_ALWAYS, sinkcaps); + srctempl = gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS, srccaps); + + gst_element_class_add_pad_template (element_class, srctempl); + gst_element_class_add_pad_template (element_class, sinktempl); + + gst_caps_unref (sinkcaps); + gst_caps_unref (srccaps); + + klass->in_plugin = in_plugin; +} + +static void +gst_ffmpegviddec_class_init (GstFFMpegVidDecClass * klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + GstVideoDecoderClass *viddec_class = GST_VIDEO_DECODER_CLASS (klass); + int caps; + + parent_class = g_type_class_peek_parent (klass); + + gobject_class->finalize = gst_ffmpegviddec_finalize; + + gobject_class->set_property = gst_ffmpegviddec_set_property; + gobject_class->get_property = gst_ffmpegviddec_get_property; + + g_object_class_install_property (gobject_class, PROP_SKIPFRAME, + g_param_spec_enum ("skip-frame", "Skip frames", + "Which types of frames to skip during decoding", + GST_FFMPEGVIDDEC_TYPE_SKIPFRAME, 0, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + g_object_class_install_property (gobject_class, PROP_LOWRES, + g_param_spec_enum ("lowres", "Low resolution", + "At which resolution to decode images", + GST_FFMPEGVIDDEC_TYPE_LOWRES, 0, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + g_object_class_install_property (gobject_class, PROP_DIRECT_RENDERING, + g_param_spec_boolean ("direct-rendering", "Direct Rendering", + "Enable direct rendering", DEFAULT_DIRECT_RENDERING, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); +#ifndef GST_REMOVE_DEPRECATED + g_object_class_install_property (gobject_class, PROP_DEBUG_MV, + g_param_spec_boolean ("debug-mv", "Debug motion vectors", + "Whether to print motion vectors on top of the image " + "(deprecated, non-functional)", FALSE, + G_PARAM_DEPRECATED | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); +#endif + g_object_class_install_property (gobject_class, PROP_OUTPUT_CORRUPT, + g_param_spec_boolean ("output-corrupt", "Output corrupt buffers", + "Whether libav should output frames even if corrupted", + DEFAULT_OUTPUT_CORRUPT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + + caps = klass->in_plugin->capabilities; + if (caps & (AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_SLICE_THREADS)) { + g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_MAX_THREADS, + g_param_spec_int ("max-threads", "Maximum decode threads", + "Maximum number of worker threads to spawn. (0 = auto)", + 0, G_MAXINT, DEFAULT_MAX_THREADS, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_THREAD_TYPE, + g_param_spec_flags ("thread-type", "Thread type", + "Multithreading methods to use", + GST_FFMPEGVIDDEC_TYPE_THREAD_TYPE, + DEFAULT_THREAD_TYPE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + } + + viddec_class->set_format = gst_ffmpegviddec_set_format; + viddec_class->handle_frame = gst_ffmpegviddec_handle_frame; + viddec_class->start = gst_ffmpegviddec_start; + viddec_class->stop = gst_ffmpegviddec_stop; + viddec_class->flush = gst_ffmpegviddec_flush; + viddec_class->finish = gst_ffmpegviddec_finish; + viddec_class->drain = gst_ffmpegviddec_drain; + viddec_class->decide_allocation = gst_ffmpegviddec_decide_allocation; + viddec_class->propose_allocation = gst_ffmpegviddec_propose_allocation; + + GST_DEBUG_CATEGORY_GET (GST_CAT_PERFORMANCE, "GST_PERFORMANCE"); + + gst_type_mark_as_plugin_api (GST_FFMPEGVIDDEC_TYPE_LOWRES, 0); + gst_type_mark_as_plugin_api (GST_FFMPEGVIDDEC_TYPE_SKIPFRAME, 0); + gst_type_mark_as_plugin_api (GST_FFMPEGVIDDEC_TYPE_THREAD_TYPE, 0); +} + +static void +gst_ffmpegviddec_init (GstFFMpegVidDec * ffmpegdec) +{ + GstFFMpegVidDecClass *klass = + (GstFFMpegVidDecClass *) G_OBJECT_GET_CLASS (ffmpegdec); + + /* some ffmpeg data */ + ffmpegdec->context = avcodec_alloc_context3 (klass->in_plugin); + ffmpegdec->context->opaque = ffmpegdec; + ffmpegdec->picture = av_frame_alloc (); + ffmpegdec->opened = FALSE; + ffmpegdec->skip_frame = ffmpegdec->lowres = 0; + ffmpegdec->direct_rendering = DEFAULT_DIRECT_RENDERING; + ffmpegdec->max_threads = DEFAULT_MAX_THREADS; + ffmpegdec->output_corrupt = DEFAULT_OUTPUT_CORRUPT; + ffmpegdec->thread_type = DEFAULT_THREAD_TYPE; + + GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_DECODER_SINK_PAD (ffmpegdec)); + gst_video_decoder_set_use_default_pad_acceptcaps (GST_VIDEO_DECODER_CAST + (ffmpegdec), TRUE); + + gst_video_decoder_set_needs_format (GST_VIDEO_DECODER (ffmpegdec), TRUE); +} + +static void +gst_ffmpegviddec_finalize (GObject * object) +{ + GstFFMpegVidDec *ffmpegdec = (GstFFMpegVidDec *) object; + + av_frame_free (&ffmpegdec->picture); + + if (ffmpegdec->context != NULL) { + gst_ffmpeg_avcodec_close (ffmpegdec->context); + av_free (ffmpegdec->context); + ffmpegdec->context = NULL; + } + + G_OBJECT_CLASS (parent_class)->finalize (object); +} + +static void +gst_ffmpegviddec_context_set_flags (AVCodecContext * context, guint flags, + gboolean enable) +{ + g_return_if_fail (context != NULL); + + if (enable) + context->flags |= flags; + else + context->flags &= ~flags; +} + +static void +gst_ffmpegviddec_context_set_flags2 (AVCodecContext * context, guint flags, + gboolean enable) +{ + g_return_if_fail (context != NULL); + + if (enable) + context->flags2 |= flags; + else + context->flags2 &= ~flags; +} + +/* with LOCK */ +static gboolean +gst_ffmpegviddec_close (GstFFMpegVidDec * ffmpegdec, gboolean reset) +{ + GstFFMpegVidDecClass *oclass; + guint i; + + oclass = (GstFFMpegVidDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); + + GST_LOG_OBJECT (ffmpegdec, "closing ffmpeg codec"); + + gst_caps_replace (&ffmpegdec->last_caps, NULL); + + gst_ffmpeg_avcodec_close (ffmpegdec->context); + ffmpegdec->opened = FALSE; + + for (i = 0; i < G_N_ELEMENTS (ffmpegdec->stride); i++) + ffmpegdec->stride[i] = -1; + + gst_buffer_replace (&ffmpegdec->palette, NULL); + + if (ffmpegdec->context->extradata) { + av_free (ffmpegdec->context->extradata); + ffmpegdec->context->extradata = NULL; + } + if (reset) { + if (avcodec_get_context_defaults3 (ffmpegdec->context, + oclass->in_plugin) < 0) { + GST_DEBUG_OBJECT (ffmpegdec, "Failed to set context defaults"); + return FALSE; + } + ffmpegdec->context->opaque = ffmpegdec; + } + return TRUE; +} + +/* with LOCK */ +static gboolean +gst_ffmpegviddec_open (GstFFMpegVidDec * ffmpegdec) +{ + GstFFMpegVidDecClass *oclass; + guint i; + + oclass = (GstFFMpegVidDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); + + if (gst_ffmpeg_avcodec_open (ffmpegdec->context, oclass->in_plugin) < 0) + goto could_not_open; + + for (i = 0; i < G_N_ELEMENTS (ffmpegdec->stride); i++) + ffmpegdec->stride[i] = -1; + + ffmpegdec->opened = TRUE; + + GST_LOG_OBJECT (ffmpegdec, "Opened libav codec %s, id %d", + oclass->in_plugin->name, oclass->in_plugin->id); + + gst_ffmpegviddec_context_set_flags (ffmpegdec->context, + AV_CODEC_FLAG_OUTPUT_CORRUPT, ffmpegdec->output_corrupt); + + return TRUE; + + /* ERRORS */ +could_not_open: + { + gst_ffmpegviddec_close (ffmpegdec, TRUE); + GST_DEBUG_OBJECT (ffmpegdec, "avdec_%s: Failed to open libav codec", + oclass->in_plugin->name); + return FALSE; + } +} + +static void +gst_ffmpegviddec_get_palette (GstFFMpegVidDec * ffmpegdec, + GstVideoCodecState * state) +{ + GstStructure *str = gst_caps_get_structure (state->caps, 0); + const GValue *palette_v; + GstBuffer *palette; + + /* do we have a palette? */ + if ((palette_v = gst_structure_get_value (str, "palette_data"))) { + palette = gst_value_get_buffer (palette_v); + GST_DEBUG ("got palette data %p", palette); + if (gst_buffer_get_size (palette) >= AVPALETTE_SIZE) { + gst_buffer_replace (&ffmpegdec->palette, palette); + } + } +} + + +static gboolean +gst_ffmpegviddec_set_format (GstVideoDecoder * decoder, + GstVideoCodecState * state) +{ + GstFFMpegVidDec *ffmpegdec; + GstFFMpegVidDecClass *oclass; + GstClockTime latency = GST_CLOCK_TIME_NONE; + gboolean ret = FALSE; + + ffmpegdec = (GstFFMpegVidDec *) decoder; + oclass = (GstFFMpegVidDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); + + if (ffmpegdec->last_caps != NULL && + gst_caps_is_equal (ffmpegdec->last_caps, state->caps)) { + return TRUE; + } + + GST_DEBUG_OBJECT (ffmpegdec, "setcaps called"); + + GST_OBJECT_LOCK (ffmpegdec); + /* stupid check for VC1 */ + if ((oclass->in_plugin->id == AV_CODEC_ID_WMV3) || + (oclass->in_plugin->id == AV_CODEC_ID_VC1)) + oclass->in_plugin->id = gst_ffmpeg_caps_to_codecid (state->caps, NULL); + + /* close old session */ + if (ffmpegdec->opened) { + GST_OBJECT_UNLOCK (ffmpegdec); + gst_ffmpegviddec_finish (decoder); + GST_OBJECT_LOCK (ffmpegdec); + if (!gst_ffmpegviddec_close (ffmpegdec, TRUE)) { + GST_OBJECT_UNLOCK (ffmpegdec); + return FALSE; + } + ffmpegdec->pic_pix_fmt = 0; + ffmpegdec->pic_width = 0; + ffmpegdec->pic_height = 0; + ffmpegdec->pic_par_n = 0; + ffmpegdec->pic_par_d = 0; + ffmpegdec->pic_interlaced = 0; + ffmpegdec->pic_field_order = 0; + ffmpegdec->pic_field_order_changed = FALSE; + ffmpegdec->ctx_ticks = 0; + ffmpegdec->ctx_time_n = 0; + ffmpegdec->ctx_time_d = 0; + ffmpegdec->cur_multiview_mode = GST_VIDEO_MULTIVIEW_MODE_NONE; + ffmpegdec->cur_multiview_flags = GST_VIDEO_MULTIVIEW_FLAGS_NONE; + } + + gst_caps_replace (&ffmpegdec->last_caps, state->caps); + + /* set buffer functions */ + ffmpegdec->context->get_buffer2 = gst_ffmpegviddec_get_buffer2; + ffmpegdec->context->draw_horiz_band = NULL; + + /* reset coded_width/_height to prevent it being reused from last time when + * the codec is opened again, causing a mismatch and possible + * segfault/corruption. (Common scenario when renegotiating caps) */ + ffmpegdec->context->coded_width = 0; + ffmpegdec->context->coded_height = 0; + + GST_LOG_OBJECT (ffmpegdec, "size %dx%d", ffmpegdec->context->width, + ffmpegdec->context->height); + + /* FIXME : Create a method that takes GstVideoCodecState instead */ + /* get size and so */ + gst_ffmpeg_caps_with_codecid (oclass->in_plugin->id, + oclass->in_plugin->type, state->caps, ffmpegdec->context); + + GST_LOG_OBJECT (ffmpegdec, "size after %dx%d", ffmpegdec->context->width, + ffmpegdec->context->height); + + gst_ffmpegviddec_get_palette (ffmpegdec, state); + + if (!ffmpegdec->context->time_base.den || !ffmpegdec->context->time_base.num) { + GST_DEBUG_OBJECT (ffmpegdec, "forcing 25/1 framerate"); + ffmpegdec->context->time_base.num = 1; + ffmpegdec->context->time_base.den = 25; + } + + /* workaround encoder bugs */ + ffmpegdec->context->workaround_bugs |= FF_BUG_AUTODETECT; + ffmpegdec->context->err_recognition = 1; + + /* for slow cpus */ + ffmpegdec->context->lowres = ffmpegdec->lowres; + ffmpegdec->context->skip_frame = ffmpegdec->skip_frame; + + if (ffmpegdec->thread_type) { + GST_DEBUG_OBJECT (ffmpegdec, "Use requested thread type 0x%x", + ffmpegdec->thread_type); + ffmpegdec->context->thread_type = ffmpegdec->thread_type; + } else { + GstQuery *query; + gboolean is_live; + + query = gst_query_new_latency (); + is_live = FALSE; + /* Check if upstream is live. If it isn't we can enable frame based + * threading, which is adding latency */ + if (gst_pad_peer_query (GST_VIDEO_DECODER_SINK_PAD (ffmpegdec), query)) { + gst_query_parse_latency (query, &is_live, NULL, NULL); + } + gst_query_unref (query); + + if (is_live) + ffmpegdec->context->thread_type = FF_THREAD_SLICE; + else + ffmpegdec->context->thread_type = FF_THREAD_SLICE | FF_THREAD_FRAME; + } + + if (ffmpegdec->max_threads == 0) { + /* When thread type is FF_THREAD_FRAME, extra latency is introduced equal + * to one frame per thread. We thus need to calculate the thread count ourselves */ + if ((!(oclass->in_plugin->capabilities & AV_CODEC_CAP_AUTO_THREADS)) || + (ffmpegdec->context->thread_type & FF_THREAD_FRAME)) + ffmpegdec->context->thread_count = + MIN (gst_ffmpeg_auto_max_threads (), 16); + else + ffmpegdec->context->thread_count = 0; + } else + ffmpegdec->context->thread_count = ffmpegdec->max_threads; + + if (oclass->in_plugin->id == AV_CODEC_ID_H264) { + GstStructure *s = gst_caps_get_structure (state->caps, 0); + const char *alignment; + gboolean nal_aligned; + + alignment = gst_structure_get_string (s, "alignment"); + nal_aligned = !g_strcmp0 (alignment, "nal"); + if (nal_aligned) { + if (ffmpegdec->context->thread_type == FF_THREAD_FRAME) + goto nal_only_slice; + ffmpegdec->context->thread_type = FF_THREAD_SLICE; + } + + gst_ffmpegviddec_context_set_flags2 (ffmpegdec->context, + AV_CODEC_FLAG2_CHUNKS, nal_aligned); + gst_video_decoder_set_subframe_mode (decoder, nal_aligned); + } + + /* open codec - we don't select an output pix_fmt yet, + * simply because we don't know! We only get it + * during playback... */ + if (!gst_ffmpegviddec_open (ffmpegdec)) + goto open_failed; + + if (ffmpegdec->input_state) + gst_video_codec_state_unref (ffmpegdec->input_state); + ffmpegdec->input_state = gst_video_codec_state_ref (state); + + if (ffmpegdec->input_state->info.fps_n) { + GstVideoInfo *info = &ffmpegdec->input_state->info; + latency = gst_util_uint64_scale_ceil ( + (ffmpegdec->context->has_b_frames) * GST_SECOND, info->fps_d, + info->fps_n); + + if (ffmpegdec->context->thread_type & FF_THREAD_FRAME) { + latency += + gst_util_uint64_scale_ceil (ffmpegdec->context->thread_count * + GST_SECOND, info->fps_d, info->fps_n); + } + } + + ret = TRUE; + +done: + GST_OBJECT_UNLOCK (ffmpegdec); + + if (GST_CLOCK_TIME_IS_VALID (latency)) + gst_video_decoder_set_latency (decoder, latency, latency); + + return ret; + + /* ERRORS */ +open_failed: + { + GST_DEBUG_OBJECT (ffmpegdec, "Failed to open"); + goto done; + } +nal_only_slice: + { + GST_ERROR_OBJECT (ffmpegdec, + "Can't do NAL aligned H.264 with frame threading."); + goto done; + } +} + +typedef struct +{ + GstFFMpegVidDec *ffmpegdec; + GstVideoCodecFrame *frame; + gboolean mapped; + GstVideoFrame vframe; + GstBuffer *buffer; + AVBufferRef *avbuffer; +} GstFFMpegVidDecVideoFrame; + +static GstFFMpegVidDecVideoFrame * +gst_ffmpegviddec_video_frame_new (GstFFMpegVidDec * ffmpegdec, + GstVideoCodecFrame * frame) +{ + GstFFMpegVidDecVideoFrame *dframe; + + dframe = g_slice_new0 (GstFFMpegVidDecVideoFrame); + dframe->ffmpegdec = ffmpegdec; + dframe->frame = frame; + + GST_DEBUG_OBJECT (ffmpegdec, "new video frame %p", dframe); + + return dframe; +} + +static void +gst_ffmpegviddec_video_frame_free (GstFFMpegVidDec * ffmpegdec, + GstFFMpegVidDecVideoFrame * frame) +{ + GST_DEBUG_OBJECT (ffmpegdec, "free video frame %p", frame); + + if (frame->mapped) + gst_video_frame_unmap (&frame->vframe); + GST_VIDEO_CODEC_FRAME_FLAG_UNSET (frame->frame, + GST_FFMPEG_VIDEO_CODEC_FRAME_FLAG_ALLOCATED); + gst_video_decoder_release_frame (GST_VIDEO_DECODER (ffmpegdec), frame->frame); + gst_buffer_replace (&frame->buffer, NULL); + if (frame->avbuffer) { + av_buffer_unref (&frame->avbuffer); + } + g_slice_free (GstFFMpegVidDecVideoFrame, frame); +} + +static void +dummy_free_buffer (void *opaque, uint8_t * data) +{ + GstFFMpegVidDecVideoFrame *frame = opaque; + + gst_ffmpegviddec_video_frame_free (frame->ffmpegdec, frame); +} + +/* This function prepares the pool configuration for direct rendering. To use + * this method, the codec should support direct rendering and the pool should + * support video meta and video alignment */ +static void +gst_ffmpegvideodec_prepare_dr_pool (GstFFMpegVidDec * ffmpegdec, + GstBufferPool * pool, GstVideoInfo * info, GstStructure * config) +{ + GstAllocationParams params; + GstVideoAlignment align; + GstAllocator *allocator = NULL; + gint width, height; + gint linesize_align[AV_NUM_DATA_POINTERS]; + gint i; + gsize max_align; + + width = GST_VIDEO_INFO_WIDTH (info); + height = MAX (GST_VIDEO_INFO_HEIGHT (info), ffmpegdec->context->coded_height); + + /* let ffmpeg find the alignment and padding */ + avcodec_align_dimensions2 (ffmpegdec->context, &width, &height, + linesize_align); + + align.padding_top = 0; + align.padding_left = 0; + align.padding_right = width - GST_VIDEO_INFO_WIDTH (info); + align.padding_bottom = height - GST_VIDEO_INFO_HEIGHT (info); + + /* add extra padding to match libav buffer allocation sizes */ + align.padding_bottom++; + + gst_buffer_pool_config_get_allocator (config, &allocator, ¶ms); + + max_align = DEFAULT_STRIDE_ALIGN; + max_align |= params.align; + + for (i = 0; i < GST_VIDEO_MAX_PLANES; i++) { + if (linesize_align[i] > 0) + max_align |= linesize_align[i] - 1; + } + + for (i = 0; i < GST_VIDEO_MAX_PLANES; i++) + align.stride_align[i] = max_align; + + params.align = max_align; + + gst_buffer_pool_config_set_allocator (config, allocator, ¶ms); + + GST_DEBUG_OBJECT (ffmpegdec, "aligned dimension %dx%d -> %dx%d " + "padding t:%u l:%u r:%u b:%u, stride_align %d:%d:%d:%d", + GST_VIDEO_INFO_WIDTH (info), + GST_VIDEO_INFO_HEIGHT (info), width, height, align.padding_top, + align.padding_left, align.padding_right, align.padding_bottom, + align.stride_align[0], align.stride_align[1], align.stride_align[2], + align.stride_align[3]); + + gst_buffer_pool_config_add_option (config, + GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT); + gst_buffer_pool_config_set_video_alignment (config, &align); +} + +static void +gst_ffmpegviddec_ensure_internal_pool (GstFFMpegVidDec * ffmpegdec, + AVFrame * picture, GstVideoInterlaceMode interlace_mode) +{ + GstAllocationParams params = DEFAULT_ALLOC_PARAM; + GstVideoInfo info; + GstVideoFormat format; + GstCaps *caps; + GstStructure *config; + guint i; + + format = gst_ffmpeg_pixfmt_to_videoformat (picture->format); + + if (ffmpegdec->internal_pool != NULL && + GST_VIDEO_INFO_FORMAT (&ffmpegdec->pool_info) == format && + ffmpegdec->pool_width == picture->width && + ffmpegdec->pool_height == picture->height && + ffmpegdec->pool_format == picture->format) + return; + + GST_DEBUG_OBJECT (ffmpegdec, "Updating internal pool (%i, %i)", + picture->width, picture->height); + + /* if we are negotiating from get_buffer, then renegotiate later in order + * to potentially use a downstream pool */ + if (gst_ffmpegviddec_can_direct_render (ffmpegdec)) + gst_pad_mark_reconfigure (GST_VIDEO_DECODER_SRC_PAD (ffmpegdec)); + + format = gst_ffmpeg_pixfmt_to_videoformat (picture->format); + + if (interlace_mode == GST_VIDEO_INTERLACE_MODE_ALTERNATE) { + gst_video_info_set_interlaced_format (&info, format, interlace_mode, + picture->width, 2 * picture->height); + } else { + gst_video_info_set_format (&info, format, picture->width, picture->height); + } + + /* If we have not yet been negotiated, a NONE format here would + * result in invalid initial dimension alignments, and potential + * out of bounds writes. + */ + ffmpegdec->context->pix_fmt = picture->format; + + for (i = 0; i < G_N_ELEMENTS (ffmpegdec->stride); i++) + ffmpegdec->stride[i] = -1; + + if (ffmpegdec->internal_pool) + gst_object_unref (ffmpegdec->internal_pool); + + ffmpegdec->internal_pool = gst_video_buffer_pool_new (); + config = gst_buffer_pool_get_config (ffmpegdec->internal_pool); + + caps = gst_video_info_to_caps (&info); + gst_buffer_pool_config_set_params (config, caps, info.size, 2, 0); + gst_buffer_pool_config_set_allocator (config, NULL, ¶ms); + gst_buffer_pool_config_add_option (config, GST_BUFFER_POOL_OPTION_VIDEO_META); + + gst_ffmpegvideodec_prepare_dr_pool (ffmpegdec, + ffmpegdec->internal_pool, &info, config); + /* generic video pool never fails */ + gst_buffer_pool_set_config (ffmpegdec->internal_pool, config); + gst_caps_unref (caps); + + gst_buffer_pool_set_active (ffmpegdec->internal_pool, TRUE); + + /* Remember pool size so we can detect changes */ + ffmpegdec->pool_width = picture->width; + ffmpegdec->pool_height = + MAX (picture->height, ffmpegdec->context->coded_height); + ffmpegdec->pool_format = picture->format; + ffmpegdec->pool_info = info; +} + +static gboolean +gst_ffmpegviddec_can_direct_render (GstFFMpegVidDec * ffmpegdec) +{ + GstFFMpegVidDecClass *oclass; + + if (!ffmpegdec->direct_rendering) + return FALSE; + + oclass = (GstFFMpegVidDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); + return ((oclass->in_plugin->capabilities & AV_CODEC_CAP_DR1) == + AV_CODEC_CAP_DR1); +} + +/* called when ffmpeg wants us to allocate a buffer to write the decoded frame + * into. We try to give it memory from our pool */ +static int +gst_ffmpegviddec_get_buffer2 (AVCodecContext * context, AVFrame * picture, + int flags) +{ + GstVideoCodecFrame *frame; + GstFFMpegVidDecVideoFrame *dframe; + GstFFMpegVidDec *ffmpegdec; + guint c; + GstFlowReturn ret; + int create_buffer_flags = 0; + + ffmpegdec = (GstFFMpegVidDec *) context->opaque; + + GST_DEBUG_OBJECT (ffmpegdec, "getting buffer picture %p", picture); + + /* apply the last info we have seen to this picture, when we get the + * picture back from ffmpeg we can use this to correctly timestamp the output + * buffer */ + GST_DEBUG_OBJECT (ffmpegdec, "opaque value SN %d", + (gint32) picture->reordered_opaque); + + frame = + gst_video_decoder_get_frame (GST_VIDEO_DECODER (ffmpegdec), + picture->reordered_opaque); + if (G_UNLIKELY (frame == NULL)) + goto no_frame; + + /* now it has a buffer allocated, so it is real and will also + * be _released */ + GST_VIDEO_CODEC_FRAME_FLAG_SET (frame, + GST_FFMPEG_VIDEO_CODEC_FRAME_FLAG_ALLOCATED); + GST_VIDEO_CODEC_FRAME_FLAG_UNSET (frame, + GST_VIDEO_CODEC_FRAME_FLAG_DECODE_ONLY); + + if (G_UNLIKELY (frame->output_buffer != NULL)) + goto duplicate_frame; + + /* GstFFMpegVidDecVideoFrame receives the frame ref */ + if (picture->opaque) { + dframe = picture->opaque; + dframe->frame = frame; + } else { + picture->opaque = dframe = + gst_ffmpegviddec_video_frame_new (ffmpegdec, frame); + } + + GST_DEBUG_OBJECT (ffmpegdec, "storing opaque %p", dframe); + + if (!gst_ffmpegviddec_can_direct_render (ffmpegdec)) + goto no_dr; + + gst_ffmpegviddec_ensure_internal_pool (ffmpegdec, picture, + GST_BUFFER_FLAG_IS_SET (frame->input_buffer, + GST_VIDEO_BUFFER_FLAG_ONEFIELD) ? GST_VIDEO_INTERLACE_MODE_ALTERNATE : + GST_VIDEO_INTERLACE_MODE_PROGRESSIVE); + + ret = gst_buffer_pool_acquire_buffer (ffmpegdec->internal_pool, + &frame->output_buffer, NULL); + if (ret != GST_FLOW_OK) + goto alloc_failed; + + /* piggy-backed alloc'ed on the frame, + * and there was much rejoicing and we are grateful. + * Now take away buffer from frame, we will give it back later when decoded. + * This allows multiple request for a buffer per frame; unusual but possible. */ + gst_buffer_replace (&dframe->buffer, frame->output_buffer); + gst_buffer_replace (&frame->output_buffer, NULL); + + /* Fill avpicture */ + if (!gst_video_frame_map (&dframe->vframe, &ffmpegdec->pool_info, + dframe->buffer, GST_MAP_READWRITE)) + goto map_failed; + dframe->mapped = TRUE; + + for (c = 0; c < AV_NUM_DATA_POINTERS; c++) { + if (c < GST_VIDEO_INFO_N_PLANES (&ffmpegdec->pool_info)) { + picture->data[c] = GST_VIDEO_FRAME_PLANE_DATA (&dframe->vframe, c); + picture->linesize[c] = GST_VIDEO_FRAME_PLANE_STRIDE (&dframe->vframe, c); + + if (ffmpegdec->stride[c] == -1) + ffmpegdec->stride[c] = picture->linesize[c]; + + /* libav does not allow stride changes, decide allocation should check + * before replacing the internal pool with a downstream pool. + * https://bugzilla.gnome.org/show_bug.cgi?id=704769 + * https://bugzilla.libav.org/show_bug.cgi?id=556 + */ + g_assert (picture->linesize[c] == ffmpegdec->stride[c]); + } else { + picture->data[c] = NULL; + picture->linesize[c] = 0; + } + GST_LOG_OBJECT (ffmpegdec, "linesize %d, data %p", picture->linesize[c], + picture->data[c]); + } + + if ((flags & AV_GET_BUFFER_FLAG_REF) == AV_GET_BUFFER_FLAG_REF) { + /* decoder might reuse this AVFrame and it would result to no more + * get_buffer() call if the AVFrame's AVBuffer is writable + * (meaning that the refcount of AVBuffer == 1). + * To enforce get_buffer() for the every output frame, set read-only flag here + */ + create_buffer_flags = AV_BUFFER_FLAG_READONLY; + } + picture->buf[0] = av_buffer_create (NULL, + 0, dummy_free_buffer, dframe, create_buffer_flags); + + GST_LOG_OBJECT (ffmpegdec, "returned frame %p", dframe->buffer); + + return 0; + +no_dr: + { + int c; + int ret = avcodec_default_get_buffer2 (context, picture, flags); + + GST_LOG_OBJECT (ffmpegdec, "direct rendering disabled, fallback alloc"); + + for (c = 0; c < AV_NUM_DATA_POINTERS; c++) { + ffmpegdec->stride[c] = picture->linesize[c]; + } + /* Wrap our buffer around the default one to be able to have a callback + * when our data can be freed. Just putting our data into the first free + * buffer might not work if there are too many allocated already + */ + if (picture->buf[0]) { + dframe->avbuffer = picture->buf[0]; + picture->buf[0] = + av_buffer_create (picture->buf[0]->data, picture->buf[0]->size, + dummy_free_buffer, dframe, 0); + } else { + picture->buf[0] = + av_buffer_create (NULL, 0, dummy_free_buffer, dframe, 0); + } + + return ret; + } +alloc_failed: + { + GST_ELEMENT_ERROR (ffmpegdec, RESOURCE, FAILED, + ("Unable to allocate memory"), + ("The downstream pool failed to allocated buffer.")); + return -1; + } +map_failed: + { + GST_ELEMENT_ERROR (ffmpegdec, RESOURCE, OPEN_READ_WRITE, + ("Cannot access memory for read and write operation."), + ("The video memory allocated from downstream pool could not mapped for" + "read and write.")); + return -1; + } +duplicate_frame: + { + GST_WARNING_OBJECT (ffmpegdec, "already alloc'ed output buffer for frame"); + gst_video_codec_frame_unref (frame); + return -1; + } +no_frame: + { + GST_WARNING_OBJECT (ffmpegdec, "Couldn't get codec frame !"); + return -1; + } +} + +static gboolean +picture_changed (GstFFMpegVidDec * ffmpegdec, AVFrame * picture) +{ + gint pic_field_order = 0; + + if (picture->interlaced_frame) { + if (picture->repeat_pict) + pic_field_order |= GST_VIDEO_BUFFER_FLAG_RFF; + if (picture->top_field_first) + pic_field_order |= GST_VIDEO_BUFFER_FLAG_TFF; + } + + return !(ffmpegdec->pic_width == picture->width + && ffmpegdec->pic_height == picture->height + && ffmpegdec->pic_pix_fmt == picture->format + && ffmpegdec->pic_par_n == picture->sample_aspect_ratio.num + && ffmpegdec->pic_par_d == picture->sample_aspect_ratio.den + && ffmpegdec->pic_interlaced == picture->interlaced_frame + && ffmpegdec->pic_field_order == pic_field_order + && ffmpegdec->cur_multiview_mode == ffmpegdec->picture_multiview_mode + && ffmpegdec->cur_multiview_flags == ffmpegdec->picture_multiview_flags); +} + +static gboolean +context_changed (GstFFMpegVidDec * ffmpegdec, AVCodecContext * context) +{ + return !(ffmpegdec->ctx_ticks == context->ticks_per_frame + && ffmpegdec->ctx_time_n == context->time_base.num + && ffmpegdec->ctx_time_d == context->time_base.den); +} + +static gboolean +update_video_context (GstFFMpegVidDec * ffmpegdec, AVCodecContext * context, + AVFrame * picture) +{ + gint pic_field_order = 0; + + if (picture->interlaced_frame) { + if (picture->repeat_pict) + pic_field_order |= GST_VIDEO_BUFFER_FLAG_RFF; + if (picture->top_field_first) + pic_field_order |= GST_VIDEO_BUFFER_FLAG_TFF; + } + + if (!picture_changed (ffmpegdec, picture) + && !context_changed (ffmpegdec, context)) + return FALSE; + + GST_DEBUG_OBJECT (ffmpegdec, + "Renegotiating video from %dx%d@ %d:%d PAR %d/%d fps pixfmt %d to %dx%d@ %d:%d PAR %d/%d fps pixfmt %d", + ffmpegdec->pic_width, ffmpegdec->pic_height, + ffmpegdec->pic_par_n, ffmpegdec->pic_par_d, + ffmpegdec->ctx_time_n, ffmpegdec->ctx_time_d, + ffmpegdec->pic_pix_fmt, + picture->width, picture->height, + picture->sample_aspect_ratio.num, + picture->sample_aspect_ratio.den, + context->time_base.num, context->time_base.den, picture->format); + + ffmpegdec->pic_pix_fmt = picture->format; + ffmpegdec->pic_width = picture->width; + ffmpegdec->pic_height = picture->height; + ffmpegdec->pic_par_n = picture->sample_aspect_ratio.num; + ffmpegdec->pic_par_d = picture->sample_aspect_ratio.den; + ffmpegdec->cur_multiview_mode = ffmpegdec->picture_multiview_mode; + ffmpegdec->cur_multiview_flags = ffmpegdec->picture_multiview_flags; + + /* Remember if we have interlaced content and the field order changed + * at least once. If that happens, we must be interlace-mode=mixed + */ + if (ffmpegdec->pic_field_order_changed || + (ffmpegdec->pic_field_order != pic_field_order && + ffmpegdec->pic_interlaced)) + ffmpegdec->pic_field_order_changed = TRUE; + + ffmpegdec->pic_field_order = pic_field_order; + ffmpegdec->pic_interlaced = picture->interlaced_frame; + + if (!ffmpegdec->pic_interlaced) + ffmpegdec->pic_field_order_changed = FALSE; + + ffmpegdec->ctx_ticks = context->ticks_per_frame; + ffmpegdec->ctx_time_n = context->time_base.num; + ffmpegdec->ctx_time_d = context->time_base.den; + + return TRUE; +} + +static void +gst_ffmpegviddec_update_par (GstFFMpegVidDec * ffmpegdec, + GstVideoInfo * in_info, GstVideoInfo * out_info) +{ + gboolean demuxer_par_set = FALSE; + gboolean decoder_par_set = FALSE; + gint demuxer_num = 1, demuxer_denom = 1; + gint decoder_num = 1, decoder_denom = 1; + + if (in_info->par_n && in_info->par_d) { + demuxer_num = in_info->par_n; + demuxer_denom = in_info->par_d; + demuxer_par_set = TRUE; + GST_DEBUG_OBJECT (ffmpegdec, "Demuxer PAR: %d:%d", demuxer_num, + demuxer_denom); + } + + if (ffmpegdec->pic_par_n && ffmpegdec->pic_par_d) { + decoder_num = ffmpegdec->pic_par_n; + decoder_denom = ffmpegdec->pic_par_d; + decoder_par_set = TRUE; + GST_DEBUG_OBJECT (ffmpegdec, "Decoder PAR: %d:%d", decoder_num, + decoder_denom); + } + + if (!demuxer_par_set && !decoder_par_set) + goto no_par; + + if (demuxer_par_set && !decoder_par_set) + goto use_demuxer_par; + + if (decoder_par_set && !demuxer_par_set) + goto use_decoder_par; + + /* Both the demuxer and the decoder provide a PAR. If one of + * the two PARs is 1:1 and the other one is not, use the one + * that is not 1:1. */ + if (demuxer_num == demuxer_denom && decoder_num != decoder_denom) + goto use_decoder_par; + + if (decoder_num == decoder_denom && demuxer_num != demuxer_denom) + goto use_demuxer_par; + + /* Both PARs are non-1:1, so use the PAR provided by the demuxer */ + goto use_demuxer_par; + +use_decoder_par: + { + GST_DEBUG_OBJECT (ffmpegdec, + "Setting decoder provided pixel-aspect-ratio of %u:%u", decoder_num, + decoder_denom); + out_info->par_n = decoder_num; + out_info->par_d = decoder_denom; + return; + } +use_demuxer_par: + { + GST_DEBUG_OBJECT (ffmpegdec, + "Setting demuxer provided pixel-aspect-ratio of %u:%u", demuxer_num, + demuxer_denom); + out_info->par_n = demuxer_num; + out_info->par_d = demuxer_denom; + return; + } +no_par: + { + GST_DEBUG_OBJECT (ffmpegdec, + "Neither demuxer nor codec provide a pixel-aspect-ratio"); + out_info->par_n = 1; + out_info->par_d = 1; + return; + } +} + +static GstVideoMultiviewMode +stereo_av_to_gst (enum AVStereo3DType type) +{ + switch (type) { + case AV_STEREO3D_SIDEBYSIDE: + return GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE; + case AV_STEREO3D_TOPBOTTOM: + return GST_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM; + case AV_STEREO3D_FRAMESEQUENCE: + return GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME; + case AV_STEREO3D_CHECKERBOARD: + return GST_VIDEO_MULTIVIEW_MODE_CHECKERBOARD; + case AV_STEREO3D_SIDEBYSIDE_QUINCUNX: + return GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX; + case AV_STEREO3D_LINES: + return GST_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED; + case AV_STEREO3D_COLUMNS: + return GST_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED; + default: + break; + } + + return GST_VIDEO_MULTIVIEW_MODE_NONE; +} + +static gboolean +mastering_display_metadata_av_to_gst (AVMasteringDisplayMetadata * av, + GstVideoMasteringDisplayInfo * gst) +{ + const guint64 chroma_scale = 50000; + const guint64 luma_scale = 10000; + gint i; + + /* Use only complete mastering meta */ + if (!av->has_primaries || !av->has_luminance) + return FALSE; + + for (i = 0; i < G_N_ELEMENTS (gst->display_primaries); i++) { + gst->display_primaries[i].x = (guint16) gst_util_uint64_scale (chroma_scale, + av->display_primaries[i][0].num, av->display_primaries[i][0].den); + gst->display_primaries[i].y = (guint16) gst_util_uint64_scale (chroma_scale, + av->display_primaries[i][1].num, av->display_primaries[i][1].den); + } + + gst->white_point.x = (guint16) gst_util_uint64_scale (chroma_scale, + av->white_point[0].num, av->white_point[0].den); + gst->white_point.y = (guint16) gst_util_uint64_scale (chroma_scale, + av->white_point[1].num, av->white_point[1].den); + + + gst->max_display_mastering_luminance = + (guint32) gst_util_uint64_scale (luma_scale, + av->max_luminance.num, av->max_luminance.den); + gst->min_display_mastering_luminance = + (guint32) gst_util_uint64_scale (luma_scale, + av->min_luminance.num, av->min_luminance.den); + + return TRUE; +} + +static gboolean +content_light_metadata_av_to_gst (AVContentLightMetadata * av, + GstVideoContentLightLevel * gst) +{ + gst->max_content_light_level = av->MaxCLL; + gst->max_frame_average_light_level = av->MaxFALL; + + return TRUE; +} + +static gboolean +gst_ffmpegviddec_negotiate (GstFFMpegVidDec * ffmpegdec, + AVCodecContext * context, AVFrame * picture, GstBufferFlags flags) +{ + GstVideoFormat fmt; + GstVideoInfo *in_info, *out_info; + GstVideoCodecState *output_state; + gint fps_n, fps_d; + GstClockTime latency; + GstStructure *in_s; + GstVideoInterlaceMode interlace_mode; + gint caps_height; + + if (!update_video_context (ffmpegdec, context, picture)) + return TRUE; + + caps_height = ffmpegdec->pic_height; + + fmt = gst_ffmpeg_pixfmt_to_videoformat (ffmpegdec->pic_pix_fmt); + if (G_UNLIKELY (fmt == GST_VIDEO_FORMAT_UNKNOWN)) + goto unknown_format; + + /* set the interlaced flag */ + in_s = gst_caps_get_structure (ffmpegdec->input_state->caps, 0); + if (flags & GST_VIDEO_BUFFER_FLAG_ONEFIELD) { + /* TODO: we don't get that information from ffmpeg, so copy it from + * the parser */ + interlace_mode = GST_VIDEO_INTERLACE_MODE_ALTERNATE; + caps_height = 2 * caps_height; + } else if (!gst_structure_has_field (in_s, "interlace-mode")) { + if (ffmpegdec->pic_interlaced) { + if (ffmpegdec->pic_field_order_changed || + (ffmpegdec->pic_field_order & GST_VIDEO_BUFFER_FLAG_RFF)) { + interlace_mode = GST_VIDEO_INTERLACE_MODE_MIXED; + } else { + interlace_mode = GST_VIDEO_INTERLACE_MODE_INTERLEAVED; + } + } else { + interlace_mode = GST_VIDEO_INTERLACE_MODE_PROGRESSIVE; + } + } else { + GstVideoInfo info; + + gst_video_info_from_caps (&info, ffmpegdec->input_state->caps); + interlace_mode = info.interlace_mode; + } + + if (interlace_mode == GST_VIDEO_INTERLACE_MODE_ALTERNATE) + output_state = + gst_video_decoder_set_interlaced_output_state (GST_VIDEO_DECODER + (ffmpegdec), fmt, interlace_mode, ffmpegdec->pic_width, caps_height, + ffmpegdec->input_state); + else + output_state = + gst_video_decoder_set_output_state (GST_VIDEO_DECODER + (ffmpegdec), fmt, ffmpegdec->pic_width, caps_height, + ffmpegdec->input_state); + if (ffmpegdec->output_state) + gst_video_codec_state_unref (ffmpegdec->output_state); + ffmpegdec->output_state = output_state; + + in_info = &ffmpegdec->input_state->info; + out_info = &ffmpegdec->output_state->info; + + out_info->interlace_mode = interlace_mode; + if (!gst_structure_has_field (in_s, "interlace-mode") + && interlace_mode == GST_VIDEO_INTERLACE_MODE_INTERLEAVED) { + if ((ffmpegdec->pic_field_order & GST_VIDEO_BUFFER_FLAG_TFF)) + GST_VIDEO_INFO_FIELD_ORDER (out_info) = + GST_VIDEO_FIELD_ORDER_TOP_FIELD_FIRST; + else + GST_VIDEO_INFO_FIELD_ORDER (out_info) = + GST_VIDEO_FIELD_ORDER_BOTTOM_FIELD_FIRST; + } + + if (!gst_structure_has_field (in_s, "chroma-site")) { + switch (context->chroma_sample_location) { + case AVCHROMA_LOC_LEFT: + out_info->chroma_site = GST_VIDEO_CHROMA_SITE_MPEG2; + break; + case AVCHROMA_LOC_CENTER: + out_info->chroma_site = GST_VIDEO_CHROMA_SITE_JPEG; + break; + case AVCHROMA_LOC_TOPLEFT: + out_info->chroma_site = GST_VIDEO_CHROMA_SITE_DV; + break; + case AVCHROMA_LOC_TOP: + out_info->chroma_site = GST_VIDEO_CHROMA_SITE_V_COSITED; + break; + default: + break; + } + } + + if (!gst_structure_has_field (in_s, "colorimetry") + || in_info->colorimetry.primaries == GST_VIDEO_COLOR_PRIMARIES_UNKNOWN) { + out_info->colorimetry.primaries = + gst_video_color_primaries_from_iso (context->color_primaries); + } + + if (!gst_structure_has_field (in_s, "colorimetry") + || in_info->colorimetry.transfer == GST_VIDEO_TRANSFER_UNKNOWN) { + out_info->colorimetry.transfer = + gst_video_transfer_function_from_iso (context->color_trc); + } + + if (!gst_structure_has_field (in_s, "colorimetry") + || in_info->colorimetry.matrix == GST_VIDEO_COLOR_MATRIX_UNKNOWN) { + out_info->colorimetry.matrix = + gst_video_color_matrix_from_iso (context->colorspace); + } + + if (!gst_structure_has_field (in_s, "colorimetry") + || in_info->colorimetry.range == GST_VIDEO_COLOR_RANGE_UNKNOWN) { + if (context->color_range == AVCOL_RANGE_JPEG) { + out_info->colorimetry.range = GST_VIDEO_COLOR_RANGE_0_255; + } else if (context->color_range == AVCOL_RANGE_MPEG) { + out_info->colorimetry.range = GST_VIDEO_COLOR_RANGE_16_235; + } else { + out_info->colorimetry.range = GST_VIDEO_COLOR_RANGE_UNKNOWN; + } + } + + /* try to find a good framerate */ + if ((in_info->fps_d && in_info->fps_n) || + GST_VIDEO_INFO_FLAG_IS_SET (in_info, GST_VIDEO_FLAG_VARIABLE_FPS)) { + /* take framerate from input when it was specified (#313970) */ + fps_n = in_info->fps_n; + fps_d = in_info->fps_d; + } else { + fps_n = ffmpegdec->ctx_time_d / ffmpegdec->ctx_ticks; + fps_d = ffmpegdec->ctx_time_n; + + if (!fps_d) { + GST_LOG_OBJECT (ffmpegdec, "invalid framerate: %d/0, -> %d/1", fps_n, + fps_n); + fps_d = 1; + } + if (gst_util_fraction_compare (fps_n, fps_d, 1000, 1) > 0) { + GST_LOG_OBJECT (ffmpegdec, "excessive framerate: %d/%d, -> 0/1", fps_n, + fps_d); + fps_n = 0; + fps_d = 1; + } + } + + GST_LOG_OBJECT (ffmpegdec, "setting framerate: %d/%d", fps_n, fps_d); + out_info->fps_n = fps_n; + out_info->fps_d = fps_d; + + /* calculate and update par now */ + gst_ffmpegviddec_update_par (ffmpegdec, in_info, out_info); + + GST_VIDEO_INFO_MULTIVIEW_MODE (out_info) = ffmpegdec->cur_multiview_mode; + GST_VIDEO_INFO_MULTIVIEW_FLAGS (out_info) = ffmpegdec->cur_multiview_flags; + + /* To passing HDR information to caps directly */ + if (output_state->caps == NULL) { + output_state->caps = gst_video_info_to_caps (out_info); + } else { + output_state->caps = gst_caps_make_writable (output_state->caps); + } + + if (flags & GST_VIDEO_BUFFER_FLAG_ONEFIELD) { + /* TODO: we don't get that information from ffmpeg, so copy it from + * the parser */ + gst_caps_features_add (gst_caps_get_features (ffmpegdec->output_state->caps, + 0), GST_CAPS_FEATURE_FORMAT_INTERLACED); + } + + if (!gst_structure_has_field (in_s, "mastering-display-info")) { + AVFrameSideData *sd = av_frame_get_side_data (picture, + AV_FRAME_DATA_MASTERING_DISPLAY_METADATA); + GstVideoMasteringDisplayInfo minfo; + + if (sd + && mastering_display_metadata_av_to_gst ((AVMasteringDisplayMetadata *) + sd->data, &minfo)) { + GST_LOG_OBJECT (ffmpegdec, "update mastering display info: " + "Red(%u, %u) " + "Green(%u, %u) " + "Blue(%u, %u) " + "White(%u, %u) " + "max_luminance(%u) " + "min_luminance(%u) ", + minfo.display_primaries[0].x, minfo.display_primaries[0].y, + minfo.display_primaries[1].x, minfo.display_primaries[1].y, + minfo.display_primaries[2].x, minfo.display_primaries[2].y, + minfo.white_point.x, minfo.white_point.y, + minfo.max_display_mastering_luminance, + minfo.min_display_mastering_luminance); + + if (!gst_video_mastering_display_info_add_to_caps (&minfo, + output_state->caps)) { + GST_WARNING_OBJECT (ffmpegdec, + "Couldn't set mastering display info to caps"); + } + } + } + + if (!gst_structure_has_field (in_s, "content-light-level")) { + AVFrameSideData *sd = av_frame_get_side_data (picture, + AV_FRAME_DATA_CONTENT_LIGHT_LEVEL); + GstVideoContentLightLevel cll; + + if (sd && content_light_metadata_av_to_gst ((AVContentLightMetadata *) + sd->data, &cll)) { + GST_LOG_OBJECT (ffmpegdec, "update content light level: " + "maxCLL:(%u), maxFALL:(%u)", cll.max_content_light_level, + cll.max_frame_average_light_level); + + if (!gst_video_content_light_level_add_to_caps (&cll, output_state->caps)) { + GST_WARNING_OBJECT (ffmpegdec, + "Couldn't set content light level to caps"); + } + } + } + + if (!gst_video_decoder_negotiate (GST_VIDEO_DECODER (ffmpegdec))) + goto negotiate_failed; + + /* The decoder is configured, we now know the true latency */ + if (fps_n) { + latency = + gst_util_uint64_scale_ceil (ffmpegdec->context->has_b_frames * + GST_SECOND, fps_d, fps_n); + if (ffmpegdec->context->thread_type & FF_THREAD_FRAME) { + latency += + gst_util_uint64_scale_ceil (ffmpegdec->context->thread_count * + GST_SECOND, fps_d, fps_n); + } + gst_video_decoder_set_latency (GST_VIDEO_DECODER (ffmpegdec), latency, + latency); + } + + return TRUE; + + /* ERRORS */ +unknown_format: + { + GST_ERROR_OBJECT (ffmpegdec, + "decoder requires a video format unsupported by GStreamer"); + return FALSE; + } +negotiate_failed: + { + /* Reset so we try again next time even if force==FALSE */ + ffmpegdec->pic_pix_fmt = 0; + ffmpegdec->pic_width = 0; + ffmpegdec->pic_height = 0; + ffmpegdec->pic_par_n = 0; + ffmpegdec->pic_par_d = 0; + ffmpegdec->pic_interlaced = 0; + ffmpegdec->pic_field_order = 0; + ffmpegdec->pic_field_order_changed = FALSE; + ffmpegdec->ctx_ticks = 0; + ffmpegdec->ctx_time_n = 0; + ffmpegdec->ctx_time_d = 0; + + GST_ERROR_OBJECT (ffmpegdec, "negotiation failed"); + return FALSE; + } +} + +/* perform qos calculations before decoding the next frame. + * + * Sets the skip_frame flag and if things are really bad, skips to the next + * keyframe. + * + */ +static void +gst_ffmpegviddec_do_qos (GstFFMpegVidDec * ffmpegdec, + GstVideoCodecFrame * frame, gboolean * mode_switch) +{ + GstClockTimeDiff diff; + GstSegmentFlags skip_flags = + GST_VIDEO_DECODER_INPUT_SEGMENT (ffmpegdec).flags; + + *mode_switch = FALSE; + + if (frame == NULL) + return; + + if (skip_flags & GST_SEGMENT_FLAG_TRICKMODE_KEY_UNITS) { + ffmpegdec->context->skip_frame = AVDISCARD_NONKEY; + *mode_switch = TRUE; + } else if (skip_flags & GST_SEGMENT_FLAG_TRICKMODE) { + ffmpegdec->context->skip_frame = AVDISCARD_NONREF; + *mode_switch = TRUE; + } + + if (*mode_switch == TRUE) { + /* We've already switched mode, we can return straight away + * without any further calculation */ + return; + } + + diff = + gst_video_decoder_get_max_decode_time (GST_VIDEO_DECODER (ffmpegdec), + frame); + + /* if we don't have timing info, then we don't do QoS */ + if (G_UNLIKELY (diff == G_MAXINT64)) { + /* Ensure the skipping strategy is the default one */ + ffmpegdec->context->skip_frame = ffmpegdec->skip_frame; + return; + } + + GST_DEBUG_OBJECT (ffmpegdec, "decoding time %" G_GINT64_FORMAT, diff); + + if (diff > 0 && ffmpegdec->context->skip_frame != AVDISCARD_DEFAULT) { + ffmpegdec->context->skip_frame = AVDISCARD_DEFAULT; + *mode_switch = TRUE; + GST_DEBUG_OBJECT (ffmpegdec, "QOS: normal mode"); + } + + else if (diff <= 0 && ffmpegdec->context->skip_frame != AVDISCARD_NONREF) { + ffmpegdec->context->skip_frame = AVDISCARD_NONREF; + *mode_switch = TRUE; + GST_DEBUG_OBJECT (ffmpegdec, + "QOS: hurry up, diff %" G_GINT64_FORMAT " >= 0", diff); + } +} + +/* get an outbuf buffer with the current picture */ +static GstFlowReturn +get_output_buffer (GstFFMpegVidDec * ffmpegdec, GstVideoCodecFrame * frame) +{ + GstFlowReturn ret = GST_FLOW_OK; + AVFrame pic, *outpic; + GstVideoFrame vframe; + GstVideoInfo *info; + guint c; + + GST_LOG_OBJECT (ffmpegdec, "get output buffer"); + + if (!ffmpegdec->output_state) + goto not_negotiated; + + ret = + gst_video_decoder_allocate_output_frame (GST_VIDEO_DECODER (ffmpegdec), + frame); + if (G_UNLIKELY (ret != GST_FLOW_OK)) + goto alloc_failed; + + /* original ffmpeg code does not handle odd sizes correctly. + * This patched up version does */ + /* Fill avpicture */ + info = &ffmpegdec->output_state->info; + if (!gst_video_frame_map (&vframe, info, frame->output_buffer, + GST_MAP_READ | GST_MAP_WRITE)) + goto map_failed; + + memset (&pic, 0, sizeof (pic)); + pic.format = ffmpegdec->pic_pix_fmt; + pic.width = GST_VIDEO_FRAME_WIDTH (&vframe); + pic.height = GST_VIDEO_FRAME_HEIGHT (&vframe); + for (c = 0; c < AV_NUM_DATA_POINTERS; c++) { + if (c < GST_VIDEO_INFO_N_PLANES (info)) { + pic.data[c] = GST_VIDEO_FRAME_PLANE_DATA (&vframe, c); + pic.linesize[c] = GST_VIDEO_FRAME_PLANE_STRIDE (&vframe, c); + GST_LOG_OBJECT (ffmpegdec, "[%i] linesize %d, data %p", c, + pic.linesize[c], pic.data[c]); + } else { + pic.data[c] = NULL; + pic.linesize[c] = 0; + } + } + + outpic = ffmpegdec->picture; + + if (av_frame_copy (&pic, outpic) != 0) { + GST_ERROR_OBJECT (ffmpegdec, "Failed to copy output frame"); + ret = GST_FLOW_ERROR; + } + + gst_video_frame_unmap (&vframe); + + ffmpegdec->picture->reordered_opaque = -1; + + return ret; + + /* special cases */ +alloc_failed: + { + GST_ELEMENT_ERROR (ffmpegdec, RESOURCE, FAILED, + ("Unable to allocate memory"), + ("The downstream pool failed to allocated buffer.")); + return ret; + } +map_failed: + { + GST_ELEMENT_ERROR (ffmpegdec, RESOURCE, OPEN_READ_WRITE, + ("Cannot access memory for read and write operation."), + ("The video memory allocated from downstream pool could not mapped for" + "read and write.")); + return ret; + } +not_negotiated: + { + GST_DEBUG_OBJECT (ffmpegdec, "not negotiated"); + return GST_FLOW_NOT_NEGOTIATED; + } +} + +static void +gst_avpacket_init (AVPacket * packet, guint8 * data, guint size) +{ + memset (packet, 0, sizeof (AVPacket)); + packet->data = data; + packet->size = size; +} + +/* + * Returns: whether a frame was decoded + */ +static gboolean +gst_ffmpegviddec_video_frame (GstFFMpegVidDec * ffmpegdec, + GstVideoCodecFrame * frame, GstFlowReturn * ret) +{ + gint res; + gboolean got_frame = FALSE; + gboolean mode_switch; + GstVideoCodecFrame *out_frame; + GstFFMpegVidDecVideoFrame *out_dframe; + GstBufferPool *pool; + + *ret = GST_FLOW_OK; + + /* in case we skip frames */ + ffmpegdec->picture->pict_type = -1; + + /* run QoS code, we don't stop decoding the frame when we are late because + * else we might skip a reference frame */ + gst_ffmpegviddec_do_qos (ffmpegdec, frame, &mode_switch); + + res = avcodec_receive_frame (ffmpegdec->context, ffmpegdec->picture); + + /* No frames available at this time */ + if (res == AVERROR (EAGAIN)) + goto beach; + else if (res == AVERROR_EOF) { + *ret = GST_FLOW_EOS; + GST_DEBUG_OBJECT (ffmpegdec, "Context was entirely flushed"); + goto beach; + } else if (res < 0) { + *ret = GST_FLOW_OK; + GST_WARNING_OBJECT (ffmpegdec, "Legitimate decoding error"); + goto beach; + } + + got_frame = TRUE; + + /* get the output picture timing info again */ + out_dframe = ffmpegdec->picture->opaque; + out_frame = gst_video_codec_frame_ref (out_dframe->frame); + + /* also give back a buffer allocated by the frame, if any */ + gst_buffer_replace (&out_frame->output_buffer, out_dframe->buffer); + gst_buffer_replace (&out_dframe->buffer, NULL); + + /* Extract auxilliary info not stored in the main AVframe */ + { + GstVideoInfo *in_info = &ffmpegdec->input_state->info; + /* Take multiview mode from upstream if present */ + ffmpegdec->picture_multiview_mode = GST_VIDEO_INFO_MULTIVIEW_MODE (in_info); + ffmpegdec->picture_multiview_flags = + GST_VIDEO_INFO_MULTIVIEW_FLAGS (in_info); + + /* Otherwise, see if there's info in the frame */ + if (ffmpegdec->picture_multiview_mode == GST_VIDEO_MULTIVIEW_MODE_NONE) { + AVFrameSideData *side_data = + av_frame_get_side_data (ffmpegdec->picture, AV_FRAME_DATA_STEREO3D); + if (side_data) { + AVStereo3D *stereo = (AVStereo3D *) side_data->data; + ffmpegdec->picture_multiview_mode = stereo_av_to_gst (stereo->type); + if (stereo->flags & AV_STEREO3D_FLAG_INVERT) { + ffmpegdec->picture_multiview_flags = + GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_VIEW_FIRST; + } else { + ffmpegdec->picture_multiview_flags = GST_VIDEO_MULTIVIEW_FLAGS_NONE; + } + } + } + } + + GST_DEBUG_OBJECT (ffmpegdec, + "pts %" G_GUINT64_FORMAT " duration %" G_GUINT64_FORMAT, + out_frame->pts, out_frame->duration); + GST_DEBUG_OBJECT (ffmpegdec, "picture: pts %" G_GUINT64_FORMAT, + (guint64) ffmpegdec->picture->pts); + GST_DEBUG_OBJECT (ffmpegdec, "picture: num %d", + ffmpegdec->picture->coded_picture_number); + GST_DEBUG_OBJECT (ffmpegdec, "picture: display %d", + ffmpegdec->picture->display_picture_number); + GST_DEBUG_OBJECT (ffmpegdec, "picture: opaque %p", + ffmpegdec->picture->opaque); + GST_DEBUG_OBJECT (ffmpegdec, "picture: reordered opaque %" G_GUINT64_FORMAT, + (guint64) ffmpegdec->picture->reordered_opaque); + GST_DEBUG_OBJECT (ffmpegdec, "repeat_pict:%d", + ffmpegdec->picture->repeat_pict); + GST_DEBUG_OBJECT (ffmpegdec, "corrupted frame: %d", + ! !(ffmpegdec->picture->flags & AV_FRAME_FLAG_CORRUPT)); + + if (!gst_ffmpegviddec_negotiate (ffmpegdec, ffmpegdec->context, + ffmpegdec->picture, GST_BUFFER_FLAGS (out_frame->input_buffer))) + goto negotiation_error; + + pool = gst_video_decoder_get_buffer_pool (GST_VIDEO_DECODER (ffmpegdec)); + if (G_UNLIKELY (out_frame->output_buffer == NULL)) { + *ret = get_output_buffer (ffmpegdec, out_frame); + } else if (G_UNLIKELY (out_frame->output_buffer->pool != pool)) { + GstBuffer *tmp = out_frame->output_buffer; + out_frame->output_buffer = NULL; + *ret = get_output_buffer (ffmpegdec, out_frame); + gst_buffer_unref (tmp); + } +#ifndef G_DISABLE_ASSERT + else { + GstVideoMeta *vmeta = gst_buffer_get_video_meta (out_frame->output_buffer); + if (vmeta) { + GstVideoInfo *info = &ffmpegdec->output_state->info; + g_assert ((gint) vmeta->width == GST_VIDEO_INFO_WIDTH (info)); + g_assert ((gint) vmeta->height == GST_VIDEO_INFO_HEIGHT (info)); + } + } +#endif + gst_object_unref (pool); + + if (G_UNLIKELY (*ret != GST_FLOW_OK)) + goto no_output; + + /* Mark corrupted frames as corrupted */ + if (ffmpegdec->picture->flags & AV_FRAME_FLAG_CORRUPT) + GST_BUFFER_FLAG_SET (out_frame->output_buffer, GST_BUFFER_FLAG_CORRUPTED); + + if (ffmpegdec->pic_interlaced) { + /* set interlaced flags */ + if (ffmpegdec->picture->repeat_pict) + GST_BUFFER_FLAG_SET (out_frame->output_buffer, GST_VIDEO_BUFFER_FLAG_RFF); + if (ffmpegdec->picture->top_field_first) + GST_BUFFER_FLAG_SET (out_frame->output_buffer, GST_VIDEO_BUFFER_FLAG_TFF); + if (ffmpegdec->picture->interlaced_frame) + GST_BUFFER_FLAG_SET (out_frame->output_buffer, + GST_VIDEO_BUFFER_FLAG_INTERLACED); + } + + { + AVFrameSideData *side_data = + av_frame_get_side_data (ffmpegdec->picture, AV_FRAME_DATA_A53_CC); + if (side_data) { + GST_LOG_OBJECT (ffmpegdec, + "Found CC side data of type AV_FRAME_DATA_A53_CC, size %d", + side_data->size); + GST_MEMDUMP ("A53 CC", side_data->data, side_data->size); + + /* do not add closed caption meta if it already exists */ + if (!gst_buffer_get_meta (out_frame->input_buffer, + GST_VIDEO_CAPTION_META_API_TYPE)) { + out_frame->output_buffer = + gst_buffer_make_writable (out_frame->output_buffer); + gst_buffer_add_video_caption_meta (out_frame->output_buffer, + GST_VIDEO_CAPTION_TYPE_CEA708_RAW, side_data->data, + side_data->size); + } else { + GST_LOG_OBJECT (ffmpegdec, + "Closed caption meta already exists: will not add new caption meta"); + } + } + } + + /* cleaning time */ + /* so we decoded this frame, frames preceding it in decoding order + * that still do not have a buffer allocated seem rather useless, + * and can be discarded, due to e.g. misparsed bogus frame + * or non-keyframe in skipped decoding, ... + * In any case, not likely to be seen again, so discard those, + * before they pile up and/or mess with timestamping */ + { + GList *l, *ol; + GstVideoDecoder *dec = GST_VIDEO_DECODER (ffmpegdec); + gboolean old = TRUE; + + ol = l = gst_video_decoder_get_frames (dec); + while (l) { + GstVideoCodecFrame *tmp = l->data; + + if (tmp == frame) + old = FALSE; + + if (old && GST_VIDEO_CODEC_FRAME_IS_DECODE_ONLY (tmp)) { + GST_LOG_OBJECT (dec, + "discarding ghost frame %p (#%d) PTS:%" GST_TIME_FORMAT " DTS:%" + GST_TIME_FORMAT, tmp, tmp->system_frame_number, + GST_TIME_ARGS (tmp->pts), GST_TIME_ARGS (tmp->dts)); + /* drop extra ref and remove from frame list */ + GST_VIDEO_CODEC_FRAME_FLAG_UNSET (tmp, + GST_FFMPEG_VIDEO_CODEC_FRAME_FLAG_ALLOCATED); + gst_video_decoder_release_frame (dec, tmp); + } else { + /* drop extra ref we got */ + gst_video_codec_frame_unref (tmp); + } + l = l->next; + } + g_list_free (ol); + } + + av_frame_unref (ffmpegdec->picture); + + if (frame) + GST_VIDEO_CODEC_FRAME_FLAG_UNSET (frame, + GST_FFMPEG_VIDEO_CODEC_FRAME_FLAG_ALLOCATED); + + if (gst_video_decoder_get_subframe_mode (GST_VIDEO_DECODER (ffmpegdec))) + gst_video_decoder_have_last_subframe (GST_VIDEO_DECODER (ffmpegdec), + out_frame); + + /* FIXME: Ideally we would remap the buffer read-only now before pushing but + * libav might still have a reference to it! + */ + if (GST_BUFFER_FLAG_IS_SET (out_frame->input_buffer, + GST_VIDEO_BUFFER_FLAG_ONEFIELD)) { + GST_BUFFER_FLAG_SET (out_frame->output_buffer, + GST_VIDEO_BUFFER_FLAG_ONEFIELD); + if (GST_BUFFER_FLAG_IS_SET (out_frame->input_buffer, + GST_VIDEO_BUFFER_FLAG_TFF)) { + GST_BUFFER_FLAG_SET (out_frame->output_buffer, GST_VIDEO_BUFFER_FLAG_TFF); + } + } + *ret = + gst_video_decoder_finish_frame (GST_VIDEO_DECODER (ffmpegdec), out_frame); + +beach: + GST_DEBUG_OBJECT (ffmpegdec, "return flow %s, got frame: %d", + gst_flow_get_name (*ret), got_frame); + return got_frame; + + /* special cases */ +no_output: + { + GST_DEBUG_OBJECT (ffmpegdec, "no output buffer"); + GST_VIDEO_CODEC_FRAME_FLAG_UNSET (frame, + GST_FFMPEG_VIDEO_CODEC_FRAME_FLAG_ALLOCATED); + gst_video_decoder_drop_frame (GST_VIDEO_DECODER (ffmpegdec), out_frame); + goto beach; + } + +negotiation_error: + { + if (GST_PAD_IS_FLUSHING (GST_VIDEO_DECODER_SRC_PAD (ffmpegdec))) { + *ret = GST_FLOW_FLUSHING; + goto beach; + } + GST_WARNING_OBJECT (ffmpegdec, "Error negotiating format"); + *ret = GST_FLOW_NOT_NEGOTIATED; + goto beach; + } +} + + + /* Returns: Whether a frame was decoded */ +static gboolean +gst_ffmpegviddec_frame (GstFFMpegVidDec * ffmpegdec, GstVideoCodecFrame * frame, + GstFlowReturn * ret) +{ + gboolean got_frame = FALSE; + + if (G_UNLIKELY (ffmpegdec->context->codec == NULL)) + goto no_codec; + + *ret = GST_FLOW_OK; + ffmpegdec->context->frame_number++; + + got_frame = gst_ffmpegviddec_video_frame (ffmpegdec, frame, ret); + + return got_frame; + + /* ERRORS */ +no_codec: + { + GST_ERROR_OBJECT (ffmpegdec, "no codec context"); + *ret = GST_FLOW_NOT_NEGOTIATED; + return -1; + } +} + +static GstFlowReturn +gst_ffmpegviddec_drain (GstVideoDecoder * decoder) +{ + GstFFMpegVidDec *ffmpegdec = (GstFFMpegVidDec *) decoder; + GstFlowReturn ret = GST_FLOW_OK; + gboolean got_frame = FALSE; + + if (!ffmpegdec->opened) + return GST_FLOW_OK; + + if (avcodec_send_packet (ffmpegdec->context, NULL)) + goto send_packet_failed; + + do { + got_frame = gst_ffmpegviddec_frame (ffmpegdec, NULL, &ret); + } while (got_frame && ret == GST_FLOW_OK); + avcodec_flush_buffers (ffmpegdec->context); + + /* FFMpeg will return AVERROR_EOF if it's internal was fully drained + * then we are translating it to GST_FLOW_EOS. However, because this behavior + * is fully internal stuff of this implementation and gstvideodecoder + * baseclass doesn't convert this GST_FLOW_EOS to GST_FLOW_OK, + * convert this flow returned here */ + if (ret == GST_FLOW_EOS) + ret = GST_FLOW_OK; + +done: + return ret; + +send_packet_failed: + GST_WARNING_OBJECT (ffmpegdec, "send packet failed, could not drain decoder"); + goto done; +} + +static GstFlowReturn +gst_ffmpegviddec_handle_frame (GstVideoDecoder * decoder, + GstVideoCodecFrame * frame) +{ + GstFFMpegVidDec *ffmpegdec = (GstFFMpegVidDec *) decoder; + guint8 *data; + gint size; + gboolean got_frame; + GstMapInfo minfo; + GstFlowReturn ret = GST_FLOW_OK; + AVPacket packet; + + GST_LOG_OBJECT (ffmpegdec, + "Received new data of size %" G_GSIZE_FORMAT ", dts %" GST_TIME_FORMAT + ", pts:%" GST_TIME_FORMAT ", dur:%" GST_TIME_FORMAT, + gst_buffer_get_size (frame->input_buffer), GST_TIME_ARGS (frame->dts), + GST_TIME_ARGS (frame->pts), GST_TIME_ARGS (frame->duration)); + + if (!gst_buffer_map (frame->input_buffer, &minfo, GST_MAP_READ)) { + GST_ELEMENT_ERROR (ffmpegdec, STREAM, DECODE, ("Decoding problem"), + ("Failed to map buffer for reading")); + return GST_FLOW_ERROR; + } + + /* treat frame as void until a buffer is requested for it */ + if (!GST_VIDEO_CODEC_FRAME_FLAG_IS_SET (frame, + GST_FFMPEG_VIDEO_CODEC_FRAME_FLAG_ALLOCATED)) + GST_VIDEO_CODEC_FRAME_FLAG_SET (frame, + GST_VIDEO_CODEC_FRAME_FLAG_DECODE_ONLY); + + data = minfo.data; + size = minfo.size; + + if (size > 0 && (!GST_MEMORY_IS_ZERO_PADDED (minfo.memory) + || (minfo.maxsize - minfo.size) < AV_INPUT_BUFFER_PADDING_SIZE)) { + /* add padding */ + if (ffmpegdec->padded_size < size + AV_INPUT_BUFFER_PADDING_SIZE) { + ffmpegdec->padded_size = size + AV_INPUT_BUFFER_PADDING_SIZE; + ffmpegdec->padded = g_realloc (ffmpegdec->padded, ffmpegdec->padded_size); + GST_LOG_OBJECT (ffmpegdec, "resized padding buffer to %d", + ffmpegdec->padded_size); + } + GST_CAT_TRACE_OBJECT (GST_CAT_PERFORMANCE, ffmpegdec, + "Copy input to add padding"); + memcpy (ffmpegdec->padded, data, size); + memset (ffmpegdec->padded + size, 0, AV_INPUT_BUFFER_PADDING_SIZE); + + data = ffmpegdec->padded; + } + + /* now decode the frame */ + gst_avpacket_init (&packet, data, size); + + if (ffmpegdec->palette) { + guint8 *pal; + + pal = av_packet_new_side_data (&packet, AV_PKT_DATA_PALETTE, + AVPALETTE_SIZE); + gst_buffer_extract (ffmpegdec->palette, 0, pal, AVPALETTE_SIZE); + GST_DEBUG_OBJECT (ffmpegdec, "copy pal %p %p", &packet, pal); + } + + if (!packet.size) + goto done; + + /* save reference to the timing info */ + ffmpegdec->context->reordered_opaque = (gint64) frame->system_frame_number; + ffmpegdec->picture->reordered_opaque = (gint64) frame->system_frame_number; + + GST_DEBUG_OBJECT (ffmpegdec, "stored opaque values idx %d", + frame->system_frame_number); + + /* This might call into get_buffer() from another thread, + * which would cause a deadlock. Release the lock here + * and taking it again later seems safe + * See https://bugzilla.gnome.org/show_bug.cgi?id=726020 + */ + GST_VIDEO_DECODER_STREAM_UNLOCK (ffmpegdec); + if (avcodec_send_packet (ffmpegdec->context, &packet) < 0) { + GST_VIDEO_DECODER_STREAM_LOCK (ffmpegdec); + goto send_packet_failed; + } + GST_VIDEO_DECODER_STREAM_LOCK (ffmpegdec); + + do { + /* decode a frame of audio/video now */ + got_frame = gst_ffmpegviddec_frame (ffmpegdec, frame, &ret); + + if (ret != GST_FLOW_OK) { + GST_LOG_OBJECT (ffmpegdec, "breaking because of flow ret %s", + gst_flow_get_name (ret)); + break; + } + } while (got_frame); + +done: + gst_buffer_unmap (frame->input_buffer, &minfo); + gst_video_codec_frame_unref (frame); + + return ret; + +send_packet_failed: + { + GST_WARNING_OBJECT (ffmpegdec, "Failed to send data for decoding"); + goto done; + } +} + +static gboolean +gst_ffmpegviddec_start (GstVideoDecoder * decoder) +{ + GstFFMpegVidDec *ffmpegdec = (GstFFMpegVidDec *) decoder; + GstFFMpegVidDecClass *oclass; + + oclass = (GstFFMpegVidDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); + + GST_OBJECT_LOCK (ffmpegdec); + gst_ffmpeg_avcodec_close (ffmpegdec->context); + if (avcodec_get_context_defaults3 (ffmpegdec->context, oclass->in_plugin) < 0) { + GST_DEBUG_OBJECT (ffmpegdec, "Failed to set context defaults"); + GST_OBJECT_UNLOCK (ffmpegdec); + return FALSE; + } + ffmpegdec->context->opaque = ffmpegdec; + GST_OBJECT_UNLOCK (ffmpegdec); + + return TRUE; +} + +static gboolean +gst_ffmpegviddec_stop (GstVideoDecoder * decoder) +{ + GstFFMpegVidDec *ffmpegdec = (GstFFMpegVidDec *) decoder; + + GST_OBJECT_LOCK (ffmpegdec); + gst_ffmpegviddec_close (ffmpegdec, FALSE); + GST_OBJECT_UNLOCK (ffmpegdec); + g_free (ffmpegdec->padded); + ffmpegdec->padded = NULL; + ffmpegdec->padded_size = 0; + if (ffmpegdec->input_state) + gst_video_codec_state_unref (ffmpegdec->input_state); + ffmpegdec->input_state = NULL; + if (ffmpegdec->output_state) + gst_video_codec_state_unref (ffmpegdec->output_state); + ffmpegdec->output_state = NULL; + + if (ffmpegdec->internal_pool) + gst_object_unref (ffmpegdec->internal_pool); + ffmpegdec->internal_pool = NULL; + + ffmpegdec->pic_pix_fmt = 0; + ffmpegdec->pic_width = 0; + ffmpegdec->pic_height = 0; + ffmpegdec->pic_par_n = 0; + ffmpegdec->pic_par_d = 0; + ffmpegdec->pic_interlaced = 0; + ffmpegdec->pic_field_order = 0; + ffmpegdec->pic_field_order_changed = FALSE; + ffmpegdec->ctx_ticks = 0; + ffmpegdec->ctx_time_n = 0; + ffmpegdec->ctx_time_d = 0; + + ffmpegdec->pool_width = 0; + ffmpegdec->pool_height = 0; + ffmpegdec->pool_format = 0; + + return TRUE; +} + +static GstFlowReturn +gst_ffmpegviddec_finish (GstVideoDecoder * decoder) +{ + GstFlowReturn flow_ret; + + flow_ret = gst_ffmpegviddec_drain (decoder); + + /* note that finish can and should clean up more drastically, + * but drain is also invoked on e.g. packet loss in GAP handling */ + gst_ffmpegviddec_flush (decoder); + + return flow_ret; +} + +static gboolean +gst_ffmpegviddec_flush (GstVideoDecoder * decoder) +{ + GstFFMpegVidDec *ffmpegdec = (GstFFMpegVidDec *) decoder; + + if (ffmpegdec->opened) { + GST_LOG_OBJECT (decoder, "flushing buffers"); + avcodec_flush_buffers (ffmpegdec->context); + } + + return TRUE; +} + +static gboolean +gst_ffmpegviddec_decide_allocation (GstVideoDecoder * decoder, GstQuery * query) +{ + GstFFMpegVidDec *ffmpegdec = (GstFFMpegVidDec *) decoder; + GstVideoCodecState *state; + GstBufferPool *pool; + guint size, min, max; + GstStructure *config; + gboolean have_pool, have_videometa, have_alignment, update_pool = FALSE; + GstAllocator *allocator = NULL; + GstAllocationParams params = DEFAULT_ALLOC_PARAM; + + have_pool = (gst_query_get_n_allocation_pools (query) != 0); + + if (!GST_VIDEO_DECODER_CLASS (parent_class)->decide_allocation (decoder, + query)) + return FALSE; + + state = gst_video_decoder_get_output_state (decoder); + + if (gst_query_get_n_allocation_params (query) > 0) { + gst_query_parse_nth_allocation_param (query, 0, &allocator, ¶ms); + params.align = MAX (params.align, DEFAULT_STRIDE_ALIGN); + } else { + gst_query_add_allocation_param (query, allocator, ¶ms); + } + + gst_query_parse_nth_allocation_pool (query, 0, &pool, &size, &min, &max); + + /* Don't use pool that can't grow, as we don't know how many buffer we'll + * need, otherwise we may stall */ + if (max != 0 && max < REQUIRED_POOL_MAX_BUFFERS) { + gst_object_unref (pool); + pool = gst_video_buffer_pool_new (); + max = 0; + update_pool = TRUE; + have_pool = FALSE; + + /* if there is an allocator, also drop it, as it might be the reason we + * have this limit. Default will be used */ + if (allocator) { + gst_object_unref (allocator); + allocator = NULL; + } + } + + config = gst_buffer_pool_get_config (pool); + gst_buffer_pool_config_set_params (config, state->caps, size, min, max); + gst_buffer_pool_config_set_allocator (config, allocator, ¶ms); + + have_videometa = + gst_query_find_allocation_meta (query, GST_VIDEO_META_API_TYPE, NULL); + + if (have_videometa) + gst_buffer_pool_config_add_option (config, + GST_BUFFER_POOL_OPTION_VIDEO_META); + + have_alignment = + gst_buffer_pool_has_option (pool, GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT); + + /* If we have videometa, we never have to copy */ + if (have_videometa && have_pool && have_alignment && + gst_ffmpegviddec_can_direct_render (ffmpegdec)) { + GstStructure *config_copy = gst_structure_copy (config); + + gst_ffmpegvideodec_prepare_dr_pool (ffmpegdec, pool, &state->info, + config_copy); + + /* FIXME validate and retry */ + if (gst_buffer_pool_set_config (pool, config_copy)) { + GstFlowReturn ret; + GstBuffer *tmp; + + gst_buffer_pool_set_active (pool, TRUE); + ret = gst_buffer_pool_acquire_buffer (pool, &tmp, NULL); + if (ret == GST_FLOW_OK) { + GstVideoMeta *vmeta = gst_buffer_get_video_meta (tmp); + gboolean same_stride = TRUE; + guint i; + + for (i = 0; i < vmeta->n_planes; i++) { + if (vmeta->stride[i] != ffmpegdec->stride[i]) { + same_stride = FALSE; + break; + } + } + + gst_buffer_unref (tmp); + + if (same_stride) { + if (ffmpegdec->internal_pool) + gst_object_unref (ffmpegdec->internal_pool); + ffmpegdec->internal_pool = gst_object_ref (pool); + ffmpegdec->pool_width = GST_VIDEO_INFO_WIDTH (&state->info); + ffmpegdec->pool_height = + MAX (GST_VIDEO_INFO_HEIGHT (&state->info), + ffmpegdec->context->coded_height); + ffmpegdec->pool_info = state->info; + gst_structure_free (config); + goto done; + } + } + } + } + + if (have_videometa && ffmpegdec->internal_pool + && gst_ffmpeg_pixfmt_to_videoformat (ffmpegdec->pool_format) == + GST_VIDEO_INFO_FORMAT (&state->info) + && ffmpegdec->pool_width == state->info.width + && ffmpegdec->pool_height == state->info.height) { + update_pool = TRUE; + gst_object_unref (pool); + pool = gst_object_ref (ffmpegdec->internal_pool); + gst_structure_free (config); + goto done; + } + + /* configure */ + if (!gst_buffer_pool_set_config (pool, config)) { + gboolean working_pool = FALSE; + config = gst_buffer_pool_get_config (pool); + + if (gst_buffer_pool_config_validate_params (config, state->caps, size, min, + max)) { + working_pool = gst_buffer_pool_set_config (pool, config); + } else { + gst_structure_free (config); + } + + if (!working_pool) { + gst_object_unref (pool); + pool = gst_video_buffer_pool_new (); + config = gst_buffer_pool_get_config (pool); + gst_buffer_pool_config_set_params (config, state->caps, size, min, max); + gst_buffer_pool_config_set_allocator (config, NULL, ¶ms); + gst_buffer_pool_set_config (pool, config); + update_pool = TRUE; + } + } + +done: + /* and store */ + if (update_pool) + gst_query_set_nth_allocation_pool (query, 0, pool, size, min, max); + + gst_object_unref (pool); + if (allocator) + gst_object_unref (allocator); + gst_video_codec_state_unref (state); + + return TRUE; +} + +static gboolean +gst_ffmpegviddec_propose_allocation (GstVideoDecoder * decoder, + GstQuery * query) +{ + GstAllocationParams params; + + gst_allocation_params_init (¶ms); + params.flags = GST_MEMORY_FLAG_ZERO_PADDED; + params.align = DEFAULT_STRIDE_ALIGN; + params.padding = AV_INPUT_BUFFER_PADDING_SIZE; + /* we would like to have some padding so that we don't have to + * memcpy. We don't suggest an allocator. */ + gst_query_add_allocation_param (query, NULL, ¶ms); + + return GST_VIDEO_DECODER_CLASS (parent_class)->propose_allocation (decoder, + query); +} + +static void +gst_ffmpegviddec_set_property (GObject * object, + guint prop_id, const GValue * value, GParamSpec * pspec) +{ + GstFFMpegVidDec *ffmpegdec = (GstFFMpegVidDec *) object; + + switch (prop_id) { + case PROP_LOWRES: + ffmpegdec->lowres = ffmpegdec->context->lowres = g_value_get_enum (value); + break; + case PROP_SKIPFRAME: + ffmpegdec->skip_frame = ffmpegdec->context->skip_frame = + g_value_get_enum (value); + break; + case PROP_DIRECT_RENDERING: + ffmpegdec->direct_rendering = g_value_get_boolean (value); + break; +#ifndef GST_REMOVE_DEPRECATED + case PROP_DEBUG_MV: + /* non-functional */ + break; +#endif + case PROP_MAX_THREADS: + ffmpegdec->max_threads = g_value_get_int (value); + break; + case PROP_OUTPUT_CORRUPT: + ffmpegdec->output_corrupt = g_value_get_boolean (value); + break; + case PROP_THREAD_TYPE: + ffmpegdec->thread_type = g_value_get_flags (value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +gst_ffmpegviddec_get_property (GObject * object, + guint prop_id, GValue * value, GParamSpec * pspec) +{ + GstFFMpegVidDec *ffmpegdec = (GstFFMpegVidDec *) object; + + switch (prop_id) { + case PROP_LOWRES: + g_value_set_enum (value, ffmpegdec->context->lowres); + break; + case PROP_SKIPFRAME: + g_value_set_enum (value, ffmpegdec->context->skip_frame); + break; + case PROP_DIRECT_RENDERING: + g_value_set_boolean (value, ffmpegdec->direct_rendering); + break; +#ifndef GST_REMOVE_DEPRECATED + case PROP_DEBUG_MV: + g_value_set_boolean (value, FALSE); + break; +#endif + case PROP_MAX_THREADS: + g_value_set_int (value, ffmpegdec->max_threads); + break; + case PROP_OUTPUT_CORRUPT: + g_value_set_boolean (value, ffmpegdec->output_corrupt); + break; + case PROP_THREAD_TYPE: + g_value_set_flags (value, ffmpegdec->thread_type); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +gboolean +gst_ffmpegviddec_register (GstPlugin * plugin) +{ + GTypeInfo typeinfo = { + sizeof (GstFFMpegVidDecClass), + (GBaseInitFunc) gst_ffmpegviddec_base_init, + NULL, + (GClassInitFunc) gst_ffmpegviddec_class_init, + NULL, + NULL, + sizeof (GstFFMpegVidDec), + 0, + (GInstanceInitFunc) gst_ffmpegviddec_init, + }; + GType type; + AVCodec *in_plugin; + gint rank; + void *i = 0; + + GST_LOG ("Registering decoders"); + + while ((in_plugin = (AVCodec *) av_codec_iterate (&i))) { + gchar *type_name; + gchar *plugin_name; + + /* only video decoders */ + if (!av_codec_is_decoder (in_plugin) + || in_plugin->type != AVMEDIA_TYPE_VIDEO) + continue; + + /* no quasi codecs, please */ + if (in_plugin->id == AV_CODEC_ID_RAWVIDEO || + in_plugin->id == AV_CODEC_ID_V210 || + in_plugin->id == AV_CODEC_ID_V210X || + in_plugin->id == AV_CODEC_ID_V308 || + in_plugin->id == AV_CODEC_ID_V408 || + in_plugin->id == AV_CODEC_ID_V410 || + in_plugin->id == AV_CODEC_ID_R210 + || in_plugin->id == AV_CODEC_ID_AYUV + || in_plugin->id == AV_CODEC_ID_Y41P + || in_plugin->id == AV_CODEC_ID_012V + || in_plugin->id == AV_CODEC_ID_YUV4 +#if AV_VERSION_INT (LIBAVCODEC_VERSION_MAJOR, LIBAVCODEC_VERSION_MINOR, LIBAVCODEC_VERSION_MICRO) >= \ + AV_VERSION_INT (57,4,0) + || in_plugin->id == AV_CODEC_ID_WRAPPED_AVFRAME +#endif + || in_plugin->id == AV_CODEC_ID_ZLIB) { + continue; + } + + /* No decoders depending on external libraries (we don't build them, but + * people who build against an external ffmpeg might have them. + * We have native gstreamer plugins for all of those libraries anyway. */ + if (!strncmp (in_plugin->name, "lib", 3)) { + GST_DEBUG + ("Not using external library decoder %s. Use the gstreamer-native ones instead.", + in_plugin->name); + continue; + } + + /* Skip hardware or hybrid (hardware with software fallback) */ + if ((in_plugin->capabilities & AV_CODEC_CAP_HARDWARE) == + AV_CODEC_CAP_HARDWARE) { + GST_DEBUG + ("Ignoring hardware decoder %s. We can't handle this outside of ffmpeg", + in_plugin->name); + continue; + } + + if ((in_plugin->capabilities & AV_CODEC_CAP_HYBRID) == AV_CODEC_CAP_HYBRID) { + GST_DEBUG + ("Ignoring hybrid decoder %s. We can't handle this outside of ffmpeg", + in_plugin->name); + continue; + } + + /* No vdpau plugins until we can figure out how to properly use them + * outside of ffmpeg. */ + if (g_str_has_suffix (in_plugin->name, "_vdpau")) { + GST_DEBUG + ("Ignoring VDPAU decoder %s. We can't handle this outside of ffmpeg", + in_plugin->name); + continue; + } + + if (g_str_has_suffix (in_plugin->name, "_xvmc")) { + GST_DEBUG + ("Ignoring XVMC decoder %s. We can't handle this outside of ffmpeg", + in_plugin->name); + continue; + } + + if (strstr (in_plugin->name, "vaapi")) { + GST_DEBUG + ("Ignoring VAAPI decoder %s. We can't handle this outside of ffmpeg", + in_plugin->name); + continue; + } + + if (g_str_has_suffix (in_plugin->name, "_qsv")) { + GST_DEBUG + ("Ignoring qsv decoder %s. We can't handle this outside of ffmpeg", + in_plugin->name); + continue; + } + + GST_DEBUG ("Trying plugin %s [%s]", in_plugin->name, in_plugin->long_name); + + /* no codecs for which we're GUARANTEED to have better alternatives */ + /* MPEG1VIDEO : the mpeg2video decoder is preferred */ + /* MP1 : Use MP3 for decoding */ + /* MP2 : Use MP3 for decoding */ + /* Theora: Use libtheora based theoradec */ + /* CDG: use cdgdec */ + if (!strcmp (in_plugin->name, "theora") || + !strcmp (in_plugin->name, "mpeg1video") || + strstr (in_plugin->name, "crystalhd") != NULL || + !strcmp (in_plugin->name, "ass") || + !strcmp (in_plugin->name, "srt") || + !strcmp (in_plugin->name, "pgssub") || + !strcmp (in_plugin->name, "dvdsub") || + !strcmp (in_plugin->name, "dvbsub") || + !strcmp (in_plugin->name, "cdgraphics")) { + GST_LOG ("Ignoring decoder %s", in_plugin->name); + continue; + } + + /* construct the type */ + if (!strcmp (in_plugin->name, "hevc")) { + plugin_name = g_strdup ("h265"); + } else { + plugin_name = g_strdup ((gchar *) in_plugin->name); + } + g_strdelimit (plugin_name, NULL, '_'); + type_name = g_strdup_printf ("avdec_%s", plugin_name); + g_free (plugin_name); + + type = g_type_from_name (type_name); + + if (!type) { + /* create the gtype now */ + type = + g_type_register_static (GST_TYPE_VIDEO_DECODER, type_name, &typeinfo, + 0); + g_type_set_qdata (type, GST_FFDEC_PARAMS_QDATA, (gpointer) in_plugin); + } + + /* (Ronald) MPEG-4 gets a higher priority because it has been well- + * tested and by far outperforms divxdec/xviddec - so we prefer it. + * msmpeg4v3 same, as it outperforms divxdec for divx3 playback. + * VC1/WMV3 are not working and thus unpreferred for now. */ + switch (in_plugin->id) { + case AV_CODEC_ID_MPEG1VIDEO: + case AV_CODEC_ID_MPEG2VIDEO: + case AV_CODEC_ID_MPEG4: + case AV_CODEC_ID_MSMPEG4V3: + case AV_CODEC_ID_H264: + case AV_CODEC_ID_HEVC: + case AV_CODEC_ID_RV10: + case AV_CODEC_ID_RV20: + case AV_CODEC_ID_RV30: + case AV_CODEC_ID_RV40: + rank = GST_RANK_PRIMARY; + break; + /* DVVIDEO: we have a good dv decoder, fast on both ppc as well as x86. + * They say libdv's quality is better though. leave as secondary. + * note: if you change this, see the code in gstdv.c in good/ext/dv. + */ + case AV_CODEC_ID_DVVIDEO: + rank = GST_RANK_SECONDARY; + break; + default: + rank = GST_RANK_MARGINAL; + break; + } + if (!gst_element_register (plugin, type_name, rank, type)) { + g_warning ("Failed to register %s", type_name); + g_free (type_name); + return FALSE; + } + + g_free (type_name); + } + + GST_LOG ("Finished Registering decoders"); + + return TRUE; +} diff --git a/ext/libav/gstavviddec.h b/ext/libav/gstavviddec.h new file mode 100644 index 0000000000..92789b9784 --- /dev/null +++ b/ext/libav/gstavviddec.h @@ -0,0 +1,94 @@ +/* GStreamer + * Copyright (C) <1999> Erik Walthinsen + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ +#ifndef __GST_FFMPEGVIDDEC_H__ +#define __GST_FFMPEGVIDDEC_H__ + +#include +#include +#include + +G_BEGIN_DECLS + +typedef struct _GstFFMpegVidDec GstFFMpegVidDec; +struct _GstFFMpegVidDec +{ + GstVideoDecoder parent; + + GstVideoCodecState *input_state; + GstVideoCodecState *output_state; + + /* decoding */ + AVCodecContext *context; + AVFrame *picture; + GstVideoMultiviewMode picture_multiview_mode; + GstVideoMultiviewFlags picture_multiview_flags; + gint stride[AV_NUM_DATA_POINTERS]; + gboolean opened; + + /* current output pictures */ + enum AVPixelFormat pic_pix_fmt; + gint pic_width; + gint pic_height; + gint pic_par_n; + gint pic_par_d; + gint pic_interlaced; + /* GST_VIDEO_BUFFER_FLAG_RFF | GST_VIDEO_BUFFER_FLAG_TFF */ + gint pic_field_order; + gboolean pic_field_order_changed; + GstVideoMultiviewMode cur_multiview_mode; + GstVideoMultiviewFlags cur_multiview_flags; + /* current context */ + gint ctx_ticks; + gint ctx_time_d; + gint ctx_time_n; + GstBuffer *palette; + + guint8 *padded; + gint padded_size; + + /* some properties */ + enum AVDiscard skip_frame; + gint lowres; + gboolean direct_rendering; + int max_threads; + gboolean output_corrupt; + guint thread_type; + + GstCaps *last_caps; + + /* Internally used for direct rendering */ + GstBufferPool *internal_pool; + gint pool_width; + gint pool_height; + enum AVPixelFormat pool_format; + GstVideoInfo pool_info; +}; + +typedef struct _GstFFMpegVidDecClass GstFFMpegVidDecClass; + +struct _GstFFMpegVidDecClass +{ + GstVideoDecoderClass parent_class; + + AVCodec *in_plugin; +}; + +G_END_DECLS + +#endif diff --git a/ext/libav/gstavvidenc.c b/ext/libav/gstavvidenc.c new file mode 100644 index 0000000000..0468d88804 --- /dev/null +++ b/ext/libav/gstavvidenc.c @@ -0,0 +1,1059 @@ +/* GStreamer + * Copyright (C) <1999> Erik Walthinsen + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include +/* for stats file handling */ +#include +#include +#include + +#include +#include +#include + +#include "gstav.h" +#include "gstavcodecmap.h" +#include "gstavutils.h" +#include "gstavvidenc.h" +#include "gstavcfg.h" + + +enum +{ + PROP_0, + PROP_QUANTIZER, + PROP_PASS, + PROP_FILENAME, + PROP_CFG_BASE, +}; + +static void gst_ffmpegvidenc_class_init (GstFFMpegVidEncClass * klass); +static void gst_ffmpegvidenc_base_init (GstFFMpegVidEncClass * klass); +static void gst_ffmpegvidenc_init (GstFFMpegVidEnc * ffmpegenc); +static void gst_ffmpegvidenc_finalize (GObject * object); + +static gboolean gst_ffmpegvidenc_start (GstVideoEncoder * encoder); +static gboolean gst_ffmpegvidenc_stop (GstVideoEncoder * encoder); +static GstFlowReturn gst_ffmpegvidenc_finish (GstVideoEncoder * encoder); +static gboolean gst_ffmpegvidenc_set_format (GstVideoEncoder * encoder, + GstVideoCodecState * state); +static gboolean gst_ffmpegvidenc_propose_allocation (GstVideoEncoder * encoder, + GstQuery * query); +static gboolean gst_ffmpegvidenc_flush (GstVideoEncoder * encoder); + +static GstFlowReturn gst_ffmpegvidenc_handle_frame (GstVideoEncoder * encoder, + GstVideoCodecFrame * frame); + +static void gst_ffmpegvidenc_set_property (GObject * object, + guint prop_id, const GValue * value, GParamSpec * pspec); +static void gst_ffmpegvidenc_get_property (GObject * object, + guint prop_id, GValue * value, GParamSpec * pspec); + +#define GST_FFENC_PARAMS_QDATA g_quark_from_static_string("avenc-params") + +static GstElementClass *parent_class = NULL; + +#define GST_TYPE_FFMPEG_PASS (gst_ffmpeg_pass_get_type ()) +static GType +gst_ffmpeg_pass_get_type (void) +{ + static GType ffmpeg_pass_type = 0; + + if (!ffmpeg_pass_type) { + static const GEnumValue ffmpeg_passes[] = { + {0, "Constant Bitrate Encoding", "cbr"}, + {AV_CODEC_FLAG_QSCALE, "Constant Quantizer", "quant"}, + {AV_CODEC_FLAG_PASS1, "VBR Encoding - Pass 1", "pass1"}, + {AV_CODEC_FLAG_PASS2, "VBR Encoding - Pass 2", "pass2"}, + {0, NULL, NULL}, + }; + + ffmpeg_pass_type = + g_enum_register_static ("GstLibAVEncPass", ffmpeg_passes); + } + + return ffmpeg_pass_type; +} + +static void +gst_ffmpegvidenc_base_init (GstFFMpegVidEncClass * klass) +{ + GstElementClass *element_class = GST_ELEMENT_CLASS (klass); + AVCodec *in_plugin; + GstPadTemplate *srctempl = NULL, *sinktempl = NULL; + GstCaps *srccaps = NULL, *sinkcaps = NULL; + gchar *longname, *description; + const gchar *classification; + + in_plugin = + (AVCodec *) g_type_get_qdata (G_OBJECT_CLASS_TYPE (klass), + GST_FFENC_PARAMS_QDATA); + g_assert (in_plugin != NULL); + + /* construct the element details struct */ + longname = g_strdup_printf ("libav %s encoder", in_plugin->long_name); + description = g_strdup_printf ("libav %s encoder", in_plugin->name); + classification = + gst_ffmpeg_codecid_is_image (in_plugin->id) ? "Codec/Encoder/Image" : + "Codec/Encoder/Video"; + gst_element_class_set_metadata (element_class, longname, + classification, description, + "Wim Taymans , " + "Ronald Bultje "); + g_free (longname); + g_free (description); + + if (!(srccaps = gst_ffmpeg_codecid_to_caps (in_plugin->id, NULL, TRUE))) { + GST_DEBUG ("Couldn't get source caps for encoder '%s'", in_plugin->name); + srccaps = gst_caps_new_empty_simple ("unknown/unknown"); + } + + sinkcaps = gst_ffmpeg_codectype_to_video_caps (NULL, + in_plugin->id, TRUE, in_plugin); + if (!sinkcaps) { + GST_DEBUG ("Couldn't get sink caps for encoder '%s'", in_plugin->name); + sinkcaps = gst_caps_new_empty_simple ("unknown/unknown"); + } + + /* pad templates */ + sinktempl = gst_pad_template_new ("sink", GST_PAD_SINK, + GST_PAD_ALWAYS, sinkcaps); + srctempl = gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS, srccaps); + + gst_element_class_add_pad_template (element_class, srctempl); + gst_element_class_add_pad_template (element_class, sinktempl); + + gst_caps_unref (sinkcaps); + gst_caps_unref (srccaps); + + klass->in_plugin = in_plugin; + klass->srctempl = srctempl; + klass->sinktempl = sinktempl; + + return; +} + +static void +gst_ffmpegvidenc_class_init (GstFFMpegVidEncClass * klass) +{ + GObjectClass *gobject_class; + GstVideoEncoderClass *venc_class; + + gobject_class = (GObjectClass *) klass; + venc_class = (GstVideoEncoderClass *) klass; + + parent_class = g_type_class_peek_parent (klass); + + gobject_class->set_property = gst_ffmpegvidenc_set_property; + gobject_class->get_property = gst_ffmpegvidenc_get_property; + + g_object_class_install_property (gobject_class, PROP_QUANTIZER, + g_param_spec_float ("quantizer", "Constant Quantizer", + "Constant Quantizer", 0, 30, 0.01f, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT)); + + g_object_class_install_property (gobject_class, PROP_PASS, + g_param_spec_enum ("pass", "Encoding pass/type", + "Encoding pass/type", GST_TYPE_FFMPEG_PASS, 0, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT)); + + g_object_class_install_property (gobject_class, PROP_FILENAME, + g_param_spec_string ("multipass-cache-file", "Multipass Cache File", + "Filename for multipass cache file", "stats.log", + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT)); + + /* register additional properties, possibly dependent on the exact CODEC */ + gst_ffmpeg_cfg_install_properties (gobject_class, klass->in_plugin, + PROP_CFG_BASE, AV_OPT_FLAG_ENCODING_PARAM | AV_OPT_FLAG_VIDEO_PARAM); + + venc_class->start = gst_ffmpegvidenc_start; + venc_class->stop = gst_ffmpegvidenc_stop; + venc_class->finish = gst_ffmpegvidenc_finish; + venc_class->handle_frame = gst_ffmpegvidenc_handle_frame; + venc_class->set_format = gst_ffmpegvidenc_set_format; + venc_class->propose_allocation = gst_ffmpegvidenc_propose_allocation; + venc_class->flush = gst_ffmpegvidenc_flush; + + gobject_class->finalize = gst_ffmpegvidenc_finalize; + + gst_type_mark_as_plugin_api (GST_TYPE_FFMPEG_PASS, 0); +} + +static void +gst_ffmpegvidenc_init (GstFFMpegVidEnc * ffmpegenc) +{ + GstFFMpegVidEncClass *klass = + (GstFFMpegVidEncClass *) G_OBJECT_GET_CLASS (ffmpegenc); + + GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_ENCODER_SINK_PAD (ffmpegenc)); + + ffmpegenc->context = avcodec_alloc_context3 (klass->in_plugin); + ffmpegenc->refcontext = avcodec_alloc_context3 (klass->in_plugin); + ffmpegenc->picture = av_frame_alloc (); + ffmpegenc->opened = FALSE; + ffmpegenc->file = NULL; +} + +static void +gst_ffmpegvidenc_finalize (GObject * object) +{ + GstFFMpegVidEnc *ffmpegenc = (GstFFMpegVidEnc *) object; + + /* clean up remaining allocated data */ + av_frame_free (&ffmpegenc->picture); + gst_ffmpeg_avcodec_close (ffmpegenc->context); + gst_ffmpeg_avcodec_close (ffmpegenc->refcontext); + av_free (ffmpegenc->context); + av_free (ffmpegenc->refcontext); + + G_OBJECT_CLASS (parent_class)->finalize (object); +} + +static gboolean +gst_ffmpegvidenc_set_format (GstVideoEncoder * encoder, + GstVideoCodecState * state) +{ + GstCaps *other_caps; + GstCaps *allowed_caps; + GstCaps *icaps; + GstVideoCodecState *output_format; + enum AVPixelFormat pix_fmt; + GstFFMpegVidEnc *ffmpegenc = (GstFFMpegVidEnc *) encoder; + GstFFMpegVidEncClass *oclass = + (GstFFMpegVidEncClass *) G_OBJECT_GET_CLASS (ffmpegenc); + + ffmpegenc->need_reopen = FALSE; + + /* close old session */ + if (ffmpegenc->opened) { + gst_ffmpeg_avcodec_close (ffmpegenc->context); + ffmpegenc->opened = FALSE; + if (avcodec_get_context_defaults3 (ffmpegenc->context, + oclass->in_plugin) < 0) { + GST_DEBUG_OBJECT (ffmpegenc, "Failed to set context defaults"); + return FALSE; + } + } + + /* additional avcodec settings */ + gst_ffmpeg_cfg_fill_context (G_OBJECT (ffmpegenc), ffmpegenc->context); + + if (GST_VIDEO_INFO_IS_INTERLACED (&state->info)) + ffmpegenc->context->flags |= + AV_CODEC_FLAG_INTERLACED_DCT | AV_CODEC_FLAG_INTERLACED_ME; + + /* and last but not least the pass; CBR, 2-pass, etc */ + ffmpegenc->context->flags |= ffmpegenc->pass; + switch (ffmpegenc->pass) { + /* some additional action depends on type of pass */ + case AV_CODEC_FLAG_QSCALE: + ffmpegenc->context->global_quality + = ffmpegenc->picture->quality = FF_QP2LAMBDA * ffmpegenc->quantizer; + break; + case AV_CODEC_FLAG_PASS1: /* need to prepare a stats file */ + /* we don't close when changing caps, fingers crossed */ + if (!ffmpegenc->file) + ffmpegenc->file = g_fopen (ffmpegenc->filename, "w"); + if (!ffmpegenc->file) + goto open_file_err; + break; + case AV_CODEC_FLAG_PASS2: + { /* need to read the whole stats file ! */ + gsize size; + + if (!g_file_get_contents (ffmpegenc->filename, + &ffmpegenc->context->stats_in, &size, NULL)) + goto file_read_err; + + break; + } + default: + break; + } + + GST_DEBUG_OBJECT (ffmpegenc, "Extracting common video information"); + /* fetch pix_fmt, fps, par, width, height... */ + gst_ffmpeg_videoinfo_to_context (&state->info, ffmpegenc->context); + + /* sanitize time base */ + if (ffmpegenc->context->time_base.num <= 0 + || ffmpegenc->context->time_base.den <= 0) + goto insane_timebase; + + if ((oclass->in_plugin->id == AV_CODEC_ID_MPEG4) + && (ffmpegenc->context->time_base.den > 65535)) { + /* MPEG4 Standards do not support time_base denominator greater than + * (1<<16) - 1 . We therefore scale them down. + * Agreed, it will not be the exact framerate... but the difference + * shouldn't be that noticeable */ + ffmpegenc->context->time_base.num = + (gint) gst_util_uint64_scale_int (ffmpegenc->context->time_base.num, + 65535, ffmpegenc->context->time_base.den); + ffmpegenc->context->time_base.den = 65535; + GST_LOG_OBJECT (ffmpegenc, "MPEG4 : scaled down framerate to %d / %d", + ffmpegenc->context->time_base.den, ffmpegenc->context->time_base.num); + } + + pix_fmt = ffmpegenc->context->pix_fmt; + + /* some codecs support more than one format, first auto-choose one */ + GST_DEBUG_OBJECT (ffmpegenc, "picking an output format ..."); + allowed_caps = gst_pad_get_allowed_caps (GST_VIDEO_ENCODER_SRC_PAD (encoder)); + if (!allowed_caps) { + GST_DEBUG_OBJECT (ffmpegenc, "... but no peer, using template caps"); + /* we need to copy because get_allowed_caps returns a ref, and + * get_pad_template_caps doesn't */ + allowed_caps = + gst_pad_get_pad_template_caps (GST_VIDEO_ENCODER_SRC_PAD (encoder)); + } + GST_DEBUG_OBJECT (ffmpegenc, "chose caps %" GST_PTR_FORMAT, allowed_caps); + gst_ffmpeg_caps_with_codecid (oclass->in_plugin->id, + oclass->in_plugin->type, allowed_caps, ffmpegenc->context); + + /* open codec */ + if (gst_ffmpeg_avcodec_open (ffmpegenc->context, oclass->in_plugin) < 0) { + gst_caps_unref (allowed_caps); + goto open_codec_fail; + } + + /* is the colourspace correct? */ + if (pix_fmt != ffmpegenc->context->pix_fmt) { + gst_caps_unref (allowed_caps); + goto pix_fmt_err; + } + + /* we may have failed mapping caps to a pixfmt, + * and quite some codecs do not make up their own mind about that + * in any case, _NONE can never work out later on */ + if (pix_fmt == AV_PIX_FMT_NONE) { + gst_caps_unref (allowed_caps); + goto bad_input_fmt; + } + + /* second pass stats buffer no longer needed */ + g_free (ffmpegenc->context->stats_in); + + /* try to set this caps on the other side */ + other_caps = gst_ffmpeg_codecid_to_caps (oclass->in_plugin->id, + ffmpegenc->context, TRUE); + + if (!other_caps) { + gst_caps_unref (allowed_caps); + goto unsupported_codec; + } + + icaps = gst_caps_intersect (allowed_caps, other_caps); + gst_caps_unref (allowed_caps); + gst_caps_unref (other_caps); + if (gst_caps_is_empty (icaps)) { + gst_caps_unref (icaps); + goto unsupported_codec; + } + icaps = gst_caps_fixate (icaps); + + GST_DEBUG_OBJECT (ffmpegenc, "codec flags 0x%08x", ffmpegenc->context->flags); + + /* Store input state and set output state */ + if (ffmpegenc->input_state) + gst_video_codec_state_unref (ffmpegenc->input_state); + ffmpegenc->input_state = gst_video_codec_state_ref (state); + + output_format = gst_video_encoder_set_output_state (encoder, icaps, state); + gst_video_codec_state_unref (output_format); + + /* Store some tags */ + { + GstTagList *tags = gst_tag_list_new_empty (); + const gchar *codec; + + gst_tag_list_add (tags, GST_TAG_MERGE_REPLACE, GST_TAG_NOMINAL_BITRATE, + (guint) ffmpegenc->context->bit_rate, NULL); + + if ((codec = + gst_ffmpeg_get_codecid_longname (ffmpegenc->context->codec_id))) + gst_tag_list_add (tags, GST_TAG_MERGE_REPLACE, GST_TAG_VIDEO_CODEC, codec, + NULL); + + gst_video_encoder_merge_tags (encoder, tags, GST_TAG_MERGE_REPLACE); + gst_tag_list_unref (tags); + } + + /* success! */ + ffmpegenc->opened = TRUE; + + return TRUE; + + /* ERRORS */ +open_file_err: + { + GST_ELEMENT_ERROR (ffmpegenc, RESOURCE, OPEN_WRITE, + (("Could not open file \"%s\" for writing."), ffmpegenc->filename), + GST_ERROR_SYSTEM); + return FALSE; + } +file_read_err: + { + GST_ELEMENT_ERROR (ffmpegenc, RESOURCE, READ, + (("Could not get contents of file \"%s\"."), ffmpegenc->filename), + GST_ERROR_SYSTEM); + return FALSE; + } + +insane_timebase: + { + GST_ERROR_OBJECT (ffmpegenc, "Rejecting time base %d/%d", + ffmpegenc->context->time_base.den, ffmpegenc->context->time_base.num); + goto cleanup_stats_in; + } +unsupported_codec: + { + GST_DEBUG ("Unsupported codec - no caps found"); + goto cleanup_stats_in; + } +open_codec_fail: + { + GST_DEBUG_OBJECT (ffmpegenc, "avenc_%s: Failed to open libav codec", + oclass->in_plugin->name); + goto close_codec; + } + +pix_fmt_err: + { + GST_DEBUG_OBJECT (ffmpegenc, + "avenc_%s: AV wants different colourspace (%d given, %d wanted)", + oclass->in_plugin->name, pix_fmt, ffmpegenc->context->pix_fmt); + goto close_codec; + } + +bad_input_fmt: + { + GST_DEBUG_OBJECT (ffmpegenc, "avenc_%s: Failed to determine input format", + oclass->in_plugin->name); + goto close_codec; + } +close_codec: + { + gst_ffmpeg_avcodec_close (ffmpegenc->context); + if (avcodec_get_context_defaults3 (ffmpegenc->context, + oclass->in_plugin) < 0) + GST_DEBUG_OBJECT (ffmpegenc, "Failed to set context defaults"); + goto cleanup_stats_in; + } +cleanup_stats_in: + { + g_free (ffmpegenc->context->stats_in); + return FALSE; + } +} + + +static gboolean +gst_ffmpegvidenc_propose_allocation (GstVideoEncoder * encoder, + GstQuery * query) +{ + gst_query_add_allocation_meta (query, GST_VIDEO_META_API_TYPE, NULL); + + return GST_VIDEO_ENCODER_CLASS (parent_class)->propose_allocation (encoder, + query); +} + +static void +gst_ffmpegvidenc_free_avpacket (gpointer pkt) +{ + av_packet_unref ((AVPacket *) pkt); + g_slice_free (AVPacket, pkt); +} + +typedef struct +{ + GstBuffer *buffer; + GstVideoFrame vframe; +} BufferInfo; + +static void +buffer_info_free (void *opaque, guint8 * data) +{ + BufferInfo *info = opaque; + + gst_video_frame_unmap (&info->vframe); + gst_buffer_unref (info->buffer); + g_slice_free (BufferInfo, info); +} + +static enum AVStereo3DType +stereo_gst_to_av (GstVideoMultiviewMode mview_mode) +{ + switch (mview_mode) { + case GST_VIDEO_MULTIVIEW_MODE_MONO: + /* Video is not stereoscopic (and metadata has to be there). */ + return AV_STEREO3D_2D; + case GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE: + return AV_STEREO3D_SIDEBYSIDE; + case GST_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM: + return AV_STEREO3D_TOPBOTTOM; + case GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME: + return AV_STEREO3D_FRAMESEQUENCE; + case GST_VIDEO_MULTIVIEW_MODE_CHECKERBOARD: + return AV_STEREO3D_CHECKERBOARD; + case GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX: + return AV_STEREO3D_SIDEBYSIDE_QUINCUNX; + case GST_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED: + return AV_STEREO3D_LINES; + case GST_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED: + return AV_STEREO3D_COLUMNS; + default: + break; + } + GST_WARNING ("Unsupported multiview mode - no mapping in libav"); + return AV_STEREO3D_2D; +} + +static void +gst_ffmpegvidenc_add_cc (GstBuffer * buffer, AVFrame * picture) +{ + GstVideoCaptionMeta *cc_meta; + gpointer iter = NULL; + + while ((cc_meta = + (GstVideoCaptionMeta *) gst_buffer_iterate_meta_filtered (buffer, + &iter, GST_VIDEO_CAPTION_META_API_TYPE))) { + AVFrameSideData *sd; + + if (cc_meta->caption_type != GST_VIDEO_CAPTION_TYPE_CEA708_RAW) + continue; + + sd = av_frame_new_side_data (picture, AV_FRAME_DATA_A53_CC, cc_meta->size); + memcpy (sd->data, cc_meta->data, cc_meta->size); + } +} + +static GstFlowReturn +gst_ffmpegvidenc_send_frame (GstFFMpegVidEnc * ffmpegenc, + GstVideoCodecFrame * frame) +{ + GstVideoInfo *info = &ffmpegenc->input_state->info; + BufferInfo *buffer_info; + guint c; + gint res; + GstFlowReturn ret = GST_FLOW_ERROR; + AVFrame *picture = NULL; + + if (!frame) + goto send_frame; + + picture = ffmpegenc->picture; + + gst_ffmpegvidenc_add_cc (frame->input_buffer, picture); + + if (GST_VIDEO_INFO_IS_INTERLACED (&ffmpegenc->input_state->info)) { + picture->interlaced_frame = TRUE; + picture->top_field_first = + GST_BUFFER_FLAG_IS_SET (frame->input_buffer, GST_VIDEO_BUFFER_FLAG_TFF) + || GST_VIDEO_INFO_FIELD_ORDER (&ffmpegenc->input_state->info) == + GST_VIDEO_FIELD_ORDER_TOP_FIELD_FIRST; + picture->repeat_pict = + GST_BUFFER_FLAG_IS_SET (frame->input_buffer, GST_VIDEO_BUFFER_FLAG_RFF); + } + + if (GST_VIDEO_INFO_MULTIVIEW_MODE (info) != GST_VIDEO_MULTIVIEW_MODE_NONE) { + AVStereo3D *stereo = av_stereo3d_create_side_data (picture); + stereo->type = stereo_gst_to_av (GST_VIDEO_INFO_MULTIVIEW_MODE (info)); + + if (GST_VIDEO_INFO_MULTIVIEW_FLAGS (info) & + GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_VIEW_FIRST) { + stereo->flags = AV_STEREO3D_FLAG_INVERT; + } + } + + if (GST_VIDEO_CODEC_FRAME_IS_FORCE_KEYFRAME (frame)) + picture->pict_type = AV_PICTURE_TYPE_I; + + buffer_info = g_slice_new0 (BufferInfo); + buffer_info->buffer = gst_buffer_ref (frame->input_buffer); + + if (!gst_video_frame_map (&buffer_info->vframe, info, frame->input_buffer, + GST_MAP_READ)) { + GST_ERROR_OBJECT (ffmpegenc, "Failed to map input buffer"); + gst_buffer_unref (buffer_info->buffer); + g_slice_free (BufferInfo, buffer_info); + gst_video_codec_frame_unref (frame); + goto done; + } + + /* Fill avpicture */ + picture->buf[0] = + av_buffer_create (NULL, 0, buffer_info_free, buffer_info, 0); + for (c = 0; c < AV_NUM_DATA_POINTERS; c++) { + if (c < GST_VIDEO_INFO_N_COMPONENTS (info)) { + picture->data[c] = GST_VIDEO_FRAME_PLANE_DATA (&buffer_info->vframe, c); + picture->linesize[c] = + GST_VIDEO_FRAME_COMP_STRIDE (&buffer_info->vframe, c); + } else { + picture->data[c] = NULL; + picture->linesize[c] = 0; + } + } + + picture->format = ffmpegenc->context->pix_fmt; + picture->width = GST_VIDEO_FRAME_WIDTH (&buffer_info->vframe); + picture->height = GST_VIDEO_FRAME_HEIGHT (&buffer_info->vframe); + + picture->pts = + gst_ffmpeg_time_gst_to_ff (frame->pts / + ffmpegenc->context->ticks_per_frame, ffmpegenc->context->time_base); + +send_frame: + if (!picture) { + GstFFMpegVidEncClass *oclass = + (GstFFMpegVidEncClass *) (G_OBJECT_GET_CLASS (ffmpegenc)); + + /* If AV_CODEC_CAP_ENCODER_FLUSH wasn't set, we need to re-open + * encoder */ + if (!(oclass->in_plugin->capabilities & AV_CODEC_CAP_ENCODER_FLUSH)) { + GST_DEBUG_OBJECT (ffmpegenc, "Encoder needs reopen later"); + + /* we will reopen later handle_frame() */ + ffmpegenc->need_reopen = TRUE; + } + } + + res = avcodec_send_frame (ffmpegenc->context, picture); + + if (picture) + av_frame_unref (picture); + + if (res == 0) + ret = GST_FLOW_OK; + else if (res == AVERROR_EOF) + ret = GST_FLOW_EOS; + +done: + return ret; +} + +static GstFlowReturn +gst_ffmpegvidenc_receive_packet (GstFFMpegVidEnc * ffmpegenc, + gboolean * got_packet, gboolean send) +{ + AVPacket *pkt; + GstBuffer *outbuf; + GstVideoCodecFrame *frame; + gint res; + GstFlowReturn ret = GST_FLOW_OK; + + *got_packet = FALSE; + + pkt = g_slice_new0 (AVPacket); + + res = avcodec_receive_packet (ffmpegenc->context, pkt); + + if (res == AVERROR (EAGAIN)) { + g_slice_free (AVPacket, pkt); + goto done; + } else if (res == AVERROR_EOF) { + ret = GST_FLOW_EOS; + goto done; + } else if (res < 0) { + ret = GST_FLOW_ERROR; + goto done; + } + + *got_packet = TRUE; + + /* save stats info if there is some as well as a stats file */ + if (ffmpegenc->file && ffmpegenc->context->stats_out) + if (fprintf (ffmpegenc->file, "%s", ffmpegenc->context->stats_out) < 0) + GST_ELEMENT_ERROR (ffmpegenc, RESOURCE, WRITE, + (("Could not write to file \"%s\"."), ffmpegenc->filename), + GST_ERROR_SYSTEM); + + /* Get oldest frame */ + frame = gst_video_encoder_get_oldest_frame (GST_VIDEO_ENCODER (ffmpegenc)); + + if (send) { + outbuf = + gst_buffer_new_wrapped_full (GST_MEMORY_FLAG_READONLY, pkt->data, + pkt->size, 0, pkt->size, pkt, gst_ffmpegvidenc_free_avpacket); + frame->output_buffer = outbuf; + + if (pkt->flags & AV_PKT_FLAG_KEY) + GST_VIDEO_CODEC_FRAME_SET_SYNC_POINT (frame); + else + GST_VIDEO_CODEC_FRAME_UNSET_SYNC_POINT (frame); + } + + frame->dts = + gst_ffmpeg_time_ff_to_gst (pkt->dts, ffmpegenc->context->time_base); + /* This will lose some precision compared to setting the PTS from the input + * buffer directly, but that way we're sure PTS and DTS are consistent, in + * particular DTS should always be <= PTS + */ + frame->pts = + gst_ffmpeg_time_ff_to_gst (pkt->pts, ffmpegenc->context->time_base); + + ret = gst_video_encoder_finish_frame (GST_VIDEO_ENCODER (ffmpegenc), frame); + +done: + return ret; +} + +static GstFlowReturn +gst_ffmpegvidenc_handle_frame (GstVideoEncoder * encoder, + GstVideoCodecFrame * frame) +{ + GstFFMpegVidEnc *ffmpegenc = (GstFFMpegVidEnc *) encoder; + GstFlowReturn ret; + gboolean got_packet; + + /* endoder was drained or flushed, and ffmpeg encoder doesn't support + * flushing. We need to re-open encoder then */ + if (ffmpegenc->need_reopen) { + gboolean reopen_ret; + GstVideoCodecState *input_state; + + GST_DEBUG_OBJECT (ffmpegenc, "Open encoder again"); + + if (!ffmpegenc->input_state) { + GST_ERROR_OBJECT (ffmpegenc, + "Cannot re-open encoder without input state"); + return GST_FLOW_NOT_NEGOTIATED; + } + + input_state = gst_video_codec_state_ref (ffmpegenc->input_state); + reopen_ret = gst_ffmpegvidenc_set_format (encoder, input_state); + gst_video_codec_state_unref (input_state); + + if (!reopen_ret) { + GST_ERROR_OBJECT (ffmpegenc, "Couldn't re-open encoder"); + return GST_FLOW_NOT_NEGOTIATED; + } + } + + ret = gst_ffmpegvidenc_send_frame (ffmpegenc, frame); + + if (ret != GST_FLOW_OK) + goto encode_fail; + + gst_video_codec_frame_unref (frame); + + do { + ret = gst_ffmpegvidenc_receive_packet (ffmpegenc, &got_packet, TRUE); + if (ret != GST_FLOW_OK) + break; + } while (got_packet); + +done: + return ret; + + /* We choose to be error-resilient */ +encode_fail: + { +#ifndef GST_DISABLE_GST_DEBUG + GstFFMpegVidEncClass *oclass = + (GstFFMpegVidEncClass *) (G_OBJECT_GET_CLASS (ffmpegenc)); + GST_ERROR_OBJECT (ffmpegenc, + "avenc_%s: failed to encode buffer", oclass->in_plugin->name); +#endif /* GST_DISABLE_GST_DEBUG */ + /* avoid frame (and ts etc) piling up */ + ret = gst_video_encoder_finish_frame (encoder, frame); + goto done; + } +} + +static GstFlowReturn +gst_ffmpegvidenc_flush_buffers (GstFFMpegVidEnc * ffmpegenc, gboolean send) +{ + GstFlowReturn ret = GST_FLOW_OK; + gboolean got_packet; + + GST_DEBUG_OBJECT (ffmpegenc, "flushing buffers with sending %d", send); + + /* no need to empty codec if there is none */ + if (!ffmpegenc->opened) + goto done; + + ret = gst_ffmpegvidenc_send_frame (ffmpegenc, NULL); + + if (ret != GST_FLOW_OK) + goto done; + + do { + ret = gst_ffmpegvidenc_receive_packet (ffmpegenc, &got_packet, send); + if (ret != GST_FLOW_OK) + break; + } while (got_packet); + avcodec_flush_buffers (ffmpegenc->context); + +done: + /* FFMpeg will return AVERROR_EOF if it's internal was fully drained + * then we are translating it to GST_FLOW_EOS. However, because this behavior + * is fully internal stuff of this implementation and gstvideoencoder + * baseclass doesn't convert this GST_FLOW_EOS to GST_FLOW_OK, + * convert this flow returned here */ + if (ret == GST_FLOW_EOS) + ret = GST_FLOW_OK; + + return ret; +} + +static void +gst_ffmpegvidenc_set_property (GObject * object, + guint prop_id, const GValue * value, GParamSpec * pspec) +{ + GstFFMpegVidEnc *ffmpegenc; + + ffmpegenc = (GstFFMpegVidEnc *) (object); + + if (ffmpegenc->opened) { + GST_WARNING_OBJECT (ffmpegenc, + "Can't change properties once decoder is setup !"); + return; + } + + switch (prop_id) { + case PROP_QUANTIZER: + ffmpegenc->quantizer = g_value_get_float (value); + break; + case PROP_PASS: + ffmpegenc->pass = g_value_get_enum (value); + break; + case PROP_FILENAME: + g_free (ffmpegenc->filename); + ffmpegenc->filename = g_value_dup_string (value); + break; + default: + if (!gst_ffmpeg_cfg_set_property (ffmpegenc->refcontext, value, pspec)) + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +gst_ffmpegvidenc_get_property (GObject * object, + guint prop_id, GValue * value, GParamSpec * pspec) +{ + GstFFMpegVidEnc *ffmpegenc; + + ffmpegenc = (GstFFMpegVidEnc *) (object); + + switch (prop_id) { + case PROP_QUANTIZER: + g_value_set_float (value, ffmpegenc->quantizer); + break; + case PROP_PASS: + g_value_set_enum (value, ffmpegenc->pass); + break; + case PROP_FILENAME: + g_value_take_string (value, g_strdup (ffmpegenc->filename)); + break; + default: + if (!gst_ffmpeg_cfg_get_property (ffmpegenc->refcontext, value, pspec)) + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static gboolean +gst_ffmpegvidenc_flush (GstVideoEncoder * encoder) +{ + GstFFMpegVidEnc *ffmpegenc = (GstFFMpegVidEnc *) encoder; + + if (ffmpegenc->opened) + avcodec_flush_buffers (ffmpegenc->context); + + return TRUE; +} + +static gboolean +gst_ffmpegvidenc_start (GstVideoEncoder * encoder) +{ + GstFFMpegVidEnc *ffmpegenc = (GstFFMpegVidEnc *) encoder; + GstFFMpegVidEncClass *oclass = + (GstFFMpegVidEncClass *) G_OBJECT_GET_CLASS (ffmpegenc); + + ffmpegenc->opened = FALSE; + ffmpegenc->need_reopen = FALSE; + + /* close old session */ + gst_ffmpeg_avcodec_close (ffmpegenc->context); + if (avcodec_get_context_defaults3 (ffmpegenc->context, oclass->in_plugin) < 0) { + GST_DEBUG_OBJECT (ffmpegenc, "Failed to set context defaults"); + return FALSE; + } + + gst_video_encoder_set_min_pts (encoder, GST_SECOND * 60 * 60 * 1000); + + return TRUE; +} + +static gboolean +gst_ffmpegvidenc_stop (GstVideoEncoder * encoder) +{ + GstFFMpegVidEnc *ffmpegenc = (GstFFMpegVidEnc *) encoder; + + gst_ffmpegvidenc_flush_buffers (ffmpegenc, FALSE); + gst_ffmpeg_avcodec_close (ffmpegenc->context); + ffmpegenc->opened = FALSE; + ffmpegenc->need_reopen = FALSE; + + if (ffmpegenc->input_state) { + gst_video_codec_state_unref (ffmpegenc->input_state); + ffmpegenc->input_state = NULL; + } + + return TRUE; +} + +static GstFlowReturn +gst_ffmpegvidenc_finish (GstVideoEncoder * encoder) +{ + GstFFMpegVidEnc *ffmpegenc = (GstFFMpegVidEnc *) encoder; + + return gst_ffmpegvidenc_flush_buffers (ffmpegenc, TRUE); +} + +gboolean +gst_ffmpegvidenc_register (GstPlugin * plugin) +{ + GTypeInfo typeinfo = { + sizeof (GstFFMpegVidEncClass), + (GBaseInitFunc) gst_ffmpegvidenc_base_init, + NULL, + (GClassInitFunc) gst_ffmpegvidenc_class_init, + NULL, + NULL, + sizeof (GstFFMpegVidEnc), + 0, + (GInstanceInitFunc) gst_ffmpegvidenc_init, + }; + GType type; + AVCodec *in_plugin; + void *i = 0; + + GST_LOG ("Registering encoders"); + + while ((in_plugin = (AVCodec *) av_codec_iterate (&i))) { + gchar *type_name; + + /* Skip non-AV codecs */ + if (in_plugin->type != AVMEDIA_TYPE_VIDEO) + continue; + + /* no quasi codecs, please */ + if (in_plugin->id == AV_CODEC_ID_RAWVIDEO || + in_plugin->id == AV_CODEC_ID_V210 || + in_plugin->id == AV_CODEC_ID_V210X || + in_plugin->id == AV_CODEC_ID_V308 || + in_plugin->id == AV_CODEC_ID_V408 || + in_plugin->id == AV_CODEC_ID_V410 || + in_plugin->id == AV_CODEC_ID_R210 + || in_plugin->id == AV_CODEC_ID_AYUV + || in_plugin->id == AV_CODEC_ID_Y41P + || in_plugin->id == AV_CODEC_ID_012V + || in_plugin->id == AV_CODEC_ID_YUV4 +#if AV_VERSION_INT (LIBAVCODEC_VERSION_MAJOR, LIBAVCODEC_VERSION_MINOR, LIBAVCODEC_VERSION_MICRO) >= \ + AV_VERSION_INT (57,4,0) + || in_plugin->id == AV_CODEC_ID_WRAPPED_AVFRAME +#endif + || in_plugin->id == AV_CODEC_ID_ZLIB) { + continue; + } + + /* No encoders depending on external libraries (we don't build them, but + * people who build against an external ffmpeg might have them. + * We have native gstreamer plugins for all of those libraries anyway. */ + if (!strncmp (in_plugin->name, "lib", 3)) { + GST_DEBUG + ("Not using external library encoder %s. Use the gstreamer-native ones instead.", + in_plugin->name); + continue; + } + + /* Skip hardware or hybrid (hardware with software fallback) */ + if ((in_plugin->capabilities & AV_CODEC_CAP_HARDWARE) == + AV_CODEC_CAP_HARDWARE) { + GST_DEBUG + ("Ignoring hardware encoder %s. We can't handle this outside of ffmpeg", + in_plugin->name); + continue; + } + + if ((in_plugin->capabilities & AV_CODEC_CAP_HYBRID) == AV_CODEC_CAP_HYBRID) { + GST_DEBUG + ("Ignoring hybrid encoder %s. We can't handle this outside of ffmpeg", + in_plugin->name); + continue; + } + + /* only video encoders */ + if (!av_codec_is_encoder (in_plugin) + || in_plugin->type != AVMEDIA_TYPE_VIDEO) + continue; + + /* FIXME : We should have a method to know cheaply whether we have a mapping + * for the given plugin or not */ + + GST_DEBUG ("Trying plugin %s [%s]", in_plugin->name, in_plugin->long_name); + + /* no codecs for which we're GUARANTEED to have better alternatives */ + if (!strcmp (in_plugin->name, "gif")) { + GST_LOG ("Ignoring encoder %s", in_plugin->name); + continue; + } + + /* construct the type */ + type_name = g_strdup_printf ("avenc_%s", in_plugin->name); + + type = g_type_from_name (type_name); + + if (!type) { + + /* create the glib type now */ + type = + g_type_register_static (GST_TYPE_VIDEO_ENCODER, type_name, &typeinfo, + 0); + g_type_set_qdata (type, GST_FFENC_PARAMS_QDATA, (gpointer) in_plugin); + + { + static const GInterfaceInfo preset_info = { + NULL, + NULL, + NULL + }; + g_type_add_interface_static (type, GST_TYPE_PRESET, &preset_info); + } + } + + if (!gst_element_register (plugin, type_name, GST_RANK_SECONDARY, type)) { + g_free (type_name); + return FALSE; + } + + g_free (type_name); + } + + GST_LOG ("Finished registering encoders"); + + return TRUE; +} diff --git a/ext/libav/gstavvidenc.h b/ext/libav/gstavvidenc.h new file mode 100644 index 0000000000..2d0b7c8b6b --- /dev/null +++ b/ext/libav/gstavvidenc.h @@ -0,0 +1,72 @@ +/* GStreamer + * Copyright (C) <1999> Erik Walthinsen + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +/* First, include the header file for the plugin, to bring in the + * object definition and other useful things. + */ + +#ifndef __GST_FFMPEGVIDENC_H__ +#define __GST_FFMPEGVIDENC_H__ + +#include +#include +#include + +G_BEGIN_DECLS + +typedef struct _GstFFMpegVidEnc GstFFMpegVidEnc; + +struct _GstFFMpegVidEnc +{ + GstVideoEncoder parent; + + GstVideoCodecState *input_state; + + AVCodecContext *context; + AVFrame *picture; + gboolean opened; + gboolean need_reopen; + gboolean discont; + guint pass; + gfloat quantizer; + + /* statistics file */ + gchar *filename; + FILE *file; + + /* cache */ + guint8 *working_buf; + gsize working_buf_size; + + AVCodecContext *refcontext; +}; + +typedef struct _GstFFMpegVidEncClass GstFFMpegVidEncClass; + +struct _GstFFMpegVidEncClass +{ + GstVideoEncoderClass parent_class; + + AVCodec *in_plugin; + GstPadTemplate *srctempl, *sinktempl; +}; + +G_END_DECLS + +#endif /* __GST_FFMPEGVIDENC_H__ */ diff --git a/ext/libav/meson.build b/ext/libav/meson.build new file mode 100644 index 0000000000..a56e4910cc --- /dev/null +++ b/ext/libav/meson.build @@ -0,0 +1,26 @@ +sources = [ + 'gstav.c', + 'gstavprotocol.c', + 'gstavcodecmap.c', + 'gstavutils.c', + 'gstavaudenc.c', + 'gstavvidenc.c', + 'gstavauddec.c', + 'gstavviddec.c', + 'gstavcfg.c', + 'gstavdemux.c', + 'gstavmux.c', + 'gstavdeinterlace.c', +] + +gstlibav_plugin = library('gstlibav', + sources, + c_args : gst_libav_args, + include_directories : [configinc], + dependencies : libav_deps + [gst_dep, gstbase_dep, gstvideo_dep, + gstaudio_dep, gstpbutils_dep], + install : true, + install_dir : plugins_install_dir, + ) +pkgconfig.generate(gstlibav_plugin, install_dir : plugins_pkgconfig_install_dir) +plugins += [gstlibav_plugin] diff --git a/gst-libav.doap b/gst-libav.doap new file mode 100644 index 0000000000..ef87676f73 --- /dev/null +++ b/gst-libav.doap @@ -0,0 +1,913 @@ + + + GStreamer libav Plug-ins + gst-libav + + 2004-02-26 + +a plug-in using the libav library + + +GStreamer libav plug-in contains elements using the libav library code. It +contains most popular decoders as well as very fast +colorspace conversion elements. + + + + + + C + + + + + + + + + + + + + 1.19.2 + master + + 2021-09-23 + + + + + + + 1.19.1 + master + + 2021-06-01 + + + + + + + 1.18.0 + master + + 2020-09-08 + + + + + + + 1.17.90 + master + + 2020-08-20 + + + + + + + 1.17.2 + master + + 2020-07-03 + + + + + + + 1.17.1 + master + + 2020-06-19 + + + + + + + 1.16.0 + master + + 2019-04-19 + + + + + + + 1.15.90 + master + + 2019-04-11 + + + + + + + 1.15.2 + master + + 2019-02-26 + + + + + + + 1.15.1 + master + + 2019-01-17 + + + + + + + 1.14.0 + master + + 2018-03-19 + + + + + + + 1.13.91 + master + + 2018-03-13 + + + + + + + 1.13.90 + master + + 2018-03-03 + + + + + + + 1.13.1 + master + + 2018-02-15 + + + + + + + 1.12.4 + 1.12 + + 2017-12-07 + + + + + + + 1.12.3 + 1.12 + + 2017-09-18 + + + + + + + 1.12.2 + 1.12 + + 2017-07-14 + + + + + + + 1.12.1 + 1.12 + + 2017-06-12 + + + + + + + 1.12.0 + master + + 2017-05-04 + + + + + + + 1.11.91 + master + + 2017-04-27 + + + + + + + 1.11.90 + master + + 2017-04-07 + + + + + + + 1.11.2 + master + + 2017-02-24 + + + + + + + 1.11.1 + master + + 2017-01-12 + + + + + + + 1.10.0 + master + + 2016-11-01 + + + + + + + 1.9.90 + master + + 2016-09-30 + + + + + + + 1.9.2 + master + + 2016-09-01 + + + + + + + 1.9.1 + master + + 2016-06-06 + + + + + + + 1.8.0 + master + + 2016-03-24 + + + + + + + 1.7.91 + master + + 2016-03-15 + + + + + + + 1.7.90 + master + + 2016-03-01 + + + + + + + 1.7.2 + master + + 2016-02-19 + + + + + + + 1.7.1 + master + + 2015-12-24 + + + + + + + 1.6.2 + 1.6 + + 2015-12-14 + + + + + + + 1.6.1 + 1.6 + + 2015-10-30 + + + + + + + 1.6.0 + 1.6 + + 2015-09-25 + + + + + + + 1.5.91 + 1.5 + + 2015-09-18 + + + + + + + 1.5.90 + 1.5 + + 2015-08-19 + + + + + + + 1.5.2 + 1.5 + + 2015-06-24 + + + + + + + 1.5.1 + 1.5 + + 2015-06-07 + + + + + + + 1.4.0 + 1.4 + + 2014-07-19 + + + + + + + 1.3.91 + 1.3 + + 2014-07-11 + + + + + + + 1.3.90 + 1.3 + + 2014-06-28 + + + + + + + 1.3.3 + 1.3 + + 2014-06-22 + + + + + + + 1.3.2 + 1.3 + + 2014-05-21 + + + + + + + 1.3.1 + 1.3 + + 2014-05-03 + + + + + + + 1.2.0 + 1.2 + + 2013-09-24 + + + + + + + 1.1.90 + 1.1 + + 2013-09-19 + + + + + + + 1.1.4 + 1.1 + + 2013-08-28 + + + + + + + 1.1.3 + 1.1 + + 2013-07-29 + + + + + + + 1.1.2 + 1.1 + + 2013-07-11 + + + + + + + 1.1.1 + 1.1 + + 2013-06-05 + + + + + + + 1.0.2 + 1.0 + + 2012-10-24 + + + + + + + 1.0.1 + 1.0 + + 2012-10-07 + + + + + + + 1.0.0 + 1.0 + + 2012-09-24 + + + + + + + 0.11.99 + 0.11 + Have Some Courtesy + 2012-09-17 + + + + + + + 0.11.94 + 0.11 + To Each His Own Symphony + 2012-09-14 + + + + + + + 0.11.93 + 0.11 + Pink Noise Waltz + 2012-08-08 + + + + + + + 0.11.92 + 0.11 + Wish You Were Here + 2012-06-07 + + + + + + + 0.11.91 + 0.11 + Help master! A boy is stealing me! + 2012-05-13 + + + + + + + 0.11.90 + 0.11 + Nameless here for evermore + 2012-04-13 + + + + + + + + 0.11.2 + 0.11 + Sadistic Symphony + 2012-03-22 + + + + + + + + 0.11.1 + 0.11 + Serpentine Sibilance + 2012-02-16 + + + + + + + + 0.10.13 + 0.10 + A year in hell + 2011-11-02 + + + + + + + + 0.10.12 + 0.10 + A year in hell + 2011-07-20 + + + + + + + + 0.10.11 + 0.10 + Feeding trolls is strictly forbidden + 2010-07-15 + + + + + + + + 0.10.10 + 0.10 + It's the bomb + 2010-03-06 + + + + + + + + 0.10.9 + 0.10 + Shooting the moon + 2009-10-05 + + + + + + + + 0.10.8 + 0.10 + Brilliant in the morning + 2009-06-29 + + + + + + + + 0.10.7 + 0.10 + Some high ground is not worth taking + 2009-03-20 + + + + + + + + 0.10.6 + 0.10 + A little itching in our bones + 2008-11-27 + + + + + + + + 0.10.5 + 0.10 + This little piggy went to market + 2008-09-03 + + + + + + + + 0.10.4 + 0.10 + A jump to the left + 2008-05-21 + + + + + + + + 0.10.3 + 0.10 + My T-Shirt is slowly fading + 2007-12-04 + + + + + + + + 0.10.2 + 0.10 + At the edge of Taymans + 2006-12-31 + + + + + + + + 0.10.1 + 0.10 + Late Train + 2006-03-31 + + + + + + + + 0.10.0 + 0.10 + Rocamadour + 2005-12-05 + + + + + + + + 0.8.7 + 0.8 + Redneck soup + 2005-10-25 + + + + + + + + 0.8.6 + 0.8 + Vamoz a la Playa + 2005-08-05 + + + + + + + + 0.8.5 + 0.8 + For the better of the world + 2005-06-11 + + + + + + + + 0.8.4 + 0.8 + Mellow on my fingers + 2005-03-11 + + + + + + + + 0.8.3 + 0.8 + Tiny Piece of Plastic + 2004-12-27 + + + + + + + + 0.8.2 + 0.8 + Titan Shifting Gears + 2004-10-09 + + + + + + + + 0.8.1 + 0.8 + Just Another Victim + 2004-07-16 + + + + + + + + 0.8.0 + 0.8 + In Buildings + 2004-03-16 + + + + + + + + + Wim Taymans + 0d93fde052812d51a05fd86de9bdbf674423daa2 + + + + + Edward Hervey + + + + diff --git a/hooks/pre-commit.hook b/hooks/pre-commit.hook new file mode 100755 index 0000000000..3c1062b9e0 --- /dev/null +++ b/hooks/pre-commit.hook @@ -0,0 +1,83 @@ +#!/bin/sh +# +# Check that the code follows a consistant code style +# + +# Check for existence of indent, and error out if not present. +# On some *bsd systems the binary seems to be called gnunindent, +# so check for that first. + +version=`gnuindent --version 2>/dev/null` +if test "x$version" = "x"; then + version=`gindent --version 2>/dev/null` + if test "x$version" = "x"; then + version=`indent --version 2>/dev/null` + if test "x$version" = "x"; then + echo "GStreamer git pre-commit hook:" + echo "Did not find GNU indent, please install it before continuing." + exit 1 + else + INDENT=indent + fi + else + INDENT=gindent + fi +else + INDENT=gnuindent +fi + +case `$INDENT --version` in + GNU*) + ;; + default) + echo "GStreamer git pre-commit hook:" + echo "Did not find GNU indent, please install it before continuing." + echo "(Found $INDENT, but it doesn't seem to be GNU indent)" + exit 1 + ;; +esac + +INDENT_PARAMETERS="--braces-on-if-line \ + --case-brace-indentation0 \ + --case-indentation2 \ + --braces-after-struct-decl-line \ + --line-length80 \ + --no-tabs \ + --cuddle-else \ + --dont-line-up-parentheses \ + --continuation-indentation4 \ + --honour-newlines \ + --tab-size8 \ + --indent-level2 \ + --leave-preprocessor-space" + +echo "--Checking style--" +for file in `git diff-index --cached --name-only HEAD --diff-filter=ACMR| grep "\.c$"` ; do + # nf is the temporary checkout. This makes sure we check against the + # revision in the index (and not the checked out version). + nf=`git checkout-index --temp ${file} | cut -f 1` + newfile=`mktemp /tmp/${nf}.XXXXXX` || exit 1 + $INDENT ${INDENT_PARAMETERS} \ + $nf -o $newfile 2>> /dev/null + # FIXME: Call indent twice as it tends to do line-breaks + # different for every second call. + $INDENT ${INDENT_PARAMETERS} \ + $newfile 2>> /dev/null + diff -u -p "${nf}" "${newfile}" + r=$? + rm "${newfile}" + rm "${nf}" + if [ $r != 0 ] ; then +echo "=================================================================================================" +echo " Code style error in: $file " +echo " " +echo " Please fix before committing. Don't forget to run git add before trying to commit again. " +echo " If the whole file is to be committed, this should work (run from the top-level directory): " +echo " " +echo " gst-indent $file; git add $file; git commit" +echo " " +echo "=================================================================================================" + exit 1 + fi +done +echo "--Checking style pass--" diff --git a/meson.build b/meson.build new file mode 100644 index 0000000000..0abc52824a --- /dev/null +++ b/meson.build @@ -0,0 +1,217 @@ +project('gst-libav', 'c', 'cpp', + version : '1.19.2', + meson_version : '>= 0.54', + default_options : [ 'warning_level=1', + 'buildtype=debugoptimized' ]) + +gst_version = meson.project_version() +version_arr = gst_version.split('.') +gst_version_major = version_arr[0].to_int() +gst_version_minor = version_arr[1].to_int() +gst_version_micro = version_arr[2].to_int() + if version_arr.length() == 4 + gst_version_nano = version_arr[3].to_int() +else + gst_version_nano = 0 +endif + +api_version = '1.0' +libavfilter_dep = dependency('libavfilter', version: '>= 7.16.100', + fallback: ['FFmpeg', 'libavfilter_dep']) +libavformat_dep = dependency('libavformat', version: '>= 58.12.100', + fallback: ['FFmpeg', 'libavformat_dep']) +libavcodec_dep = dependency('libavcodec', version: '>= 58.18.100', + fallback: ['FFmpeg', 'libavcodec_dep']) +libavutil_dep = dependency('libavutil', version: '>= 56.14.100', + fallback: ['FFmpeg', 'libavutil_dep']) + +libav_deps = [libavfilter_dep, libavformat_dep, libavcodec_dep, libavutil_dep] + +cc = meson.get_compiler('c') + +check_ffmpeg_src = '''#include +#if LIBAVCODEC_VERSION_MICRO >= 100 +/* FFmpeg uses 100+ as its micro version */ +#else +#error libav provider should be FFmpeg +#endif''' + +libav_deps_type_name = '' + +foreach dep: libav_deps + if libav_deps_type_name != '' and dep.type_name() != libav_deps_type_name + error('Libav deps must be either all internal or all external') + endif + libav_deps_type_name = dep.type_name() +endforeach + +if dep.type_name() != 'internal' + if not cc.compiles(check_ffmpeg_src, dependencies : libav_deps, name : 'libav is provided by FFmpeg') + error('Uncompatible libavcodec found') + endif +endif + +cdata = configuration_data() +cdata.set('LIBAV_SOURCE', '"system install"') +cdata.set('PACKAGE_VERSION', '"@0@"'.format(gst_version)) +cdata.set('PACKAGE', '"gst-libav"') + +# GStreamer package name and origin url +gst_package_name = get_option('package-name') +if gst_package_name == '' + if gst_version_nano == 0 + gst_package_name = 'GStreamer FFMPEG Plug-ins source release' + elif gst_version_nano == 1 + gst_package_name = 'GStreamer FFMPEG Plug-ins git' + else + gst_package_name = 'GStreamer FFMPEG Plug-ins prerelease' + endif +endif +cdata.set_quoted('GST_PACKAGE_NAME', gst_package_name) +cdata.set_quoted('GST_PACKAGE_ORIGIN', get_option('package-origin')) + + +check_headers = [['unistd.h', 'HAVE_UNISTD_H']] + +foreach h : check_headers + if cc.has_header(h.get(0)) + cdata.set(h.get(1), 1) + endif +endforeach + +gst_req = '>= @0@.@1@.0'.format(gst_version_major, gst_version_minor) +gst_dep = dependency('gstreamer-1.0', version : gst_req, + fallback : ['gstreamer', 'gst_dep']) +gstbase_dep = dependency('gstreamer-base-1.0', version : gst_req, + fallback : ['gstreamer', 'gst_base_dep']) +gstcheck_dep = dependency('gstreamer-check-1.0', version : gst_req, + required : get_option('tests'), + fallback : ['gstreamer', 'gst_check_dep']) + +gstvideo_dep = dependency('gstreamer-video-1.0', version : gst_req, + fallback : ['gst-plugins-base', 'video_dep']) +gstaudio_dep = dependency('gstreamer-audio-1.0', version : gst_req, + fallback : ['gst-plugins-base', 'audio_dep']) +gstpbutils_dep = dependency('gstreamer-pbutils-1.0', version : gst_req, + fallback : ['gst-plugins-base', 'pbutils_dep']) +libm = cc.find_library('m', required : false) + +gst_libav_args = ['-DHAVE_CONFIG_H'] +if cc.get_id() == 'msvc' + msvc_args = [ + # Ignore several spurious warnings for things gstreamer does very commonly + # If a warning is completely useless and spammy, use '/wdXXXX' to suppress it + # If a warning is harmless but hard to fix, use '/woXXXX' so it's shown once + # NOTE: Only add warnings here if you are sure they're spurious + '/wd4018', # implicit signed/unsigned conversion + '/wd4146', # unary minus on unsigned (beware INT_MIN) + '/wd4244', # lossy type conversion (e.g. double -> int) + '/wd4305', # truncating type conversion (e.g. double -> float) + cc.get_supported_arguments(['/utf-8']), # set the input encoding to utf-8 + + # Enable some warnings on MSVC to match GCC/Clang behaviour + '/w14062', # enumerator 'identifier' in switch of enum 'enumeration' is not handled + '/w14101', # 'identifier' : unreferenced local variable + '/w14189', # 'identifier' : local variable is initialized but not referenced + ] + add_project_arguments(msvc_args, language: ['c', 'cpp']) +endif + +# Symbol visibility +if cc.has_argument('-fvisibility=hidden') + add_project_arguments('-fvisibility=hidden', language: 'c') +endif + +# Don't export any symbols from static ffmpeg libraries +if cc.has_link_argument('-Wl,--exclude-libs=ALL') + add_project_link_arguments('-Wl,--exclude-libs=ALL', language: 'c') +endif + +# Disable strict aliasing +if cc.has_argument('-fno-strict-aliasing') + add_project_arguments('-fno-strict-aliasing', language: 'c') +endif + +if gst_dep.type_name() == 'internal' + gst_proj = subproject('gstreamer') + + if not gst_proj.get_variable('gst_debug') + message('GStreamer debug system is disabled') + add_project_arguments('-Wno-unused', language: 'c') + else + message('GStreamer debug system is enabled') + endif +else + # We can't check that in the case of subprojects as we won't + # be able to build against an internal dependency (which is not built yet) + if not cc.compiles(''' +#include +#ifdef GST_DISABLE_GST_DEBUG +#error "debugging disabled, make compiler fail" +#endif''' , dependencies: gst_dep) + message('GStreamer debug system is disabled') + add_project_arguments('-Wno-unused', language: 'c') + else + message('GStreamer debug system is enabled') + endif +endif + +warning_flags = [ + '-Wmissing-declarations', + '-Wmissing-prototypes', + '-Wold-style-definition', + '-Wredundant-decls', + '-Wundef', + '-Wwrite-strings', + '-Wformat', + '-Wformat-nonliteral', + '-Wformat-security', + '-Winit-self', + '-Wmissing-include-dirs', + '-Waddress', + '-Wno-multichar', + '-Waggregate-return', + '-Wdeclaration-after-statement', + '-Wvla', + '-Wpointer-arith', +] + +foreach extra_arg : warning_flags + if cc.has_argument (extra_arg) + add_project_arguments([extra_arg], language: 'c') + endif +endforeach + +configinc = include_directories('.') +plugins_install_dir = '@0@/gstreamer-1.0'.format(get_option('libdir')) + +pkgconfig = import('pkgconfig') +plugins_pkgconfig_install_dir = join_paths(plugins_install_dir, 'pkgconfig') +if get_option('default_library') == 'shared' + # If we don't build static plugins there is no need to generate pc files + plugins_pkgconfig_install_dir = disabler() +endif + +plugins = [] +subdir('ext/libav') +subdir('docs') +subdir('tests') + +# Set release date +if gst_version_nano == 0 + extract_release_date = find_program('scripts/extract-release-date-from-doap-file.py') + run_result = run_command(extract_release_date, gst_version, files('gst-libav.doap')) + if run_result.returncode() == 0 + release_date = run_result.stdout().strip() + cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date) + message('Package release date: ' + release_date) + else + # Error out if our release can't be found in the .doap file + error(run_result.stderr()) + endif +endif + +configure_file(output: 'config.h', configuration: cdata) + +python3 = import('python').find_installation() +run_command(python3, '-c', 'import shutil; shutil.copy("hooks/pre-commit.hook", ".git/hooks/pre-commit")') diff --git a/meson_options.txt b/meson_options.txt new file mode 100644 index 0000000000..9d8a7015a3 --- /dev/null +++ b/meson_options.txt @@ -0,0 +1,8 @@ +option('package-name', type : 'string', yield : true, + description : 'package name to use in plugins') +option('package-origin', type : 'string', + value : 'Unknown package origin', yield : true, + description : 'package origin URL to use in plugins') +option('doc', type : 'feature', value : 'auto', yield: true, + description: 'Enable documentation.') +option('tests', type : 'feature', value : 'auto', yield : true) diff --git a/scripts/extract-release-date-from-doap-file.py b/scripts/extract-release-date-from-doap-file.py new file mode 100755 index 0000000000..f09b60e9d0 --- /dev/null +++ b/scripts/extract-release-date-from-doap-file.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python3 +# +# extract-release-date-from-doap-file.py VERSION DOAP-FILE +# +# Extract release date for the given release version from a DOAP file +# +# Copyright (C) 2020 Tim-Philipp Müller +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Library General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. +# +# You should have received a copy of the GNU Library General Public +# License along with this library; if not, write to the +# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, +# Boston, MA 02110-1301, USA. + +import sys +import xml.etree.ElementTree as ET + +if len(sys.argv) != 3: + sys.exit('Usage: {} VERSION DOAP-FILE'.format(sys.argv[0])) + +release_version = sys.argv[1] +doap_fn = sys.argv[2] + +tree = ET.parse(doap_fn) +root = tree.getroot() + +namespaces = {'doap': 'http://usefulinc.com/ns/doap#'} + +for v in root.findall('doap:release/doap:Version', namespaces=namespaces): + if v.findtext('doap:revision', namespaces=namespaces) == release_version: + release_date = v.findtext('doap:created', namespaces=namespaces) + if release_date: + print(release_date) + sys.exit(0) + +sys.exit('Could not find a release with version {} in {}'.format(release_version, doap_fn)) diff --git a/tests/check/elements/avaudenc.c b/tests/check/elements/avaudenc.c new file mode 100644 index 0000000000..e4403d7243 --- /dev/null +++ b/tests/check/elements/avaudenc.c @@ -0,0 +1,126 @@ +/* GStreamer + * + * Copyright (C) 2020 Seungha Yang + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include +#include + +GST_START_TEST (test_audioenc_drain) +{ + GstHarness *h; + GstAudioInfo info; + GstBuffer *in_buf; + gint i = 0; + gint num_output = 0; + GstFlowReturn ret; + GstSegment segment; + GstCaps *caps; + gint samples_per_buffer = 1024; + gint rate = 44100; + gint size; + GstClockTime duration; + + h = gst_harness_new ("avenc_aac"); + fail_unless (h != NULL); + + gst_audio_info_set_format (&info, GST_AUDIO_FORMAT_F32, rate, 1, NULL); + + caps = gst_audio_info_to_caps (&info); + gst_harness_set_src_caps (h, gst_caps_copy (caps)); + + duration = gst_util_uint64_scale_int (samples_per_buffer, GST_SECOND, rate); + size = samples_per_buffer * GST_AUDIO_INFO_BPF (&info); + + for (i = 0; i < 2; i++) { + in_buf = gst_buffer_new_and_alloc (size); + + gst_buffer_memset (in_buf, 0, 0, size); + + /* small rounding error would be expected, but should be fine */ + GST_BUFFER_PTS (in_buf) = i * duration; + GST_BUFFER_DURATION (in_buf) = duration; + + ret = gst_harness_push (h, in_buf); + + fail_unless (ret == GST_FLOW_OK, "GstFlowReturn was %s", + gst_flow_get_name (ret)); + } + + gst_segment_init (&segment, GST_FORMAT_TIME); + fail_unless (gst_segment_set_running_time (&segment, GST_FORMAT_TIME, + 2 * duration)); + + /* Push new eos event to drain encoder */ + fail_unless (gst_harness_push_event (h, gst_event_new_eos ())); + + /* And start new stream */ + fail_unless (gst_harness_push_event (h, + gst_event_new_stream_start ("new-stream-id"))); + gst_harness_set_src_caps (h, caps); + fail_unless (gst_harness_push_event (h, gst_event_new_segment (&segment))); + + in_buf = gst_buffer_new_and_alloc (size); + + GST_BUFFER_PTS (in_buf) = 2 * duration; + GST_BUFFER_DURATION (in_buf) = duration; + + ret = gst_harness_push (h, in_buf); + fail_unless (ret == GST_FLOW_OK, "GstFlowReturn was %s", + gst_flow_get_name (ret)); + + /* Finish encoding and drain again */ + fail_unless (gst_harness_push_event (h, gst_event_new_eos ())); + do { + GstBuffer *out_buf = NULL; + + out_buf = gst_harness_try_pull (h); + if (out_buf) { + num_output++; + gst_buffer_unref (out_buf); + continue; + } + + break; + } while (1); + + fail_unless (num_output >= 3); + + gst_harness_teardown (h); +} + +GST_END_TEST; + +static Suite * +avaudenc_suite (void) +{ + Suite *s = suite_create ("avaudenc"); + TCase *tc_chain = tcase_create ("general"); + + suite_add_tcase (s, tc_chain); + tcase_add_test (tc_chain, test_audioenc_drain); + + return s; +} + +GST_CHECK_MAIN (avaudenc) diff --git a/tests/check/elements/avdec_adpcm.c b/tests/check/elements/avdec_adpcm.c new file mode 100644 index 0000000000..2bc745d5ae --- /dev/null +++ b/tests/check/elements/avdec_adpcm.c @@ -0,0 +1,168 @@ +/* GStreamer unit tests for avdec_adpcm + * + * Copyright (C) 2009 Tim-Philipp Müller + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#include + +#include + +static void +pad_added_cb (GstElement * decodebin, GstPad * pad, GstBin * pipeline) +{ + GstElement *sink; + + GST_INFO_OBJECT (pad, "got pad"); + + sink = gst_bin_get_by_name (pipeline, "fakesink"); + fail_unless (gst_element_link (decodebin, sink)); + gst_object_unref (sink); + + gst_element_set_state (sink, GST_STATE_PAUSED); +} + +static GstBusSyncReply +error_cb (GstBus * bus, GstMessage * msg, gpointer user_data) +{ + if (GST_MESSAGE_TYPE (msg) == GST_MESSAGE_ERROR) { + const gchar *file = (const gchar *) user_data; + GError *err = NULL; + gchar *dbg = NULL; + + gst_message_parse_error (msg, &err, &dbg); + g_error ("ERROR for %s: %s\n%s\n", file, err->message, dbg); + } + + return GST_BUS_PASS; +} + +static gboolean +decode_file (const gchar * file, gboolean push_mode) +{ + GstStateChangeReturn state_ret; + GstElement *sink, *src, *dec, *queue, *pipeline; + GstMessage *msg; + GstBus *bus; + gchar *path; + + pipeline = gst_pipeline_new ("pipeline"); + fail_unless (pipeline != NULL, "Failed to create pipeline!"); + + src = gst_element_factory_make ("filesrc", "filesrc"); + fail_unless (src != NULL, "Failed to create filesrc!"); + + if (push_mode) { + queue = gst_element_factory_make ("queue", "queue"); + } else { + queue = gst_element_factory_make ("identity", "identity"); + } + + dec = gst_element_factory_make ("decodebin", "decodebin"); + fail_unless (dec != NULL, "Failed to create decodebin!"); + + sink = gst_element_factory_make ("fakesink", "fakesink"); + fail_unless (sink != NULL, "Failed to create fakesink!"); + + bus = gst_element_get_bus (pipeline); + + /* kids, don't use a sync handler for this at home, really; we do because + * we just want to abort and nothing else */ + gst_bus_set_sync_handler (bus, error_cb, (gpointer) file, NULL); + + gst_bin_add_many (GST_BIN (pipeline), src, queue, dec, sink, NULL); + gst_element_link_many (src, queue, dec, NULL); + + path = g_build_filename (GST_TEST_FILES_PATH, file, NULL); + GST_LOG ("reading file '%s'", path); + g_object_set (src, "location", path, NULL); + + /* can't link uridecodebin and sink yet, do that later */ + g_signal_connect (dec, "pad-added", G_CALLBACK (pad_added_cb), pipeline); + + state_ret = gst_element_set_state (pipeline, GST_STATE_PAUSED); + fail_unless (state_ret != GST_STATE_CHANGE_FAILURE); + + if (state_ret == GST_STATE_CHANGE_ASYNC) { + GST_LOG ("waiting for pipeline to reach PAUSED state"); + state_ret = gst_element_get_state (pipeline, NULL, NULL, -1); + fail_unless_equals_int (state_ret, GST_STATE_CHANGE_SUCCESS); + } + + state_ret = gst_element_set_state (pipeline, GST_STATE_PLAYING); + fail_unless (state_ret != GST_STATE_CHANGE_FAILURE); + + GST_LOG ("PAUSED, let's decode"); + msg = gst_bus_timed_pop_filtered (bus, 10 * GST_SECOND, GST_MESSAGE_EOS); + GST_LOG ("Done, got EOS message"); + fail_unless (msg != NULL); + gst_message_unref (msg); + gst_object_unref (bus); + + fail_unless_equals_int (gst_element_set_state (pipeline, GST_STATE_NULL), + GST_STATE_CHANGE_SUCCESS); + gst_object_unref (pipeline); + + g_free (path); + + return TRUE; +} + +static void +run_check_for_file (const gchar * filename) +{ + gboolean ret; + + /* first, pull-based */ + ret = decode_file (filename, FALSE); + fail_unless (ret == TRUE, "Failed to decode '%s' (pull mode)", filename); + + /* second, push-based */ + ret = decode_file (filename, TRUE); + fail_unless (ret == TRUE, "Failed to decode '%s' (push mode)", filename); +} + +GST_START_TEST (test_low_sample_rate_adpcm) +{ +#define MIN_VERSION GST_VERSION_MAJOR, GST_VERSION_MINOR, 0 + if (!gst_registry_check_feature_version (gst_registry_get (), "wavparse", + MIN_VERSION) + || !gst_registry_check_feature_version (gst_registry_get (), "decodebin", + MIN_VERSION)) { + g_printerr ("skipping test_low_sample_rate_adpcm: required element " + "wavparse or element decodebin not found\n"); + return; + } + + run_check_for_file ("591809.wav"); +} + +GST_END_TEST; + +static Suite * +avdec_adpcm_suite (void) +{ + Suite *s = suite_create ("avdec_adpcm"); + TCase *tc_chain = tcase_create ("general"); + + suite_add_tcase (s, tc_chain); + tcase_skip_broken_test (tc_chain, test_low_sample_rate_adpcm); + + return s; +} + +GST_CHECK_MAIN (avdec_adpcm) diff --git a/tests/check/elements/avdemux_ape.c b/tests/check/elements/avdemux_ape.c new file mode 100644 index 0000000000..99dbd7617b --- /dev/null +++ b/tests/check/elements/avdemux_ape.c @@ -0,0 +1,206 @@ +/* GStreamer unit tests for avdemux_ape + * + * Copyright (C) 2009 Tim-Philipp Müller + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#include + +#include + +typedef void (CheckTagsFunc) (const GstTagList * tags, const gchar * file); + +static void +pad_added_cb (GstElement * decodebin, GstPad * pad, GstBin * pipeline) +{ + GstElement *sink; + + sink = gst_bin_get_by_name (pipeline, "fakesink"); + fail_unless (gst_element_link (decodebin, sink)); + gst_object_unref (sink); + + gst_element_set_state (sink, GST_STATE_PAUSED); +} + +static GstBusSyncReply +error_cb (GstBus * bus, GstMessage * msg, gpointer user_data) +{ + if (GST_MESSAGE_TYPE (msg) == GST_MESSAGE_ERROR) { + const gchar *file = (const gchar *) user_data; + GError *err = NULL; + gchar *dbg = NULL; + + gst_message_parse_error (msg, &err, &dbg); + g_error ("ERROR for %s: %s\n%s\n", file, err->message, dbg); + } + + return GST_BUS_PASS; +} + +static GstPadProbeReturn +event_probe (GstPad * pad, GstPadProbeInfo * info, gpointer user_data) +{ + GstTagList **p_tags = user_data; + GstEvent *event = GST_PAD_PROBE_INFO_EVENT (info); + + if (GST_EVENT_TYPE (event) == GST_EVENT_TAG) { + GST_INFO ("tag event: %" GST_PTR_FORMAT, event); + if (*p_tags == NULL) { + GstTagList *event_tags; + + GST_INFO ("first tag, saving"); + gst_event_parse_tag (event, &event_tags); + *p_tags = gst_tag_list_copy (event_tags); + } + } + return GST_PAD_PROBE_OK; /* keep the data */ +} + +/* FIXME: push_mode not used currently */ +static GstTagList * +read_tags_from_file (const gchar * file, gboolean push_mode) +{ + GstStateChangeReturn state_ret; + GstTagList *tags = NULL; + GstElement *sink, *src, *dec, *pipeline; + GstBus *bus; + GstPad *pad; + gchar *path; + + pipeline = gst_pipeline_new ("pipeline"); + fail_unless (pipeline != NULL, "Failed to create pipeline!"); + + src = gst_element_factory_make ("filesrc", "filesrc"); + fail_unless (src != NULL, "Failed to create filesrc!"); + + dec = gst_element_factory_make ("decodebin", "decodebin"); + fail_unless (dec != NULL, "Failed to create decodebin!"); + + sink = gst_element_factory_make ("fakesink", "fakesink"); + fail_unless (sink != NULL, "Failed to create fakesink!"); + + bus = gst_element_get_bus (pipeline); + + /* kids, don't use a sync handler for this at home, really; we do because + * we just want to abort and nothing else */ + gst_bus_set_sync_handler (bus, error_cb, (gpointer) file, NULL); + + gst_bin_add_many (GST_BIN (pipeline), src, dec, sink, NULL); + gst_element_link_many (src, dec, NULL); + + path = g_build_filename (GST_TEST_FILES_PATH, file, NULL); + GST_LOG ("reading file '%s'", path); + g_object_set (src, "location", path, NULL); + + /* can't link uridecodebin and sink yet, do that later */ + g_signal_connect (dec, "pad-added", G_CALLBACK (pad_added_cb), pipeline); + + /* we want to make sure there's a tag event coming out of avdemux_ape + * (ie. the one apedemux generated) */ + pad = gst_element_get_static_pad (sink, "sink"); + gst_pad_add_probe (pad, GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM, event_probe, + &tags, NULL); + gst_object_unref (pad); + + state_ret = gst_element_set_state (pipeline, GST_STATE_PAUSED); + fail_unless (state_ret != GST_STATE_CHANGE_FAILURE); + + if (state_ret == GST_STATE_CHANGE_ASYNC) { + GST_LOG ("waiting for pipeline to reach PAUSED state"); + state_ret = gst_element_get_state (pipeline, NULL, NULL, -1); + fail_unless_equals_int (state_ret, GST_STATE_CHANGE_SUCCESS); + } + + GST_LOG ("PAUSED, let's retrieve our tags"); + + fail_unless (tags != NULL, "Expected tag event! (%s)", file); + + gst_object_unref (bus); + + fail_unless_equals_int (gst_element_set_state (pipeline, GST_STATE_NULL), + GST_STATE_CHANGE_SUCCESS); + gst_object_unref (pipeline); + + g_free (path); + + GST_INFO ("%s: tags = %" GST_PTR_FORMAT, file, tags); + return tags; +} + +static void +run_check_for_file (const gchar * filename, CheckTagsFunc * check_func) +{ + GstTagList *tags; + + /* first, pull-based */ + tags = read_tags_from_file (filename, FALSE); + fail_unless (tags != NULL, "Failed to extract tags from '%s'", filename); + check_func (tags, filename); + gst_tag_list_unref (tags); +} + +#define tag_list_has_tag(taglist,tag) \ + (gst_tag_list_get_value_index((taglist),(tag),0) != NULL) + +/* just make sure avdemux_ape forwarded the tags extracted by apedemux + * (should be the first tag list / tag event too) */ +static void +check_for_apedemux_tags (const GstTagList * tags, const gchar * file) +{ + gchar *artist = NULL; + + fail_unless (gst_tag_list_get_string (tags, GST_TAG_ARTIST, &artist)); + fail_unless (artist != NULL); + fail_unless_equals_string (artist, "Marvin Gaye"); + g_free (artist); + + fail_unless (tag_list_has_tag (tags, GST_TAG_CONTAINER_FORMAT)); + + GST_LOG ("all good"); +} + +GST_START_TEST (test_tag_caching) +{ +#define MIN_VERSION GST_VERSION_MAJOR, GST_VERSION_MINOR, 0 + + if (!gst_registry_check_feature_version (gst_registry_get (), "apedemux", + MIN_VERSION) + || !gst_registry_check_feature_version (gst_registry_get (), "decodebin", + MIN_VERSION)) { + g_printerr ("Skipping test_tag_caching: required element apedemux or " + "decodebin element not found\n"); + return; + } + + run_check_for_file ("586957.ape", check_for_apedemux_tags); +} + +GST_END_TEST; + +static Suite * +avdemux_ape_suite (void) +{ + Suite *s = suite_create ("avdemux_ape"); + TCase *tc_chain = tcase_create ("general"); + + suite_add_tcase (s, tc_chain); + tcase_add_test (tc_chain, test_tag_caching); + + return s; +} + +GST_CHECK_MAIN (avdemux_ape) diff --git a/tests/check/elements/avvidenc.c b/tests/check/elements/avvidenc.c new file mode 100644 index 0000000000..04ca20d1be --- /dev/null +++ b/tests/check/elements/avvidenc.c @@ -0,0 +1,116 @@ +/* GStreamer + * + * Copyright (C) 2020 Seungha Yang + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include +#include + +GST_START_TEST (test_videoenc_drain) +{ + GstHarness *h; + GstVideoInfo info; + GstBuffer *in_buf; + gint i = 0; + gint num_output = 0; + GstFlowReturn ret; + GstSegment segment; + GstCaps *caps; + + h = gst_harness_new ("avenc_mjpeg"); + fail_unless (h != NULL); + + caps = gst_caps_from_string ("video/x-raw,format=I420,width=64,height=64"); + + gst_harness_set_src_caps (h, gst_caps_copy (caps)); + gst_video_info_set_format (&info, GST_VIDEO_FORMAT_I420, 64, 64); + + for (i = 0; i < 2; i++) { + in_buf = gst_buffer_new_and_alloc (GST_VIDEO_INFO_SIZE (&info)); + + GST_BUFFER_PTS (in_buf) = i * GST_SECOND; + GST_BUFFER_DURATION (in_buf) = GST_SECOND; + + ret = gst_harness_push (h, in_buf); + + fail_unless (ret == GST_FLOW_OK, "GstFlowReturn was %s", + gst_flow_get_name (ret)); + } + + gst_segment_init (&segment, GST_FORMAT_TIME); + fail_unless (gst_segment_set_running_time (&segment, GST_FORMAT_TIME, + 2 * GST_SECOND)); + + /* Push new eos event to drain encoder */ + fail_unless (gst_harness_push_event (h, gst_event_new_eos ())); + + /* And start new stream */ + fail_unless (gst_harness_push_event (h, + gst_event_new_stream_start ("new-stream-id"))); + gst_harness_set_src_caps (h, caps); + fail_unless (gst_harness_push_event (h, gst_event_new_segment (&segment))); + + in_buf = gst_buffer_new_and_alloc (GST_VIDEO_INFO_SIZE (&info)); + + GST_BUFFER_PTS (in_buf) = 2 * GST_SECOND; + GST_BUFFER_DURATION (in_buf) = GST_SECOND; + + ret = gst_harness_push (h, in_buf); + fail_unless (ret == GST_FLOW_OK, "GstFlowReturn was %s", + gst_flow_get_name (ret)); + + /* Finish encoding and drain again */ + fail_unless (gst_harness_push_event (h, gst_event_new_eos ())); + do { + GstBuffer *out_buf = NULL; + + out_buf = gst_harness_try_pull (h); + if (out_buf) { + num_output++; + gst_buffer_unref (out_buf); + continue; + } + + break; + } while (1); + + fail_unless_equals_int (num_output, 3); + + gst_harness_teardown (h); +} + +GST_END_TEST; + +static Suite * +avvidenc_suite (void) +{ + Suite *s = suite_create ("avvidenc"); + TCase *tc_chain = tcase_create ("general"); + + suite_add_tcase (s, tc_chain); + tcase_add_test (tc_chain, test_videoenc_drain); + + return s; +} + +GST_CHECK_MAIN (avvidenc) diff --git a/tests/check/generic/libavcodec-locking.c b/tests/check/generic/libavcodec-locking.c new file mode 100644 index 0000000000..a6dfb8e29d --- /dev/null +++ b/tests/check/generic/libavcodec-locking.c @@ -0,0 +1,161 @@ +/* GStreamer + * Copyright (C) 2005 Luca Ognibene + * Based (copied) on simple_launch_lines.c + * + * libavcodec-locking.c: Unit test for libavcodec's locks + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + + +#include +#include + +#define NUM_SINKS 10 + +static GstElement * +setup_pipeline (const gchar * pipe_descr) +{ + GstElement *pipeline; + + pipeline = gst_parse_launch (pipe_descr, NULL); + g_return_val_if_fail (GST_IS_PIPELINE (pipeline), NULL); + return pipeline; +} + +/* + * run_pipeline: + * @pipe: the pipeline to run + * @desc: the description for use in messages + * @events: is a mask of expected events + * @tevent: is the expected terminal event. + * + * the poll call will time out after half a second. + */ +static void +run_pipeline (GstElement * pipe, const gchar * descr, + GstMessageType events, GstMessageType tevent) +{ + GstBus *bus; + GstMessage *message; + GstMessageType revent; + GstStateChangeReturn ret; + + g_assert (pipe); + bus = gst_element_get_bus (pipe); + g_assert (bus); + + ret = gst_element_set_state (pipe, GST_STATE_PLAYING); + ret = gst_element_get_state (pipe, NULL, NULL, GST_CLOCK_TIME_NONE); + if (ret != GST_STATE_CHANGE_SUCCESS) { + g_critical ("Couldn't set pipeline to PLAYING"); + goto done; + } + + while (1) { + message = gst_bus_poll (bus, GST_MESSAGE_ANY, GST_SECOND / 2); + + /* always have to pop the message before getting back into poll */ + if (message) { + revent = GST_MESSAGE_TYPE (message); + gst_message_unref (message); + } else { + revent = GST_MESSAGE_UNKNOWN; + } + + if (revent == tevent) { + break; + } else if (revent == GST_MESSAGE_UNKNOWN) { + g_critical ("Unexpected timeout in gst_bus_poll, looking for %d: %s", + tevent, descr); + break; + } else if (revent & events) { + continue; + } + g_critical + ("Unexpected message received of type %d, '%s', looking for %d: %s", + revent, gst_message_type_get_name (revent), tevent, descr); + } + +done: + gst_element_set_state (pipe, GST_STATE_NULL); + gst_object_unref (pipe); +} + +GST_START_TEST (test_libavcodec_locks) +{ + gchar *sink[NUM_SINKS + 1], *s, *sinks; + gint i; + + for (i = 0; i < NUM_SINKS; i++) + sink[i] = + g_strdup_printf + (" t.src_%u ! queue ! avenc_mpeg4 ! avdec_mpeg4 ! fakesink sync=true", + i); + + sink[NUM_SINKS] = NULL; + + sinks = g_strjoinv (" ", sink); + + s = g_strdup_printf + ("videotestsrc ! video/x-raw,format=(string)I420,width=320,height=240,framerate=(fraction)10/1 ! tee name=t %s", + sinks); + + run_pipeline (setup_pipeline (s), s, + GST_MESSAGE_ANY & ~(GST_MESSAGE_ERROR | GST_MESSAGE_WARNING), + GST_MESSAGE_UNKNOWN); + g_free (s); + + for (i = 0; i < NUM_SINKS; i++) + g_free (sink[i]); + g_free (sinks); +} + +GST_END_TEST; + +static Suite * +simple_launch_lines_suite (void) +{ + gint timeout = 0; + + Suite *s = suite_create ("Pipelines"); + TCase *tc_chain = tcase_create ("linear"); + + if (g_getenv ("CK_DEFAULT_TIMEOUT")) + timeout = atoi (g_getenv ("CK_DEFAULT_TIMEOUT")); + + if (timeout == 0) + timeout = 3; + + /* set multiple of default timeout (random magic value) */ + tcase_set_timeout (tc_chain, timeout * 12); + + suite_add_tcase (s, tc_chain); + +#ifndef GST_DISABLE_PARSE + /* only run this if we haven't been configured with --disable-encoders */ + if (gst_registry_check_feature_version (gst_registry_get (), "avenc_mpeg4", + GST_VERSION_MAJOR, GST_VERSION_MINOR, 0)) { + tcase_add_test (tc_chain, test_libavcodec_locks); + } else { + g_print ("******* Skipping libavcodec_locks test, no encoder available\n"); + } +#endif + + return s; +} + +GST_CHECK_MAIN (simple_launch_lines); diff --git a/tests/check/generic/plugin-test.c b/tests/check/generic/plugin-test.c new file mode 100644 index 0000000000..53831d249b --- /dev/null +++ b/tests/check/generic/plugin-test.c @@ -0,0 +1,98 @@ +/* GStreamer + * Copyright (C) 2009 Jan Schmidt + * + * Test that the FFmpeg plugin is loadable, and not broken in some stupid + * way. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + + +#include +#include + +GST_START_TEST (test_libav_plugin) +{ + GstPlugin *plugin = gst_plugin_load_by_name ("libav"); + + fail_if (plugin == NULL, "Could not load FFmpeg plugin"); + + gst_object_unref (plugin); + +} + +GST_END_TEST; + +GST_START_TEST (test_libav_update_reg) +{ + GstElement *encoder, *muxer, *decoder; + + /* Ask for elements the first time */ + encoder = gst_element_factory_make ("avenc_mpeg2video", "sink"); + GST_DEBUG ("Creating element avenc_mpeg2video %p", encoder); + fail_unless (encoder != NULL); + + decoder = gst_element_factory_make ("avdec_mpeg2video", "sink"); + GST_DEBUG ("Creating element avdec_mpeg2video %p", decoder); + fail_unless (decoder != NULL); + + muxer = gst_element_factory_make ("avmux_dvd", "sink"); + GST_DEBUG ("Creating element avmux_dvd %p", muxer); + fail_unless (muxer != NULL); + + gst_object_unref (encoder); + gst_object_unref (decoder); + gst_object_unref (muxer); + + GST_DEBUG ("calls gst_update_registry"); + gst_update_registry (); + + /* Ask for elements the second time */ + + encoder = gst_element_factory_make ("avenc_mpeg2video", "sink"); + GST_DEBUG ("Creating element avenc_mpeg2video %p", encoder); + fail_unless (encoder != NULL); + + decoder = gst_element_factory_make ("avdec_mpeg2video", "sink"); + GST_DEBUG ("Creating element avdec_mpeg2video %p", decoder); + fail_unless (decoder != NULL); + + muxer = gst_element_factory_make ("avmux_dvd", "sink"); + GST_DEBUG ("Creating element avmux_dvd %p", muxer); + fail_unless (muxer != NULL); + + gst_object_unref (encoder); + gst_object_unref (decoder); + gst_object_unref (muxer); +} + +GST_END_TEST; + +static Suite * +plugin_test_suite (void) +{ + Suite *s = suite_create ("Plugin"); + TCase *tc_chain = tcase_create ("existence"); + + suite_add_tcase (s, tc_chain); + + tcase_add_test (tc_chain, test_libav_plugin); + tcase_add_test (tc_chain, test_libav_update_reg); + + return s; +} + +GST_CHECK_MAIN (plugin_test); diff --git a/tests/check/gst-libav.supp b/tests/check/gst-libav.supp new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/check/meson.build b/tests/check/meson.build new file mode 100644 index 0000000000..a967f002cc --- /dev/null +++ b/tests/check/meson.build @@ -0,0 +1,60 @@ +# name, condition when to skip the test and extra dependencies +libav_tests = [ + [ 'elements/avaudenc' ], + [ 'elements/avdec_adpcm' ], + [ 'elements/avdemux_ape' ], + [ 'elements/avvidenc' ], + [ 'generic/libavcodec-locking' ], + [ 'generic/plugin-test' ] +] + +test_defines = [ + '-UG_DISABLE_ASSERT', + '-UG_DISABLE_CAST_CHECKS', + '-DGST_CHECK_TEST_ENVIRONMENT_BEACON="GST_PLUGIN_LOADING_WHITELIST"', + '-DGST_TEST_FILES_PATH="' + meson.current_source_dir() + '/../files"', + '-DGST_USE_UNSTABLE_API', +] + +pluginsdirs = [] +if gst_dep.type_name() == 'pkgconfig' + pbase = dependency('gstreamer-plugins-base-' + api_version, required: true) + pluginsdirs = [gst_dep.get_pkgconfig_variable('pluginsdir'), + pbase.get_pkgconfig_variable('pluginsdir')] + gst_plugin_scanner_dir = gst_dep.get_pkgconfig_variable('pluginscannerdir') +else + gst_plugin_scanner_dir = subproject('gstreamer').get_variable('gst_scanner_dir') +endif +gst_plugin_scanner_path = join_paths(gst_plugin_scanner_dir, 'gst-plugin-scanner') + +# FIXME: check, also + PTHREAD_CFLAGS +test_deps = [gst_dep, gstbase_dep, gstcheck_dep, gstaudio_dep, + gstvideo_dep, gstpbutils_dep] + +# FIXME: add valgrind suppression common/gst.supp gst-libav.supp +foreach t : libav_tests + fname = '@0@.c'.format(t.get(0)) + test_name = t.get(0).underscorify() + extra_sources = t.get(3, [ ]) + extra_deps = t.get(2, [ ]) + skip_test = t.get(1, false) + if not skip_test + env = environment() + env.set('GST_PLUGIN_SYSTEM_PATH_1_0', '') + env.set('CK_DEFAULT_TIMEOUT', '20') + env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer', 'gst-plugins-base', + 'gst-libav@' + meson.build_root()) + env.set('GST_PLUGIN_PATH_1_0', [meson.build_root()] + pluginsdirs) + env.set('GSETTINGS_BACKEND', 'memory') + + env.set('GST_REGISTRY', join_paths(meson.current_build_dir(), '@0@.registry'.format(test_name))) + env.set('GST_PLUGIN_SCANNER_1_0', gst_plugin_scanner_path) + exe = executable(test_name, fname, extra_sources, + include_directories : [configinc], + c_args : ['-DHAVE_CONFIG_H=1' ] + test_defines, + dependencies : [libm] + test_deps + extra_deps, + ) + test(test_name, exe, env: env, timeout: 3 * 60) + endif +endforeach + diff --git a/tests/files/586957.ape b/tests/files/586957.ape new file mode 100644 index 0000000000..3e891c8aa4 Binary files /dev/null and b/tests/files/586957.ape differ diff --git a/tests/files/591809.wav b/tests/files/591809.wav new file mode 100644 index 0000000000..ec630192a4 Binary files /dev/null and b/tests/files/591809.wav differ diff --git a/tests/meson.build b/tests/meson.build new file mode 100644 index 0000000000..3714641a59 --- /dev/null +++ b/tests/meson.build @@ -0,0 +1,3 @@ +if not get_option('tests').disabled() and gstcheck_dep.found() + subdir('check') +endif