diff --git a/LICENSE.md b/LICENSE.md
index 0a04128..635a72b 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,165 +1,21 @@
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-
- This version of the GNU Lesser General Public License incorporates
-the terms and conditions of version 3 of the GNU General Public
-License, supplemented by the additional permissions listed below.
-
- 0. Additional Definitions.
-
- As used herein, "this License" refers to version 3 of the GNU Lesser
-General Public License, and the "GNU GPL" refers to version 3 of the GNU
-General Public License.
-
- "The Library" refers to a covered work governed by this License,
-other than an Application or a Combined Work as defined below.
-
- An "Application" is any work that makes use of an interface provided
-by the Library, but which is not otherwise based on the Library.
-Defining a subclass of a class defined by the Library is deemed a mode
-of using an interface provided by the Library.
-
- A "Combined Work" is a work produced by combining or linking an
-Application with the Library. The particular version of the Library
-with which the Combined Work was made is also called the "Linked
-Version".
-
- The "Minimal Corresponding Source" for a Combined Work means the
-Corresponding Source for the Combined Work, excluding any source code
-for portions of the Combined Work that, considered in isolation, are
-based on the Application, and not on the Linked Version.
-
- The "Corresponding Application Code" for a Combined Work means the
-object code and/or source code for the Application, including any data
-and utility programs needed for reproducing the Combined Work from the
-Application, but excluding the System Libraries of the Combined Work.
-
- 1. Exception to Section 3 of the GNU GPL.
-
- You may convey a covered work under sections 3 and 4 of this License
-without being bound by section 3 of the GNU GPL.
-
- 2. Conveying Modified Versions.
-
- If you modify a copy of the Library, and, in your modifications, a
-facility refers to a function or data to be supplied by an Application
-that uses the facility (other than as an argument passed when the
-facility is invoked), then you may convey a copy of the modified
-version:
-
- a) under this License, provided that you make a good faith effort to
- ensure that, in the event an Application does not supply the
- function or data, the facility still operates, and performs
- whatever part of its purpose remains meaningful, or
-
- b) under the GNU GPL, with none of the additional permissions of
- this License applicable to that copy.
-
- 3. Object Code Incorporating Material from Library Header Files.
-
- The object code form of an Application may incorporate material from
-a header file that is part of the Library. You may convey such object
-code under terms of your choice, provided that, if the incorporated
-material is not limited to numerical parameters, data structure
-layouts and accessors, or small macros, inline functions and templates
-(ten or fewer lines in length), you do both of the following:
-
- a) Give prominent notice with each copy of the object code that the
- Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the object code with a copy of the GNU GPL and this license
- document.
-
- 4. Combined Works.
-
- You may convey a Combined Work under terms of your choice that,
-taken together, effectively do not restrict modification of the
-portions of the Library contained in the Combined Work and reverse
-engineering for debugging such modifications, if you also do each of
-the following:
-
- a) Give prominent notice with each copy of the Combined Work that
- the Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the Combined Work with a copy of the GNU GPL and this license
- document.
-
- c) For a Combined Work that displays copyright notices during
- execution, include the copyright notice for the Library among
- these notices, as well as a reference directing the user to the
- copies of the GNU GPL and this license document.
-
- d) Do one of the following:
-
- 0) Convey the Minimal Corresponding Source under the terms of this
- License, and the Corresponding Application Code in a form
- suitable for, and under terms that permit, the user to
- recombine or relink the Application with a modified version of
- the Linked Version to produce a modified Combined Work, in the
- manner specified by section 6 of the GNU GPL for conveying
- Corresponding Source.
-
- 1) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (a) uses at run time
- a copy of the Library already present on the user's computer
- system, and (b) will operate properly with a modified version
- of the Library that is interface-compatible with the Linked
- Version.
-
- e) Provide Installation Information, but only if you would otherwise
- be required to provide such information under section 6 of the
- GNU GPL, and only to the extent that such information is
- necessary to install and execute a modified version of the
- Combined Work produced by recombining or relinking the
- Application with a modified version of the Linked Version. (If
- you use option 4d0, the Installation Information must accompany
- the Minimal Corresponding Source and Corresponding Application
- Code. If you use option 4d1, you must provide the Installation
- Information in the manner specified by section 6 of the GNU GPL
- for conveying Corresponding Source.)
-
- 5. Combined Libraries.
-
- 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 that are not Applications and are not covered by this
-License, and convey such a combined library under terms of your
-choice, if you do both of the following:
-
- a) Accompany the combined library with a copy of the same work based
- on the Library, uncombined with any other library facilities,
- conveyed under the terms of this License.
-
- b) Give prominent notice with the combined library that part of it
- is a work based on the Library, and explaining where to find the
- accompanying uncombined form of the same work.
-
- 6. Revised Versions of the GNU Lesser General Public License.
-
- The Free Software Foundation may publish revised and/or new versions
-of the GNU 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 as you received it specifies that a certain numbered version
-of the GNU Lesser General Public License "or any later version"
-applies to it, you have the option of following the terms and
-conditions either of that published version or of any later version
-published by the Free Software Foundation. If the Library as you
-received it does not specify a version number of the GNU Lesser
-General Public License, you may choose any version of the GNU Lesser
-General Public License ever published by the Free Software Foundation.
-
- If the Library as you received it specifies that a proxy can decide
-whether future versions of the GNU Lesser General Public License shall
-apply, that proxy's public statement of acceptance of any version is
-permanent authorization for you to choose that version for the
-Library.
+MIT License
+
+Copyright (c) 2026 VirtualBrightPlayz
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/ConstCharPtrMarshaler.cs.meta b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/ConstCharPtrMarshaler.cs.meta
index 46a63df..fa0f683 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/ConstCharPtrMarshaler.cs.meta
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/ConstCharPtrMarshaler.cs.meta
@@ -1,11 +1,2 @@
fileFormatVersion: 2
-guid: 0b5447375ff678447ad705fa23d5bb16
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
+guid: 0b5447375ff678447ad705fa23d5bb16
\ No newline at end of file
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/FFmpeg.cs.meta b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/FFmpeg.cs.meta
index 2b0dcd3..1adef79 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/FFmpeg.cs.meta
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/FFmpeg.cs.meta
@@ -1,11 +1,2 @@
fileFormatVersion: 2
-guid: 0371722839dea3e44bf2ef72d6865806
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
+guid: 0371722839dea3e44bf2ef72d6865806
\ No newline at end of file
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/IFixedArray.cs.meta b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/IFixedArray.cs.meta
index 3576a08..d1eacd6 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/IFixedArray.cs.meta
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/IFixedArray.cs.meta
@@ -1,11 +1,2 @@
fileFormatVersion: 2
-guid: a2d5c94e6fe10b44584979077f883e5e
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
+guid: a2d5c94e6fe10b44584979077f883e5e
\ No newline at end of file
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/UTF8Marshaler.cs.meta b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/UTF8Marshaler.cs.meta
index 9ab9b80..8881041 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/UTF8Marshaler.cs.meta
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/UTF8Marshaler.cs.meta
@@ -1,11 +1,2 @@
fileFormatVersion: 2
-guid: 84315686cea3663458f65626191322fa
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
+guid: 84315686cea3663458f65626191322fa
\ No newline at end of file
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Arrays.g.cs b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Arrays.g.cs
index c7448ba..f1f9e24 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Arrays.g.cs
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Arrays.g.cs
@@ -24,6 +24,28 @@ public void UpdateFrom(AVRational[] array)
public static implicit operator AVRational[](AVRational2 @struct) => @struct.ToArray();
}
+public unsafe struct double2 : IFixedArray
+{
+ public static readonly int ArrayLength = 2;
+ public int Length => 2;
+ fixed double _[2];
+
+ public double this[uint i]
+ {
+ get => _[i];
+ set => _[i] = value;
+ }
+ public double[] ToArray()
+ {
+ var a = new double[2]; for (uint i = 0; i < 2; i++) a[i] = _[i]; return a;
+ }
+ public void UpdateFrom(double[] array)
+ {
+ uint i = 0; foreach(var value in array) { _[i++] = value; if (i >= 2) return; }
+ }
+ public static implicit operator double[](double2 @struct) => @struct.ToArray();
+}
+
public unsafe struct short2 : IFixedArray
{
public static readonly int ArrayLength = 2;
@@ -134,50 +156,6 @@ public void UpdateFrom(AVRational2[] array)
public static implicit operator AVRational2[](AVRational3x2 @struct) => @struct.ToArray();
}
-public unsafe struct byte_ptr3 : IFixedArray
-{
- public static readonly int ArrayLength = 3;
- public int Length => 3;
- byte* _0; byte* _1; byte* _2;
-
- public byte* this[uint i]
- {
- get { if (i >= 3) throw new ArgumentOutOfRangeException(); fixed (byte** p0 = &_0) { return *(p0 + i); } }
- set { if (i >= 3) throw new ArgumentOutOfRangeException(); fixed (byte** p0 = &_0) { *(p0 + i) = value; } }
- }
- public byte*[] ToArray()
- {
- fixed (byte** p0 = &_0) { var a = new byte*[3]; for (uint i = 0; i < 3; i++) a[i] = *(p0 + i); return a; }
- }
- public void UpdateFrom(byte*[] array)
- {
- fixed (byte** p0 = &_0) { uint i = 0; foreach(var value in array) { *(p0 + i++) = value; if (i >= 3) return; } }
- }
- public static implicit operator byte*[](byte_ptr3 @struct) => @struct.ToArray();
-}
-
-public unsafe struct int3 : IFixedArray
-{
- public static readonly int ArrayLength = 3;
- public int Length => 3;
- fixed int _[3];
-
- public int this[uint i]
- {
- get => _[i];
- set => _[i] = value;
- }
- public int[] ToArray()
- {
- var a = new int[3]; for (uint i = 0; i < 3; i++) a[i] = _[i]; return a;
- }
- public void UpdateFrom(int[] array)
- {
- uint i = 0; foreach(var value in array) { _[i++] = value; if (i >= 3) return; }
- }
- public static implicit operator int[](int3 @struct) => @struct.ToArray();
-}
-
public unsafe struct short3x2 : IFixedArray
{
public static readonly int ArrayLength = 3;
@@ -244,6 +222,28 @@ public void UpdateFrom(byte*[] array)
public static implicit operator byte*[](byte_ptr4 @struct) => @struct.ToArray();
}
+public unsafe struct byte4 : IFixedArray
+{
+ public static readonly int ArrayLength = 4;
+ public int Length => 4;
+ fixed byte _[4];
+
+ public byte this[uint i]
+ {
+ get => _[i];
+ set => _[i] = value;
+ }
+ public byte[] ToArray()
+ {
+ var a = new byte[4]; for (uint i = 0; i < 4; i++) a[i] = _[i]; return a;
+ }
+ public void UpdateFrom(byte[] array)
+ {
+ uint i = 0; foreach(var value in array) { _[i++] = value; if (i >= 4) return; }
+ }
+ public static implicit operator byte[](byte4 @struct) => @struct.ToArray();
+}
+
public unsafe struct int4 : IFixedArray
{
public static readonly int ArrayLength = 4;
@@ -288,6 +288,28 @@ public void UpdateFrom(long[] array)
public static implicit operator long[](long4 @struct) => @struct.ToArray();
}
+public unsafe struct uint4 : IFixedArray
+{
+ public static readonly int ArrayLength = 4;
+ public int Length => 4;
+ fixed uint _[4];
+
+ public uint this[uint i]
+ {
+ get => _[i];
+ set => _[i] = value;
+ }
+ public uint[] ToArray()
+ {
+ var a = new uint[4]; for (uint i = 0; i < 4; i++) a[i] = _[i]; return a;
+ }
+ public void UpdateFrom(uint[] array)
+ {
+ uint i = 0; foreach(var value in array) { _[i++] = value; if (i >= 4) return; }
+ }
+ public static implicit operator uint[](uint4 @struct) => @struct.ToArray();
+}
+
public unsafe struct ulong4 : IFixedArray
{
public static readonly int ArrayLength = 4;
@@ -574,25 +596,3 @@ public void UpdateFrom(AVRational25[] array)
public static implicit operator AVRational25[](AVRational25x25 @struct) => @struct.ToArray();
}
-public unsafe struct byte61440 : IFixedArray
-{
- public static readonly int ArrayLength = 61440;
- public int Length => 61440;
- fixed byte _[61440];
-
- public byte this[uint i]
- {
- get => _[i];
- set => _[i] = value;
- }
- public byte[] ToArray()
- {
- var a = new byte[61440]; for (uint i = 0; i < 61440; i++) a[i] = _[i]; return a;
- }
- public void UpdateFrom(byte[] array)
- {
- uint i = 0; foreach(var value in array) { _[i++] = value; if (i >= 61440) return; }
- }
- public static implicit operator byte[](byte61440 @struct) => @struct.ToArray();
-}
-
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Arrays.g.cs.meta b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Arrays.g.cs.meta
index 37c951c..9ae2ac2 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Arrays.g.cs.meta
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Arrays.g.cs.meta
@@ -1,11 +1,2 @@
fileFormatVersion: 2
-guid: cd83b7dc304b4ed46bc0d3fa642eb6af
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
+guid: cd83b7dc304b4ed46bc0d3fa642eb6af
\ No newline at end of file
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Delegates.g.cs b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Delegates.g.cs
index 31540f2..9179db6 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Delegates.g.cs
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Delegates.g.cs
@@ -3,14 +3,6 @@
// namespace FFmpeg.AutoGen.Abstractions;
-[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-public unsafe delegate int _query_func (AVFilterContext* @p0);
-public unsafe struct _query_func_func
-{
- public IntPtr Pointer;
- public static implicit operator _query_func_func(_query_func func) => new _query_func_func { Pointer = func == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(func) };
-}
-
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public unsafe delegate void av_buffer_create_free (void* @opaque, byte* @data);
public unsafe struct av_buffer_create_free_func
@@ -247,58 +239,6 @@ public unsafe struct AVD3D11VADeviceContext_unlock_func
public static implicit operator AVD3D11VADeviceContext_unlock_func(AVD3D11VADeviceContext_unlock func) => new AVD3D11VADeviceContext_unlock_func { Pointer = func == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(func) };
}
-[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-public unsafe delegate int AVFilter_activate (AVFilterContext* @ctx);
-public unsafe struct AVFilter_activate_func
-{
- public IntPtr Pointer;
- public static implicit operator AVFilter_activate_func(AVFilter_activate func) => new AVFilter_activate_func { Pointer = func == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(func) };
-}
-
-[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-public unsafe delegate int AVFilter_init (AVFilterContext* @ctx);
-public unsafe struct AVFilter_init_func
-{
- public IntPtr Pointer;
- public static implicit operator AVFilter_init_func(AVFilter_init func) => new AVFilter_init_func { Pointer = func == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(func) };
-}
-
-[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-public unsafe delegate int AVFilter_preinit (AVFilterContext* @ctx);
-public unsafe struct AVFilter_preinit_func
-{
- public IntPtr Pointer;
- public static implicit operator AVFilter_preinit_func(AVFilter_preinit func) => new AVFilter_preinit_func { Pointer = func == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(func) };
-}
-
-[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-public unsafe delegate int AVFilter_process_command (AVFilterContext* @p0,
- #if NETSTANDARD2_1_OR_GREATER
- [MarshalAs(UnmanagedType.LPUTF8Str)]
- #else
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Marshaler))]
- #endif
- string @cmd,
- #if NETSTANDARD2_1_OR_GREATER
- [MarshalAs(UnmanagedType.LPUTF8Str)]
- #else
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Marshaler))]
- #endif
- string @arg, byte* @res, int @res_len, int @flags);
-public unsafe struct AVFilter_process_command_func
-{
- public IntPtr Pointer;
- public static implicit operator AVFilter_process_command_func(AVFilter_process_command func) => new AVFilter_process_command_func { Pointer = func == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(func) };
-}
-
-[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-public unsafe delegate void AVFilter_uninit (AVFilterContext* @ctx);
-public unsafe struct AVFilter_uninit_func
-{
- public IntPtr Pointer;
- public static implicit operator AVFilter_uninit_func(AVFilter_uninit func) => new AVFilter_uninit_func { Pointer = func == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(func) };
-}
-
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public unsafe delegate int AVFilterGraph_execute (AVFilterContext* @ctx, func_func @func, void* @arg, int* @ret, int @nb_jobs);
public unsafe struct AVFilterGraph_execute_func
@@ -315,14 +255,6 @@ public unsafe struct AVFormatContext_control_message_cb_func
public static implicit operator AVFormatContext_control_message_cb_func(AVFormatContext_control_message_cb func) => new AVFormatContext_control_message_cb_func { Pointer = func == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(func) };
}
-[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-public unsafe delegate void AVFormatContext_io_close (AVFormatContext* @s, AVIOContext* @pb);
-public unsafe struct AVFormatContext_io_close_func
-{
- public IntPtr Pointer;
- public static implicit operator AVFormatContext_io_close_func(AVFormatContext_io_close func) => new AVFormatContext_io_close_func { Pointer = func == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(func) };
-}
-
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public unsafe delegate int AVFormatContext_io_close2 (AVFormatContext* @s, AVIOContext* @pb);
public unsafe struct AVFormatContext_io_close2_func
@@ -361,86 +293,6 @@ public unsafe struct AVHWFramesContext_free_func
public static implicit operator AVHWFramesContext_free_func(AVHWFramesContext_free func) => new AVHWFramesContext_free_func { Pointer = func == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(func) };
}
-[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-public unsafe delegate int AVInputFormat_get_device_list (AVFormatContext* @s, AVDeviceInfoList* @device_list);
-public unsafe struct AVInputFormat_get_device_list_func
-{
- public IntPtr Pointer;
- public static implicit operator AVInputFormat_get_device_list_func(AVInputFormat_get_device_list func) => new AVInputFormat_get_device_list_func { Pointer = func == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(func) };
-}
-
-[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-public unsafe delegate int AVInputFormat_read_close (AVFormatContext* @p0);
-public unsafe struct AVInputFormat_read_close_func
-{
- public IntPtr Pointer;
- public static implicit operator AVInputFormat_read_close_func(AVInputFormat_read_close func) => new AVInputFormat_read_close_func { Pointer = func == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(func) };
-}
-
-[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-public unsafe delegate int AVInputFormat_read_header (AVFormatContext* @p0);
-public unsafe struct AVInputFormat_read_header_func
-{
- public IntPtr Pointer;
- public static implicit operator AVInputFormat_read_header_func(AVInputFormat_read_header func) => new AVInputFormat_read_header_func { Pointer = func == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(func) };
-}
-
-[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-public unsafe delegate int AVInputFormat_read_packet (AVFormatContext* @p0, AVPacket* @pkt);
-public unsafe struct AVInputFormat_read_packet_func
-{
- public IntPtr Pointer;
- public static implicit operator AVInputFormat_read_packet_func(AVInputFormat_read_packet func) => new AVInputFormat_read_packet_func { Pointer = func == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(func) };
-}
-
-[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-public unsafe delegate int AVInputFormat_read_pause (AVFormatContext* @p0);
-public unsafe struct AVInputFormat_read_pause_func
-{
- public IntPtr Pointer;
- public static implicit operator AVInputFormat_read_pause_func(AVInputFormat_read_pause func) => new AVInputFormat_read_pause_func { Pointer = func == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(func) };
-}
-
-[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-public unsafe delegate int AVInputFormat_read_play (AVFormatContext* @p0);
-public unsafe struct AVInputFormat_read_play_func
-{
- public IntPtr Pointer;
- public static implicit operator AVInputFormat_read_play_func(AVInputFormat_read_play func) => new AVInputFormat_read_play_func { Pointer = func == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(func) };
-}
-
-[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-public unsafe delegate int AVInputFormat_read_probe (AVProbeData* @p0);
-public unsafe struct AVInputFormat_read_probe_func
-{
- public IntPtr Pointer;
- public static implicit operator AVInputFormat_read_probe_func(AVInputFormat_read_probe func) => new AVInputFormat_read_probe_func { Pointer = func == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(func) };
-}
-
-[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-public unsafe delegate int AVInputFormat_read_seek (AVFormatContext* @p0, int @stream_index, long @timestamp, int @flags);
-public unsafe struct AVInputFormat_read_seek_func
-{
- public IntPtr Pointer;
- public static implicit operator AVInputFormat_read_seek_func(AVInputFormat_read_seek func) => new AVInputFormat_read_seek_func { Pointer = func == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(func) };
-}
-
-[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-public unsafe delegate int AVInputFormat_read_seek2 (AVFormatContext* @s, int @stream_index, long @min_ts, long @ts, long @max_ts, int @flags);
-public unsafe struct AVInputFormat_read_seek2_func
-{
- public IntPtr Pointer;
- public static implicit operator AVInputFormat_read_seek2_func(AVInputFormat_read_seek2 func) => new AVInputFormat_read_seek2_func { Pointer = func == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(func) };
-}
-
-[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-public unsafe delegate long AVInputFormat_read_timestamp (AVFormatContext* @s, int @stream_index, long* @pos, long @pos_limit);
-public unsafe struct AVInputFormat_read_timestamp_func
-{
- public IntPtr Pointer;
- public static implicit operator AVInputFormat_read_timestamp_func(AVInputFormat_read_timestamp func) => new AVInputFormat_read_timestamp_func { Pointer = func == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(func) };
-}
-
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public unsafe delegate int avio_alloc_context_read_packet (void* @opaque, byte* @buf, int @buf_size);
public unsafe struct avio_alloc_context_read_packet_func
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Delegates.g.cs.meta b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Delegates.g.cs.meta
index 2b142c5..269331a 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Delegates.g.cs.meta
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Delegates.g.cs.meta
@@ -1,11 +1,2 @@
fileFormatVersion: 2
-guid: 6d9c98513364eb1449f6a9963e82d93e
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
+guid: 6d9c98513364eb1449f6a9963e82d93e
\ No newline at end of file
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Enums.g.cs b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Enums.g.cs
index 3647a05..b827b18 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Enums.g.cs
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Enums.g.cs
@@ -58,24 +58,43 @@ public enum AVAudioServiceType : int
/// Audio channel layout utility functions
public enum AVChannel : int
{
+ /// Invalid channel index
@AV_CHAN_NONE = -1,
+ /// Invalid channel index
@AV_CHAN_FRONT_LEFT = 0,
+ /// Invalid channel index
@AV_CHAN_FRONT_RIGHT = 1,
+ /// Invalid channel index
@AV_CHAN_FRONT_CENTER = 2,
+ /// Invalid channel index
@AV_CHAN_LOW_FREQUENCY = 3,
+ /// Invalid channel index
@AV_CHAN_BACK_LEFT = 4,
+ /// Invalid channel index
@AV_CHAN_BACK_RIGHT = 5,
+ /// Invalid channel index
@AV_CHAN_FRONT_LEFT_OF_CENTER = 6,
+ /// Invalid channel index
@AV_CHAN_FRONT_RIGHT_OF_CENTER = 7,
+ /// Invalid channel index
@AV_CHAN_BACK_CENTER = 8,
+ /// Invalid channel index
@AV_CHAN_SIDE_LEFT = 9,
+ /// Invalid channel index
@AV_CHAN_SIDE_RIGHT = 10,
+ /// Invalid channel index
@AV_CHAN_TOP_CENTER = 11,
+ /// Invalid channel index
@AV_CHAN_TOP_FRONT_LEFT = 12,
+ /// Invalid channel index
@AV_CHAN_TOP_FRONT_CENTER = 13,
+ /// Invalid channel index
@AV_CHAN_TOP_FRONT_RIGHT = 14,
+ /// Invalid channel index
@AV_CHAN_TOP_BACK_LEFT = 15,
+ /// Invalid channel index
@AV_CHAN_TOP_BACK_CENTER = 16,
+ /// Invalid channel index
@AV_CHAN_TOP_BACK_RIGHT = 17,
/// Stereo downmix.
@AV_CHAN_STEREO_LEFT = 29,
@@ -101,6 +120,16 @@ public enum AVChannel : int
@AV_CHAN_BOTTOM_FRONT_LEFT = 39,
/// See above.
@AV_CHAN_BOTTOM_FRONT_RIGHT = 40,
+ /// +90 degrees, Lss, SiL
+ @AV_CHAN_SIDE_SURROUND_LEFT = 41,
+ /// -90 degrees, Rss, SiR
+ @AV_CHAN_SIDE_SURROUND_RIGHT = 42,
+ /// +110 degrees, Lvs, TpLS
+ @AV_CHAN_TOP_SURROUND_LEFT = 43,
+ /// -110 degrees, Rvs, TpRS
+ @AV_CHAN_TOP_SURROUND_RIGHT = 44,
+ @AV_CHAN_BINAURAL_LEFT = 61,
+ @AV_CHAN_BINAURAL_RIGHT = 62,
/// Channel is empty can be safely skipped.
@AV_CHAN_UNUSED = 512,
/// Channel contains data, but its position is unknown.
@@ -117,10 +146,12 @@ public enum AVChannelOrder : int
@AV_CHANNEL_ORDER_UNSPEC = 0,
/// The native channel order, i.e. the channels are in the same order in which they are defined in the AVChannel enum. This supports up to 63 different channels.
@AV_CHANNEL_ORDER_NATIVE = 1,
- /// The channel order does not correspond to any other predefined order and is stored as an explicit map. For example, this could be used to support layouts with 64 or more channels, or with empty/skipped (AV_CHAN_SILENCE) channels at arbitrary positions.
+ /// The channel order does not correspond to any other predefined order and is stored as an explicit map. For example, this could be used to support layouts with 64 or more channels, or with empty/skipped (AV_CHAN_UNUSED) channels at arbitrary positions.
@AV_CHANNEL_ORDER_CUSTOM = 2,
/// The audio is represented as the decomposition of the sound field into spherical harmonics. Each channel corresponds to a single expansion component. Channels are ordered according to ACN (Ambisonic Channel Number).
@AV_CHANNEL_ORDER_AMBISONIC = 3,
+ /// Number of channel orders, not part of ABI/API
+ @FF_CHANNEL_ORDER_NB = 4,
}
/// Location of chroma samples.
@@ -153,6 +184,7 @@ public enum AVClassCategory : int
@AV_CLASS_CATEGORY_BITSTREAM_FILTER = 8,
@AV_CLASS_CATEGORY_SWSCALER = 9,
@AV_CLASS_CATEGORY_SWRESAMPLER = 10,
+ @AV_CLASS_CATEGORY_HWDEVICE = 11,
@AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT = 40,
@AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT = 41,
@AV_CLASS_CATEGORY_DEVICE_AUDIO_OUTPUT = 42,
@@ -163,6 +195,30 @@ public enum AVClassCategory : int
@AV_CLASS_CATEGORY_NB = 46,
}
+public enum AVClassStateFlags : int
+{
+ /// Object initialization has finished and it is now in the 'runtime' stage. This affects e.g. what options can be set on the object (only AV_OPT_FLAG_RUNTIME_PARAM options can be set on initialized objects).
+ @AV_CLASS_STATE_INITIALIZED = 1,
+}
+
+public enum AVCodecConfig : int
+{
+ /// AVPixelFormat, terminated by AV_PIX_FMT_NONE
+ @AV_CODEC_CONFIG_PIX_FORMAT = 0,
+ /// AVRational, terminated by {0, 0}
+ @AV_CODEC_CONFIG_FRAME_RATE = 1,
+ /// int, terminated by 0
+ @AV_CODEC_CONFIG_SAMPLE_RATE = 2,
+ /// AVSampleFormat, terminated by AV_SAMPLE_FMT_NONE
+ @AV_CODEC_CONFIG_SAMPLE_FORMAT = 3,
+ /// AVChannelLayout, terminated by {0}
+ @AV_CODEC_CONFIG_CHANNEL_LAYOUT = 4,
+ /// AVColorRange, terminated by AVCOL_RANGE_UNSPECIFIED
+ @AV_CODEC_CONFIG_COLOR_RANGE = 5,
+ /// AVColorSpace, terminated by AVCOL_SPC_UNSPECIFIED
+ @AV_CODEC_CONFIG_COLOR_SPACE = 6,
+}
+
/// Identify the syntax and semantics of the bitstream. The principle is roughly: Two decoders with the same ID can decode the same streams. Two encoders with the same ID can encode compatible streams. There may be slight deviations from the principle due to implementation details.
public enum AVCodecID : int
{
@@ -368,75 +424,80 @@ public enum AVCodecID : int
@AV_CODEC_ID_AVRP = 198,
@AV_CODEC_ID_012V = 199,
@AV_CODEC_ID_AVUI = 200,
- @AV_CODEC_ID_AYUV = 201,
- @AV_CODEC_ID_TARGA_Y216 = 202,
- @AV_CODEC_ID_V308 = 203,
- @AV_CODEC_ID_V408 = 204,
- @AV_CODEC_ID_YUV4 = 205,
- @AV_CODEC_ID_AVRN = 206,
- @AV_CODEC_ID_CPIA = 207,
- @AV_CODEC_ID_XFACE = 208,
- @AV_CODEC_ID_SNOW = 209,
- @AV_CODEC_ID_SMVJPEG = 210,
- @AV_CODEC_ID_APNG = 211,
- @AV_CODEC_ID_DAALA = 212,
- @AV_CODEC_ID_CFHD = 213,
- @AV_CODEC_ID_TRUEMOTION2RT = 214,
- @AV_CODEC_ID_M101 = 215,
- @AV_CODEC_ID_MAGICYUV = 216,
- @AV_CODEC_ID_SHEERVIDEO = 217,
- @AV_CODEC_ID_YLC = 218,
- @AV_CODEC_ID_PSD = 219,
- @AV_CODEC_ID_PIXLET = 220,
- @AV_CODEC_ID_SPEEDHQ = 221,
- @AV_CODEC_ID_FMVC = 222,
- @AV_CODEC_ID_SCPR = 223,
- @AV_CODEC_ID_CLEARVIDEO = 224,
- @AV_CODEC_ID_XPM = 225,
- @AV_CODEC_ID_AV1 = 226,
- @AV_CODEC_ID_BITPACKED = 227,
- @AV_CODEC_ID_MSCC = 228,
- @AV_CODEC_ID_SRGC = 229,
- @AV_CODEC_ID_SVG = 230,
- @AV_CODEC_ID_GDV = 231,
- @AV_CODEC_ID_FITS = 232,
- @AV_CODEC_ID_IMM4 = 233,
- @AV_CODEC_ID_PROSUMER = 234,
- @AV_CODEC_ID_MWSC = 235,
- @AV_CODEC_ID_WCMV = 236,
- @AV_CODEC_ID_RASC = 237,
- @AV_CODEC_ID_HYMT = 238,
- @AV_CODEC_ID_ARBC = 239,
- @AV_CODEC_ID_AGM = 240,
- @AV_CODEC_ID_LSCR = 241,
- @AV_CODEC_ID_VP4 = 242,
- @AV_CODEC_ID_IMM5 = 243,
- @AV_CODEC_ID_MVDV = 244,
- @AV_CODEC_ID_MVHA = 245,
- @AV_CODEC_ID_CDTOONS = 246,
- @AV_CODEC_ID_MV30 = 247,
- @AV_CODEC_ID_NOTCHLC = 248,
- @AV_CODEC_ID_PFM = 249,
- @AV_CODEC_ID_MOBICLIP = 250,
- @AV_CODEC_ID_PHOTOCD = 251,
- @AV_CODEC_ID_IPU = 252,
- @AV_CODEC_ID_ARGO = 253,
- @AV_CODEC_ID_CRI = 254,
- @AV_CODEC_ID_SIMBIOSIS_IMX = 255,
- @AV_CODEC_ID_SGA_VIDEO = 256,
- @AV_CODEC_ID_GEM = 257,
- @AV_CODEC_ID_VBN = 258,
- @AV_CODEC_ID_JPEGXL = 259,
- @AV_CODEC_ID_QOI = 260,
- @AV_CODEC_ID_PHM = 261,
- @AV_CODEC_ID_RADIANCE_HDR = 262,
- @AV_CODEC_ID_WBMP = 263,
- @AV_CODEC_ID_MEDIA100 = 264,
- @AV_CODEC_ID_VQC = 265,
- @AV_CODEC_ID_PDV = 266,
- @AV_CODEC_ID_EVC = 267,
- @AV_CODEC_ID_RTV1 = 268,
- @AV_CODEC_ID_VMIX = 269,
+ @AV_CODEC_ID_TARGA_Y216 = 201,
+ @AV_CODEC_ID_V308 = 202,
+ @AV_CODEC_ID_V408 = 203,
+ @AV_CODEC_ID_YUV4 = 204,
+ @AV_CODEC_ID_AVRN = 205,
+ @AV_CODEC_ID_CPIA = 206,
+ @AV_CODEC_ID_XFACE = 207,
+ @AV_CODEC_ID_SNOW = 208,
+ @AV_CODEC_ID_SMVJPEG = 209,
+ @AV_CODEC_ID_APNG = 210,
+ @AV_CODEC_ID_DAALA = 211,
+ @AV_CODEC_ID_CFHD = 212,
+ @AV_CODEC_ID_TRUEMOTION2RT = 213,
+ @AV_CODEC_ID_M101 = 214,
+ @AV_CODEC_ID_MAGICYUV = 215,
+ @AV_CODEC_ID_SHEERVIDEO = 216,
+ @AV_CODEC_ID_YLC = 217,
+ @AV_CODEC_ID_PSD = 218,
+ @AV_CODEC_ID_PIXLET = 219,
+ @AV_CODEC_ID_SPEEDHQ = 220,
+ @AV_CODEC_ID_FMVC = 221,
+ @AV_CODEC_ID_SCPR = 222,
+ @AV_CODEC_ID_CLEARVIDEO = 223,
+ @AV_CODEC_ID_XPM = 224,
+ @AV_CODEC_ID_AV1 = 225,
+ @AV_CODEC_ID_BITPACKED = 226,
+ @AV_CODEC_ID_MSCC = 227,
+ @AV_CODEC_ID_SRGC = 228,
+ @AV_CODEC_ID_SVG = 229,
+ @AV_CODEC_ID_GDV = 230,
+ @AV_CODEC_ID_FITS = 231,
+ @AV_CODEC_ID_IMM4 = 232,
+ @AV_CODEC_ID_PROSUMER = 233,
+ @AV_CODEC_ID_MWSC = 234,
+ @AV_CODEC_ID_WCMV = 235,
+ @AV_CODEC_ID_RASC = 236,
+ @AV_CODEC_ID_HYMT = 237,
+ @AV_CODEC_ID_ARBC = 238,
+ @AV_CODEC_ID_AGM = 239,
+ @AV_CODEC_ID_LSCR = 240,
+ @AV_CODEC_ID_VP4 = 241,
+ @AV_CODEC_ID_IMM5 = 242,
+ @AV_CODEC_ID_MVDV = 243,
+ @AV_CODEC_ID_MVHA = 244,
+ @AV_CODEC_ID_CDTOONS = 245,
+ @AV_CODEC_ID_MV30 = 246,
+ @AV_CODEC_ID_NOTCHLC = 247,
+ @AV_CODEC_ID_PFM = 248,
+ @AV_CODEC_ID_MOBICLIP = 249,
+ @AV_CODEC_ID_PHOTOCD = 250,
+ @AV_CODEC_ID_IPU = 251,
+ @AV_CODEC_ID_ARGO = 252,
+ @AV_CODEC_ID_CRI = 253,
+ @AV_CODEC_ID_SIMBIOSIS_IMX = 254,
+ @AV_CODEC_ID_SGA_VIDEO = 255,
+ @AV_CODEC_ID_GEM = 256,
+ @AV_CODEC_ID_VBN = 257,
+ @AV_CODEC_ID_JPEGXL = 258,
+ @AV_CODEC_ID_QOI = 259,
+ @AV_CODEC_ID_PHM = 260,
+ @AV_CODEC_ID_RADIANCE_HDR = 261,
+ @AV_CODEC_ID_WBMP = 262,
+ @AV_CODEC_ID_MEDIA100 = 263,
+ @AV_CODEC_ID_VQC = 264,
+ @AV_CODEC_ID_PDV = 265,
+ @AV_CODEC_ID_EVC = 266,
+ @AV_CODEC_ID_RTV1 = 267,
+ @AV_CODEC_ID_VMIX = 268,
+ @AV_CODEC_ID_LEAD = 269,
+ @AV_CODEC_ID_DNXUC = 270,
+ @AV_CODEC_ID_RV60 = 271,
+ @AV_CODEC_ID_JPEGXL_ANIM = 272,
+ @AV_CODEC_ID_APV = 273,
+ @AV_CODEC_ID_PRORES_RAW = 274,
/// A dummy id pointing at the start of audio codecs
@AV_CODEC_ID_FIRST_AUDIO = 65536,
@AV_CODEC_ID_PCM_S16LE = 65536,
@@ -528,6 +589,8 @@ public enum AVCodecID : int
@AV_CODEC_ID_ADPCM_IMA_MOFLEX = 69681,
@AV_CODEC_ID_ADPCM_IMA_ACORN = 69682,
@AV_CODEC_ID_ADPCM_XMD = 69683,
+ @AV_CODEC_ID_ADPCM_IMA_XBOX = 69684,
+ @AV_CODEC_ID_ADPCM_SANYO = 69685,
@AV_CODEC_ID_AMR_NB = 73728,
@AV_CODEC_ID_AMR_WB = 73729,
@AV_CODEC_ID_RA_144 = 77824,
@@ -648,6 +711,9 @@ public enum AVCodecID : int
@AV_CODEC_ID_RKA = 86118,
@AV_CODEC_ID_AC4 = 86119,
@AV_CODEC_ID_OSQ = 86120,
+ @AV_CODEC_ID_QOA = 86121,
+ @AV_CODEC_ID_LC3 = 86122,
+ @AV_CODEC_ID_G728 = 86123,
/// A dummy ID pointing at the start of subtitle codecs.
@AV_CODEC_ID_FIRST_SUBTITLE = 94208,
@AV_CODEC_ID_DVD_SUBTITLE = 94208,
@@ -677,6 +743,7 @@ public enum AVCodecID : int
@AV_CODEC_ID_HDMV_TEXT_SUBTITLE = 94231,
@AV_CODEC_ID_TTML = 94232,
@AV_CODEC_ID_ARIB_CAPTION = 94233,
+ @AV_CODEC_ID_IVTV_VBI = 94234,
/// A dummy ID pointing at the start of various fake codecs.
@AV_CODEC_ID_FIRST_UNKNOWN = 98304,
@AV_CODEC_ID_TTF = 98304,
@@ -692,6 +759,8 @@ public enum AVCodecID : int
@AV_CODEC_ID_TIMED_ID3 = 98313,
@AV_CODEC_ID_BIN_DATA = 98314,
@AV_CODEC_ID_SMPTE_2038 = 98315,
+ @AV_CODEC_ID_LCEVC = 98316,
+ @AV_CODEC_ID_SMPTE_436M_ANC = 98317,
/// codec_id is not known (like AV_CODEC_ID_NONE) but lavf should attempt to identify it
@AV_CODEC_ID_PROBE = 102400,
/// _FAKE_ codec to indicate a raw MPEG-2 TS stream (only used by libavformat)
@@ -787,8 +856,14 @@ public enum AVColorSpace : int
@AVCOL_SPC_CHROMA_DERIVED_CL = 13,
/// ITU-R BT.2100-0, ICtCp
@AVCOL_SPC_ICTCP = 14,
+ /// SMPTE ST 2128, IPT-C2
+ @AVCOL_SPC_IPT_C2 = 15,
+ /// YCgCo-R, even addition of bits
+ @AVCOL_SPC_YCGCO_RE = 16,
+ /// YCgCo-R, odd addition of bits
+ @AVCOL_SPC_YCGCO_RO = 17,
/// Not part of ABI
- @AVCOL_SPC_NB = 15,
+ @AVCOL_SPC_NB = 18,
}
/// Color Transfer Characteristic. These values match the ones defined by ISO/IEC 23091-2_2019 subclause 8.2.
@@ -904,17 +979,6 @@ public enum AVFieldOrder : int
@AV_FIELD_BT = 5,
}
-/// stage of the initialization of the link properties (dimensions, etc)
-public enum AVFilterLink_init_state : int
-{
- /// not started
- @AVLINK_UNINIT = 0,
- /// started, but incomplete
- @AVLINK_STARTINIT = 1,
- /// complete
- @AVLINK_INIT = 2,
-}
-
/// @{ AVFrame is an abstraction for reference-counted raw multimedia data.
public enum AVFrameSideDataType : int
{
@@ -936,7 +1000,7 @@ public enum AVFrameSideDataType : int
@AV_FRAME_DATA_AFD = 7,
/// Motion vectors exported by some codecs (on demand through the export_mvs flag set in the libavcodec AVCodecContext flags2 option). The data is the AVMotionVector struct defined in libavutil/motion_vector.h.
@AV_FRAME_DATA_MOTION_VECTORS = 8,
- /// Recommmends skipping the specified number of samples. This is exported only if the "skip_manual" AVOption is set in libavcodec. This has the same format as AV_PKT_DATA_SKIP_SAMPLES.
+ /// Recommends skipping the specified number of samples. This is exported only if the "skip_manual" AVOption is set in libavcodec. This has the same format as AV_PKT_DATA_SKIP_SAMPLES.
@AV_FRAME_DATA_SKIP_SAMPLES = 9,
/// This side data must be associated with an audio frame and corresponds to enum AVAudioServiceType defined in avcodec.h.
@AV_FRAME_DATA_AUDIO_SERVICE_TYPE = 10,
@@ -974,6 +1038,12 @@ public enum AVFrameSideDataType : int
@AV_FRAME_DATA_AMBIENT_VIEWING_ENVIRONMENT = 26,
/// Provide encoder-specific hinting information about changed/unchanged portions of a frame. It can be used to pass information about which macroblocks can be skipped because they didn't change from the corresponding ones in the previous frame. This could be useful for applications which know this information in advance to speed up encoding.
@AV_FRAME_DATA_VIDEO_HINT = 27,
+ /// Raw LCEVC payload data, as a uint8_t array, with NAL emulation bytes intact.
+ @AV_FRAME_DATA_LCEVC = 28,
+ /// This side data must be associated with a video frame. The presence of this side data indicates that the video stream is composed of multiple views (e.g. stereoscopic 3D content, cf. H.264 Annex H or H.265 Annex G). The data is an int storing the view ID.
+ @AV_FRAME_DATA_VIEW_ID = 29,
+ /// This side data contains information about the reference display width(s) and reference viewing distance(s) as well as information about the corresponding reference stereo pair(s), i.e., the pair(s) of views to be displayed for the viewer's left and right eyes on the reference display at the reference viewing distance. The payload is the AV3DReferenceDisplaysInfo struct defined in libavutil/tdrdi.h.
+ @AV_FRAME_DATA_3D_REFERENCE_DISPLAYS = 30,
}
/// Option for overlapping elliptical pixel selectors in an image.
@@ -997,6 +1067,9 @@ public enum AVHWDeviceType : int
@AV_HWDEVICE_TYPE_OPENCL = 9,
@AV_HWDEVICE_TYPE_MEDIACODEC = 10,
@AV_HWDEVICE_TYPE_VULKAN = 11,
+ @AV_HWDEVICE_TYPE_D3D12VA = 12,
+ @AV_HWDEVICE_TYPE_AMF = 13,
+ @AV_HWDEVICE_TYPE_OHCODEC = 14,
}
public enum AVHWFrameTransferDirection : int
@@ -1067,32 +1140,51 @@ public enum AVMediaType : int
@AVMEDIA_TYPE_NB = 5,
}
-/// @{ AVOptions provide a generic system to declare options on arbitrary structs ("objects"). An option can have a help text, a type and a range of possible values. Options may then be enumerated, read and written to.
+/// An option type determines: - for native access, the underlying C type of the field that an AVOption refers to; - for foreign access, the semantics of accessing the option through this API, e.g. which av_opt_get_*() and av_opt_set_*() functions can be called, or what format will av_opt_get()/av_opt_set() expect/produce.
public enum AVOptionType : int
{
- @AV_OPT_TYPE_FLAGS = 0,
- @AV_OPT_TYPE_INT = 1,
- @AV_OPT_TYPE_INT64 = 2,
- @AV_OPT_TYPE_DOUBLE = 3,
- @AV_OPT_TYPE_FLOAT = 4,
- @AV_OPT_TYPE_STRING = 5,
- @AV_OPT_TYPE_RATIONAL = 6,
- /// offset must point to a pointer immediately followed by an int for the length
- @AV_OPT_TYPE_BINARY = 7,
- @AV_OPT_TYPE_DICT = 8,
- @AV_OPT_TYPE_UINT64 = 9,
- @AV_OPT_TYPE_CONST = 10,
- /// offset must point to two consecutive integers
- @AV_OPT_TYPE_IMAGE_SIZE = 11,
- @AV_OPT_TYPE_PIXEL_FMT = 12,
- @AV_OPT_TYPE_SAMPLE_FMT = 13,
- /// offset must point to AVRational
- @AV_OPT_TYPE_VIDEO_RATE = 14,
- @AV_OPT_TYPE_DURATION = 15,
- @AV_OPT_TYPE_COLOR = 16,
- @AV_OPT_TYPE_CHANNEL_LAYOUT = 17,
+ /// Underlying C type is unsigned int.
+ @AV_OPT_TYPE_FLAGS = 1,
+ /// Underlying C type is int.
+ @AV_OPT_TYPE_INT = 2,
+ /// Underlying C type is int64_t.
+ @AV_OPT_TYPE_INT64 = 3,
+ /// Underlying C type is double.
+ @AV_OPT_TYPE_DOUBLE = 4,
+ /// Underlying C type is float.
+ @AV_OPT_TYPE_FLOAT = 5,
+ /// Underlying C type is a uint8_t* that is either NULL or points to a C string allocated with the av_malloc() family of functions.
+ @AV_OPT_TYPE_STRING = 6,
+ /// Underlying C type is AVRational.
+ @AV_OPT_TYPE_RATIONAL = 7,
+ /// Underlying C type is a uint8_t* that is either NULL or points to an array allocated with the av_malloc() family of functions. The pointer is immediately followed by an int containing the array length in bytes.
+ @AV_OPT_TYPE_BINARY = 8,
+ /// Underlying C type is AVDictionary*.
+ @AV_OPT_TYPE_DICT = 9,
+ /// Underlying C type is uint64_t.
+ @AV_OPT_TYPE_UINT64 = 10,
+ /// Special option type for declaring named constants. Does not correspond to an actual field in the object, offset must be 0.
+ @AV_OPT_TYPE_CONST = 11,
+ /// Underlying C type is two consecutive integers.
+ @AV_OPT_TYPE_IMAGE_SIZE = 12,
+ /// Underlying C type is enum AVPixelFormat.
+ @AV_OPT_TYPE_PIXEL_FMT = 13,
+ /// Underlying C type is enum AVSampleFormat.
+ @AV_OPT_TYPE_SAMPLE_FMT = 14,
+ /// Underlying C type is AVRational.
+ @AV_OPT_TYPE_VIDEO_RATE = 15,
+ /// Underlying C type is int64_t.
+ @AV_OPT_TYPE_DURATION = 16,
+ /// Underlying C type is uint8_t[4].
+ @AV_OPT_TYPE_COLOR = 17,
+ /// Underlying C type is int.
@AV_OPT_TYPE_BOOL = 18,
+ /// Underlying C type is AVChannelLayout.
@AV_OPT_TYPE_CHLAYOUT = 19,
+ /// Underlying C type is unsigned int.
+ @AV_OPT_TYPE_UINT = 20,
+ /// May be combined with another regular option type to declare an array option.
+ @AV_OPT_TYPE_FLAG_ARRAY = 65536,
}
/// Types and functions for working with AVPacketSideData. @{
@@ -1120,7 +1212,7 @@ public enum AVPacketSideDataType : int
@AV_PKT_DATA_FALLBACK_TRACK = 9,
/// This side data corresponds to the AVCPBProperties struct.
@AV_PKT_DATA_CPB_PROPERTIES = 10,
- /// Recommmends skipping the specified number of samples
+ /// Recommends skipping the specified number of samples
@AV_PKT_DATA_SKIP_SAMPLES = 11,
/// An AV_PKT_DATA_JP_DUALMONO side data packet indicates that the packet may contain "dual mono" audio specific to Japanese DTV and if it is true, recommends only the selected channel to be used.
@AV_PKT_DATA_JP_DUALMONO = 12,
@@ -1162,8 +1254,24 @@ public enum AVPacketSideDataType : int
@AV_PKT_DATA_S12M_TIMECODE = 30,
/// HDR10+ dynamic metadata associated with a video frame. The metadata is in the form of the AVDynamicHDRPlus struct and contains information for color volume transform - application 4 of SMPTE 2094-40:2016 standard.
@AV_PKT_DATA_DYNAMIC_HDR10_PLUS = 31,
+ /// IAMF Mix Gain Parameter Data associated with the audio frame. This metadata is in the form of the AVIAMFParamDefinition struct and contains information defined in sections 3.6.1 and 3.8.1 of the Immersive Audio Model and Formats standard.
+ @AV_PKT_DATA_IAMF_MIX_GAIN_PARAM = 32,
+ /// IAMF Demixing Info Parameter Data associated with the audio frame. This metadata is in the form of the AVIAMFParamDefinition struct and contains information defined in sections 3.6.1 and 3.8.2 of the Immersive Audio Model and Formats standard.
+ @AV_PKT_DATA_IAMF_DEMIXING_INFO_PARAM = 33,
+ /// IAMF Recon Gain Info Parameter Data associated with the audio frame. This metadata is in the form of the AVIAMFParamDefinition struct and contains information defined in sections 3.6.1 and 3.8.3 of the Immersive Audio Model and Formats standard.
+ @AV_PKT_DATA_IAMF_RECON_GAIN_INFO_PARAM = 34,
+ /// Ambient viewing environment metadata, as defined by H.274. This metadata should be associated with a video stream and contains data in the form of the AVAmbientViewingEnvironment struct.
+ @AV_PKT_DATA_AMBIENT_VIEWING_ENVIRONMENT = 35,
+ /// The number of pixels to discard from the top/bottom/left/right border of the decoded frame to obtain the sub-rectangle intended for presentation.
+ @AV_PKT_DATA_FRAME_CROPPING = 36,
+ /// Raw LCEVC payload data, as a uint8_t array, with NAL emulation bytes intact.
+ @AV_PKT_DATA_LCEVC = 37,
+ /// This side data contains information about the reference display width(s) and reference viewing distance(s) as well as information about the corresponding reference stereo pair(s), i.e., the pair(s) of views to be displayed for the viewer's left and right eyes on the reference display at the reference viewing distance. The payload is the AV3DReferenceDisplaysInfo struct defined in libavutil/tdrdi.h.
+ @AV_PKT_DATA_3D_REFERENCE_DISPLAYS = 38,
+ /// Contains the last received RTCP SR (Sender Report) information in the form of the AVRTCPSenderReport struct.
+ @AV_PKT_DATA_RTCP_SR = 39,
/// The number of side data types. This is not part of the public API/ABI in the sense that it may change when new side data types are added. This must stay the last enum value. If its value becomes huge, some code using it needs to be updated as it assumes it to be smaller than other limits.
- @AV_PKT_DATA_NB = 32,
+ @AV_PKT_DATA_NB = 40,
}
/// @{
@@ -1244,7 +1352,7 @@ public enum AVPixelFormat : int
@AV_PIX_FMT_BGR4 = 18,
/// packed RGB 1:2:1, 8bpp, (msb)1B 2G 1R(lsb)
@AV_PIX_FMT_BGR4_BYTE = 19,
- /// packed RGB 3:3:2, 8bpp, (msb)2R 3G 3B(lsb)
+ /// packed RGB 3:3:2, 8bpp, (msb)3R 3G 2B(lsb)
@AV_PIX_FMT_RGB8 = 20,
/// packed RGB 1:2:1 bitstream, 4bpp, (msb)1R 2G 1B(lsb), a byte contains two pixels, the first pixel in the byte is the one composed by the 4 msb bits
@AV_PIX_FMT_RGB4 = 21,
@@ -1511,162 +1619,239 @@ public enum AVPixelFormat : int
@AV_PIX_FMT_BAYER_GRBG16LE = 149,
/// bayer, GRGR..(odd line), BGBG..(even line), 16-bit samples, big-endian
@AV_PIX_FMT_BAYER_GRBG16BE = 150,
- /// XVideo Motion Acceleration via common packet passing
- @AV_PIX_FMT_XVMC = 151,
/// planar YUV 4:4:0,20bpp, (1 Cr & Cb sample per 1x2 Y samples), little-endian
- @AV_PIX_FMT_YUV440P10LE = 152,
+ @AV_PIX_FMT_YUV440P10LE = 151,
/// planar YUV 4:4:0,20bpp, (1 Cr & Cb sample per 1x2 Y samples), big-endian
- @AV_PIX_FMT_YUV440P10BE = 153,
+ @AV_PIX_FMT_YUV440P10BE = 152,
/// planar YUV 4:4:0,24bpp, (1 Cr & Cb sample per 1x2 Y samples), little-endian
- @AV_PIX_FMT_YUV440P12LE = 154,
+ @AV_PIX_FMT_YUV440P12LE = 153,
/// planar YUV 4:4:0,24bpp, (1 Cr & Cb sample per 1x2 Y samples), big-endian
- @AV_PIX_FMT_YUV440P12BE = 155,
+ @AV_PIX_FMT_YUV440P12BE = 154,
/// packed AYUV 4:4:4,64bpp (1 Cr & Cb sample per 1x1 Y & A samples), little-endian
- @AV_PIX_FMT_AYUV64LE = 156,
+ @AV_PIX_FMT_AYUV64LE = 155,
/// packed AYUV 4:4:4,64bpp (1 Cr & Cb sample per 1x1 Y & A samples), big-endian
- @AV_PIX_FMT_AYUV64BE = 157,
+ @AV_PIX_FMT_AYUV64BE = 156,
/// hardware decoding through Videotoolbox
- @AV_PIX_FMT_VIDEOTOOLBOX = 158,
+ @AV_PIX_FMT_VIDEOTOOLBOX = 157,
/// like NV12, with 10bpp per component, data in the high bits, zeros in the low bits, little-endian
- @AV_PIX_FMT_P010LE = 159,
+ @AV_PIX_FMT_P010LE = 158,
/// like NV12, with 10bpp per component, data in the high bits, zeros in the low bits, big-endian
- @AV_PIX_FMT_P010BE = 160,
+ @AV_PIX_FMT_P010BE = 159,
/// planar GBR 4:4:4:4 48bpp, big-endian
- @AV_PIX_FMT_GBRAP12BE = 161,
+ @AV_PIX_FMT_GBRAP12BE = 160,
/// planar GBR 4:4:4:4 48bpp, little-endian
- @AV_PIX_FMT_GBRAP12LE = 162,
+ @AV_PIX_FMT_GBRAP12LE = 161,
/// planar GBR 4:4:4:4 40bpp, big-endian
- @AV_PIX_FMT_GBRAP10BE = 163,
+ @AV_PIX_FMT_GBRAP10BE = 162,
/// planar GBR 4:4:4:4 40bpp, little-endian
- @AV_PIX_FMT_GBRAP10LE = 164,
+ @AV_PIX_FMT_GBRAP10LE = 163,
/// hardware decoding through MediaCodec
- @AV_PIX_FMT_MEDIACODEC = 165,
+ @AV_PIX_FMT_MEDIACODEC = 164,
/// Y , 12bpp, big-endian
- @AV_PIX_FMT_GRAY12BE = 166,
+ @AV_PIX_FMT_GRAY12BE = 165,
/// Y , 12bpp, little-endian
- @AV_PIX_FMT_GRAY12LE = 167,
+ @AV_PIX_FMT_GRAY12LE = 166,
/// Y , 10bpp, big-endian
- @AV_PIX_FMT_GRAY10BE = 168,
+ @AV_PIX_FMT_GRAY10BE = 167,
/// Y , 10bpp, little-endian
- @AV_PIX_FMT_GRAY10LE = 169,
+ @AV_PIX_FMT_GRAY10LE = 168,
/// like NV12, with 16bpp per component, little-endian
- @AV_PIX_FMT_P016LE = 170,
+ @AV_PIX_FMT_P016LE = 169,
/// like NV12, with 16bpp per component, big-endian
- @AV_PIX_FMT_P016BE = 171,
+ @AV_PIX_FMT_P016BE = 170,
/// Hardware surfaces for Direct3D11.
- @AV_PIX_FMT_D3D11 = 172,
+ @AV_PIX_FMT_D3D11 = 171,
/// Y , 9bpp, big-endian
- @AV_PIX_FMT_GRAY9BE = 173,
+ @AV_PIX_FMT_GRAY9BE = 172,
/// Y , 9bpp, little-endian
- @AV_PIX_FMT_GRAY9LE = 174,
+ @AV_PIX_FMT_GRAY9LE = 173,
/// IEEE-754 single precision planar GBR 4:4:4, 96bpp, big-endian
- @AV_PIX_FMT_GBRPF32BE = 175,
+ @AV_PIX_FMT_GBRPF32BE = 174,
/// IEEE-754 single precision planar GBR 4:4:4, 96bpp, little-endian
- @AV_PIX_FMT_GBRPF32LE = 176,
+ @AV_PIX_FMT_GBRPF32LE = 175,
/// IEEE-754 single precision planar GBRA 4:4:4:4, 128bpp, big-endian
- @AV_PIX_FMT_GBRAPF32BE = 177,
+ @AV_PIX_FMT_GBRAPF32BE = 176,
/// IEEE-754 single precision planar GBRA 4:4:4:4, 128bpp, little-endian
- @AV_PIX_FMT_GBRAPF32LE = 178,
+ @AV_PIX_FMT_GBRAPF32LE = 177,
/// DRM-managed buffers exposed through PRIME buffer sharing.
- @AV_PIX_FMT_DRM_PRIME = 179,
+ @AV_PIX_FMT_DRM_PRIME = 178,
/// Hardware surfaces for OpenCL.
- @AV_PIX_FMT_OPENCL = 180,
+ @AV_PIX_FMT_OPENCL = 179,
/// Y , 14bpp, big-endian
- @AV_PIX_FMT_GRAY14BE = 181,
+ @AV_PIX_FMT_GRAY14BE = 180,
/// Y , 14bpp, little-endian
- @AV_PIX_FMT_GRAY14LE = 182,
+ @AV_PIX_FMT_GRAY14LE = 181,
/// IEEE-754 single precision Y, 32bpp, big-endian
- @AV_PIX_FMT_GRAYF32BE = 183,
+ @AV_PIX_FMT_GRAYF32BE = 182,
/// IEEE-754 single precision Y, 32bpp, little-endian
- @AV_PIX_FMT_GRAYF32LE = 184,
+ @AV_PIX_FMT_GRAYF32LE = 183,
/// planar YUV 4:2:2,24bpp, (1 Cr & Cb sample per 2x1 Y samples), 12b alpha, big-endian
- @AV_PIX_FMT_YUVA422P12BE = 185,
+ @AV_PIX_FMT_YUVA422P12BE = 184,
/// planar YUV 4:2:2,24bpp, (1 Cr & Cb sample per 2x1 Y samples), 12b alpha, little-endian
- @AV_PIX_FMT_YUVA422P12LE = 186,
+ @AV_PIX_FMT_YUVA422P12LE = 185,
/// planar YUV 4:4:4,36bpp, (1 Cr & Cb sample per 1x1 Y samples), 12b alpha, big-endian
- @AV_PIX_FMT_YUVA444P12BE = 187,
+ @AV_PIX_FMT_YUVA444P12BE = 186,
/// planar YUV 4:4:4,36bpp, (1 Cr & Cb sample per 1x1 Y samples), 12b alpha, little-endian
- @AV_PIX_FMT_YUVA444P12LE = 188,
+ @AV_PIX_FMT_YUVA444P12LE = 187,
/// planar YUV 4:4:4, 24bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (first byte U and the following byte V)
- @AV_PIX_FMT_NV24 = 189,
+ @AV_PIX_FMT_NV24 = 188,
/// as above, but U and V bytes are swapped
- @AV_PIX_FMT_NV42 = 190,
+ @AV_PIX_FMT_NV42 = 189,
/// Vulkan hardware images.
- @AV_PIX_FMT_VULKAN = 191,
+ @AV_PIX_FMT_VULKAN = 190,
/// packed YUV 4:2:2 like YUYV422, 20bpp, data in the high bits, big-endian
- @AV_PIX_FMT_Y210BE = 192,
+ @AV_PIX_FMT_Y210BE = 191,
/// packed YUV 4:2:2 like YUYV422, 20bpp, data in the high bits, little-endian
- @AV_PIX_FMT_Y210LE = 193,
+ @AV_PIX_FMT_Y210LE = 192,
/// packed RGB 10:10:10, 30bpp, (msb)2X 10R 10G 10B(lsb), little-endian, X=unused/undefined
- @AV_PIX_FMT_X2RGB10LE = 194,
+ @AV_PIX_FMT_X2RGB10LE = 193,
/// packed RGB 10:10:10, 30bpp, (msb)2X 10R 10G 10B(lsb), big-endian, X=unused/undefined
- @AV_PIX_FMT_X2RGB10BE = 195,
+ @AV_PIX_FMT_X2RGB10BE = 194,
/// packed BGR 10:10:10, 30bpp, (msb)2X 10B 10G 10R(lsb), little-endian, X=unused/undefined
- @AV_PIX_FMT_X2BGR10LE = 196,
+ @AV_PIX_FMT_X2BGR10LE = 195,
/// packed BGR 10:10:10, 30bpp, (msb)2X 10B 10G 10R(lsb), big-endian, X=unused/undefined
- @AV_PIX_FMT_X2BGR10BE = 197,
+ @AV_PIX_FMT_X2BGR10BE = 196,
/// interleaved chroma YUV 4:2:2, 20bpp, data in the high bits, big-endian
- @AV_PIX_FMT_P210BE = 198,
+ @AV_PIX_FMT_P210BE = 197,
/// interleaved chroma YUV 4:2:2, 20bpp, data in the high bits, little-endian
- @AV_PIX_FMT_P210LE = 199,
+ @AV_PIX_FMT_P210LE = 198,
/// interleaved chroma YUV 4:4:4, 30bpp, data in the high bits, big-endian
- @AV_PIX_FMT_P410BE = 200,
+ @AV_PIX_FMT_P410BE = 199,
/// interleaved chroma YUV 4:4:4, 30bpp, data in the high bits, little-endian
- @AV_PIX_FMT_P410LE = 201,
+ @AV_PIX_FMT_P410LE = 200,
/// interleaved chroma YUV 4:2:2, 32bpp, big-endian
- @AV_PIX_FMT_P216BE = 202,
+ @AV_PIX_FMT_P216BE = 201,
/// interleaved chroma YUV 4:2:2, 32bpp, little-endian
- @AV_PIX_FMT_P216LE = 203,
+ @AV_PIX_FMT_P216LE = 202,
/// interleaved chroma YUV 4:4:4, 48bpp, big-endian
- @AV_PIX_FMT_P416BE = 204,
+ @AV_PIX_FMT_P416BE = 203,
/// interleaved chroma YUV 4:4:4, 48bpp, little-endian
- @AV_PIX_FMT_P416LE = 205,
- /// packed VUYA 4:4:4, 32bpp, VUYAVUYA...
- @AV_PIX_FMT_VUYA = 206,
+ @AV_PIX_FMT_P416LE = 204,
+ /// packed VUYA 4:4:4:4, 32bpp (1 Cr & Cb sample per 1x1 Y & A samples), VUYAVUYA...
+ @AV_PIX_FMT_VUYA = 205,
/// IEEE-754 half precision packed RGBA 16:16:16:16, 64bpp, RGBARGBA..., big-endian
- @AV_PIX_FMT_RGBAF16BE = 207,
+ @AV_PIX_FMT_RGBAF16BE = 206,
/// IEEE-754 half precision packed RGBA 16:16:16:16, 64bpp, RGBARGBA..., little-endian
- @AV_PIX_FMT_RGBAF16LE = 208,
- /// packed VUYX 4:4:4, 32bpp, Variant of VUYA where alpha channel is left undefined
- @AV_PIX_FMT_VUYX = 209,
+ @AV_PIX_FMT_RGBAF16LE = 207,
+ /// packed VUYX 4:4:4:4, 32bpp, Variant of VUYA where alpha channel is left undefined
+ @AV_PIX_FMT_VUYX = 208,
/// like NV12, with 12bpp per component, data in the high bits, zeros in the low bits, little-endian
- @AV_PIX_FMT_P012LE = 210,
+ @AV_PIX_FMT_P012LE = 209,
/// like NV12, with 12bpp per component, data in the high bits, zeros in the low bits, big-endian
- @AV_PIX_FMT_P012BE = 211,
+ @AV_PIX_FMT_P012BE = 210,
/// packed YUV 4:2:2 like YUYV422, 24bpp, data in the high bits, zeros in the low bits, big-endian
- @AV_PIX_FMT_Y212BE = 212,
+ @AV_PIX_FMT_Y212BE = 211,
/// packed YUV 4:2:2 like YUYV422, 24bpp, data in the high bits, zeros in the low bits, little-endian
- @AV_PIX_FMT_Y212LE = 213,
+ @AV_PIX_FMT_Y212LE = 212,
/// packed XVYU 4:4:4, 32bpp, (msb)2X 10V 10Y 10U(lsb), big-endian, variant of Y410 where alpha channel is left undefined
- @AV_PIX_FMT_XV30BE = 214,
+ @AV_PIX_FMT_XV30BE = 213,
/// packed XVYU 4:4:4, 32bpp, (msb)2X 10V 10Y 10U(lsb), little-endian, variant of Y410 where alpha channel is left undefined
- @AV_PIX_FMT_XV30LE = 215,
+ @AV_PIX_FMT_XV30LE = 214,
/// packed XVYU 4:4:4, 48bpp, data in the high bits, zeros in the low bits, big-endian, variant of Y412 where alpha channel is left undefined
- @AV_PIX_FMT_XV36BE = 216,
+ @AV_PIX_FMT_XV36BE = 215,
/// packed XVYU 4:4:4, 48bpp, data in the high bits, zeros in the low bits, little-endian, variant of Y412 where alpha channel is left undefined
- @AV_PIX_FMT_XV36LE = 217,
+ @AV_PIX_FMT_XV36LE = 216,
/// IEEE-754 single precision packed RGB 32:32:32, 96bpp, RGBRGB..., big-endian
- @AV_PIX_FMT_RGBF32BE = 218,
+ @AV_PIX_FMT_RGBF32BE = 217,
/// IEEE-754 single precision packed RGB 32:32:32, 96bpp, RGBRGB..., little-endian
- @AV_PIX_FMT_RGBF32LE = 219,
+ @AV_PIX_FMT_RGBF32LE = 218,
/// IEEE-754 single precision packed RGBA 32:32:32:32, 128bpp, RGBARGBA..., big-endian
- @AV_PIX_FMT_RGBAF32BE = 220,
+ @AV_PIX_FMT_RGBAF32BE = 219,
/// IEEE-754 single precision packed RGBA 32:32:32:32, 128bpp, RGBARGBA..., little-endian
- @AV_PIX_FMT_RGBAF32LE = 221,
+ @AV_PIX_FMT_RGBAF32LE = 220,
/// interleaved chroma YUV 4:2:2, 24bpp, data in the high bits, big-endian
- @AV_PIX_FMT_P212BE = 222,
+ @AV_PIX_FMT_P212BE = 221,
/// interleaved chroma YUV 4:2:2, 24bpp, data in the high bits, little-endian
- @AV_PIX_FMT_P212LE = 223,
+ @AV_PIX_FMT_P212LE = 222,
/// interleaved chroma YUV 4:4:4, 36bpp, data in the high bits, big-endian
- @AV_PIX_FMT_P412BE = 224,
+ @AV_PIX_FMT_P412BE = 223,
/// interleaved chroma YUV 4:4:4, 36bpp, data in the high bits, little-endian
- @AV_PIX_FMT_P412LE = 225,
+ @AV_PIX_FMT_P412LE = 224,
/// planar GBR 4:4:4:4 56bpp, big-endian
- @AV_PIX_FMT_GBRAP14BE = 226,
+ @AV_PIX_FMT_GBRAP14BE = 225,
/// planar GBR 4:4:4:4 56bpp, little-endian
- @AV_PIX_FMT_GBRAP14LE = 227,
+ @AV_PIX_FMT_GBRAP14LE = 226,
+ /// Hardware surfaces for Direct3D 12.
+ @AV_PIX_FMT_D3D12 = 227,
+ /// packed AYUV 4:4:4:4, 32bpp (1 Cr & Cb sample per 1x1 Y & A samples), AYUVAYUV...
+ @AV_PIX_FMT_AYUV = 228,
+ /// packed UYVA 4:4:4:4, 32bpp (1 Cr & Cb sample per 1x1 Y & A samples), UYVAUYVA...
+ @AV_PIX_FMT_UYVA = 229,
+ /// packed VYU 4:4:4, 24bpp (1 Cr & Cb sample per 1x1 Y), VYUVYU...
+ @AV_PIX_FMT_VYU444 = 230,
+ /// packed VYUX 4:4:4 like XV30, 32bpp, (msb)10V 10Y 10U 2X(lsb), big-endian
+ @AV_PIX_FMT_V30XBE = 231,
+ /// packed VYUX 4:4:4 like XV30, 32bpp, (msb)10V 10Y 10U 2X(lsb), little-endian
+ @AV_PIX_FMT_V30XLE = 232,
+ /// IEEE-754 half precision packed RGB 16:16:16, 48bpp, RGBRGB..., big-endian
+ @AV_PIX_FMT_RGBF16BE = 233,
+ /// IEEE-754 half precision packed RGB 16:16:16, 48bpp, RGBRGB..., little-endian
+ @AV_PIX_FMT_RGBF16LE = 234,
+ /// packed RGBA 32:32:32:32, 128bpp, RGBARGBA..., big-endian
+ @AV_PIX_FMT_RGBA128BE = 235,
+ /// packed RGBA 32:32:32:32, 128bpp, RGBARGBA..., little-endian
+ @AV_PIX_FMT_RGBA128LE = 236,
+ /// packed RGBA 32:32:32, 96bpp, RGBRGB..., big-endian
+ @AV_PIX_FMT_RGB96BE = 237,
+ /// packed RGBA 32:32:32, 96bpp, RGBRGB..., little-endian
+ @AV_PIX_FMT_RGB96LE = 238,
+ /// packed YUV 4:2:2 like YUYV422, 32bpp, big-endian
+ @AV_PIX_FMT_Y216BE = 239,
+ /// packed YUV 4:2:2 like YUYV422, 32bpp, little-endian
+ @AV_PIX_FMT_Y216LE = 240,
+ /// packed XVYU 4:4:4, 64bpp, big-endian, variant of Y416 where alpha channel is left undefined
+ @AV_PIX_FMT_XV48BE = 241,
+ /// packed XVYU 4:4:4, 64bpp, little-endian, variant of Y416 where alpha channel is left undefined
+ @AV_PIX_FMT_XV48LE = 242,
+ /// IEEE-754 half precision planer GBR 4:4:4, 48bpp, big-endian
+ @AV_PIX_FMT_GBRPF16BE = 243,
+ /// IEEE-754 half precision planer GBR 4:4:4, 48bpp, little-endian
+ @AV_PIX_FMT_GBRPF16LE = 244,
+ /// IEEE-754 half precision planar GBRA 4:4:4:4, 64bpp, big-endian
+ @AV_PIX_FMT_GBRAPF16BE = 245,
+ /// IEEE-754 half precision planar GBRA 4:4:4:4, 64bpp, little-endian
+ @AV_PIX_FMT_GBRAPF16LE = 246,
+ /// IEEE-754 half precision Y, 16bpp, big-endian
+ @AV_PIX_FMT_GRAYF16BE = 247,
+ /// IEEE-754 half precision Y, 16bpp, little-endian
+ @AV_PIX_FMT_GRAYF16LE = 248,
+ /// HW acceleration through AMF. data[0] contain AMFSurface pointer
+ @AV_PIX_FMT_AMF_SURFACE = 249,
+ /// Y , 32bpp, big-endian
+ @AV_PIX_FMT_GRAY32BE = 250,
+ /// Y , 32bpp, little-endian
+ @AV_PIX_FMT_GRAY32LE = 251,
+ /// IEEE-754 single precision packed YA, 32 bits gray, 32 bits alpha, 64bpp, big-endian
+ @AV_PIX_FMT_YAF32BE = 252,
+ /// IEEE-754 single precision packed YA, 32 bits gray, 32 bits alpha, 64bpp, little-endian
+ @AV_PIX_FMT_YAF32LE = 253,
+ /// IEEE-754 half precision packed YA, 16 bits gray, 16 bits alpha, 32bpp, big-endian
+ @AV_PIX_FMT_YAF16BE = 254,
+ /// IEEE-754 half precision packed YA, 16 bits gray, 16 bits alpha, 32bpp, little-endian
+ @AV_PIX_FMT_YAF16LE = 255,
+ /// planar GBRA 4:4:4:4 128bpp, big-endian
+ @AV_PIX_FMT_GBRAP32BE = 256,
+ /// planar GBRA 4:4:4:4 128bpp, little-endian
+ @AV_PIX_FMT_GBRAP32LE = 257,
+ /// planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), lowest bits zero, big-endian
+ @AV_PIX_FMT_YUV444P10MSBBE = 258,
+ /// planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), lowest bits zero, little-endian
+ @AV_PIX_FMT_YUV444P10MSBLE = 259,
+ /// planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), lowest bits zero, big-endian
+ @AV_PIX_FMT_YUV444P12MSBBE = 260,
+ /// planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), lowest bits zero, little-endian
+ @AV_PIX_FMT_YUV444P12MSBLE = 261,
+ /// planar GBR 4:4:4 30bpp, lowest bits zero, big-endian
+ @AV_PIX_FMT_GBRP10MSBBE = 262,
+ /// planar GBR 4:4:4 30bpp, lowest bits zero, little-endian
+ @AV_PIX_FMT_GBRP10MSBLE = 263,
+ /// planar GBR 4:4:4 36bpp, lowest bits zero, big-endian
+ @AV_PIX_FMT_GBRP12MSBBE = 264,
+ /// planar GBR 4:4:4 36bpp, lowest bits zero, little-endian
+ @AV_PIX_FMT_GBRP12MSBLE = 265,
+ @AV_PIX_FMT_OHCODEC = 266,
/// number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions
- @AV_PIX_FMT_NB = 228,
+ @AV_PIX_FMT_NB = 267,
}
/// Rounding methods.
@@ -1720,12 +1905,33 @@ public enum AVSampleFormat : int
public enum AVSideDataParamChangeFlags : int
{
- @AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT = 1,
- @AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT = 2,
@AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE = 4,
@AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS = 8,
}
+public enum AVSideDataProps : int
+{
+ /// The side data type can be used in stream-global structures. Side data types without this property are only meaningful on per-frame basis.
+ @AV_SIDE_DATA_PROP_GLOBAL = 1,
+ /// Multiple instances of this side data type can be meaningfully present in a single side data array.
+ @AV_SIDE_DATA_PROP_MULTI = 2,
+ /// Side data depends on the video dimensions. Side data with this property loses its meaning when rescaling or cropping the image, unless either recomputed or adjusted to the new resolution.
+ @AV_SIDE_DATA_PROP_SIZE_DEPENDENT = 4,
+ /// Side data depends on the video color space. Side data with this property loses its meaning when changing the video color encoding, e.g. by adapting to a different set of primaries or transfer characteristics.
+ @AV_SIDE_DATA_PROP_COLOR_DEPENDENT = 8,
+ /// Side data depends on the channel layout. Side data with this property loses its meaning when downmixing or upmixing, unless either recomputed or adjusted to the new layout.
+ @AV_SIDE_DATA_PROP_CHANNEL_DEPENDENT = 16,
+}
+
+public enum AVStreamGroupParamsType : int
+{
+ @AV_STREAM_GROUP_PARAMS_NONE = 0,
+ @AV_STREAM_GROUP_PARAMS_IAMF_AUDIO_ELEMENT = 1,
+ @AV_STREAM_GROUP_PARAMS_IAMF_MIX_PRESENTATION = 2,
+ @AV_STREAM_GROUP_PARAMS_TILE_GRID = 3,
+ @AV_STREAM_GROUP_PARAMS_LCEVC = 4,
+}
+
/// @}
public enum AVStreamParseType : int
{
@@ -1814,3 +2020,79 @@ public enum SwrFilterType : int
@SWR_FILTER_TYPE_KAISER = 2,
}
+public enum SwsAlphaBlend : int
+{
+ @SWS_ALPHA_BLEND_NONE = 0,
+ @SWS_ALPHA_BLEND_UNIFORM = 1,
+ @SWS_ALPHA_BLEND_CHECKERBOARD = 2,
+ @SWS_ALPHA_BLEND_NB = 3,
+}
+
+/// **************************** Flags and quality settings * ****************************
+public enum SwsDither : int
+{
+ @SWS_DITHER_NONE = 0,
+ @SWS_DITHER_AUTO = 1,
+ @SWS_DITHER_BAYER = 2,
+ @SWS_DITHER_ED = 3,
+ @SWS_DITHER_A_DITHER = 4,
+ @SWS_DITHER_X_DITHER = 5,
+ @SWS_DITHER_NB = 6,
+}
+
+public enum SwsFlags : int
+{
+ /// fast bilinear filtering
+ @SWS_FAST_BILINEAR = 1,
+ /// bilinear filtering
+ @SWS_BILINEAR = 2,
+ /// 2-tap cubic B-spline
+ @SWS_BICUBIC = 4,
+ /// experimental
+ @SWS_X = 8,
+ /// nearest neighbor
+ @SWS_POINT = 16,
+ /// area averaging
+ @SWS_AREA = 32,
+ /// bicubic luma, bilinear chroma
+ @SWS_BICUBLIN = 64,
+ /// gaussian approximation
+ @SWS_GAUSS = 128,
+ /// unwindowed sinc
+ @SWS_SINC = 256,
+ /// 3-tap sinc/sinc
+ @SWS_LANCZOS = 512,
+ /// cubic Keys spline
+ @SWS_SPLINE = 1024,
+ /// Return an error on underspecified conversions. Without this flag, unspecified fields are defaulted to sensible values.
+ @SWS_STRICT = 2048,
+ /// Emit verbose log of scaling parameters.
+ @SWS_PRINT_INFO = 4096,
+ /// Perform full chroma upsampling when upscaling to RGB.
+ @SWS_FULL_CHR_H_INT = 8192,
+ /// Perform full chroma interpolation when downscaling RGB sources.
+ @SWS_FULL_CHR_H_INP = 16384,
+ /// Force bit-exact output. This will prevent the use of platform-specific optimizations that may lead to slight difference in rounding, in favor of always maintaining exact bit output compatibility with the reference C code.
+ @SWS_ACCURATE_RND = 262144,
+ /// Force bit-exact output. This will prevent the use of platform-specific optimizations that may lead to slight difference in rounding, in favor of always maintaining exact bit output compatibility with the reference C code.
+ @SWS_BITEXACT = 524288,
+ /// This flag has no effect
+ @SWS_DIRECT_BGR = 32768,
+ /// Set `SwsContext.dither` instead
+ @SWS_ERROR_DIFFUSION = 8388608,
+}
+
+public enum SwsIntent : int
+{
+ /// Perceptual tone mapping
+ @SWS_INTENT_PERCEPTUAL = 0,
+ /// Relative colorimetric clipping
+ @SWS_INTENT_RELATIVE_COLORIMETRIC = 1,
+ /// Saturation mapping
+ @SWS_INTENT_SATURATION = 2,
+ /// Absolute colorimetric clipping
+ @SWS_INTENT_ABSOLUTE_COLORIMETRIC = 3,
+ /// not part of the ABI
+ @SWS_INTENT_NB = 4,
+}
+
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Enums.g.cs.meta b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Enums.g.cs.meta
index 55fd5b5..25f3deb 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Enums.g.cs.meta
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Enums.g.cs.meta
@@ -1,11 +1,2 @@
fileFormatVersion: 2
-guid: 80bbd9b9d2a32674dbd2c08842bad550
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
+guid: 80bbd9b9d2a32674dbd2c08842bad550
\ No newline at end of file
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Structs.g.cs b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Structs.g.cs
index 8a03794..f6d3e5d 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Structs.g.cs
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Structs.g.cs
@@ -74,10 +74,12 @@ public unsafe partial struct AVBufferSrcParameters
/// Audio only, the audio sampling rate in samples per second.
public int @sample_rate;
/// Audio only, the audio channel layout
- [Obsolete("use ch_layout")]
- public ulong @channel_layout;
- /// Audio only, the audio channel layout
public AVChannelLayout @ch_layout;
+ /// Video only, the YUV colorspace and range.
+ public AVColorSpace @color_space;
+ public AVColorRange @color_range;
+ public AVFrameSideData** @side_data;
+ public int @nb_side_data;
}
/// An AVChannelCustom defines a single channel within a custom order layout
@@ -132,24 +134,26 @@ public unsafe partial struct AVClass
public byte* @class_name;
/// A pointer to a function which returns the name of a context instance ctx associated with the class.
public AVClass_item_name_func @item_name;
- /// a pointer to the first option specified in the class if any or NULL
+ /// An array of options for the structure or NULL. When non-NULL, the array must be terminated by an option with a NULL name.
public AVOption* @option;
- /// LIBAVUTIL_VERSION with which this structure was created. This is used to allow fields to be added without requiring major version bumps everywhere.
+ /// LIBAVUTIL_VERSION with which this structure was created. This is used to allow fields to be added to AVClass without requiring major version bumps everywhere.
public int @version;
- /// Offset in the structure where log_level_offset is stored. 0 means there is no such variable
+ /// Offset in the structure where the log level offset is stored. The log level offset is an int added to the log level for logging with this object as the context.
public int @log_level_offset_offset;
- /// Offset in the structure where a pointer to the parent context for logging is stored. For example a decoder could pass its AVCodecContext to eval as such a parent context, which an av_log() implementation could then leverage to display the parent context. The offset can be NULL.
+ /// Offset in the structure where a pointer to the parent context for logging is stored. For example a decoder could pass its AVCodecContext to eval as such a parent context, which an ::av_log() implementation could then leverage to display the parent context.
public int @parent_log_context_offset;
- /// Category used for visualization (like color) This is only set if the category is equal for all objects using this class. available since version (51 << 16 | 56 << 8 | 100)
+ /// Category used for visualization (like color).
public AVClassCategory @category;
- /// Callback to return the category. available since version (51 << 16 | 59 << 8 | 100)
+ /// Callback to return the instance category. Use this callback when different instances of this class may have different categories, ::category otherwise.
public AVClass_get_category_func @get_category;
- /// Callback to return the supported/allowed ranges. available since version (52.12)
+ /// Callback to return the supported/allowed ranges.
public AVClass_query_ranges_func @query_ranges;
/// Return next AVOptions-enabled child or NULL
public AVClass_child_next_func @child_next;
/// Iterate over the AVClasses corresponding to potential AVOptions-enabled children.
public AVClass_child_class_iterate_func @child_class_iterate;
+ /// When non-zero, offset in the object to an unsigned int holding object state flags, a combination of AVClassStateFlags values. The flags are updated by the object to signal its state to the generic code.
+ public int @state_flags_offset;
}
/// AVCodec.
@@ -165,16 +169,14 @@ public unsafe partial struct AVCodec
public int @capabilities;
/// maximum value for lowres supported by the decoder
public byte @max_lowres;
- /// array of supported framerates, or NULL if any, array is terminated by {0,0}
+ [Obsolete("use avcodec_get_supported_config()")]
public AVRational* @supported_framerates;
- /// array of supported pixel formats, or NULL if unknown, array is terminated by -1
+ [Obsolete("use avcodec_get_supported_config()")]
public AVPixelFormat* @pix_fmts;
- /// array of supported audio samplerates, or NULL if unknown, array is terminated by 0
+ [Obsolete("use avcodec_get_supported_config()")]
public int* @supported_samplerates;
- /// array of supported sample formats, or NULL if unknown, array is terminated by -1
+ [Obsolete("use avcodec_get_supported_config()")]
public AVSampleFormat* @sample_fmts;
- /// array of support channel layouts, or NULL if unknown. array is terminated by 0
- public ulong* @channel_layouts;
/// AVClass for the private context
public AVClass* @priv_class;
/// array of recognized profiles, or NULL if unknown, array is terminated by {AV_PROFILE_UNKNOWN}
@@ -182,6 +184,7 @@ public unsafe partial struct AVCodec
/// Group name of the codec implementation. This is a short symbolic name of the wrapper backing this codec. A wrapper uses some kind of external implementation for the codec, such as an external library, or a codec implementation provided by the OS or the hardware. If this field is NULL, this is a builtin, libavcodec native codec. If non-NULL, this will be the suffix in AVCodec.name in most cases (usually AVCodec.name will be of the form "<codec_name>_<wrapper_name>").
public byte* @wrapper_name;
/// Array of supported channel layouts, terminated with a zeroed layout.
+ [Obsolete("use avcodec_get_supported_config()")]
public AVChannelLayout* @ch_layouts;
}
@@ -203,24 +206,19 @@ public unsafe partial struct AVCodecContext
public void* @opaque;
/// the average bitrate - encoding: Set by user; unused for constant quantizer encoding. - decoding: Set by user, may be overwritten by libavcodec if this info is available in the stream
public long @bit_rate;
- /// number of bits the bitstream is allowed to diverge from the reference. the reference can be CBR (for CBR pass1) or VBR (for pass2) - encoding: Set by user; unused for constant quantizer encoding. - decoding: unused
- public int @bit_rate_tolerance;
- /// Global quality for codecs which cannot change it per frame. This should be proportional to MPEG-1/2/4 qscale. - encoding: Set by user. - decoding: unused
- public int @global_quality;
- /// - encoding: Set by user. - decoding: unused
- public int @compression_level;
/// AV_CODEC_FLAG_*. - encoding: Set by user. - decoding: Set by user.
public int @flags;
/// AV_CODEC_FLAG2_* - encoding: Set by user. - decoding: Set by user.
public int @flags2;
- /// some codecs need / can use extradata like Huffman tables. MJPEG: Huffman tables rv10: additional flags MPEG-4: global headers (they can be in the bitstream or here) The allocated memory should be AV_INPUT_BUFFER_PADDING_SIZE bytes larger than extradata_size to avoid problems if it is read with the bitstream reader. The bytewise contents of extradata must not depend on the architecture or CPU endianness. Must be allocated with the av_malloc() family of functions. - encoding: Set/allocated/freed by libavcodec. - decoding: Set/allocated/freed by user.
+ /// Out-of-band global headers that may be used by some codecs.
public byte* @extradata;
public int @extradata_size;
/// This is the fundamental unit of time (in seconds) in terms of which frame timestamps are represented. For fixed-fps content, timebase should be 1/framerate and timestamp increments should be identically 1. This often, but not always is the inverse of the frame rate or field rate for video. 1/time_base is not the average frame rate if the frame rate is not constant.
public AVRational @time_base;
- /// For some codecs, the time base is closer to the field rate than the frame rate. Most notably, H.264 and MPEG-2 specify time_base as half of frame duration if no telecine is used ...
- [Obsolete("- decoding: Use AVCodecDescriptor.props & AV_CODEC_PROP_FIELDS - encoding: Set AVCodecContext.framerate instead")]
- public int @ticks_per_frame;
+ /// Timebase in which pkt_dts/pts and AVPacket.dts/pts are expressed. - encoding: unused. - decoding: set by user.
+ public AVRational @pkt_timebase;
+ /// - decoding: For codecs that store a framerate value in the compressed bitstream, the decoder may export it here. { 0, 1} when unknown. - encoding: May be used to signal the framerate of CFR content to an encoder.
+ public AVRational @framerate;
/// Codec delay.
public int @delay;
/// picture width / height.
@@ -231,10 +229,30 @@ public unsafe partial struct AVCodecContext
public int @coded_width;
/// Bitstream width / height, may be different from width/height e.g. when the decoded frame is cropped before being output or lowres is enabled.
public int @coded_height;
- /// the number of pictures in a group of pictures, or 0 for intra_only - encoding: Set by user. - decoding: unused
- public int @gop_size;
+ /// sample aspect ratio (0 if unknown) That is the width of a pixel divided by the height of the pixel. Numerator and denominator must be relatively prime and smaller than 256 for some video standards. - encoding: Set by user. - decoding: Set by libavcodec.
+ public AVRational @sample_aspect_ratio;
/// Pixel format, see AV_PIX_FMT_xxx. May be set by the demuxer if known from headers. May be overridden by the decoder if it knows better.
public AVPixelFormat @pix_fmt;
+ /// Nominal unaccelerated pixel format, see AV_PIX_FMT_xxx. - encoding: unused. - decoding: Set by libavcodec before calling get_format()
+ public AVPixelFormat @sw_pix_fmt;
+ /// Chromaticity coordinates of the source primaries. - encoding: Set by user - decoding: Set by libavcodec
+ public AVColorPrimaries @color_primaries;
+ /// Color Transfer Characteristic. - encoding: Set by user - decoding: Set by libavcodec
+ public AVColorTransferCharacteristic @color_trc;
+ /// YUV colorspace type. - encoding: Set by user - decoding: Set by libavcodec
+ public AVColorSpace @colorspace;
+ /// MPEG vs JPEG YUV range. - encoding: Set by user to override the default output color range value, If not specified, libavcodec sets the color range depending on the output format. - decoding: Set by libavcodec, can be set by the user to propagate the color range to components reading from the decoder context.
+ public AVColorRange @color_range;
+ /// This defines the location of chroma samples. - encoding: Set by user - decoding: Set by libavcodec
+ public AVChromaLocation @chroma_sample_location;
+ /// Field order - encoding: set by libavcodec - decoding: Set by user.
+ public AVFieldOrder @field_order;
+ /// number of reference frames - encoding: Set by user. - decoding: Set by lavc.
+ public int @refs;
+ /// Size of the frame reordering buffer in the decoder. For MPEG-2 it is 1 IPB or 0 low delay IP. - encoding: Set by libavcodec. - decoding: Set by libavcodec.
+ public int @has_b_frames;
+ /// slice flags - encoding: unused - decoding: Set by user.
+ public int @slice_flags;
/// If non NULL, 'draw_horiz_band' is called by the libavcodec decoder to draw a horizontal band. It improves cache usage. Not all codecs can do that. You must check the codec capabilities beforehand. When multithreading is used, it may be called from multiple threads at the same time; threads might draw different parts of the same AVFrame, or multiple AVFrames, and there is no guarantee that slices will be drawn in order. The function is also used by hardware acceleration APIs. It is called at least once during frame decoding to pass the data needed for hardware render. In that mode instead of pixel data, AVFrame points to a structure specific to the acceleration API. The application reads the structure and can change some fields to indicate progress or mark state. - encoding: unused - decoding: Set by user.
public AVCodecContext_draw_horiz_band_func @draw_horiz_band;
/// Callback to negotiate the pixel format. Decoding only, may be set by the caller before avcodec_open2().
@@ -245,8 +263,6 @@ public unsafe partial struct AVCodecContext
public float @b_quant_factor;
/// qscale offset between IP and B-frames - encoding: Set by user. - decoding: unused
public float @b_quant_offset;
- /// Size of the frame reordering buffer in the decoder. For MPEG-2 it is 1 IPB or 0 low delay IP. - encoding: Set by libavcodec. - decoding: Set by libavcodec.
- public int @has_b_frames;
/// qscale factor between P- and I-frames If > 0 then the last P-frame quantizer will be used (q = lastp_q * factor + offset). If < 0 then normal ratecontrol will be done (q= -normal_q*factor+offset). - encoding: Set by user. - decoding: unused
public float @i_quant_factor;
/// qscale offset between P and I-frames - encoding: Set by user. - decoding: unused
@@ -261,12 +277,8 @@ public unsafe partial struct AVCodecContext
public float @p_masking;
/// darkness masking (0-> disabled) - encoding: Set by user. - decoding: unused
public float @dark_masking;
- /// slice count - encoding: Set by libavcodec. - decoding: Set by user (or 0).
- public int @slice_count;
- /// slice offsets in the frame in bytes - encoding: Set/allocated by libavcodec. - decoding: Set/allocated by user (or NULL).
- public int* @slice_offset;
- /// sample aspect ratio (0 if unknown) That is the width of a pixel divided by the height of the pixel. Numerator and denominator must be relatively prime and smaller than 256 for some video standards. - encoding: Set by user. - decoding: Set by libavcodec.
- public AVRational @sample_aspect_ratio;
+ /// noise vs. sse weight for the nsse comparison function - encoding: Set by user. - decoding: unused
+ public int @nsse_weight;
/// motion estimation comparison function - encoding: Set by user. - decoding: unused
public int @me_cmp;
/// subpixel motion estimation comparison function - encoding: Set by user. - decoding: unused
@@ -287,20 +299,16 @@ public unsafe partial struct AVCodecContext
public int @me_subpel_quality;
/// maximum motion estimation search range in subpel units If 0 then no limit.
public int @me_range;
- /// slice flags - encoding: unused - decoding: Set by user.
- public int @slice_flags;
/// macroblock decision mode - encoding: Set by user. - decoding: unused
public int @mb_decision;
/// custom intra quantization matrix Must be allocated with the av_malloc() family of functions, and will be freed in avcodec_free_context(). - encoding: Set/allocated by user, freed by libavcodec. Can be NULL. - decoding: Set/allocated/freed by libavcodec.
public ushort* @intra_matrix;
/// custom inter quantization matrix Must be allocated with the av_malloc() family of functions, and will be freed in avcodec_free_context(). - encoding: Set/allocated by user, freed by libavcodec. Can be NULL. - decoding: Set/allocated/freed by libavcodec.
public ushort* @inter_matrix;
+ /// custom intra quantization matrix - encoding: Set by user, can be NULL. - decoding: unused.
+ public ushort* @chroma_intra_matrix;
/// precision of the intra DC coefficient - 8 - encoding: Set by user. - decoding: Set by libavcodec
public int @intra_dc_precision;
- /// Number of macroblock rows at the top which are skipped. - encoding: unused - decoding: Set by user.
- public int @skip_top;
- /// Number of macroblock rows at the bottom which are skipped. - encoding: unused - decoding: Set by user.
- public int @skip_bottom;
/// minimum MB Lagrange multiplier - encoding: Set by user. - decoding: unused
public int @mb_lmin;
/// maximum MB Lagrange multiplier - encoding: Set by user. - decoding: unused
@@ -309,52 +317,42 @@ public unsafe partial struct AVCodecContext
public int @bidir_refine;
/// minimum GOP size - encoding: Set by user. - decoding: unused
public int @keyint_min;
- /// number of reference frames - encoding: Set by user. - decoding: Set by lavc.
- public int @refs;
+ /// the number of pictures in a group of pictures, or 0 for intra_only - encoding: Set by user. - decoding: unused
+ public int @gop_size;
/// Note: Value depends upon the compare function used for fullpel ME. - encoding: Set by user. - decoding: unused
public int @mv0_threshold;
- /// Chromaticity coordinates of the source primaries. - encoding: Set by user - decoding: Set by libavcodec
- public AVColorPrimaries @color_primaries;
- /// Color Transfer Characteristic. - encoding: Set by user - decoding: Set by libavcodec
- public AVColorTransferCharacteristic @color_trc;
- /// YUV colorspace type. - encoding: Set by user - decoding: Set by libavcodec
- public AVColorSpace @colorspace;
- /// MPEG vs JPEG YUV range. - encoding: Set by user to override the default output color range value, If not specified, libavcodec sets the color range depending on the output format. - decoding: Set by libavcodec, can be set by the user to propagate the color range to components reading from the decoder context.
- public AVColorRange @color_range;
- /// This defines the location of chroma samples. - encoding: Set by user - decoding: Set by libavcodec
- public AVChromaLocation @chroma_sample_location;
/// Number of slices. Indicates number of picture subdivisions. Used for parallelized decoding. - encoding: Set by user - decoding: unused
public int @slices;
- /// Field order - encoding: set by libavcodec - decoding: Set by user.
- public AVFieldOrder @field_order;
/// samples per second
public int @sample_rate;
- /// number of audio channels
- [Obsolete("use ch_layout.nb_channels")]
- public int @channels;
/// sample format
public AVSampleFormat @sample_fmt;
+ /// Audio channel layout. - encoding: must be set by the caller, to one of AVCodec.ch_layouts. - decoding: may be set by the caller if known e.g. from the container. The decoder can then override during decoding as needed.
+ public AVChannelLayout @ch_layout;
/// Number of samples per channel in an audio frame.
public int @frame_size;
- /// Frame counter, set by libavcodec.
- [Obsolete("use frame_num instead")]
- public int @frame_number;
/// number of bytes per packet if constant and known or 0 Used by some WAV based audio codecs.
public int @block_align;
/// Audio cutoff bandwidth (0 means "automatic") - encoding: Set by user. - decoding: unused
public int @cutoff;
- /// Audio channel layout. - encoding: set by user. - decoding: set by user, may be overwritten by libavcodec.
- [Obsolete("use ch_layout")]
- public ulong @channel_layout;
- /// Request decoder to use this channel layout if it can (0 for default) - encoding: unused - decoding: Set by user.
- [Obsolete("use \"downmix\" codec private option")]
- public ulong @request_channel_layout;
/// Type of service that the audio stream conveys. - encoding: Set by user. - decoding: Set by libavcodec.
public AVAudioServiceType @audio_service_type;
/// desired sample format - encoding: Not used. - decoding: Set by user. Decoder will decode to this format if it can.
public AVSampleFormat @request_sample_fmt;
+ /// Audio only. The number of "priming" samples (padding) inserted by the encoder at the beginning of the audio. I.e. this number of leading decoded samples must be discarded by the caller to get the original audio without leading padding.
+ public int @initial_padding;
+ /// Audio only. The amount of padding (in samples) appended by the encoder to the end of the audio. I.e. this number of decoded samples must be discarded by the caller from the end of the stream to get the original audio without any trailing padding.
+ public int @trailing_padding;
+ /// Number of samples to skip after a discontinuity - decoding: unused - encoding: set by libavcodec
+ public int @seek_preroll;
/// This callback is called at the beginning of each frame to get data buffer(s) for it. There may be one contiguous buffer for all the data or there may be a buffer per each data plane or anything in between. What this means is, you may set however many entries in buf[] you feel necessary. Each buffer must be reference-counted using the AVBuffer API (see description of buf[] below).
public AVCodecContext_get_buffer2_func @get_buffer2;
+ /// number of bits the bitstream is allowed to diverge from the reference. the reference can be CBR (for CBR pass1) or VBR (for pass2) - encoding: Set by user; unused for constant quantizer encoding. - decoding: unused
+ public int @bit_rate_tolerance;
+ /// Global quality for codecs which cannot change it per frame. This should be proportional to MPEG-1/2/4 qscale. - encoding: Set by user. - decoding: unused
+ public int @global_quality;
+ /// - encoding: Set by user. - decoding: unused
+ public int @compression_level;
/// amount of qscale change between easy & hard scenes (0.0-1.0)
public float @qcompress;
/// amount of qscale smoothing over time (0.0-1.0)
@@ -396,13 +394,18 @@ public unsafe partial struct AVCodecContext
public int @debug;
/// Error recognition; may misdetect some more or less valid parts as errors. This is a bitfield of the AV_EF_* values defined in defs.h.
public int @err_recognition;
- /// opaque 64-bit number (generally a PTS) that will be reordered and output in AVFrame.reordered_opaque - encoding: Set by libavcodec to the reordered_opaque of the input frame corresponding to the last returned packet. Only supported by encoders with the AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE capability. - decoding: Set by user.
- [Obsolete("Use AV_CODEC_FLAG_COPY_OPAQUE instead")]
- public long @reordered_opaque;
/// Hardware accelerator in use - encoding: unused. - decoding: Set by libavcodec
public AVHWAccel* @hwaccel;
/// Legacy hardware accelerator context.
public void* @hwaccel_context;
+ /// A reference to the AVHWFramesContext describing the input (for encoding) or output (decoding) frames. The reference is set by the caller and afterwards owned (and freed) by libavcodec - it should never be read by the caller after being set.
+ public AVBufferRef* @hw_frames_ctx;
+ /// A reference to the AVHWDeviceContext describing the device which will be used by a hardware encoder/decoder. The reference is set by the caller and afterwards owned (and freed) by libavcodec.
+ public AVBufferRef* @hw_device_ctx;
+ /// Bit set of AV_HWACCEL_FLAG_* flags, which affect hardware accelerated decoding (if active). - encoding: unused - decoding: Set by user (either before avcodec_open2(), or in the AVCodecContext.get_format callback)
+ public int @hwaccel_flags;
+ /// Video decoding only. Sets the number of extra hardware frames which the decoder will allocate for use by the caller. This must be set before avcodec_open2() is called.
+ public int @extra_hw_frames;
/// error - encoding: Set by libavcodec if flags & AV_CODEC_FLAG_PSNR. - decoding: unused
public ulong8 @error;
/// DCT algorithm, see FF_DCT_* below - encoding: Set by user. - decoding: unused
@@ -413,8 +416,6 @@ public unsafe partial struct AVCodecContext
public int @bits_per_coded_sample;
/// Bits per sample/pixel of internal libavcodec pixel/sample format. - encoding: set by user. - decoding: set by libavcodec.
public int @bits_per_raw_sample;
- /// low resolution decoding, 1-> 1/2 size, 2->1/4 size - encoding: unused - decoding: Set by user.
- public int @lowres;
/// thread count is used to decide how many independent tasks should be passed to execute() - encoding: Set by user. - decoding: Set by user.
public int @thread_count;
/// Which multithreading methods to use. Use of FF_THREAD_FRAME will increase decoding delay by one frame per thread, so clients which cannot provide future frames should not use it.
@@ -425,83 +426,63 @@ public unsafe partial struct AVCodecContext
public AVCodecContext_execute_func @execute;
/// The codec may call this to execute several independent things. It will return only after finishing all tasks. The user may replace this with some multithreaded implementation, the default implementation will execute the parts serially.
public AVCodecContext_execute2_func @execute2;
- /// noise vs. sse weight for the nsse comparison function - encoding: Set by user. - decoding: unused
- public int @nsse_weight;
/// profile - encoding: Set by user. - decoding: Set by libavcodec. See the AV_PROFILE_* defines in defs.h.
public int @profile;
- /// Encoding level descriptor. - encoding: Set by user, corresponds to a specific level defined by the codec, usually corresponding to the profile level, if not specified it is set to FF_LEVEL_UNKNOWN. - decoding: Set by libavcodec. See AV_LEVEL_* in defs.h.
+ /// Encoding level descriptor. - encoding: Set by user, corresponds to a specific level defined by the codec, usually corresponding to the profile level, if not specified it is set to AV_LEVEL_UNKNOWN. - decoding: Set by libavcodec. See AV_LEVEL_* in defs.h.
public int @level;
+ /// Properties of the stream that gets decoded - encoding: unused - decoding: set by libavcodec
+ public uint @properties;
/// Skip loop filtering for selected frames. - encoding: unused - decoding: Set by user.
public AVDiscard @skip_loop_filter;
/// Skip IDCT/dequantization for selected frames. - encoding: unused - decoding: Set by user.
public AVDiscard @skip_idct;
/// Skip decoding for selected frames. - encoding: unused - decoding: Set by user.
public AVDiscard @skip_frame;
- /// Header containing style information for text subtitles. For SUBTITLE_ASS subtitle type, it should contain the whole ASS [Script Info] and [V4+ Styles] section, plus the [Events] line and the Format line following. It shouldn't include any Dialogue line. - encoding: Set/allocated/freed by user (before avcodec_open2()) - decoding: Set/allocated/freed by libavcodec (by avcodec_open2())
- public byte* @subtitle_header;
- public int @subtitle_header_size;
- /// Audio only. The number of "priming" samples (padding) inserted by the encoder at the beginning of the audio. I.e. this number of leading decoded samples must be discarded by the caller to get the original audio without leading padding.
- public int @initial_padding;
- /// - decoding: For codecs that store a framerate value in the compressed bitstream, the decoder may export it here. { 0, 1} when unknown. - encoding: May be used to signal the framerate of CFR content to an encoder.
- public AVRational @framerate;
- /// Nominal unaccelerated pixel format, see AV_PIX_FMT_xxx. - encoding: unused. - decoding: Set by libavcodec before calling get_format()
- public AVPixelFormat @sw_pix_fmt;
- /// Timebase in which pkt_dts/pts and AVPacket.dts/pts are expressed. - encoding: unused. - decoding: set by user.
- public AVRational @pkt_timebase;
+ /// Skip processing alpha if supported by codec. Note that if the format uses pre-multiplied alpha (common with VP6, and recommended due to better video quality/compression) the image will look as if alpha-blended onto a black background. However for formats that do not use pre-multiplied alpha there might be serious artefacts (though e.g. libswscale currently assumes pre-multiplied alpha anyway).
+ public int @skip_alpha;
+ /// Number of macroblock rows at the top which are skipped. - encoding: unused - decoding: Set by user.
+ public int @skip_top;
+ /// Number of macroblock rows at the bottom which are skipped. - encoding: unused - decoding: Set by user.
+ public int @skip_bottom;
+ /// low resolution decoding, 1-> 1/2 size, 2->1/4 size - encoding: unused - decoding: Set by user.
+ public int @lowres;
/// AVCodecDescriptor - encoding: unused. - decoding: set by libavcodec.
public AVCodecDescriptor* @codec_descriptor;
- /// Current statistics for PTS correction. - decoding: maintained and used by libavcodec, not intended to be used by user apps - encoding: unused
- public long @pts_correction_num_faulty_pts;
- /// Number of incorrect PTS values so far
- public long @pts_correction_num_faulty_dts;
- /// Number of incorrect DTS values so far
- public long @pts_correction_last_pts;
- /// PTS of the last frame
- public long @pts_correction_last_dts;
/// Character encoding of the input subtitles file. - decoding: set by user - encoding: unused
public byte* @sub_charenc;
/// Subtitles character encoding mode. Formats or codecs might be adjusting this setting (if they are doing the conversion themselves for instance). - decoding: set by libavcodec - encoding: unused
public int @sub_charenc_mode;
- /// Skip processing alpha if supported by codec. Note that if the format uses pre-multiplied alpha (common with VP6, and recommended due to better video quality/compression) the image will look as if alpha-blended onto a black background. However for formats that do not use pre-multiplied alpha there might be serious artefacts (though e.g. libswscale currently assumes pre-multiplied alpha anyway).
- public int @skip_alpha;
- /// Number of samples to skip after a discontinuity - decoding: unused - encoding: set by libavcodec
- public int @seek_preroll;
- /// custom intra quantization matrix - encoding: Set by user, can be NULL. - decoding: unused.
- public ushort* @chroma_intra_matrix;
+ /// Header containing style information for text subtitles. For SUBTITLE_ASS subtitle type, it should contain the whole ASS [Script Info] and [V4+ Styles] section, plus the [Events] line and the Format line following. It shouldn't include any Dialogue line.
+ public int @subtitle_header_size;
+ public byte* @subtitle_header;
/// dump format separator. can be ", " or " " or anything else - encoding: Set by user. - decoding: Set by user.
public byte* @dump_separator;
/// ',' separated list of allowed decoders. If NULL then all are allowed - encoding: unused - decoding: set by user
public byte* @codec_whitelist;
- /// Properties of the stream that gets decoded - encoding: unused - decoding: set by libavcodec
- public uint @properties;
/// Additional data associated with the entire coded stream.
public AVPacketSideData* @coded_side_data;
public int @nb_coded_side_data;
- /// A reference to the AVHWFramesContext describing the input (for encoding) or output (decoding) frames. The reference is set by the caller and afterwards owned (and freed) by libavcodec - it should never be read by the caller after being set.
- public AVBufferRef* @hw_frames_ctx;
- /// Audio only. The amount of padding (in samples) appended by the encoder to the end of the audio. I.e. this number of decoded samples must be discarded by the caller from the end of the stream to get the original audio without any trailing padding.
- public int @trailing_padding;
+ /// Bit set of AV_CODEC_EXPORT_DATA_* flags, which affects the kind of metadata exported in frame, packet, or coded stream side data by decoders and encoders.
+ public int @export_side_data;
/// The number of pixels per image to maximally accept.
public long @max_pixels;
- /// A reference to the AVHWDeviceContext describing the device which will be used by a hardware encoder/decoder. The reference is set by the caller and afterwards owned (and freed) by libavcodec.
- public AVBufferRef* @hw_device_ctx;
- /// Bit set of AV_HWACCEL_FLAG_* flags, which affect hardware accelerated decoding (if active). - encoding: unused - decoding: Set by user (either before avcodec_open2(), or in the AVCodecContext.get_format callback)
- public int @hwaccel_flags;
/// Video decoding only. Certain video codecs support cropping, meaning that only a sub-rectangle of the decoded frame is intended for display. This option controls how cropping is handled by libavcodec.
public int @apply_cropping;
- public int @extra_hw_frames;
/// The percentage of damaged samples to discard a frame.
public int @discard_damaged_percentage;
/// The number of samples per frame to maximally accept.
public long @max_samples;
- /// Bit set of AV_CODEC_EXPORT_DATA_* flags, which affects the kind of metadata exported in frame, packet, or coded stream side data by decoders and encoders.
- public int @export_side_data;
/// This callback is called at the beginning of each packet to get a data buffer for it.
public AVCodecContext_get_encode_buffer_func @get_encode_buffer;
- /// Audio channel layout. - encoding: must be set by the caller, to one of AVCodec.ch_layouts. - decoding: may be set by the caller if known e.g. from the container. The decoder can then override during decoding as needed.
- public AVChannelLayout @ch_layout;
/// Frame counter, set by libavcodec.
public long @frame_num;
+ /// Decoding only. May be set by the caller before avcodec_open2() to an av_malloc()'ed array (or via AVOptions). Owned and freed by the decoder afterwards.
+ public int* @side_data_prefer_packet;
+ /// Number of entries in side_data_prefer_packet.
+ public uint @nb_side_data_prefer_packet;
+ /// Array containing static side data, such as HDR10 CLL / MDCV structures. Side data entries should be allocated by usage of helpers defined in libavutil/frame.h.
+ public AVFrameSideData** @decoded_side_data;
+ public int @nb_decoded_side_data;
}
/// This struct describes the properties of a single codec described by an AVCodecID.
@@ -544,6 +525,10 @@ public unsafe partial struct AVCodecParameters
public byte* @extradata;
/// Size of the extradata content in bytes.
public int @extradata_size;
+ /// Additional data associated with the entire stream.
+ public AVPacketSideData* @coded_side_data;
+ /// Amount of entries in coded_side_data.
+ public int @nb_coded_side_data;
/// - video: the pixel format, the value corresponds to enum AVPixelFormat. - audio: the sample format, the value corresponds to enum AVSampleFormat.
public int @format;
/// The average bitrate of the encoded data (in bits per second).
@@ -560,6 +545,8 @@ public unsafe partial struct AVCodecParameters
public int @height;
/// Video only. The aspect ratio (width / height) which a single pixel should have when displayed.
public AVRational @sample_aspect_ratio;
+ /// Video only. Number of frames per second, for streams with constant frame durations. Should be set to { 0, 1 } when some frames have differing durations or if the value is not known.
+ public AVRational @framerate;
/// Video only. The order of the fields in interlaced video.
public AVFieldOrder @field_order;
/// Video only. Additional colorspace characteristics.
@@ -570,12 +557,8 @@ public unsafe partial struct AVCodecParameters
public AVChromaLocation @chroma_location;
/// Video only. Number of delayed frames.
public int @video_delay;
- /// Audio only. The channel layout bitmask. May be 0 if the channel layout is unknown or unspecified, otherwise the number of bits set must be equal to the channels field.
- [Obsolete("use ch_layout")]
- public ulong @channel_layout;
- /// Audio only. The number of audio channels.
- [Obsolete("use ch_layout.nb_channels")]
- public int @channels;
+ /// Audio only. The channel layout and number of channels.
+ public AVChannelLayout @ch_layout;
/// Audio only. The number of audio samples per second.
public int @sample_rate;
/// Audio only. The number of bytes per coded audio frame, required by some formats.
@@ -588,14 +571,6 @@ public unsafe partial struct AVCodecParameters
public int @trailing_padding;
/// Audio only. Number of samples to skip after a discontinuity.
public int @seek_preroll;
- /// Audio only. The channel layout and number of channels.
- public AVChannelLayout @ch_layout;
- /// Video only. Number of frames per second, for streams with constant frame durations. Should be set to { 0, 1 } when some frames have differing durations or if the value is not known.
- public AVRational @framerate;
- /// Additional data associated with the entire stream.
- public AVPacketSideData* @coded_side_data;
- /// Amount of entries in coded_side_data.
- public int @nb_coded_side_data;
}
public unsafe partial struct AVCodecParser
@@ -867,48 +842,6 @@ public unsafe partial struct AVFilter
public AVClass* @priv_class;
/// A combination of AVFILTER_FLAG_*
public int @flags;
- /// The number of entries in the list of inputs.
- public byte @nb_inputs;
- /// The number of entries in the list of outputs.
- public byte @nb_outputs;
- /// This field determines the state of the formats union. It is an enum FilterFormatsState value.
- public byte @formats_state;
- /// Filter pre-initialization function
- public AVFilter_preinit_func @preinit;
- /// Filter initialization function.
- public AVFilter_init_func @init;
- /// Filter uninitialization function.
- public AVFilter_uninit_func @uninit;
- public AVFilter_formats @formats;
- /// size of private data to allocate for the filter
- public int @priv_size;
- /// Additional flags for avfilter internal use only.
- public int @flags_internal;
- /// Make the filter instance process a command.
- public AVFilter_process_command_func @process_command;
- /// Filter activation function.
- public AVFilter_activate_func @activate;
-}
-
-/// The state of the following union is determined by formats_state. See the documentation of enum FilterFormatsState in internal.h.
-[StructLayout(LayoutKind.Explicit)]
-public unsafe partial struct AVFilter_formats
-{
- /// Query formats supported by the filter on its inputs and outputs.
- [FieldOffset(0)]
- public _query_func_func @query_func;
- /// A pointer to an array of admissible pixel formats delimited by AV_PIX_FMT_NONE. The generic code will use this list to indicate that this filter supports each of these pixel formats, provided that all inputs and outputs use the same pixel format.
- [FieldOffset(0)]
- public AVPixelFormat* @pixels_list;
- /// Analogous to pixels, but delimited by AV_SAMPLE_FMT_NONE and restricted to filters that only have AVMEDIA_TYPE_AUDIO inputs and outputs.
- [FieldOffset(0)]
- public AVSampleFormat* @samples_list;
- /// Equivalent to { pix_fmt, AV_PIX_FMT_NONE } as pixels_list.
- [FieldOffset(0)]
- public AVPixelFormat @pix_fmt;
- /// Equivalent to { sample_fmt, AV_SAMPLE_FMT_NONE } as samples_list.
- [FieldOffset(0)]
- public AVSampleFormat @sample_fmt;
}
/// A filterchain is a list of filter specifications.
@@ -945,22 +878,21 @@ public unsafe partial struct AVFilterContext
public AVFilterGraph* @graph;
/// Type of multithreading being allowed/used. A combination of AVFILTER_THREAD_* flags.
public int @thread_type;
- /// An opaque struct for libavfilter internal use.
- public AVFilterInternal* @internal;
+ /// Max number of threads allowed in this filter instance. If <= 0, its value is ignored. Overrides global number of threads set per filter graph.
+ public int @nb_threads;
+ [Obsolete("unused")]
public AVFilterCommand* @command_queue;
/// enable expression string
public byte* @enable_str;
- /// parsed expression (AVExpr*)
+ [Obsolete("unused")]
public void* @enable;
- /// variable values for the enable expression
+ [Obsolete("unused")]
public double* @var_values;
- /// the enabled state from the last expression evaluation
+ /// MUST NOT be accessed from outside avfilter.
public int @is_disabled;
/// For filters which will create hardware frames, sets the device the filter should create them in. All other filters will ignore this field: in particular, a filter which consumes or processes hardware frames will instead use the hw_frames_ctx field in AVFilterLink to carry the hardware context information.
public AVBufferRef* @hw_device_ctx;
- /// Max number of threads allowed in this filter instance. If <= 0, its value is ignored. Overrides global number of threads set per filter graph.
- public int @nb_threads;
- /// Ready status of the filter. A non-0 value means that the filter needs activating; a higher value suggests a more urgent activation.
+ [Obsolete("this field should never have been accessed by callers")]
public uint @ready;
/// Sets the number of extra hardware frames which the filter will allocate on its output links for use in following filters or by the caller.
public int @extra_hw_frames;
@@ -975,6 +907,10 @@ public unsafe partial struct AVFilterFormatsConfig
public AVFilterFormats* @samplerates;
/// Lists of supported channel layouts, only for audio.
public AVFilterChannelLayouts* @channel_layouts;
+ /// AVColorSpace
+ public AVFilterFormats* @color_spaces;
+ /// AVColorRange
+ public AVFilterFormats* @color_ranges;
}
public unsafe partial struct AVFilterGraph
@@ -988,18 +924,14 @@ public unsafe partial struct AVFilterGraph
public int @thread_type;
/// Maximum number of threads used by filters in this graph. May be set by the caller before adding any filters to the filtergraph. Zero (the default) means that the number of threads is determined automatically.
public int @nb_threads;
- /// Opaque object for libavfilter internal use.
- public AVFilterGraphInternal* @internal;
/// Opaque user data. May be set by the caller to an arbitrary value, e.g. to be used from callbacks like AVFilterGraph.execute. Libavfilter will not touch this field in any way.
public void* @opaque;
/// This callback may be set by the caller immediately after allocating the graph and before adding any filters to it, to provide a custom multithreading implementation.
public AVFilterGraph_execute_func @execute;
/// swr options to use for the auto-inserted aresample filters, Access ONLY through AVOptions
public byte* @aresample_swr_opts;
- /// Private fields
- public AVFilterLink** @sink_links;
- public int @sink_links_count;
- public uint @disable_auto_convert;
+ /// Sets the maximum number of buffered frames in the filtergraph combined.
+ public uint @max_buffered_frames;
}
/// A parsed representation of a filtergraph segment.
@@ -1040,58 +972,30 @@ public unsafe partial struct AVFilterLink
public AVFilterPad* @dstpad;
/// filter media type
public AVMediaType @type;
+ /// agreed upon media format
+ public int @format;
/// agreed upon image width
public int @w;
/// agreed upon image height
public int @h;
/// agreed upon sample aspect ratio
public AVRational @sample_aspect_ratio;
- /// channel layout of current buffer (see libavutil/channel_layout.h)
- [Obsolete("use ch_layout")]
- public ulong @channel_layout;
+ /// agreed upon YUV color space
+ public AVColorSpace @colorspace;
+ /// agreed upon YUV color range
+ public AVColorRange @color_range;
/// samples per second
public int @sample_rate;
- /// agreed upon media format
- public int @format;
- /// Define the time base used by the PTS of the frames/samples which will pass through this link. During the configuration stage, each filter is supposed to change only the output timebase, while the timebase of the input link is assumed to be an unchangeable property.
- public AVRational @time_base;
/// channel layout of current buffer (see libavutil/channel_layout.h)
public AVChannelLayout @ch_layout;
+ /// Define the time base used by the PTS of the frames/samples which will pass through this link. During the configuration stage, each filter is supposed to change only the output timebase, while the timebase of the input link is assumed to be an unchangeable property.
+ public AVRational @time_base;
+ public AVFrameSideData** @side_data;
+ public int @nb_side_data;
/// Lists of supported formats / etc. supported by the input filter.
public AVFilterFormatsConfig @incfg;
/// Lists of supported formats / etc. supported by the output filter.
public AVFilterFormatsConfig @outcfg;
- public AVFilterLink_init_state @init_state;
- /// Graph the filter belongs to.
- public AVFilterGraph* @graph;
- /// Current timestamp of the link, as defined by the most recent frame(s), in link time_base units.
- public long @current_pts;
- /// Current timestamp of the link, as defined by the most recent frame(s), in AV_TIME_BASE units.
- public long @current_pts_us;
- /// Index in the age array.
- public int @age_index;
- /// Frame rate of the stream on the link, or 1/0 if unknown or variable; if left to 0/0, will be automatically copied from the first input of the source filter if it exists.
- public AVRational @frame_rate;
- /// Minimum number of samples to filter at once. If filter_frame() is called with fewer samples, it will accumulate them in fifo. This field and the related ones must not be changed after filtering has started. If 0, all related fields are ignored.
- public int @min_samples;
- /// Maximum number of samples to filter at once. If filter_frame() is called with more samples, it will split them.
- public int @max_samples;
- /// Number of past frames sent through the link.
- public long @frame_count_in;
- /// Number of past frames sent through the link.
- public long @frame_count_out;
- /// Number of past samples sent through the link.
- public long @sample_count_in;
- /// Number of past samples sent through the link.
- public long @sample_count_out;
- /// A pointer to a FFFramePool struct.
- public void* @frame_pool;
- /// True if a frame is currently wanted on the output of this filter. Set when ff_request_frame() is called by the output, cleared when a frame is filtered.
- public int @frame_wanted_out;
- /// For hwaccel pixel formats, this should be a reference to the AVHWFramesContext describing the frames.
- public AVBufferRef* @hw_frames_ctx;
- /// Internal structure members. The fields below this limit are internal for libavfilter's use and must in no way be accessed by applications.
- public byte61440 @reserved;
}
/// Parameters of a filter's input or output pad.
@@ -1110,7 +1014,7 @@ public unsafe partial struct AVFilterParams
public byte* @filter_name;
/// Name to be used for this filter instance.
public byte* @instance_name;
- /// Options to be apllied to the filter.
+ /// Options to be applied to the filter.
public AVDictionary* @opts;
public AVFilterPadParams** @inputs;
public uint @nb_inputs;
@@ -1137,6 +1041,13 @@ public unsafe partial struct AVFormatContext
public uint @nb_streams;
/// A list of all streams in the file. New streams are created with avformat_new_stream().
public AVStream** @streams;
+ /// Number of elements in AVFormatContext.stream_groups.
+ public uint @nb_stream_groups;
+ /// A list of all stream groups in the file. New groups are created with avformat_stream_group_create(), and filled with avformat_stream_group_add_stream().
+ public AVStreamGroup** @stream_groups;
+ /// Number of chapters in AVChapter array. When muxing, chapters are normally written in the file header, so nb_chapters should normally be initialized before write_header is called. Some muxers (e.g. mov and mkv) can also write chapters in the trailer. To write chapters in the trailer, nb_chapters must be zero when write_header is called and non-zero when write_trailer is called. - muxing: set by user - demuxing: set by libavformat
+ public uint @nb_chapters;
+ public AVChapter** @chapters;
/// input or output URL. Unlike the old filename field, this field has no length restriction.
public byte* @url;
/// Position of the first frame of the component, in AV_TIME_BASE fractional seconds. NEVER set this value directly: It is deduced from the AVStream values.
@@ -1163,13 +1074,8 @@ public unsafe partial struct AVFormatContext
public AVCodecID @audio_codec_id;
/// Forced subtitle codec_id. Demuxing: Set by user.
public AVCodecID @subtitle_codec_id;
- /// Maximum amount of memory in bytes to use for the index of each stream. If the index exceeds this size, entries will be discarded as needed to maintain a smaller size. This can lead to slower or less accurate seeking (depends on demuxer). Demuxers for which a full in-memory index is mandatory will ignore this. - muxing: unused - demuxing: set by user
- public uint @max_index_size;
- /// Maximum amount of memory in bytes to use for buffering frames obtained from realtime capture devices.
- public uint @max_picture_buffer;
- /// Number of chapters in AVChapter array. When muxing, chapters are normally written in the file header, so nb_chapters should normally be initialized before write_header is called. Some muxers (e.g. mov and mkv) can also write chapters in the trailer. To write chapters in the trailer, nb_chapters must be zero when write_header is called and non-zero when write_trailer is called. - muxing: set by user - demuxing: set by libavformat
- public uint @nb_chapters;
- public AVChapter** @chapters;
+ /// Forced Data codec_id. Demuxing: Set by user.
+ public AVCodecID @data_codec_id;
/// Metadata that applies to the whole file.
public AVDictionary* @metadata;
/// Start time of the stream in real world time, in microseconds since the Unix epoch (00:00 1st January 1970). That is, pts=0 in the stream was captured at this real world time. - muxing: Set by the caller before avformat_write_header(). If set to either 0 or AV_NOPTS_VALUE, then the current wall-time will be used. - demuxing: Set by libavformat. AV_NOPTS_VALUE if unknown. Note that the value may become known after some number of frames have been received.
@@ -1182,26 +1088,34 @@ public unsafe partial struct AVFormatContext
public AVIOInterruptCB @interrupt_callback;
/// Flags to enable debugging.
public int @debug;
+ /// The maximum number of streams. - encoding: unused - decoding: set by user
+ public int @max_streams;
+ /// Maximum amount of memory in bytes to use for the index of each stream. If the index exceeds this size, entries will be discarded as needed to maintain a smaller size. This can lead to slower or less accurate seeking (depends on demuxer). Demuxers for which a full in-memory index is mandatory will ignore this. - muxing: unused - demuxing: set by user
+ public uint @max_index_size;
+ /// Maximum amount of memory in bytes to use for buffering frames obtained from realtime capture devices.
+ public uint @max_picture_buffer;
/// Maximum buffering duration for interleaving.
public long @max_interleave_delta;
+ /// Maximum number of packets to read while waiting for the first timestamp. Decoding only.
+ public int @max_ts_probe;
+ /// Max chunk time in microseconds. Note, not all formats support this and unpredictable things may happen if it is used when not supported. - encoding: Set by user - decoding: unused
+ public int @max_chunk_duration;
+ /// Max chunk size in bytes Note, not all formats support this and unpredictable things may happen if it is used when not supported. - encoding: Set by user - decoding: unused
+ public int @max_chunk_size;
+ /// Maximum number of packets that can be probed - encoding: unused - decoding: set by user
+ public int @max_probe_packets;
/// Allow non-standard and experimental extension
public int @strict_std_compliance;
/// Flags indicating events happening on the file, a combination of AVFMT_EVENT_FLAG_*.
public int @event_flags;
- /// Maximum number of packets to read while waiting for the first timestamp. Decoding only.
- public int @max_ts_probe;
/// Avoid negative timestamps during muxing. Any value of the AVFMT_AVOID_NEG_TS_* constants. Note, this works better when using av_interleaved_write_frame(). - muxing: Set by user - demuxing: unused
public int @avoid_negative_ts;
- /// Transport stream id. This will be moved into demuxer private options. Thus no API/ABI compatibility
- public int @ts_id;
/// Audio preload in microseconds. Note, not all formats support this and unpredictable things may happen if it is used when not supported. - encoding: Set by user - decoding: unused
public int @audio_preload;
- /// Max chunk time in microseconds. Note, not all formats support this and unpredictable things may happen if it is used when not supported. - encoding: Set by user - decoding: unused
- public int @max_chunk_duration;
- /// Max chunk size in bytes Note, not all formats support this and unpredictable things may happen if it is used when not supported. - encoding: Set by user - decoding: unused
- public int @max_chunk_size;
/// forces the use of wallclock timestamps as pts/dts of packets This has undefined results in the presence of B frames. - encoding: unused - decoding: Set by user
public int @use_wallclock_as_timestamps;
+ /// Skip duration calculation in estimate_timings_from_pts. - encoding: unused - decoding: set by user
+ public int @skip_estimate_duration_from_pts;
/// avio flags, used to force AVIO_FLAG_DIRECT. - encoding: unused - decoding: Set by user
public int @avio_flags;
/// The duration field can be estimated through various ways, and this field can be used to know how the duration was estimated. - encoding: unused - decoding: Read by user
@@ -1222,7 +1136,11 @@ public unsafe partial struct AVFormatContext
public byte* @codec_whitelist;
/// ',' separated list of allowed demuxers. If NULL then all are allowed - encoding: unused - decoding: set by user
public byte* @format_whitelist;
- /// IO repositioned flag. This is set by avformat when the underlaying IO context read pointer is repositioned, for example when doing byte based seeking. Demuxers can use the flag to detect such changes.
+ /// ',' separated list of allowed protocols. - encoding: unused - decoding: set by user
+ public byte* @protocol_whitelist;
+ /// ',' separated list of disallowed protocols. - encoding: unused - decoding: set by user
+ public byte* @protocol_blacklist;
+ /// IO repositioned flag. This is set by avformat when the underlying IO context read pointer is repositioned, for example when doing byte based seeking. Demuxers can use the flag to detect such changes.
public int @io_repositioned;
/// Forced video codec. This allows forcing a specific decoder, even when there are multiple with the same codec_id. Demuxing: Set by user
public AVCodec* @video_codec;
@@ -1232,7 +1150,7 @@ public unsafe partial struct AVFormatContext
public AVCodec* @subtitle_codec;
/// Forced data codec. This allows forcing a specific decoder, even when there are multiple with the same codec_id. Demuxing: Set by user
public AVCodec* @data_codec;
- /// Number of bytes to be written as padding in a metadata header. Demuxing: Unused. Muxing: Set by user via av_format_set_metadata_header_padding.
+ /// Number of bytes to be written as padding in a metadata header. Demuxing: Unused. Muxing: Set by user.
public int @metadata_header_padding;
/// User data. This is a place for some private data of the user.
public void* @opaque;
@@ -1242,25 +1160,12 @@ public unsafe partial struct AVFormatContext
public long @output_ts_offset;
/// dump format separator. can be ", " or " " or anything else - muxing: Set by user. - demuxing: Set by user.
public byte* @dump_separator;
- /// Forced Data codec_id. Demuxing: Set by user.
- public AVCodecID @data_codec_id;
- /// ',' separated list of allowed protocols. - encoding: unused - decoding: set by user
- public byte* @protocol_whitelist;
/// A callback for opening new IO streams.
public AVFormatContext_io_open_func @io_open;
/// A callback for closing the streams opened with AVFormatContext.io_open().
- [Obsolete("use io_close2")]
- public AVFormatContext_io_close_func @io_close;
- /// ',' separated list of disallowed protocols. - encoding: unused - decoding: set by user
- public byte* @protocol_blacklist;
- /// The maximum number of streams. - encoding: unused - decoding: set by user
- public int @max_streams;
- /// Skip duration calcuation in estimate_timings_from_pts. - encoding: unused - decoding: set by user
- public int @skip_estimate_duration_from_pts;
- /// Maximum number of packets that can be probed - encoding: unused - decoding: set by user
- public int @max_probe_packets;
- /// A callback for closing the streams opened with AVFormatContext.io_open().
public AVFormatContext_io_close2_func @io_close2;
+ /// Maximum number of bytes read from input in order to determine stream durations when using estimate_timings_from_pts in avformat_find_stream_info(). Demuxing only, set by the caller before avformat_find_stream_info(). Can be set to 0 to let avformat choose using a heuristic.
+ public long @duration_probesize;
}
/// This structure describes decoded (raw) audio or video data.
@@ -1280,9 +1185,6 @@ public unsafe partial struct AVFrame
public int @nb_samples;
/// format of the frame, -1 if unknown or unset Values correspond to enum AVPixelFormat for video frames, enum AVSampleFormat for audio)
public int @format;
- /// 1 -> keyframe, 0-> not
- [Obsolete("Use AV_FRAME_FLAG_KEY instead")]
- public int @key_frame;
/// Picture type of the frame.
public AVPictureType @pict_type;
/// Sample aspect ratio for the video frame, 0/1 if unknown/unspecified.
@@ -1293,32 +1195,14 @@ public unsafe partial struct AVFrame
public long @pkt_dts;
/// Time base for the timestamps in this frame. In the future, this field may be set on frames output by decoders or filters, but its value will be by default ignored on input to encoders or filters.
public AVRational @time_base;
- /// picture number in bitstream order
- public int @coded_picture_number;
- /// picture number in display order
- public int @display_picture_number;
/// quality (between 1 (good) and FF_LAMBDA_MAX (bad))
public int @quality;
/// Frame owner's private data.
public void* @opaque;
/// Number of fields in this frame which should be repeated, i.e. the total duration of this frame should be repeat_pict + 2 normal field durations.
public int @repeat_pict;
- /// The content of the picture is interlaced.
- [Obsolete("Use AV_FRAME_FLAG_INTERLACED instead")]
- public int @interlaced_frame;
- /// If the content is interlaced, is top field displayed first.
- [Obsolete("Use AV_FRAME_FLAG_TOP_FIELD_FIRST instead")]
- public int @top_field_first;
- /// Tell user application that palette has changed from previous frame.
- public int @palette_has_changed;
- /// reordered opaque 64 bits (generally an integer or a double precision float PTS but can be anything). The user sets AVCodecContext.reordered_opaque to represent the input at that time, the decoder reorders values as needed and sets AVFrame.reordered_opaque to exactly one of the values provided by the user through AVCodecContext.reordered_opaque
- [Obsolete("Use AV_CODEC_FLAG_COPY_OPAQUE instead")]
- public long @reordered_opaque;
/// Sample rate of the audio data.
public int @sample_rate;
- /// Channel layout of the audio data.
- [Obsolete("use ch_layout instead")]
- public ulong @channel_layout;
/// AVBuffer references backing the data for this frame. All the pointers in data and extended_data must point inside one of the buffers in buf or extended_buf. This array must be filled contiguously -- if buf[i] is non-NULL then buf[j] must also be non-NULL for all j < i.
public AVBufferRef_ptr8 @buf;
/// For planar audio which requires more than AV_NUM_DATA_POINTERS AVBufferRef pointers, this array will hold all the references which cannot fit into AVFrame.buf.
@@ -1338,22 +1222,10 @@ public unsafe partial struct AVFrame
public AVChromaLocation @chroma_location;
/// frame timestamp estimated using various heuristics, in stream time base - encoding: unused - decoding: set by libavcodec, read by user.
public long @best_effort_timestamp;
- /// reordered pos from the last AVPacket that has been input into the decoder - encoding: unused - decoding: Read by user.
- [Obsolete("use AV_CODEC_FLAG_COPY_OPAQUE to pass through arbitrary user data from packets to frames")]
- public long @pkt_pos;
- /// duration of the corresponding packet, expressed in AVStream->time_base units, 0 if unknown. - encoding: unused - decoding: Read by user.
- [Obsolete("use duration instead")]
- public long @pkt_duration;
/// metadata. - encoding: Set by user. - decoding: Set by libavcodec.
public AVDictionary* @metadata;
/// decode error flags of the frame, set to a combination of FF_DECODE_ERROR_xxx flags if the decoder produced a frame, but there were errors during the decoding. - encoding: unused - decoding: set by libavcodec, read by user.
public int @decode_error_flags;
- /// number of audio channels, only used for audio. - encoding: unused - decoding: Read by user.
- [Obsolete("use ch_layout instead")]
- public int @channels;
- /// size of the corresponding packet containing the compressed frame. It is set to a negative value if unknown. - encoding: unused - decoding: set by libavcodec, read by user.
- [Obsolete("use AV_CODEC_FLAG_COPY_OPAQUE to pass through arbitrary user data from packets to frames")]
- public int @pkt_size;
/// For hwaccel-format frames, this should be a reference to the AVHWFramesContext describing the frame.
public AVBufferRef* @hw_frames_ctx;
/// Frame owner's private data.
@@ -1363,8 +1235,8 @@ public unsafe partial struct AVFrame
public ulong @crop_bottom;
public ulong @crop_left;
public ulong @crop_right;
- /// AVBufferRef for internal use by a single libav* library. Must not be used to transfer data between libraries. Has to be NULL when ownership of the frame leaves the respective library.
- public AVBufferRef* @private_ref;
+ /// RefStruct reference for internal use by a single libav* library. Must not be used to transfer data between libraries. Has to be NULL when ownership of the frame leaves the respective library.
+ public void* @private_ref;
/// Channel layout of the audio data.
public AVChannelLayout @ch_layout;
/// Duration of the frame, in the same units as pts. 0 if unknown.
@@ -1460,8 +1332,6 @@ public unsafe partial struct AVHWDeviceContext
{
/// A class for logging. Set by av_hwdevice_ctx_alloc().
public AVClass* @av_class;
- /// Private data used internally by libavutil. Must not be accessed in any way by the caller.
- public AVHWDeviceInternal* @internal;
/// This field identifies the underlying API used for hardware access.
public AVHWDeviceType @type;
/// The format-specific data, allocated and freed by libavutil along with this context.
@@ -1492,8 +1362,6 @@ public unsafe partial struct AVHWFramesContext
{
/// A class for logging.
public AVClass* @av_class;
- /// Private data used internally by libavutil. Must not be accessed in any way by the caller.
- public AVHWFramesInternal* @internal;
/// A reference to the parent AVHWDeviceContext. This reference is owned and managed by the enclosing AVHWFramesContext, but the caller may derive additional references from it.
public AVBufferRef* @device_ref;
/// The parent AVHWDeviceContext. This is simply a pointer to device_ref->data provided for convenience.
@@ -1545,32 +1413,6 @@ public unsafe partial struct AVInputFormat
public AVClass* @priv_class;
/// Comma-separated list of mime types. It is used check for matching mime types while probing.
public byte* @mime_type;
- /// *************************************************************** No fields below this line are part of the public API. They may not be used outside of libavformat and can be changed and removed at will. New public fields should be added right above. ****************************************************************
- public int @raw_codec_id;
- /// Size of private data so that it can be allocated in the wrapper.
- public int @priv_data_size;
- /// Internal flags. See FF_FMT_FLAG_* in internal.h.
- public int @flags_internal;
- /// Tell if a given file has a chance of being parsed as this format. The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes big so you do not have to check for that unless you need more.
- public AVInputFormat_read_probe_func @read_probe;
- /// Read the format header and initialize the AVFormatContext structure. Return 0 if OK. 'avformat_new_stream' should be called to create new streams.
- public AVInputFormat_read_header_func @read_header;
- /// Read one packet and put it in 'pkt'. pts and flags are also set. 'avformat_new_stream' can be called only if the flag AVFMTCTX_NOHEADER is used and only in the calling thread (not in a background thread).
- public AVInputFormat_read_packet_func @read_packet;
- /// Close the stream. The AVFormatContext and AVStreams are not freed by this function
- public AVInputFormat_read_close_func @read_close;
- /// Seek to a given timestamp relative to the frames in stream component stream_index.
- public AVInputFormat_read_seek_func @read_seek;
- /// Get the next timestamp in stream[stream_index].time_base units.
- public AVInputFormat_read_timestamp_func @read_timestamp;
- /// Start/resume playing - only meaningful if using a network-based format (RTSP).
- public AVInputFormat_read_play_func @read_play;
- /// Pause playing - only meaningful if using a network-based format (RTSP).
- public AVInputFormat_read_pause_func @read_pause;
- /// Seek to timestamp ts. Seeking will be done so that the point from which all active streams can be presented successfully will be closest to ts and within min/max_ts. Active streams are all streams that have AVStream.discard < AVDISCARD_ALL.
- public AVInputFormat_read_seek2_func @read_seek2;
- /// Returns device list with it properties.
- public AVInputFormat_get_device_list_func @get_device_list;
}
/// Bytestream IO Context. New public fields can be added with minor version bumps. Removal, reordering and changes to existing public fields require a major version bump. sizeof(AVIOContext) must not be used outside libav*.
@@ -1617,6 +1459,7 @@ public unsafe partial struct AVIOContext
public byte* @protocol_whitelist;
/// ',' separated list of disallowed protocols.
public byte* @protocol_blacklist;
+ /// A callback that is used instead of write_packet.
public AVIOContext_write_data_type_func @write_data_type;
/// If set, don't call write_data_type separately for AVIO_DATA_MARKER_BOUNDARY_POINT, but ignore them and treat them as AVIO_DATA_MARKER_UNKNOWN (to avoid needlessly small chunks of data returned from the callback).
public int @ignore_boundary_point;
@@ -1628,11 +1471,6 @@ public unsafe partial struct AVIOContext
public long @bytes_written;
}
-public unsafe partial struct AVIODirContext
-{
- public URLContext* @url_context;
-}
-
/// Describes single entry of the directory.
public unsafe partial struct AVIODirEntry
{
@@ -1688,7 +1526,7 @@ public unsafe partial struct AVOption
public byte* @name;
/// short English help text
public byte* @help;
- /// The offset relative to the context structure where the option value is stored. It should be 0 for named constants.
+ /// Native access only.
public int @offset;
public AVOptionType @type;
public AVOption_default_val @default_val;
@@ -1696,12 +1534,13 @@ public unsafe partial struct AVOption
public double @min;
/// maximum valid value for the option
public double @max;
+ /// A combination of AV_OPT_FLAG_*.
public int @flags;
/// The logical unit to which the option belongs. Non-constant options and corresponding named constants share the same unit. May be NULL.
public byte* @unit;
}
-/// the default value for scalar options
+/// Native access only, except when documented otherwise. the default value for scalar options
[StructLayout(LayoutKind.Explicit)]
public unsafe partial struct AVOption_default_val
{
@@ -1713,6 +1552,22 @@ public unsafe partial struct AVOption_default_val
public byte* @str;
[FieldOffset(0)]
public AVRational @q;
+ /// Used for AV_OPT_TYPE_FLAG_ARRAY options. May be NULL.
+ [FieldOffset(0)]
+ public AVOptionArrayDef* @arr;
+}
+
+/// May be set as default_val for AV_OPT_TYPE_FLAG_ARRAY options.
+public unsafe partial struct AVOptionArrayDef
+{
+ /// Native access only.
+ public byte* @def;
+ /// Minimum number of elements in the array. When this field is non-zero, def must be non-NULL and contain at least this number of elements.
+ public uint @size_min;
+ /// Maximum number of elements in the array, 0 when unlimited.
+ public uint @size_max;
+ /// Separator between array elements in string representations of this option, used by av_opt_set() and av_opt_get(). It must be a printable ASCII character, excluding alphanumeric and the backslash. A comma is used when sep=0.
+ public byte @sep;
}
/// A single allowed range of values, or a single allowed value.
@@ -1738,7 +1593,7 @@ public unsafe partial struct AVOptionRanges
public AVOptionRange** @range;
/// Number of ranges per component.
public int @nb_ranges;
- /// Number of componentes.
+ /// Number of components.
public int @nb_components;
}
@@ -1912,6 +1767,30 @@ public unsafe partial struct AVRegionOfInterest
public AVRational @qoffset;
}
+/// RTCP SR (Sender Report) information
+public unsafe partial struct AVRTCPSenderReport
+{
+ /// Synchronization source identifier
+ public uint @ssrc;
+ /// NTP time when the report was sent
+ public ulong @ntp_timestamp;
+ /// RTP time when the report was sent
+ public uint @rtp_timestamp;
+ /// Total number of packets sent
+ public uint @sender_nb_packets;
+ /// Total number of bytes sent (excluding headers or padding)
+ public uint @sender_nb_bytes;
+}
+
+/// This struct describes the properties of a side data type. Its instance corresponding to a given type can be obtained from av_frame_side_data_desc().
+public unsafe partial struct AVSideDataDescriptor
+{
+ /// Human-readable side data description.
+ public byte* @name;
+ /// Side data property flags, a combination of AVSideDataProps values.
+ public uint @props;
+}
+
/// Stream structure. New fields can be added to the end with minor version bumps. Removal, reordering and changes to existing fields require a major version bump. sizeof(AVStream) must not be used outside libav*.
public unsafe partial struct AVStream
{
@@ -1943,12 +1822,6 @@ public unsafe partial struct AVStream
public AVRational @avg_frame_rate;
/// For streams with AV_DISPOSITION_ATTACHED_PIC disposition, this packet will contain the attached picture.
public AVPacket @attached_pic;
- /// An array of side data that applies to the whole stream (i.e. the container does not allow it to change between packets).
- [Obsolete("use AVStream's \"codecpar side data\".")]
- public AVPacketSideData* @side_data;
- /// The number of elements in the AVStream.side_data array.
- [Obsolete("use AVStream's \"codecpar side data\".")]
- public int @nb_side_data;
/// Flags indicating events happening on the stream, a combination of AVSTREAM_EVENT_FLAG_*.
public int @event_flags;
/// Real base framerate of the stream. This is the lowest framerate with which all timestamps can be represented accurately (it is the least common multiple of all framerates in the stream). Note, this value is just a guess! For example, if the time base is 1/90000 and all frames have either approximately 3600 or 1800 timer ticks, then r_frame_rate will be 50/1.
@@ -1957,6 +1830,92 @@ public unsafe partial struct AVStream
public int @pts_wrap_bits;
}
+public unsafe partial struct AVStreamGroup
+{
+ /// A class for avoptions. Set by avformat_stream_group_create().
+ public AVClass* @av_class;
+ public void* @priv_data;
+ /// Group index in AVFormatContext.
+ public uint @index;
+ /// Group type-specific group ID.
+ public long @id;
+ /// Group type
+ public AVStreamGroupParamsType @type;
+ public AVStreamGroup_params @params;
+ /// Metadata that applies to the whole group.
+ public AVDictionary* @metadata;
+ /// Number of elements in AVStreamGroup.streams.
+ public uint @nb_streams;
+ /// A list of streams in the group. New entries are created with avformat_stream_group_add_stream().
+ public AVStream** @streams;
+ /// Stream group disposition - a combination of AV_DISPOSITION_* flags. This field currently applies to all defined AVStreamGroupParamsType.
+ public int @disposition;
+}
+
+/// Group type-specific parameters
+[StructLayout(LayoutKind.Explicit)]
+public unsafe partial struct AVStreamGroup_params
+{
+ [FieldOffset(0)]
+ public AVIAMFAudioElement* @iamf_audio_element;
+ [FieldOffset(0)]
+ public AVIAMFMixPresentation* @iamf_mix_presentation;
+ [FieldOffset(0)]
+ public AVStreamGroupTileGrid* @tile_grid;
+ [FieldOffset(0)]
+ public AVStreamGroupLCEVC* @lcevc;
+}
+
+/// AVStreamGroupLCEVC is meant to define the relation between video streams and a data stream containing LCEVC enhancement layer NALUs.
+public unsafe partial struct AVStreamGroupLCEVC
+{
+ public AVClass* @av_class;
+ /// Index of the LCEVC data stream in AVStreamGroup.
+ public uint @lcevc_index;
+ /// Width of the final stream for presentation.
+ public int @width;
+ /// Height of the final image for presentation.
+ public int @height;
+}
+
+/// AVStreamGroupTileGrid holds information on how to combine several independent images on a single canvas for presentation.
+public unsafe partial struct AVStreamGroupTileGrid
+{
+ public AVClass* @av_class;
+ /// Amount of tiles in the grid.
+ public uint @nb_tiles;
+ /// Width of the canvas.
+ public int @coded_width;
+ /// Width of the canvas.
+ public int @coded_height;
+ public AVStreamGroupTileGrid_offsets* @offsets;
+ /// The pixel value per channel in RGBA format used if no pixel of any tile is located at a particular pixel location.
+ public byte4 @background;
+ /// Offset in pixels from the left edge of the canvas where the actual image meant for presentation starts.
+ public int @horizontal_offset;
+ /// Offset in pixels from the top edge of the canvas where the actual image meant for presentation starts.
+ public int @vertical_offset;
+ /// Width of the final image for presentation.
+ public int @width;
+ /// Height of the final image for presentation.
+ public int @height;
+ /// Additional data associated with the grid.
+ public AVPacketSideData* @coded_side_data;
+ /// Amount of entries in coded_side_data.
+ public int @nb_coded_side_data;
+}
+
+/// An nb_tiles sized array of offsets in pixels from the topleft edge of the canvas, indicating where each stream should be placed. It must be allocated with the av_malloc() family of functions.
+public unsafe partial struct AVStreamGroupTileGrid_offsets
+{
+ /// Index of the stream in the group this tile references.
+ public uint @idx;
+ /// Offset in pixels from the left edge of the canvas where the tile should be placed.
+ public int @horizontal;
+ /// Offset in pixels from the top edge of the canvas where the tile should be placed.
+ public int @vertical;
+}
+
public unsafe partial struct AVSubtitle
{
public ushort @format;
@@ -1983,12 +1942,12 @@ public unsafe partial struct AVSubtitleRect
/// data+linesize for the bitmap of this subtitle. Can be set for text/ass as well once they are rendered.
public byte_ptr4 @data;
public int4 @linesize;
+ public int @flags;
public AVSubtitleType @type;
/// 0 terminated plain UTF-8 text
public byte* @text;
/// 0 terminated ASS/SSA compatible event line. The presentation of this is unaffected by the other values in this struct.
public byte* @ass;
- public int @flags;
}
public unsafe partial struct AVTimecode
@@ -2431,6 +2390,52 @@ public unsafe partial struct RcOverride
public float @quality_factor;
}
+/// Main external API structure. New fields can be added to the end with minor version bumps. Removal, reordering and changes to existing fields require a major version bump. sizeof(SwsContext) is not part of the ABI.
+public unsafe partial struct SwsContext
+{
+ public AVClass* @av_class;
+ /// Private data of the user, can be used to carry app specific stuff.
+ public void* @opaque;
+ /// Bitmask of SWS_*. See `SwsFlags` for details.
+ public uint @flags;
+ /// Extra parameters for fine-tuning certain scalers.
+ public double2 @scaler_params;
+ /// How many threads to use for processing, or 0 for automatic selection.
+ public int @threads;
+ /// Dither mode.
+ public SwsDither @dither;
+ /// Alpha blending mode. See `SwsAlphaBlend` for details.
+ public SwsAlphaBlend @alpha_blend;
+ /// Use gamma correct scaling.
+ public int @gamma_flag;
+ /// Width and height of the source frame
+ public int @src_w;
+ /// Width and height of the source frame
+ public int @src_h;
+ /// Width and height of the destination frame
+ public int @dst_w;
+ /// Width and height of the destination frame
+ public int @dst_h;
+ /// Source pixel format
+ public int @src_format;
+ /// Destination pixel format
+ public int @dst_format;
+ /// Source is full range
+ public int @src_range;
+ /// Destination is full range
+ public int @dst_range;
+ /// Source vertical chroma position in luma grid / 256
+ public int @src_v_chr_pos;
+ /// Source horizontal chroma position
+ public int @src_h_chr_pos;
+ /// Destination vertical chroma position
+ public int @dst_v_chr_pos;
+ /// Destination horizontal chroma position
+ public int @dst_h_chr_pos;
+ /// Desired ICC intent for color space conversions.
+ public int @intent;
+}
+
public unsafe partial struct SwsFilter
{
public SwsVector* @lumH;
@@ -2489,47 +2494,47 @@ public unsafe partial struct AVCodecTag
}
/// This struct is incomplete.
-public unsafe partial struct AVDictionary
+public unsafe partial struct AVContainerFifo
{
}
/// This struct is incomplete.
-public unsafe partial struct AVFilterChannelLayouts
+public unsafe partial struct AVDictionary
{
}
/// This struct is incomplete.
-public unsafe partial struct AVFilterCommand
+public unsafe partial struct AVFilterChannelLayouts
{
}
/// This struct is incomplete.
-public unsafe partial struct AVFilterFormats
+public unsafe partial struct AVFilterCommand
{
}
/// This struct is incomplete.
-public unsafe partial struct AVFilterGraphInternal
+public unsafe partial struct AVFilterFormats
{
}
/// This struct is incomplete.
-public unsafe partial struct AVFilterInternal
+public unsafe partial struct AVFilterPad
{
}
/// This struct is incomplete.
-public unsafe partial struct AVFilterPad
+public unsafe partial struct AVIAMFAudioElement
{
}
/// This struct is incomplete.
-public unsafe partial struct AVHWDeviceInternal
+public unsafe partial struct AVIAMFMixPresentation
{
}
/// This struct is incomplete.
-public unsafe partial struct AVHWFramesInternal
+public unsafe partial struct AVIODirContext
{
}
@@ -2545,13 +2550,3 @@ public unsafe partial struct SwrContext
{
}
-/// This struct is incomplete.
-public unsafe partial struct SwsContext
-{
-}
-
-/// This struct is incomplete.
-public unsafe partial struct URLContext
-{
-}
-
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Structs.g.cs.meta b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Structs.g.cs.meta
index 9e6b39b..d793e4a 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Structs.g.cs.meta
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/Structs.g.cs.meta
@@ -1,11 +1,2 @@
fileFormatVersion: 2
-guid: 5527e70960b879147903796e432c2aca
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
+guid: 5527e70960b879147903796e432c2aca
\ No newline at end of file
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/ffmpeg.functions.facade.g.cs b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/ffmpeg.functions.facade.g.cs
index 873a996..518ea3f 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/ffmpeg.functions.facade.g.cs
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/ffmpeg.functions.facade.g.cs
@@ -98,10 +98,6 @@ public static unsafe partial class ffmpeg
/// 0th order modified bessel function of the first kind.
public static double av_bessel_i0(double @x) => vectors.av_bessel_i0(@x);
- /// Append a description of a channel layout to a bprint buffer.
- [Obsolete("use av_channel_layout_describe()")]
- public static void av_bprint_channel_layout(AVBPrint* @bp, int @nb_channels, ulong @channel_layout) => vectors.av_bprint_channel_layout(@bp, @nb_channels, @channel_layout);
-
/// Allocate a context for a given bitstream filter. The caller must fill in the context parameters as described in the documentation and then call av_bsf_init() before sending any data to the filter.
/// the filter for which to allocate an instance.
/// a pointer into which the pointer to the newly-allocated context will be written. It must be freed with av_bsf_free() after the filtering is done.
@@ -262,11 +258,12 @@ public static unsafe partial class ffmpeg
public static int av_buffersink_get_ch_layout(AVFilterContext* @ctx, AVChannelLayout* @ch_layout) => vectors.av_buffersink_get_ch_layout(@ctx, @ch_layout);
- [Obsolete()]
- public static ulong av_buffersink_get_channel_layout(AVFilterContext* @ctx) => vectors.av_buffersink_get_channel_layout(@ctx);
-
public static int av_buffersink_get_channels(AVFilterContext* @ctx) => vectors.av_buffersink_get_channels(@ctx);
+ public static AVColorRange av_buffersink_get_color_range(AVFilterContext* @ctx) => vectors.av_buffersink_get_color_range(@ctx);
+
+ public static AVColorSpace av_buffersink_get_colorspace(AVFilterContext* @ctx) => vectors.av_buffersink_get_colorspace(@ctx);
+
public static int av_buffersink_get_format(AVFilterContext* @ctx) => vectors.av_buffersink_get_format(@ctx);
/// Get a frame with filtered data from sink and put it in frame.
@@ -298,6 +295,8 @@ public static unsafe partial class ffmpeg
/// The return codes have the same meaning as for av_buffersink_get_frame().
public static int av_buffersink_get_samples(AVFilterContext* @ctx, AVFrame* @frame, int @nb_samples) => vectors.av_buffersink_get_samples(@ctx, @frame, @nb_samples);
+ public static AVFrameSideData** av_buffersink_get_side_data(AVFilterContext* @ctx, int* @nb_side_data) => vectors.av_buffersink_get_side_data(@ctx, @nb_side_data);
+
public static AVRational av_buffersink_get_time_base(AVFilterContext* @ctx) => vectors.av_buffersink_get_time_base(@ctx);
/// Get the properties of the stream @{
@@ -362,6 +361,11 @@ public static unsafe partial class ffmpeg
/// the channel with the given name AV_CHAN_NONE when name does not identify a known channel
public static AVChannel av_channel_from_string(string @name) => vectors.av_channel_from_string(@name);
+ /// Return the order if the layout is n-th order standard-order ambisonic. The presence of optional extra non-diegetic channels at the end is not taken into account.
+ /// input channel layout
+ /// the order of the layout, a negative error code otherwise.
+ public static int av_channel_layout_ambisonic_order(AVChannelLayout* @channel_layout) => vectors.av_channel_layout_ambisonic_order(@channel_layout);
+
/// Get the channel with the given index in a channel layout.
/// input channel layout
/// index of the channel
@@ -391,6 +395,12 @@ public static unsafe partial class ffmpeg
/// 0 on success, a negative AVERROR on error.
public static int av_channel_layout_copy(AVChannelLayout* @dst, AVChannelLayout* @src) => vectors.av_channel_layout_copy(@dst, @src);
+ /// Initialize a custom channel layout with the specified number of channels. The channel map will be allocated and the designation of all channels will be set to AV_CHAN_UNKNOWN.
+ /// the layout structure to be initialized
+ /// the number of channels
+ /// 0 on success AVERROR(EINVAL) if the number of channels < = 0 AVERROR(ENOMEM) if the channel map could not be allocated
+ public static int av_channel_layout_custom_init(AVChannelLayout* @channel_layout, int @nb_channels) => vectors.av_channel_layout_custom_init(@channel_layout, @nb_channels);
+
/// Get the default channel layout for a given number of channels.
/// the layout structure to be initialized
/// number of channels
@@ -407,20 +417,16 @@ public static unsafe partial class ffmpeg
/// 0 on success, or a negative AVERROR value on failure.
public static int av_channel_layout_describe_bprint(AVChannelLayout* @channel_layout, AVBPrint* @bp) => vectors.av_channel_layout_describe_bprint(@channel_layout, @bp);
- /// Get the channel with the given index in channel_layout.
- [Obsolete("use av_channel_layout_channel_from_index()")]
- public static ulong av_channel_layout_extract_channel(ulong @channel_layout, int @index) => vectors.av_channel_layout_extract_channel(@channel_layout, @index);
-
/// Initialize a native channel layout from a bitmask indicating which channels are present.
/// the layout structure to be initialized
/// bitmask describing the channel layout
/// 0 on success AVERROR(EINVAL) for invalid mask values
public static int av_channel_layout_from_mask(AVChannelLayout* @channel_layout, ulong @mask) => vectors.av_channel_layout_from_mask(@channel_layout, @mask);
- /// Initialize a channel layout from a given string description. The input string can be represented by: - the formal channel layout name (returned by av_channel_layout_describe()) - single or multiple channel names (returned by av_channel_name(), eg. "FL", or concatenated with "+", each optionally containing a custom name after a "", eg. "FL+FR+LFE") - a decimal or hexadecimal value of a native channel layout (eg. "4" or "0x4") - the number of channels with default layout (eg. "4c") - the number of unordered channels (eg. "4C" or "4 channels") - the ambisonic order followed by optional non-diegetic channels (eg. "ambisonic 2+stereo")
- /// input channel layout
+ /// Initialize a channel layout from a given string description. The input string can be represented by: - the formal channel layout name (returned by av_channel_layout_describe()) - single or multiple channel names (returned by av_channel_name(), eg. "FL", or concatenated with "+", each optionally containing a custom name after a "", eg. "FL+FR+LFE") - a decimal or hexadecimal value of a native channel layout (eg. "4" or "0x4") - the number of channels with default layout (eg. "4c") - the number of unordered channels (eg. "4C" or "4 channels") - the ambisonic order followed by optional non-diegetic channels (eg. "ambisonic 2+stereo") On error, the channel layout will remain uninitialized, but not necessarily untouched.
+ /// uninitialized channel layout for the result
/// string describing the channel layout
- /// 0 channel layout was detected, AVERROR_INVALIDATATA otherwise
+ /// 0 on success parsing the channel layout AVERROR(EINVAL) if an invalid channel layout string was provided AVERROR(ENOMEM) if there was not enough memory
public static int av_channel_layout_from_string(AVChannelLayout* @channel_layout, string @str) => vectors.av_channel_layout_from_string(@channel_layout, @str);
/// Get the index of a given channel in a channel layout. In case multiple channels are found, only the first match will be returned.
@@ -435,6 +441,13 @@ public static unsafe partial class ffmpeg
/// a channel index described by the given string, or a negative AVERROR value.
public static int av_channel_layout_index_from_string(AVChannelLayout* @channel_layout, string @name) => vectors.av_channel_layout_index_from_string(@channel_layout, @name);
+ /// Change the AVChannelOrder of a channel layout.
+ /// channel layout which will be changed
+ /// the desired channel layout order
+ /// a combination of AV_CHANNEL_LAYOUT_RETYPE_FLAG_* constants
+ /// 0 if the conversion was successful and lossless or if the channel layout was already in the desired order >0 if the conversion was successful but lossy AVERROR(ENOSYS) if the conversion was not possible (or would be lossy and AV_CHANNEL_LAYOUT_RETYPE_FLAG_LOSSLESS was specified) AVERROR(EINVAL), AVERROR(ENOMEM) on error
+ public static int av_channel_layout_retype(AVChannelLayout* @channel_layout, AVChannelOrder @order, int @flags) => vectors.av_channel_layout_retype(@channel_layout, @order, @flags);
+
/// Iterate over all standard channel layouts.
/// a pointer where libavutil will store the iteration state. Must point to NULL to start the iteration.
/// the standard channel layout or NULL when the iteration is finished
@@ -551,6 +564,10 @@ public static unsafe partial class ffmpeg
/// One of the following values: - -1 if `ts_a` is before `ts_b` - 1 if `ts_a` is after `ts_b` - 0 if they represent the same position
public static int av_compare_ts(long @ts_a, AVRational @tb_a, long @ts_b, AVRational @tb_b) => vectors.av_compare_ts(@ts_a, @tb_a, @ts_b, @tb_b);
+ /// Allocate an AVContainerFifo instance for AVPacket.
+ /// currently unused
+ public static AVContainerFifo* av_container_fifo_alloc_avpacket(uint @flags) => vectors.av_container_fifo_alloc_avpacket(@flags);
+
/// Allocate an AVContentLightMetadata structure and set its fields to default values. The resulting struct can be freed using av_freep().
/// An AVContentLightMetadata filled with default values or NULL on failure.
public static AVContentLightMetadata* av_content_light_metadata_alloc(ulong* @size) => vectors.av_content_light_metadata_alloc(@size);
@@ -621,7 +638,7 @@ public static unsafe partial class ffmpeg
/// Get dictionary entries as a string.
/// The dictionary
- /// Pointer to buffer that will be allocated with string containg entries. Buffer must be freed by the caller when is no longer needed.
+ /// Pointer to buffer that will be allocated with string containing entries. Buffer must be freed by the caller when is no longer needed.
/// Character used to separate key from value
/// Character used to separate two pairs from each other
/// >= 0 on success, negative on error
@@ -705,6 +722,8 @@ public static unsafe partial class ffmpeg
/// Serialize dynamic HDR10+ metadata to a user data registered ITU-T T.35 buffer, excluding the first 48 bytes of the header, and beginning with the application mode.
/// A pointer containing the decoded AVDynamicHDRPlus structure.
+ /// A pointer to pointer to a byte buffer to be filled with the serialized metadata. If *data is NULL, a buffer be will be allocated and a pointer to it stored in its place. The caller assumes ownership of the buffer. May be NULL, in which case the function will only store the required buffer size in *size.
+ /// A pointer to a size to be set to the returned buffer's size. If *data is not NULL, *size must contain the size of the input buffer. May be NULL only if *data is NULL.
/// >= 0 on success. Otherwise, returns the appropriate AVERROR.
public static int av_dynamic_hdr_plus_to_t35(AVDynamicHDRPlus* @s, byte** @data, ulong* @size) => vectors.av_dynamic_hdr_plus_to_t35(@s, @data, @size);
@@ -809,20 +828,9 @@ public static unsafe partial class ffmpeg
/// the next program which belongs to s, NULL if no program is found or the last program is not among the programs of ic.
public static AVProgram* av_find_program_from_stream(AVFormatContext* @ic, AVProgram* @last, int @s) => vectors.av_find_program_from_stream(@ic, @last, @s);
- /// Returns the method used to set ctx->duration.
- /// AVFMT_DURATION_FROM_PTS, AVFMT_DURATION_FROM_STREAM, or AVFMT_DURATION_FROM_BITRATE.
- public static AVDurationEstimationMethod av_fmt_ctx_get_duration_estimation_method(AVFormatContext* @ctx) => vectors.av_fmt_ctx_get_duration_estimation_method(@ctx);
-
- /// Open a file using a UTF-8 filename. The API of this function matches POSIX fopen(), errors are returned through errno.
- [Obsolete("Avoid using it, as on Windows, the FILE* allocated by this function may be allocated with a different CRT than the caller who uses the FILE*. No replacement provided in public API.")]
- public static _iobuf* av_fopen_utf8(string @path, string @mode) => vectors.av_fopen_utf8(@path, @mode);
-
/// Disables cpu detection and forces the specified flags. -1 is a special case that disables forcing of specific flags.
public static void av_force_cpu_flags(int @flags) => vectors.av_force_cpu_flags(@flags);
- /// This function will cause global side data to be injected in the next packet of each stream as well as after any subsequent seek.
- public static void av_format_inject_global_side_data(AVFormatContext* @s) => vectors.av_format_inject_global_side_data(@s);
-
/// Fill the provided buffer with a string containing a FourCC (four-character code) representation.
/// a buffer with size in bytes of at least AV_FOURCC_MAX_STRING_SIZE
/// the fourcc to represent
@@ -856,7 +864,7 @@ public static unsafe partial class ffmpeg
/// Allocate new buffer(s) for audio or video data.
/// frame in which to store the new buffers.
- /// Required buffer size alignment. If equal to 0, alignment will be chosen automatically for the current CPU. It is highly recommended to pass 0 here unless you know what you are doing.
+ /// Required buffer size and data pointer alignment. If equal to 0, alignment will be chosen automatically for the current CPU. It is highly recommended to pass 0 here unless you know what you are doing.
/// 0 on success, a negative AVERROR on error.
public static int av_frame_get_buffer(AVFrame* @frame, int @align) => vectors.av_frame_get_buffer(@frame, @align);
@@ -906,10 +914,58 @@ public static unsafe partial class ffmpeg
/// 0 on success, a negative AVERROR on error. On error, dst is unreferenced.
public static int av_frame_replace(AVFrame* @dst, AVFrame* @src) => vectors.av_frame_replace(@dst, @src);
+ /// Add a new side data entry to an array from an existing AVBufferRef.
+ /// pointer to array of side data to which to add another entry, or to NULL in order to start a new array.
+ /// pointer to an integer containing the number of entries in the array.
+ /// type of the added side data
+ /// Pointer to AVBufferRef to add to the array. On success, the function takes ownership of the AVBufferRef and *buf is set to NULL, unless AV_FRAME_SIDE_DATA_FLAG_NEW_REF is set in which case the ownership will remain with the caller.
+ /// Some combination of AV_FRAME_SIDE_DATA_FLAG_* flags, or 0.
+ /// newly added side data on success, NULL on error.
+ public static AVFrameSideData* av_frame_side_data_add(AVFrameSideData*** @sd, int* @nb_sd, AVFrameSideDataType @type, AVBufferRef** @buf, uint @flags) => vectors.av_frame_side_data_add(@sd, @nb_sd, @type, @buf, @flags);
+
+ /// Add a new side data entry to an array based on existing side data, taking a reference towards the contained AVBufferRef.
+ /// pointer to array of side data to which to add another entry, or to NULL in order to start a new array.
+ /// pointer to an integer containing the number of entries in the array.
+ /// side data to be cloned, with a new reference utilized for the buffer.
+ /// Some combination of AV_FRAME_SIDE_DATA_FLAG_* flags, or 0.
+ /// negative error code on failure, >=0 on success.
+ public static int av_frame_side_data_clone(AVFrameSideData*** @sd, int* @nb_sd, AVFrameSideData* @src, uint @flags) => vectors.av_frame_side_data_clone(@sd, @nb_sd, @src, @flags);
+
+ /// Returns side data descriptor corresponding to a given side data type, NULL when not available.
+ /// side data descriptor corresponding to a given side data type, NULL when not available.
+ public static AVSideDataDescriptor* av_frame_side_data_desc(AVFrameSideDataType @type) => vectors.av_frame_side_data_desc(@type);
+
+ /// Free all side data entries and their contents, then zeroes out the values which the pointers are pointing to.
+ /// pointer to array of side data to free. Will be set to NULL upon return.
+ /// pointer to an integer containing the number of entries in the array. Will be set to 0 upon return.
+ public static void av_frame_side_data_free(AVFrameSideData*** @sd, int* @nb_sd) => vectors.av_frame_side_data_free(@sd, @nb_sd);
+
+ /// Get a side data entry of a specific type from an array.
+ /// array of side data.
+ /// integer containing the number of entries in the array.
+ /// type of side data to be queried
+ /// a pointer to the side data of a given type on success, NULL if there is no side data with such type in this set.
+ public static AVFrameSideData* av_frame_side_data_get_c(AVFrameSideData** @sd, int @nb_sd, AVFrameSideDataType @type) => vectors.av_frame_side_data_get_c(@sd, @nb_sd, @type);
+
/// Returns a string identifying the side data type
/// a string identifying the side data type
public static string av_frame_side_data_name(AVFrameSideDataType @type) => vectors.av_frame_side_data_name(@type);
+ /// Add new side data entry to an array.
+ /// pointer to array of side data to which to add another entry, or to NULL in order to start a new array.
+ /// pointer to an integer containing the number of entries in the array.
+ /// type of the added side data
+ /// size of the side data
+ /// Some combination of AV_FRAME_SIDE_DATA_FLAG_* flags, or 0.
+ /// newly added side data on success, NULL on error.
+ public static AVFrameSideData* av_frame_side_data_new(AVFrameSideData*** @sd, int* @nb_sd, AVFrameSideDataType @type, ulong @size, uint @flags) => vectors.av_frame_side_data_new(@sd, @nb_sd, @type, @size, @flags);
+
+ /// Remove and free all side data instances of the given type from an array.
+ public static void av_frame_side_data_remove(AVFrameSideData*** @sd, int* @nb_sd, AVFrameSideDataType @type) => vectors.av_frame_side_data_remove(@sd, @nb_sd, @type);
+
+ /// Remove and free all side data instances that match any of the given side data properties. (See enum AVSideDataProps)
+ public static void av_frame_side_data_remove_by_props(AVFrameSideData*** @sd, int* @nb_sd, int @props) => vectors.av_frame_side_data_remove_by_props(@sd, @nb_sd, @props);
+
/// Unreference all the buffers referenced by frame and reset the frame fields.
public static void av_frame_unref(AVFrame* @frame) => vectors.av_frame_unref(@frame);
@@ -955,60 +1011,14 @@ public static unsafe partial class ffmpeg
/// number of bytes per sample or zero if unknown for the given sample format
public static int av_get_bytes_per_sample(AVSampleFormat @sample_fmt) => vectors.av_get_bytes_per_sample(@sample_fmt);
- /// Get the description of a given channel.
- /// a channel layout with a single channel
- /// channel description on success, NULL on error
- [Obsolete("use av_channel_description()")]
- public static string av_get_channel_description(ulong @channel) => vectors.av_get_channel_description(@channel);
-
- /// Return a channel layout id that matches name, or 0 if no match is found.
- [Obsolete("use av_channel_layout_from_string()")]
- public static ulong av_get_channel_layout(string @name) => vectors.av_get_channel_layout(@name);
-
- /// Get the index of a channel in channel_layout.
- /// channel layout bitset
- /// a channel layout describing exactly one channel which must be present in channel_layout.
- /// index of channel in channel_layout on success, a negative AVERROR on error.
- [Obsolete("use av_channel_layout_index_from_channel()")]
- public static int av_get_channel_layout_channel_index(ulong @channel_layout, ulong @channel) => vectors.av_get_channel_layout_channel_index(@channel_layout, @channel);
-
- /// Return the number of channels in the channel layout.
- [Obsolete("use AVChannelLayout.nb_channels")]
- public static int av_get_channel_layout_nb_channels(ulong @channel_layout) => vectors.av_get_channel_layout_nb_channels(@channel_layout);
-
- /// Return a description of a channel layout. If nb_channels is <= 0, it is guessed from the channel_layout.
- /// put here the string containing the channel layout
- /// size in bytes of the buffer
- /// number of channels
- /// channel layout bitset
- [Obsolete("use av_channel_layout_describe()")]
- public static void av_get_channel_layout_string(byte* @buf, int @buf_size, int @nb_channels, ulong @channel_layout) => vectors.av_get_channel_layout_string(@buf, @buf_size, @nb_channels, @channel_layout);
-
- /// Get the name of a given channel.
- /// channel name on success, NULL on error.
- [Obsolete("use av_channel_name()")]
- public static string av_get_channel_name(ulong @channel) => vectors.av_get_channel_name(@channel);
-
/// Return the flags which specify extensions supported by the CPU. The returned value is affected by av_force_cpu_flags() if that was used before. So av_get_cpu_flags() can easily be used in an application to detect the enabled cpu flags.
public static int av_get_cpu_flags() => vectors.av_get_cpu_flags();
- /// Return default channel layout for a given number of channels.
- [Obsolete("use av_channel_layout_default()")]
- public static long av_get_default_channel_layout(int @nb_channels) => vectors.av_get_default_channel_layout(@nb_channels);
-
/// Return codec bits per sample. Only return non-zero if the bits per sample is exactly correct, not an approximation.
/// the codec
/// Number of bits per sample or zero if unknown for the given codec.
public static int av_get_exact_bits_per_sample(AVCodecID @codec_id) => vectors.av_get_exact_bits_per_sample(@codec_id);
- /// Return a channel layout and the number of channels based on the specified name.
- /// channel layout specification string
- /// parsed channel layout (0 if unknown)
- /// number of channels
- /// 0 on success, AVERROR(EINVAL) if the parsing fails.
- [Obsolete("use av_channel_layout_from_string()")]
- public static int av_get_extended_channel_layout(string @name, ulong* @channel_layout, int* @nb_channels) => vectors.av_get_extended_channel_layout(@name, @channel_layout, @nb_channels);
-
public static int av_get_frame_filename(byte* @buf, int @buf_size, string @path, int @number) => vectors.av_get_frame_filename(@buf, @buf_size, @path, @number);
/// Return in 'buf' the path with '%d' replaced by a number.
@@ -1096,14 +1106,6 @@ public static unsafe partial class ffmpeg
/// the pointer to the filled buffer or NULL if sample_fmt is unknown or in case of other errors
public static byte* av_get_sample_fmt_string(byte* @buf, int @buf_size, AVSampleFormat @sample_fmt) => vectors.av_get_sample_fmt_string(@buf, @buf_size, @sample_fmt);
- /// Get the value and name of a standard channel layout.
- /// index in an internal list, starting at 0
- /// channel layout mask
- /// name of the layout
- /// 0 if the layout exists, < 0 if index is beyond the limits
- [Obsolete("use av_channel_layout_standard()")]
- public static int av_get_standard_channel_layout(uint @index, ulong* @layout, byte** @name) => vectors.av_get_standard_channel_layout(@index, @layout, @name);
-
/// Return the fractional representation of the internal time base.
public static AVRational av_get_time_base_q() => vectors.av_get_time_base_q();
@@ -1363,6 +1365,17 @@ public static unsafe partial class ffmpeg
/// 0 if the image data was cleared, a negative AVERROR code otherwise
public static int av_image_fill_black(ref byte_ptr4 @dst_data, in long4 @dst_linesize, AVPixelFormat @pix_fmt, AVColorRange @range, int @width, int @height) => vectors.av_image_fill_black(ref @dst_data, @dst_linesize, @pix_fmt, @range, @width, @height);
+ /// Overwrite the image data with a color. This is suitable for filling a sub-rectangle of an image, meaning the padding between the right most pixel and the left most pixel on the next line will not be overwritten. For some formats, the image size might be rounded up due to inherent alignment.
+ /// data pointers to destination image
+ /// linesizes for the destination image
+ /// the pixel format of the image
+ /// the color components to be used for the fill
+ /// the width of the image in pixels
+ /// the height of the image in pixels
+ /// currently unused
+ /// 0 if the image data was filled, a negative AVERROR code otherwise
+ public static int av_image_fill_color(ref byte_ptr4 @dst_data, in long4 @dst_linesize, AVPixelFormat @pix_fmt, in uint4 @color, int @width, int @height, int @flags) => vectors.av_image_fill_color(ref @dst_data, @dst_linesize, @pix_fmt, @color, @width, @height, @flags);
+
/// Fill plane linesizes for an image with pixel format pix_fmt and width width.
/// array to be filled with the linesize for each plane
/// the AVPixelFormat of the image
@@ -1428,6 +1441,7 @@ public static unsafe partial class ffmpeg
/// pointer to the list
/// list terminator (usually 0 or -1)
/// length of the list, in elements, not counting the terminator
+ [Obsolete()]
public static uint av_int_list_length_for_size(uint @elsize, void* @list, ulong @term) => vectors.av_int_list_length_for_size(@elsize, @list, @term);
/// Write a packet to an output media file ensuring correct interleaving.
@@ -1474,8 +1488,8 @@ public static unsafe partial class ffmpeg
/// Send the specified message to the log once with the initial_level and then with the subsequent_level. By default, all logging messages are sent to stderr. This behavior can be altered by setting a different logging callback function.
/// A pointer to an arbitrary struct of which the first field is a pointer to an AVClass struct or NULL if general log.
- /// importance level of the message expressed using a "Logging Constant" for the first occurance.
- /// importance level of the message expressed using a "Logging Constant" after the first occurance.
+ /// importance level of the message expressed using a "Logging Constant" for the first occurrence.
+ /// importance level of the message expressed using a "Logging Constant" after the first occurrence.
/// a variable to keep trak of if a message has already been printed this must be initialized to 0 before the first use. The same state must not be accessed by 2 Threads simultaneously.
/// The format string (printf-compatible) that specifies how subsequent arguments are converted to output.
public static void av_log_once(void* @avcl, int @initial_level, int @subsequent_level, int* @state, string @fmt) => vectors.av_log_once(@avcl, @initial_level, @subsequent_level, @state, @fmt);
@@ -1514,6 +1528,10 @@ public static unsafe partial class ffmpeg
/// An AVMasteringDisplayMetadata filled with default values or NULL on failure.
public static AVMasteringDisplayMetadata* av_mastering_display_metadata_alloc() => vectors.av_mastering_display_metadata_alloc();
+ /// Allocate an AVMasteringDisplayMetadata structure and set its fields to default values. The resulting struct can be freed using av_freep().
+ /// An AVMasteringDisplayMetadata filled with default values or NULL on failure.
+ public static AVMasteringDisplayMetadata* av_mastering_display_metadata_alloc_size(ulong* @size) => vectors.av_mastering_display_metadata_alloc_size(@size);
+
/// Allocate a complete AVMasteringDisplayMetadata and add it to the frame.
/// The frame which side data is added to.
/// The AVMasteringDisplayMetadata structure to be filled by caller.
@@ -1599,6 +1617,8 @@ public static unsafe partial class ffmpeg
public static int av_opt_eval_q(void* @obj, AVOption* @o, string @val, AVRational* @q_out) => vectors.av_opt_eval_q(@obj, @o, @val, @q_out);
+ public static int av_opt_eval_uint(void* @obj, AVOption* @o, string @val, uint* @uint_out) => vectors.av_opt_eval_uint(@obj, @o, @val, @uint_out);
+
/// Look for an option in an object. Consider only options which have all the specified flags set.
/// A pointer to a struct whose first element is a pointer to an AVClass. Alternatively a double pointer to an AVClass, if AV_OPT_SEARCH_FAKE_OBJ search flag is set.
/// The name of the option to look for.
@@ -1638,9 +1658,17 @@ public static unsafe partial class ffmpeg
/// >=0 on success, a negative error code otherwise
public static int av_opt_get(void* @obj, string @name, int @search_flags, byte** @out_val) => vectors.av_opt_get(@obj, @name, @search_flags, @out_val);
- [Obsolete()]
- public static int av_opt_get_channel_layout(void* @obj, string @name, int @search_flags, long* @ch_layout) => vectors.av_opt_get_channel_layout(@obj, @name, @search_flags, @ch_layout);
+ /// For an array-type option, retrieve the values of one or more array elements.
+ /// index of the first array element to retrieve
+ /// number of array elements to retrieve; start_elem+nb_elems must not be larger than array size as returned by av_opt_get_array_size()
+ /// Option type corresponding to the desired output.
+ /// Array with nb_elems members into which the output will be written. The array type must match the underlying C type as documented for out_type, and be zeroed on entry to this function.
+ public static int av_opt_get_array(void* @obj, string @name, int @search_flags, uint @start_elem, uint @nb_elems, AVOptionType @out_type, void* @out_val) => vectors.av_opt_get_array(@obj, @name, @search_flags, @start_elem, @nb_elems, @out_type, @out_val);
+
+ /// For an array-type option, get the number of elements in the array.
+ public static int av_opt_get_array_size(void* @obj, string @name, int @search_flags, uint* @out_val) => vectors.av_opt_get_array_size(@obj, @name, @search_flags, @out_val);
+ /// The returned layout is a copy of the actual value and must be freed with av_channel_layout_uninit() by the caller
public static int av_opt_get_chlayout(void* @obj, string @name, int @search_flags, AVChannelLayout* @layout) => vectors.av_opt_get_chlayout(@obj, @name, @search_flags, @layout);
/// The returned dictionary is a copy of the actual value and must be freed with av_dict_free() by the caller
@@ -1689,24 +1717,25 @@ public static unsafe partial class ffmpeg
/// next AVOption or NULL
public static AVOption* av_opt_next(void* @obj, AVOption* @prev) => vectors.av_opt_next(@obj, @prev);
- /// @}
+ /// Gets a pointer to the requested field in a struct. This function allows accessing a struct even when its fields are moved or renamed since the application making the access has been compiled,
+ [Obsolete("direct access to AVOption-exported fields is not supported")]
public static void* av_opt_ptr(AVClass* @avclass, void* @obj, string @name) => vectors.av_opt_ptr(@avclass, @obj, @name);
/// Get a list of allowed ranges for the given option.
/// is a bitmask of flags, undefined flags should not be set and should be ignored AV_OPT_SEARCH_FAKE_OBJ indicates that the obj is a double pointer to a AVClass instead of a full instance AV_OPT_MULTI_COMPONENT_RANGE indicates that function may return more than one component,
- /// number of compontents returned on success, a negative errro code otherwise
+ /// number of components returned on success, a negative error code otherwise
public static int av_opt_query_ranges(AVOptionRanges** @p0, void* @obj, string @key, int @flags) => vectors.av_opt_query_ranges(@p0, @obj, @key, @flags);
/// Get a default list of allowed ranges for the given option.
/// is a bitmask of flags, undefined flags should not be set and should be ignored AV_OPT_SEARCH_FAKE_OBJ indicates that the obj is a double pointer to a AVClass instead of a full instance AV_OPT_MULTI_COMPONENT_RANGE indicates that function may return more than one component,
- /// number of compontents returned on success, a negative errro code otherwise
+ /// number of components returned on success, a negative error code otherwise
public static int av_opt_query_ranges_default(AVOptionRanges** @p0, void* @obj, string @key, int @flags) => vectors.av_opt_query_ranges_default(@p0, @obj, @key, @flags);
/// Serialize object's options.
/// AVClass object to serialize
/// serialize options with all the specified flags set (AV_OPT_FLAG)
/// combination of AV_OPT_SERIALIZE_* flags
- /// Pointer to buffer that will be allocated with string containg serialized options. Buffer must be freed by the caller when is no longer needed.
+ /// Pointer to buffer that will be allocated with string containing serialized options. Buffer must be freed by the caller when is no longer needed.
/// character used to separate key from value
/// character used to separate two pairs from each other
/// >= 0 on success, negative on error
@@ -1720,10 +1749,14 @@ public static unsafe partial class ffmpeg
/// 0 if the value has been set, or an AVERROR code in case of error: AVERROR_OPTION_NOT_FOUND if no matching option exists AVERROR(ERANGE) if the value is out of range AVERROR(EINVAL) if the value is not valid
public static int av_opt_set(void* @obj, string @name, string @val, int @search_flags) => vectors.av_opt_set(@obj, @name, @val, @search_flags);
- public static int av_opt_set_bin(void* @obj, string @name, byte* @val, int @size, int @search_flags) => vectors.av_opt_set_bin(@obj, @name, @val, @size, @search_flags);
+ /// Add, replace, or remove elements for an array option. Which of these operations is performed depends on the values of val and search_flags.
+ /// Index of the first array element to modify; must not be larger than array size as returned by av_opt_get_array_size().
+ /// number of array elements to modify; when val is NULL, start_elem+nb_elems must not be larger than array size as returned by av_opt_get_array_size()
+ /// Option type corresponding to the type of val, ignored when val is NULL.
+ /// Array with nb_elems elements or NULL.
+ public static int av_opt_set_array(void* @obj, string @name, int @search_flags, uint @start_elem, uint @nb_elems, AVOptionType @val_type, void* @val) => vectors.av_opt_set_array(@obj, @name, @search_flags, @start_elem, @nb_elems, @val_type, @val);
- [Obsolete()]
- public static int av_opt_set_channel_layout(void* @obj, string @name, long @ch_layout, int @search_flags) => vectors.av_opt_set_channel_layout(@obj, @name, @ch_layout, @search_flags);
+ public static int av_opt_set_bin(void* @obj, string @name, byte* @val, int @size, int @search_flags) => vectors.av_opt_set_bin(@obj, @name, @val, @size, @search_flags);
public static int av_opt_set_chlayout(void* @obj, string @name, AVChannelLayout* @layout, int @search_flags) => vectors.av_opt_set_chlayout(@obj, @name, @layout, @search_flags);
@@ -2211,43 +2244,16 @@ public static unsafe partial class ffmpeg
/// Pointer to a newly-allocated string containing a copy of `s` or `NULL` if the string cannot be allocated
public static byte* av_strdup(string @s) => vectors.av_strdup(@s);
- /// Wrap an existing array as stream side data.
- /// stream
- /// side information type
- /// the side data array. It must be allocated with the av_malloc() family of functions. The ownership of the data is transferred to st.
- /// side information size
- /// zero on success, a negative AVERROR code on failure. On failure, the stream is unchanged and the data remains owned by the caller.
- [Obsolete("use av_packet_side_data_add() with the stream's \"codecpar side data\"")]
- public static int av_stream_add_side_data(AVStream* @st, AVPacketSideDataType @type, byte* @data, ulong @size) => vectors.av_stream_add_side_data(@st, @type, @data, @size);
-
/// Get the AVClass for AVStream. It can be used in combination with AV_OPT_SEARCH_FAKE_OBJ for examining options.
public static AVClass* av_stream_get_class() => vectors.av_stream_get_class();
- /// Get the internal codec timebase from a stream.
- /// input stream to extract the timebase from
+ [Obsolete("do not call this function")]
public static AVRational av_stream_get_codec_timebase(AVStream* @st) => vectors.av_stream_get_codec_timebase(@st);
- /// Returns the pts of the last muxed packet + its duration
- [Obsolete()]
- public static long av_stream_get_end_pts(AVStream* @st) => vectors.av_stream_get_end_pts(@st);
-
public static AVCodecParserContext* av_stream_get_parser(AVStream* @s) => vectors.av_stream_get_parser(@s);
- /// Get side information from stream.
- /// stream
- /// desired side information type
- /// If supplied, *size will be set to the size of the side data or to zero if the desired side data is not present.
- /// pointer to data if present or NULL otherwise
- [Obsolete("use av_packet_side_data_get() with the stream's \"codecpar side data\"")]
- public static byte* av_stream_get_side_data(AVStream* @stream, AVPacketSideDataType @type, ulong* @size) => vectors.av_stream_get_side_data(@stream, @type, @size);
-
- /// Allocate new information from stream.
- /// stream
- /// desired side information type
- /// side information size
- /// pointer to fresh allocated data or NULL otherwise
- [Obsolete("use av_packet_side_data_new() with the stream's \"codecpar side data\"")]
- public static byte* av_stream_new_side_data(AVStream* @stream, AVPacketSideDataType @type, ulong @size) => vectors.av_stream_new_side_data(@stream, @type, @size);
+ /// Get the AVClass for AVStreamGroup. It can be used in combination with AV_OPT_SEARCH_FAKE_OBJ for examining options.
+ public static AVClass* av_stream_group_get_class() => vectors.av_stream_group_get_class();
/// Put a description of the AVERROR code errnum in errbuf. In case of failure the global variable errno is set to indicate the error. Even in case of failure av_strerror() will print a generic error message indicating the errnum provided to errbuf.
/// error code to describe
@@ -2268,11 +2274,6 @@ public static unsafe partial class ffmpeg
/// b-c
public static AVRational av_sub_q(AVRational @b, AVRational @c) => vectors.av_sub_q(@b, @c);
- /// Wrapper to work around the lack of mkstemp() on mingw. Also, tries to create file in /tmp first, if possible. *prefix can be a character constant; *filename will be allocated internally.
- /// file descriptor of opened file (or negative value corresponding to an AVERROR code on error) and opened file name in **filename.
- [Obsolete("as fd numbers cannot be passed saftely between libs on some platforms")]
- public static int av_tempfile(string @prefix, byte** @filename, int @log_offset, void* @log_ctx) => vectors.av_tempfile(@prefix, @filename, @log_offset, @log_ctx);
-
/// Adjust frame number for NTSC drop frame time code.
/// frame number to adjust
/// frame per second, multiples of 30
@@ -2457,15 +2458,6 @@ public static unsafe partial class ffmpeg
/// An AVCodecContext filled with default values or NULL on failure.
public static AVCodecContext* avcodec_alloc_context3(AVCodec* @codec) => vectors.avcodec_alloc_context3(@codec);
- /// Converts swscale x/y chroma position to AVChromaLocation.
- /// horizontal chroma sample position
- /// vertical chroma sample position
- [Obsolete("Use av_chroma_location_pos_to_enum() instead.")]
- public static AVChromaLocation avcodec_chroma_pos_to_enum(int @xpos, int @ypos) => vectors.avcodec_chroma_pos_to_enum(@xpos, @ypos);
-
- /// Close a given AVCodecContext and free all the data associated with it (but not the AVCodecContext itself).
- public static int avcodec_close(AVCodecContext* @avctx) => vectors.avcodec_close(@avctx);
-
/// Return the libavcodec build-time configuration.
public static string avcodec_configuration() => vectors.avcodec_configuration();
@@ -2504,12 +2496,6 @@ public static unsafe partial class ffmpeg
/// @{
public static int avcodec_encode_subtitle(AVCodecContext* @avctx, byte* @buf, int @buf_size, AVSubtitle* @sub) => vectors.avcodec_encode_subtitle(@avctx, @buf, @buf_size, @sub);
- /// Converts AVChromaLocation to swscale x/y chroma position.
- /// horizontal chroma sample position
- /// vertical chroma sample position
- [Obsolete("Use av_chroma_location_enum_to_pos() instead.")]
- public static int avcodec_enum_to_chroma_pos(int* @xpos, int* @ypos, AVChromaLocation @pos) => vectors.avcodec_enum_to_chroma_pos(@xpos, @ypos, @pos);
-
/// Fill AVFrame audio data and linesize pointers.
/// the AVFrame frame->nb_samples must be set prior to calling the function. This function fills in frame->data, frame->extended_data, frame->linesize[0].
/// channel count
@@ -2575,11 +2561,20 @@ public static unsafe partial class ffmpeg
/// Get the AVClass for AVSubtitleRect. It can be used in combination with AV_OPT_SEARCH_FAKE_OBJ for examining options.
public static AVClass* avcodec_get_subtitle_rect_class() => vectors.avcodec_get_subtitle_rect_class();
+ /// Retrieve a list of all supported values for a given configuration type.
+ /// An optional context to use. Values such as `strict_std_compliance` may affect the result. If NULL, default values are used.
+ /// The codec to query, or NULL to use avctx->codec.
+ /// The configuration to query.
+ /// Currently unused; should be set to zero.
+ /// On success, set to a list of configurations, terminated by a config-specific terminator, or NULL if all possible values are supported.
+ /// On success, set to the number of elements in out_configs, excluding the terminator. Optional.
+ public static int avcodec_get_supported_config(AVCodecContext* @avctx, AVCodec* @codec, AVCodecConfig @config, uint @flags, void** @out_configs, int* @out_num_configs) => vectors.avcodec_get_supported_config(@avctx, @codec, @config, @flags, @out_configs, @out_num_configs);
+
/// Get the type of the given codec.
public static AVMediaType avcodec_get_type(AVCodecID @codec_id) => vectors.avcodec_get_type(@codec_id);
- /// Returns a positive value if s is open (i.e. avcodec_open2() was called on it with no corresponding avcodec_close()), 0 otherwise.
- /// a positive value if s is open (i.e. avcodec_open2() was called on it with no corresponding avcodec_close()), 0 otherwise.
+ /// Returns a positive value if s is open (i.e. avcodec_open2() was called on it), 0 otherwise.
+ /// a positive value if s is open (i.e. avcodec_open2() was called on it), 0 otherwise.
public static int avcodec_is_open(AVCodecContext* @s) => vectors.avcodec_is_open(@s);
/// Return the libavcodec license.
@@ -2693,11 +2688,6 @@ public static unsafe partial class ffmpeg
/// Return the LIBAVDEVICE_VERSION_INT constant.
public static uint avdevice_version() => vectors.avdevice_version();
- /// Negotiate the media format, dimensions, etc of all inputs to a filter.
- /// the filter to negotiate the properties for its inputs
- /// zero on successful negotiation
- public static int avfilter_config_links(AVFilterContext* @filter) => vectors.avfilter_config_links(@filter);
-
/// Return the libavfilter build-time configuration.
public static string avfilter_configuration() => vectors.avfilter_configuration();
@@ -2734,7 +2724,7 @@ public static unsafe partial class ffmpeg
/// >= 0 in case of success, a negative AVERROR code otherwise
public static int avfilter_graph_config(AVFilterGraph* @graphctx, void* @log_ctx) => vectors.avfilter_graph_config(@graphctx, @log_ctx);
- /// Create and add a filter instance into an existing graph. The filter instance is created from the filter filt and inited with the parameter args. opaque is currently ignored.
+ /// A convenience wrapper that allocates and initializes a filter in a single step. The filter instance is created from the filter filt and inited with the parameter args. opaque is currently ignored.
/// the instance name to give to the created filter instance
/// the filter graph
/// a negative AVERROR error code in case of failure, a non negative value otherwise
@@ -2881,8 +2871,10 @@ public static unsafe partial class ffmpeg
/// zero on success
public static int avfilter_link(AVFilterContext* @src, uint @srcpad, AVFilterContext* @dst, uint @dstpad) => vectors.avfilter_link(@src, @srcpad, @dst, @dstpad);
- /// Free the link in *link, and set its pointer to NULL.
- public static void avfilter_link_free(AVFilterLink** @link) => vectors.avfilter_link_free(@link);
+ /// Get the hardware frames context of a filter link.
+ /// an AVFilterLink
+ /// a ref-counted copy of the link's hw_frames_ctx field if there is a hardware frames context associated with the link or NULL otherwise. The returned AVBufferRef needs to be released with av_buffer_unref() when it is no longer used.
+ public static AVBufferRef* avfilter_link_get_hw_frames_ctx(AVFilterLink* @link) => vectors.avfilter_link_get_hw_frames_ctx(@link);
/// Get the name of an AVFilterPad.
/// an array of AVFilterPads
@@ -2996,11 +2988,11 @@ public static unsafe partial class ffmpeg
public static AVStream* avformat_new_stream(AVFormatContext* @s, AVCodec* @c) => vectors.avformat_new_stream(@s, @c);
/// Open an input stream and read the header. The codecs are not opened. The stream must be closed with avformat_close_input().
- /// Pointer to user-supplied AVFormatContext (allocated by avformat_alloc_context). May be a pointer to NULL, in which case an AVFormatContext is allocated by this function and written into ps. Note that a user-supplied AVFormatContext will be freed on failure.
+ /// Pointer to user-supplied AVFormatContext (allocated by avformat_alloc_context). May be a pointer to NULL, in which case an AVFormatContext is allocated by this function and written into ps. Note that a user-supplied AVFormatContext will be freed on failure and its pointer set to NULL.
/// URL of the stream to open.
/// If non-NULL, this parameter forces a specific input format. Otherwise the format is autodetected.
/// A dictionary filled with AVFormatContext and demuxer-private options. On return this parameter will be destroyed and replaced with a dict containing options that were not found. May be NULL.
- /// 0 on success, a negative AVERROR on failure.
+ /// 0 on success; on failure: frees ps, sets its pointer to NULL, and returns a negative AVERROR.
public static int avformat_open_input(AVFormatContext** @ps, string @url, AVInputFormat* @fmt, AVDictionary** @options) => vectors.avformat_open_input(@ps, @url, @fmt, @options);
/// Test if the given container can store a codec.
@@ -3022,11 +3014,21 @@ public static unsafe partial class ffmpeg
/// >=0 on success, error code otherwise
public static int avformat_seek_file(AVFormatContext* @s, int @stream_index, long @min_ts, long @ts, long @max_ts, int @flags) => vectors.avformat_seek_file(@s, @stream_index, @min_ts, @ts, @max_ts, @flags);
- /// Transfer internal timing information from one stream to another.
- /// target output format for ost
- /// output stream which needs timings copy and adjustments
- /// reference input stream to copy timings from
- /// define from where the stream codec timebase needs to be imported
+ /// Add an already allocated stream to a stream group.
+ /// stream group belonging to a media file.
+ /// stream in the media file to add to the group.
+ public static int avformat_stream_group_add_stream(AVStreamGroup* @stg, AVStream* @st) => vectors.avformat_stream_group_add_stream(@stg, @st);
+
+ /// Add a new empty stream group to a media file.
+ /// media file handle
+ /// newly created group or NULL on error.
+ public static AVStreamGroup* avformat_stream_group_create(AVFormatContext* @s, AVStreamGroupParamsType @type, AVDictionary** @options) => vectors.avformat_stream_group_create(@s, @type, @options);
+
+ /// Returns a string identifying the stream group type, or NULL if unknown
+ /// a string identifying the stream group type, or NULL if unknown
+ public static string avformat_stream_group_name(AVStreamGroupParamsType @type) => vectors.avformat_stream_group_name(@type);
+
+ [Obsolete("do not call this function")]
public static int avformat_transfer_internal_stream_timing_info(AVOutputFormat* @ofmt, AVStream* @ost, AVStream* @ist, AVTimebaseSource @copy_tb) => vectors.avformat_transfer_internal_stream_timing_info(@ofmt, @ost, @ist, @copy_tb);
/// Return the LIBAVFORMAT_VERSION_INT constant.
@@ -3282,46 +3284,10 @@ public static unsafe partial class ffmpeg
/// Return the LIBAVUTIL_VERSION_INT constant.
public static uint avutil_version() => vectors.avutil_version();
- /// Return the libpostproc build-time configuration.
- public static string postproc_configuration() => vectors.postproc_configuration();
-
- /// Return the libpostproc license.
- public static string postproc_license() => vectors.postproc_license();
-
- /// Return the LIBPOSTPROC_VERSION_INT constant.
- public static uint postproc_version() => vectors.postproc_version();
-
- public static void pp_free_context(void* @ppContext) => vectors.pp_free_context(@ppContext);
-
- public static void pp_free_mode(void* @mode) => vectors.pp_free_mode(@mode);
-
- public static void* pp_get_context(int @width, int @height, int @flags) => vectors.pp_get_context(@width, @height, @flags);
-
- /// Return a pp_mode or NULL if an error occurred.
- /// the string after "-pp" on the command line
- /// a number from 0 to PP_QUALITY_MAX
- public static void* pp_get_mode_by_name_and_quality(string @name, int @quality) => vectors.pp_get_mode_by_name_and_quality(@name, @quality);
-
- public static void pp_postprocess(in byte_ptr3 @src, in int3 @srcStride, ref byte_ptr3 @dst, in int3 @dstStride, int @horizontalSize, int @verticalSize, sbyte* @QP_store, int @QP_stride, void* @mode, void* @ppContext, int @pict_type) => vectors.pp_postprocess(@src, @srcStride, ref @dst, @dstStride, @horizontalSize, @verticalSize, @QP_store, @QP_stride, @mode, @ppContext, @pict_type);
-
/// Allocate SwrContext.
/// NULL on error, allocated context otherwise
public static SwrContext* swr_alloc() => vectors.swr_alloc();
- /// Allocate SwrContext if needed and set/reset common parameters.
- /// existing Swr context if available, or NULL if not
- /// output channel layout (AV_CH_LAYOUT_*)
- /// output sample format (AV_SAMPLE_FMT_*).
- /// output sample rate (frequency in Hz)
- /// input channel layout (AV_CH_LAYOUT_*)
- /// input sample format (AV_SAMPLE_FMT_*).
- /// input sample rate (frequency in Hz)
- /// logging level offset
- /// parent logging context, can be NULL
- /// NULL on error, allocated context otherwise
- [Obsolete("use ")]
- public static SwrContext* swr_alloc_set_opts(SwrContext* @s, long @out_ch_layout, AVSampleFormat @out_sample_fmt, int @out_sample_rate, long @in_ch_layout, AVSampleFormat @in_sample_fmt, int @in_sample_rate, int @log_offset, void* @log_ctx) => vectors.swr_alloc_set_opts(@s, @out_ch_layout, @out_sample_fmt, @out_sample_rate, @in_ch_layout, @in_sample_fmt, @in_sample_rate, @log_offset, @log_ctx);
-
/// Allocate SwrContext if needed and set/reset common parameters.
/// Pointer to an existing Swr context if available, or to NULL if not. On success, *ps will be set to the allocated context.
/// output channel layout (e.g. AV_CHANNEL_LAYOUT_*)
@@ -3335,21 +3301,6 @@ public static unsafe partial class ffmpeg
/// 0 on success, a negative AVERROR code on error. On error, the Swr context is freed and *ps set to NULL.
public static int swr_alloc_set_opts2(SwrContext** @ps, AVChannelLayout* @out_ch_layout, AVSampleFormat @out_sample_fmt, int @out_sample_rate, AVChannelLayout* @in_ch_layout, AVSampleFormat @in_sample_fmt, int @in_sample_rate, int @log_offset, void* @log_ctx) => vectors.swr_alloc_set_opts2(@ps, @out_ch_layout, @out_sample_fmt, @out_sample_rate, @in_ch_layout, @in_sample_fmt, @in_sample_rate, @log_offset, @log_ctx);
- /// Generate a channel mixing matrix.
- /// input channel layout
- /// output channel layout
- /// mix level for the center channel
- /// mix level for the surround channel(s)
- /// mix level for the low-frequency effects channel
- /// if 1.0, coefficients will be normalized to prevent overflow. if INT_MAX, coefficients will not be normalized.
- /// mixing coefficients; matrix[i + stride * o] is the weight of input channel i in output channel o.
- /// distance between adjacent input channels in the matrix array
- /// matrixed stereo downmix mode (e.g. dplii)
- /// parent logging context, can be NULL
- /// 0 on success, negative AVERROR code on failure
- [Obsolete("use ")]
- public static int swr_build_matrix(ulong @in_layout, ulong @out_layout, double @center_mix_level, double @surround_mix_level, double @lfe_mix_level, double @rematrix_maxval, double @rematrix_volume, double* @matrix, int @stride, AVMatrixEncoding @matrix_encoding, void* @log_ctx) => vectors.swr_build_matrix(@in_layout, @out_layout, @center_mix_level, @surround_mix_level, @lfe_mix_level, @rematrix_maxval, @rematrix_volume, @matrix, @stride, @matrix_encoding, @log_ctx);
-
/// Generate a channel mixing matrix.
/// input channel layout
/// output channel layout
@@ -3463,7 +3414,7 @@ public static unsafe partial class ffmpeg
/// Return the LIBSWRESAMPLE_VERSION_INT constant.
public static uint swresample_version() => vectors.swresample_version();
- /// Allocate an empty SwsContext. This must be filled and passed to sws_init_context(). For filling see AVOptions, options.c and sws_setColorspaceDetails().
+ /// Allocate an empty SwsContext and set its fields to default values.
public static SwsContext* sws_alloc_context() => vectors.sws_alloc_context();
/// Allocate and return an uninitialized vector with length coefficients.
@@ -3487,13 +3438,23 @@ public static unsafe partial class ffmpeg
/// The scaling context
public static void sws_frame_end(SwsContext* @c) => vectors.sws_frame_end(@c);
- /// Initialize the scaling process for a given pair of source/destination frames. Must be called before any calls to sws_send_slice() and sws_receive_slice().
+ /// Like `sws_scale_frame`, but without actually scaling. It will instead merely initialize internal state that *would* be required to perform the operation, as well as returning the correct error code for unsupported frame combinations.
+ /// The scaling context.
+ /// The destination frame to consider.
+ /// The source frame to consider.
+ /// 0 on success, a negative AVERROR code on failure.
+ public static int sws_frame_setup(SwsContext* @ctx, AVFrame* @dst, AVFrame* @src) => vectors.sws_frame_setup(@ctx, @dst, @src);
+
+ /// Initialize the scaling process for a given pair of source/destination frames. Must be called before any calls to sws_send_slice() and sws_receive_slice(). Requires a context that has been previously been initialized with sws_init_context().
/// The scaling context
/// The destination frame.
/// The source frame. The data buffers must be allocated, but the frame data does not have to be ready at this point. Data availability is then signalled by sws_send_slice().
/// 0 on success, a negative AVERROR code on failure
public static int sws_frame_start(SwsContext* @c, AVFrame* @dst, AVFrame* @src) => vectors.sws_frame_start(@c, @dst, @src);
+ /// Free the context and everything associated with it, and write NULL to the provided pointer.
+ public static void sws_free_context(SwsContext** @ctx) => vectors.sws_free_context(@ctx);
+
/// Free the swscaler context swsContext. If swsContext is NULL, then does nothing.
public static void sws_freeContext(SwsContext* @swsContext) => vectors.sws_freeContext(@swsContext);
@@ -3501,7 +3462,7 @@ public static unsafe partial class ffmpeg
public static void sws_freeVec(SwsVector* @a) => vectors.sws_freeVec(@a);
- /// Get the AVClass for swsContext. It can be used in combination with AV_OPT_SEARCH_FAKE_OBJ for examining options.
+ /// Get the AVClass for SwsContext. It can be used in combination with AV_OPT_SEARCH_FAKE_OBJ for examining options.
public static AVClass* sws_get_class() => vectors.sws_get_class();
/// Check if context can be reused, otherwise reallocate a new one.
@@ -3536,6 +3497,9 @@ public static unsafe partial class ffmpeg
/// zero or positive value on success, a negative value on error
public static int sws_init_context(SwsContext* @sws_context, SwsFilter* @srcFilter, SwsFilter* @dstFilter) => vectors.sws_init_context(@sws_context, @srcFilter, @dstFilter);
+ /// Check if a given conversion is a noop. Returns a positive integer if no operation needs to be performed, 0 otherwise.
+ public static int sws_is_noop(AVFrame* @dst, AVFrame* @src) => vectors.sws_is_noop(@dst, @src);
+
/// Returns a positive value if an endianness conversion for pix_fmt is supported, 0 otherwise.
/// the pixel format
/// a positive value if an endianness conversion for pix_fmt is supported, 0 otherwise.
@@ -3557,12 +3521,12 @@ public static unsafe partial class ffmpeg
/// a non-negative number if the data was successfully written into the output AVERROR(EAGAIN) if more input data needs to be provided before the output can be produced another negative AVERROR code on other kinds of scaling failure
public static int sws_receive_slice(SwsContext* @c, uint @slice_start, uint @slice_height) => vectors.sws_receive_slice(@c, @slice_start, @slice_height);
- /// Get the alignment required for slices
+ /// Get the alignment required for slices. Requires a context that has been previously been initialized with sws_init_context().
/// The scaling context
/// alignment required for output slices requested with sws_receive_slice(). Slice offsets and sizes passed to sws_receive_slice() must be multiples of the value returned from this function.
public static uint sws_receive_slice_alignment(SwsContext* @c) => vectors.sws_receive_slice_alignment(@c);
- /// Scale the image slice in srcSlice and put the resulting scaled slice in the image in dst. A slice is a sequence of consecutive rows in an image.
+ /// Scale the image slice in srcSlice and put the resulting scaled slice in the image in dst. A slice is a sequence of consecutive rows in an image. Requires a context that has been previously been initialized with sws_init_context().
/// the scaling context previously created with sws_getContext()
/// the array containing the pointers to the planes of the source slice
/// the array containing the strides for each plane of the source image
@@ -3573,11 +3537,10 @@ public static unsafe partial class ffmpeg
/// the height of the output slice
public static int sws_scale(SwsContext* @c, byte*[] @srcSlice, int[] @srcStride, int @srcSliceY, int @srcSliceH, byte*[] @dst, int[] @dstStride) => vectors.sws_scale(@c, @srcSlice, @srcStride, @srcSliceY, @srcSliceH, @dst, @dstStride);
- /// Scale source data from src and write the output to dst.
- /// The scaling context
- /// The destination frame. See documentation for sws_frame_start() for more details.
- /// The source frame.
- /// 0 on success, a negative AVERROR code on failure
+ /// Scale source data from `src` and write the output to `dst`.
+ /// The destination frame. The data buffers may either be already allocated by the caller or left clear, in which case they will be allocated by the scaler. The latter may have performance advantages - e.g. in certain cases some (or all) output planes may be references to input planes, rather than copies.
+ /// The source frame. If the data buffers are set to NULL, then this function behaves identically to `sws_frame_setup`.
+ /// >= 0 on success, a negative AVERROR code on failure.
public static int sws_scale_frame(SwsContext* @c, AVFrame* @dst, AVFrame* @src) => vectors.sws_scale_frame(@c, @dst, @src);
/// Scale all the coefficients of a by the scalar value.
@@ -3602,6 +3565,33 @@ public static unsafe partial class ffmpeg
/// A negative error code on error, non negative otherwise. If `LIBSWSCALE_VERSION_MAJOR < 7`, returns -1 if not supported.
public static int sws_setColorspaceDetails(SwsContext* @c, in int4 @inv_table, int @srcRange, in int4 @table, int @dstRange, int @brightness, int @contrast, int @saturation) => vectors.sws_setColorspaceDetails(@c, @inv_table, @srcRange, @table, @dstRange, @brightness, @contrast, @saturation);
+ /// Test if a given color space is supported.
+ /// The colorspace to check.
+ /// If 0, test if compatible with the source/input frame; otherwise, with the destination/output frame.
+ /// A positive integer if supported, 0 otherwise.
+ public static int sws_test_colorspace(AVColorSpace @colorspace, int @output) => vectors.sws_test_colorspace(@colorspace, @output);
+
+ /// Test if a given pixel format is supported.
+ /// The format to check.
+ /// If 0, test if compatible with the source/input frame; otherwise, with the destination/output frame.
+ /// A positive integer if supported, 0 otherwise.
+ public static int sws_test_format(AVPixelFormat @format, int @output) => vectors.sws_test_format(@format, @output);
+
+ /// Helper function to run all sws_test_* against a frame, as well as testing the basic frame properties for sanity. Ignores irrelevant properties - for example, AVColorSpace is not checked for RGB frames.
+ public static int sws_test_frame(AVFrame* @frame, int @output) => vectors.sws_test_frame(@frame, @output);
+
+ /// Test if a given set of color primaries is supported.
+ /// The color primaries to check.
+ /// If 0, test if compatible with the source/input frame; otherwise, with the destination/output frame.
+ /// A positive integer if supported, 0 otherwise.
+ public static int sws_test_primaries(AVColorPrimaries @primaries, int @output) => vectors.sws_test_primaries(@primaries, @output);
+
+ /// Test if a given color transfer function is supported.
+ /// The color transfer function to check.
+ /// If 0, test if compatible with the source/input frame; otherwise, with the destination/output frame.
+ /// A positive integer if supported, 0 otherwise.
+ public static int sws_test_transfer(AVColorTransferCharacteristic @trc, int @output) => vectors.sws_test_transfer(@trc, @output);
+
/// Return the libswscale build-time configuration.
public static string swscale_configuration() => vectors.swscale_configuration();
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/ffmpeg.functions.facade.g.cs.meta b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/ffmpeg.functions.facade.g.cs.meta
index 00e00e6..3ed894a 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/ffmpeg.functions.facade.g.cs.meta
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/ffmpeg.functions.facade.g.cs.meta
@@ -1,11 +1,2 @@
fileFormatVersion: 2
-guid: 4e88e9781cb17564abb58597b62df3b8
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
+guid: 4e88e9781cb17564abb58597b62df3b8
\ No newline at end of file
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/ffmpeg.functions.inline.g.cs b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/ffmpeg.functions.inline.g.cs
index 764e284..57a17f0 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/ffmpeg.functions.inline.g.cs
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/ffmpeg.functions.inline.g.cs
@@ -58,13 +58,13 @@ public static sbyte av_clip_int8_c(int @a)
/// bit position to clip at
/// clipped value
public static int av_clip_intp2_c(int @a, int @p)
- {
- if ((((uint)a + (1 << p)) & ~((2 << p) - 1)) != 0)
- return (a >> 31) ^ ((1 << p) - 1);
- else
- return a;
- }
- // original body hash: /qM73AkEE6w4/NOhpvKw1SVRZPxbN61+Yqc3i9L/2bM=
+{
+ if ((((uint)a + (1U << p)) & ~((2U << p) - 1)) != 0)
+ return (a >> 31) ^ ((1 << p) - 1);
+ else
+ return a;
+}
+ // original body hash: H4R9TdJsLPxie0kMNORwLhiEFWSn5cG8vNmgEcRcwaE=
/// Clip a signed integer value into the 0-65535 range.
/// value to clip
@@ -95,13 +95,13 @@ public static byte av_clip_uint8_c(int @a)
/// bit position to clip at
/// clipped value
public static uint av_clip_uintp2_c(int @a, int @p)
- {
- if ((a & ~((1 << p) - 1)) != 0)
- return (uint)((~a) >> 31 & ((1 << p) - 1));
- else
- return (uint)a;
- }
- // original body hash: 01v+7HjG6Id/YAdTCeWBkPwvakfGiCosPM6u5MXI8pU=
+{
+ if ((a & ~((1U << p) - 1)) != 0)
+ return (uint)(~a) >> 31 & ((1U << p) - 1);
+ else
+ return (uint)a;
+}
+ // original body hash: e+b5mkBcLXfL9tlPoRVY9A8fy1jLPsqovjAobPBirRs=
/// Clip a signed 64bit integer value into the amin-amax range.
/// value to clip
@@ -145,13 +145,13 @@ public static float av_clipf_c(float @a, float @amin, float @amax)
/// value to clip
/// clipped value
public static int av_clipl_int32_c(long @a)
- {
- if ((((ulong)a + 2147483648UL) & ~(4294967295UL)) != 0)
- return (int)((a >> 63) ^ 2147483647);
- else
- return (int)a;
- }
- // original body hash: 00dWv9FNYsEeRh1lPjYlSw3TQiOlthet3Kyi6z91Hbo=
+{
+ if ((((ulong)a + (2147483648UL)) & ~(4294967295UL)) != 0)
+ return (int)((a >> 63) ^ 2147483647);
+ else
+ return (int)a;
+}
+ // original body hash: hVbFRW9NmALaR5Wqm8W2hfXu9xV8Kg7CEndQKK0wY4I=
/// Compare two rationals.
/// First rational
@@ -185,6 +185,13 @@ public static uint av_float2int(float @f)
}
// original body hash: uBvsHd8EeFnxDvSdDE1+k5Um29kCuf0aEJhAvDy0wZk=
+ /// Wrapper around av_frame_side_data_get_c() to workaround the limitation that for any type T the conversion from T * const * to const T * const * is not performed automatically in C.
+ public static AVFrameSideData* av_frame_side_data_get(AVFrameSideData** @sd, int @nb_sd, AVFrameSideDataType @type)
+ {
+ return av_frame_side_data_get_c(sd, nb_sd, type);
+ }
+ // original body hash: nxiyu/BnkvF9Z/fWwpii6qfquOeLA/wdeiuxyQQxS4E=
+
/// Wrapper around av_image_copy() to workaround the limitation that the conversion from uint8_t * const * to const uint8_t * const * is not performed automatically in C.
public static void av_image_copy2(ref byte_ptr4 @dst_data, in int4 @dst_linesizes, ref byte_ptr4 @src_data, in int4 @src_linesizes, AVPixelFormat @pix_fmt, int @width, int @height)
{
@@ -236,15 +243,12 @@ public static AVRational av_make_q(int @num, int @den)
}
// original body hash: IAPYNNcg3GX0PGxINeLQhb41dH921lPVKcnqxCk7ERA=
- /// Clear high bits from an unsigned integer starting with specific bit position
- /// value to clip
- /// bit position to clip at
- /// clipped value
+ [Obsolete()]
public static uint av_mod_uintp2_c(uint @a, uint @p)
- {
- return a & (uint)((1 << (int)p) - 1);
- }
- // original body hash: ncn4Okxr9Nas1g/qCfpRHKtywuNmJuf3UED+o3wjadc=
+{
+ return av_zero_extend_c(a, p);
+}
+ // original body hash: MfDd5KRKGNiwvccdrrbME05wNKCRzGTF1T24OggAyp0=
public static int av_parity_c(uint @v)
{
@@ -364,6 +368,16 @@ public static long av_sat_sub64_c(long @a, long @b)
}
// original body hash: zOY924eIk3VeTSNb9XcE2Yw8aZ4/jlzQSfP06k5n0nU=
+ /// Clear high bits from an unsigned integer starting with specific bit position
+ /// value to clip
+ /// bit position to clip at. Must be between 0 and 31.
+ /// clipped value
+ public static uint av_zero_extend_c(uint @a, uint @p)
+ {
+ return a & ((1U << (int)p) - 1);
+ }
+ // original body hash: ncn4Okxr9Nas1g/qCfpRHKtywuNmJuf3UED+o3wjadc=
+
/// ftell() equivalent for AVIOContext.
/// position or AVERROR.
public static long avio_tell(AVIOContext* @s)
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/ffmpeg.functions.inline.g.cs.meta b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/ffmpeg.functions.inline.g.cs.meta
index 22c34f5..34bc52a 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/ffmpeg.functions.inline.g.cs.meta
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/ffmpeg.functions.inline.g.cs.meta
@@ -1,11 +1,2 @@
fileFormatVersion: 2
-guid: 07994fe0b512f2644b5690d9c804f30e
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
+guid: 07994fe0b512f2644b5690d9c804f30e
\ No newline at end of file
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/ffmpeg.macros.g.cs b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/ffmpeg.macros.g.cs
index f3d3a16..48c0d24 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/ffmpeg.macros.g.cs
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/ffmpeg.macros.g.cs
@@ -23,6 +23,10 @@ public static unsafe partial class ffmpeg
public static readonly ulong AV_CH_BACK_LEFT = 0x1UL << 4;
/// AV_CH_BACK_RIGHT = (1ULL << AV_CHAN_BACK_RIGHT )
public static readonly ulong AV_CH_BACK_RIGHT = 0x1UL << 5;
+ /// AV_CH_BINAURAL_LEFT = (1ULL << AV_CHAN_BINAURAL_LEFT )
+ public static readonly ulong AV_CH_BINAURAL_LEFT = 0x1UL << 61;
+ /// AV_CH_BINAURAL_RIGHT = (1ULL << AV_CHAN_BINAURAL_RIGHT )
+ public static readonly ulong AV_CH_BINAURAL_RIGHT = 0x1UL << 62;
/// AV_CH_BOTTOM_FRONT_CENTER = (1ULL << AV_CHAN_BOTTOM_FRONT_CENTER )
public static readonly ulong AV_CH_BOTTOM_FRONT_CENTER = 0x1UL << 38;
/// AV_CH_BOTTOM_FRONT_LEFT = (1ULL << AV_CHAN_BOTTOM_FRONT_LEFT )
@@ -43,8 +47,8 @@ public static unsafe partial class ffmpeg
public static readonly ulong AV_CH_LAYOUT_2_1 = AV_CH_LAYOUT_STEREO | AV_CH_BACK_CENTER;
/// AV_CH_LAYOUT_2_2 = (AV_CH_LAYOUT_STEREO|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT)
public static readonly ulong AV_CH_LAYOUT_2_2 = AV_CH_LAYOUT_STEREO | AV_CH_SIDE_LEFT | AV_CH_SIDE_RIGHT;
- /// AV_CH_LAYOUT_22POINT2 = (AV_CH_LAYOUT_7POINT1POINT4_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER|AV_CH_BACK_CENTER|AV_CH_LOW_FREQUENCY_2|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_CENTER|AV_CH_TOP_SIDE_LEFT|AV_CH_TOP_SIDE_RIGHT|AV_CH_TOP_BACK_CENTER|AV_CH_BOTTOM_FRONT_CENTER|AV_CH_BOTTOM_FRONT_LEFT|AV_CH_BOTTOM_FRONT_RIGHT)
- public static readonly ulong AV_CH_LAYOUT_22POINT2 = AV_CH_LAYOUT_7POINT1POINT4_BACK | AV_CH_FRONT_LEFT_OF_CENTER | AV_CH_FRONT_RIGHT_OF_CENTER | AV_CH_BACK_CENTER | AV_CH_LOW_FREQUENCY_2 | AV_CH_TOP_FRONT_CENTER | AV_CH_TOP_CENTER | AV_CH_TOP_SIDE_LEFT | AV_CH_TOP_SIDE_RIGHT | AV_CH_TOP_BACK_CENTER | AV_CH_BOTTOM_FRONT_CENTER | AV_CH_BOTTOM_FRONT_LEFT | AV_CH_BOTTOM_FRONT_RIGHT;
+ /// AV_CH_LAYOUT_22POINT2 = (AV_CH_LAYOUT_9POINT1POINT6|AV_CH_BACK_CENTER|AV_CH_LOW_FREQUENCY_2|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_CENTER|AV_CH_TOP_BACK_CENTER|AV_CH_BOTTOM_FRONT_CENTER|AV_CH_BOTTOM_FRONT_LEFT|AV_CH_BOTTOM_FRONT_RIGHT)
+ public static readonly ulong AV_CH_LAYOUT_22POINT2 = AV_CH_LAYOUT_9POINT1POINT6 | AV_CH_BACK_CENTER | AV_CH_LOW_FREQUENCY_2 | AV_CH_TOP_FRONT_CENTER | AV_CH_TOP_CENTER | AV_CH_TOP_BACK_CENTER | AV_CH_BOTTOM_FRONT_CENTER | AV_CH_BOTTOM_FRONT_LEFT | AV_CH_BOTTOM_FRONT_RIGHT;
/// AV_CH_LAYOUT_2POINT1 = (AV_CH_LAYOUT_STEREO|AV_CH_LOW_FREQUENCY)
public static readonly ulong AV_CH_LAYOUT_2POINT1 = AV_CH_LAYOUT_STEREO | AV_CH_LOW_FREQUENCY;
/// AV_CH_LAYOUT_3POINT1 = (AV_CH_LAYOUT_SURROUND|AV_CH_LOW_FREQUENCY)
@@ -63,10 +67,12 @@ public static unsafe partial class ffmpeg
public static readonly ulong AV_CH_LAYOUT_5POINT1 = AV_CH_LAYOUT_5POINT0 | AV_CH_LOW_FREQUENCY;
/// AV_CH_LAYOUT_5POINT1_BACK = (AV_CH_LAYOUT_5POINT0_BACK|AV_CH_LOW_FREQUENCY)
public static readonly ulong AV_CH_LAYOUT_5POINT1_BACK = AV_CH_LAYOUT_5POINT0_BACK | AV_CH_LOW_FREQUENCY;
+ /// AV_CH_LAYOUT_5POINT1POINT2 = (AV_CH_LAYOUT_5POINT1|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT)
+ public static readonly ulong AV_CH_LAYOUT_5POINT1POINT2 = AV_CH_LAYOUT_5POINT1 | AV_CH_TOP_FRONT_LEFT | AV_CH_TOP_FRONT_RIGHT;
/// AV_CH_LAYOUT_5POINT1POINT2_BACK = (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT)
public static readonly ulong AV_CH_LAYOUT_5POINT1POINT2_BACK = AV_CH_LAYOUT_5POINT1_BACK | AV_CH_TOP_FRONT_LEFT | AV_CH_TOP_FRONT_RIGHT;
- /// AV_CH_LAYOUT_5POINT1POINT4_BACK = (AV_CH_LAYOUT_5POINT1POINT2_BACK|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT)
- public static readonly ulong AV_CH_LAYOUT_5POINT1POINT4_BACK = AV_CH_LAYOUT_5POINT1POINT2_BACK | AV_CH_TOP_BACK_LEFT | AV_CH_TOP_BACK_RIGHT;
+ /// AV_CH_LAYOUT_5POINT1POINT4_BACK = (AV_CH_LAYOUT_5POINT1POINT2|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT)
+ public static readonly ulong AV_CH_LAYOUT_5POINT1POINT4_BACK = AV_CH_LAYOUT_5POINT1POINT2 | AV_CH_TOP_BACK_LEFT | AV_CH_TOP_BACK_RIGHT;
/// AV_CH_LAYOUT_6POINT0 = (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_CENTER)
public static readonly ulong AV_CH_LAYOUT_6POINT0 = AV_CH_LAYOUT_5POINT0 | AV_CH_BACK_CENTER;
/// AV_CH_LAYOUT_6POINT0_FRONT = (AV_CH_LAYOUT_2_2|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
@@ -93,6 +99,14 @@ public static unsafe partial class ffmpeg
public static readonly ulong AV_CH_LAYOUT_7POINT1POINT2 = AV_CH_LAYOUT_7POINT1 | AV_CH_TOP_FRONT_LEFT | AV_CH_TOP_FRONT_RIGHT;
/// AV_CH_LAYOUT_7POINT1POINT4_BACK = (AV_CH_LAYOUT_7POINT1POINT2|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT)
public static readonly ulong AV_CH_LAYOUT_7POINT1POINT4_BACK = AV_CH_LAYOUT_7POINT1POINT2 | AV_CH_TOP_BACK_LEFT | AV_CH_TOP_BACK_RIGHT;
+ /// AV_CH_LAYOUT_7POINT2POINT3 = (AV_CH_LAYOUT_7POINT1POINT2|AV_CH_TOP_BACK_CENTER|AV_CH_LOW_FREQUENCY_2)
+ public static readonly ulong AV_CH_LAYOUT_7POINT2POINT3 = AV_CH_LAYOUT_7POINT1POINT2 | AV_CH_TOP_BACK_CENTER | AV_CH_LOW_FREQUENCY_2;
+ /// AV_CH_LAYOUT_9POINT1POINT4_BACK = (AV_CH_LAYOUT_7POINT1POINT4_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
+ public static readonly ulong AV_CH_LAYOUT_9POINT1POINT4_BACK = AV_CH_LAYOUT_7POINT1POINT4_BACK | AV_CH_FRONT_LEFT_OF_CENTER | AV_CH_FRONT_RIGHT_OF_CENTER;
+ /// AV_CH_LAYOUT_9POINT1POINT6 = (AV_CH_LAYOUT_9POINT1POINT4_BACK|AV_CH_TOP_SIDE_LEFT|AV_CH_TOP_SIDE_RIGHT)
+ public static readonly ulong AV_CH_LAYOUT_9POINT1POINT6 = AV_CH_LAYOUT_9POINT1POINT4_BACK | AV_CH_TOP_SIDE_LEFT | AV_CH_TOP_SIDE_RIGHT;
+ /// AV_CH_LAYOUT_BINAURAL = (AV_CH_BINAURAL_LEFT|AV_CH_BINAURAL_RIGHT)
+ public static readonly ulong AV_CH_LAYOUT_BINAURAL = AV_CH_BINAURAL_LEFT | AV_CH_BINAURAL_RIGHT;
/// AV_CH_LAYOUT_CUBE = (AV_CH_LAYOUT_QUAD|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT)
public static readonly ulong AV_CH_LAYOUT_CUBE = AV_CH_LAYOUT_QUAD | AV_CH_TOP_FRONT_LEFT | AV_CH_TOP_FRONT_RIGHT | AV_CH_TOP_BACK_LEFT | AV_CH_TOP_BACK_RIGHT;
/// AV_CH_LAYOUT_HEXADECAGONAL = (AV_CH_LAYOUT_OCTAGONAL|AV_CH_WIDE_LEFT|AV_CH_WIDE_RIGHT|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT|AV_CH_TOP_BACK_CENTER|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT)
@@ -101,8 +115,6 @@ public static unsafe partial class ffmpeg
public static readonly ulong AV_CH_LAYOUT_HEXAGONAL = AV_CH_LAYOUT_5POINT0_BACK | AV_CH_BACK_CENTER;
/// AV_CH_LAYOUT_MONO = (AV_CH_FRONT_CENTER)
public static readonly ulong AV_CH_LAYOUT_MONO = AV_CH_FRONT_CENTER;
- /// AV_CH_LAYOUT_NATIVE = 0x8000000000000000ULL
- public const ulong AV_CH_LAYOUT_NATIVE = 0x8000000000000000UL;
/// AV_CH_LAYOUT_OCTAGONAL = (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_CENTER|AV_CH_BACK_RIGHT)
public static readonly ulong AV_CH_LAYOUT_OCTAGONAL = AV_CH_LAYOUT_5POINT0 | AV_CH_BACK_LEFT | AV_CH_BACK_CENTER | AV_CH_BACK_RIGHT;
/// AV_CH_LAYOUT_QUAD = (AV_CH_LAYOUT_STEREO|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
@@ -121,6 +133,10 @@ public static unsafe partial class ffmpeg
public static readonly ulong AV_CH_SIDE_LEFT = 0x1UL << 9;
/// AV_CH_SIDE_RIGHT = (1ULL << AV_CHAN_SIDE_RIGHT )
public static readonly ulong AV_CH_SIDE_RIGHT = 0x1UL << 10;
+ /// AV_CH_SIDE_SURROUND_LEFT = (1ULL << AV_CHAN_SIDE_SURROUND_LEFT )
+ public static readonly ulong AV_CH_SIDE_SURROUND_LEFT = 0x1UL << 41;
+ /// AV_CH_SIDE_SURROUND_RIGHT = (1ULL << AV_CHAN_SIDE_SURROUND_RIGHT )
+ public static readonly ulong AV_CH_SIDE_SURROUND_RIGHT = 0x1UL << 42;
/// AV_CH_STEREO_LEFT = (1ULL << AV_CHAN_STEREO_LEFT )
public static readonly ulong AV_CH_STEREO_LEFT = 0x1UL << 29;
/// AV_CH_STEREO_RIGHT = (1ULL << AV_CHAN_STEREO_RIGHT )
@@ -147,6 +163,10 @@ public static unsafe partial class ffmpeg
public static readonly ulong AV_CH_TOP_SIDE_LEFT = 0x1UL << 36;
/// AV_CH_TOP_SIDE_RIGHT = (1ULL << AV_CHAN_TOP_SIDE_RIGHT )
public static readonly ulong AV_CH_TOP_SIDE_RIGHT = 0x1UL << 37;
+ /// AV_CH_TOP_SURROUND_LEFT = (1ULL << AV_CHAN_TOP_SURROUND_LEFT )
+ public static readonly ulong AV_CH_TOP_SURROUND_LEFT = 0x1UL << 43;
+ /// AV_CH_TOP_SURROUND_RIGHT = (1ULL << AV_CHAN_TOP_SURROUND_RIGHT )
+ public static readonly ulong AV_CH_TOP_SURROUND_RIGHT = 0x1UL << 44;
/// AV_CH_WIDE_LEFT = (1ULL << AV_CHAN_WIDE_LEFT )
public static readonly ulong AV_CH_WIDE_LEFT = 0x1UL << 31;
/// AV_CH_WIDE_RIGHT = (1ULL << AV_CHAN_WIDE_RIGHT )
@@ -163,6 +183,7 @@ public static unsafe partial class ffmpeg
// public static AV_CHANNEL_LAYOUT_5POINT0_BACK = AV_CHANNEL_LAYOUT_MASK(0x5, AV_CH_LAYOUT_5POINT0_BACK);
// public static AV_CHANNEL_LAYOUT_5POINT1 = AV_CHANNEL_LAYOUT_MASK(0x6, AV_CH_LAYOUT_5POINT1);
// public static AV_CHANNEL_LAYOUT_5POINT1_BACK = AV_CHANNEL_LAYOUT_MASK(0x6, AV_CH_LAYOUT_5POINT1_BACK);
+ // public static AV_CHANNEL_LAYOUT_5POINT1POINT2 = AV_CHANNEL_LAYOUT_MASK(0x8, AV_CH_LAYOUT_5POINT1POINT2);
// public static AV_CHANNEL_LAYOUT_5POINT1POINT2_BACK = AV_CHANNEL_LAYOUT_MASK(0x8, AV_CH_LAYOUT_5POINT1POINT2_BACK);
// public static AV_CHANNEL_LAYOUT_5POINT1POINT4_BACK = AV_CHANNEL_LAYOUT_MASK(0xa, AV_CH_LAYOUT_5POINT1POINT4_BACK);
// public static AV_CHANNEL_LAYOUT_6POINT0 = AV_CHANNEL_LAYOUT_MASK(0x6, AV_CH_LAYOUT_6POINT0);
@@ -178,7 +199,11 @@ public static unsafe partial class ffmpeg
// public static AV_CHANNEL_LAYOUT_7POINT1_WIDE_BACK = AV_CHANNEL_LAYOUT_MASK(0x8, AV_CH_LAYOUT_7POINT1_WIDE_BACK);
// public static AV_CHANNEL_LAYOUT_7POINT1POINT2 = AV_CHANNEL_LAYOUT_MASK(0xa, AV_CH_LAYOUT_7POINT1POINT2);
// public static AV_CHANNEL_LAYOUT_7POINT1POINT4_BACK = AV_CHANNEL_LAYOUT_MASK(0xc, AV_CH_LAYOUT_7POINT1POINT4_BACK);
+ // public static AV_CHANNEL_LAYOUT_7POINT2POINT3 = AV_CHANNEL_LAYOUT_MASK(0xc, AV_CH_LAYOUT_7POINT2POINT3);
+ // public static AV_CHANNEL_LAYOUT_9POINT1POINT4_BACK = AV_CHANNEL_LAYOUT_MASK(0xe, AV_CH_LAYOUT_9POINT1POINT4_BACK);
+ // public static AV_CHANNEL_LAYOUT_9POINT1POINT6 = AV_CHANNEL_LAYOUT_MASK(0x10, AV_CH_LAYOUT_9POINT1POINT6);
// public static AV_CHANNEL_LAYOUT_AMBISONIC_FIRST_ORDER = { /* .order */ AV_CHANNEL_ORDER_AMBISONIC, /* .nb_channels */ 4, /* .u.mask */ { 0 }, /* .opaque */ NULL };
+ // public static AV_CHANNEL_LAYOUT_BINAURAL = AV_CHANNEL_LAYOUT_MASK(0x2, AV_CH_LAYOUT_BINAURAL);
// public static AV_CHANNEL_LAYOUT_CUBE = AV_CHANNEL_LAYOUT_MASK(0x8, AV_CH_LAYOUT_CUBE);
// public static AV_CHANNEL_LAYOUT_HEXADECAGONAL = AV_CHANNEL_LAYOUT_MASK(0x10, AV_CH_LAYOUT_HEXADECAGONAL);
// public static AV_CHANNEL_LAYOUT_HEXAGONAL = AV_CHANNEL_LAYOUT_MASK(0x6, AV_CH_LAYOUT_HEXAGONAL);
@@ -186,6 +211,10 @@ public static unsafe partial class ffmpeg
// public static AV_CHANNEL_LAYOUT_MONO = AV_CHANNEL_LAYOUT_MASK(0x1, AV_CH_LAYOUT_MONO);
// public static AV_CHANNEL_LAYOUT_OCTAGONAL = AV_CHANNEL_LAYOUT_MASK(0x8, AV_CH_LAYOUT_OCTAGONAL);
// public static AV_CHANNEL_LAYOUT_QUAD = AV_CHANNEL_LAYOUT_MASK(0x4, AV_CH_LAYOUT_QUAD);
+ /// AV_CHANNEL_LAYOUT_RETYPE_FLAG_CANONICAL = (1 << 1)
+ public const int AV_CHANNEL_LAYOUT_RETYPE_FLAG_CANONICAL = 0x1 << 0x1;
+ /// AV_CHANNEL_LAYOUT_RETYPE_FLAG_LOSSLESS = (1 << 0)
+ public const int AV_CHANNEL_LAYOUT_RETYPE_FLAG_LOSSLESS = 0x1 << 0x0;
// public static AV_CHANNEL_LAYOUT_STEREO = AV_CHANNEL_LAYOUT_MASK(0x2, AV_CH_LAYOUT_STEREO);
// public static AV_CHANNEL_LAYOUT_STEREO_DOWNMIX = AV_CHANNEL_LAYOUT_MASK(0x2, AV_CH_LAYOUT_STEREO_DOWNMIX);
// public static AV_CHANNEL_LAYOUT_SURROUND = AV_CHANNEL_LAYOUT_MASK(0x3, AV_CH_LAYOUT_SURROUND);
@@ -232,10 +261,10 @@ public static unsafe partial class ffmpeg
public const int AV_CODEC_CAP_SLICE_THREADS = 0x1 << 0xd;
/// AV_CODEC_CAP_SMALL_LAST_FRAME = (1 << 6)
public const int AV_CODEC_CAP_SMALL_LAST_FRAME = 0x1 << 0x6;
- /// AV_CODEC_CAP_SUBFRAMES = (1 << 8)
- public const int AV_CODEC_CAP_SUBFRAMES = 0x1 << 0x8;
/// AV_CODEC_CAP_VARIABLE_FRAME_SIZE = (1 << 16)
public const int AV_CODEC_CAP_VARIABLE_FRAME_SIZE = 0x1 << 0x10;
+ /// AV_CODEC_EXPORT_DATA_ENHANCEMENTS = 0x1 << 0x4
+ public const int AV_CODEC_EXPORT_DATA_ENHANCEMENTS = 0x1 << 0x4;
/// AV_CODEC_EXPORT_DATA_FILM_GRAIN = 0x1 << 0x3
public const int AV_CODEC_EXPORT_DATA_FILM_GRAIN = 0x1 << 0x3;
/// AV_CODEC_EXPORT_DATA_MVS = 0x1 << 0x0
@@ -254,8 +283,6 @@ public static unsafe partial class ffmpeg
public const uint AV_CODEC_FLAG_CLOSED_GOP = 0x1U << 0x1f;
/// AV_CODEC_FLAG_COPY_OPAQUE = 0x1 << 0x7
public const int AV_CODEC_FLAG_COPY_OPAQUE = 0x1 << 0x7;
- /// AV_CODEC_FLAG_DROPCHANGED = 0x1 << 0x5
- public const int AV_CODEC_FLAG_DROPCHANGED = 0x1 << 0x5;
/// AV_CODEC_FLAG_FRAME_DURATION = 0x1 << 0x8
public const int AV_CODEC_FLAG_FRAME_DURATION = 0x1 << 0x8;
/// AV_CODEC_FLAG_GLOBAL_HEADER = 0x1 << 0x16
@@ -390,6 +417,12 @@ public static unsafe partial class ffmpeg
public const int AV_CPU_FLAG_NEON = 0x1 << 0x5;
/// AV_CPU_FLAG_POWER8 = 0x4
public const int AV_CPU_FLAG_POWER8 = 0x4;
+ /// AV_CPU_FLAG_RV_MISALIGNED = 0x1 << 0xa
+ public const int AV_CPU_FLAG_RV_MISALIGNED = 0x1 << 0xa;
+ /// AV_CPU_FLAG_RV_ZVBB = 0x1 << 0x9
+ public const int AV_CPU_FLAG_RV_ZVBB = 0x1 << 0x9;
+ /// AV_CPU_FLAG_RVB = 0x1 << 0xb
+ public const int AV_CPU_FLAG_RVB = 0x1 << 0xb;
/// AV_CPU_FLAG_RVB_ADDR = 0x1 << 0x8
public const int AV_CPU_FLAG_RVB_ADDR = 0x1 << 0x8;
/// AV_CPU_FLAG_RVB_BASIC = 0x1 << 0x7
@@ -410,6 +443,8 @@ public static unsafe partial class ffmpeg
public const int AV_CPU_FLAG_RVV_I64 = 0x1 << 0x5;
/// AV_CPU_FLAG_SETEND = 0x1 << 0x10
public const int AV_CPU_FLAG_SETEND = 0x1 << 0x10;
+ /// AV_CPU_FLAG_SIMD128 = 0x1 << 0x0
+ public const int AV_CPU_FLAG_SIMD128 = 0x1 << 0x0;
/// AV_CPU_FLAG_SLOW_GATHER = 0x2000000
public const int AV_CPU_FLAG_SLOW_GATHER = 0x2000000;
/// AV_CPU_FLAG_SSE = 0x8
@@ -430,6 +465,10 @@ public static unsafe partial class ffmpeg
public const int AV_CPU_FLAG_SSSE3 = 0x80;
/// AV_CPU_FLAG_SSSE3SLOW = 0x4000000
public const int AV_CPU_FLAG_SSSE3SLOW = 0x4000000;
+ /// AV_CPU_FLAG_SVE = 0x1 << 0xa
+ public const int AV_CPU_FLAG_SVE = 0x1 << 0xa;
+ /// AV_CPU_FLAG_SVE2 = 0x1 << 0xb
+ public const int AV_CPU_FLAG_SVE2 = 0x1 << 0xb;
/// AV_CPU_FLAG_VFP = 0x1 << 0x3
public const int AV_CPU_FLAG_VFP = 0x1 << 0x3;
/// AV_CPU_FLAG_VFP_VM = 0x1 << 0x7
@@ -442,6 +481,8 @@ public static unsafe partial class ffmpeg
public const int AV_CPU_FLAG_XOP = 0x400;
/// AV_DICT_APPEND = 32
public const int AV_DICT_APPEND = 0x20;
+ /// AV_DICT_DEDUP = 128
+ public const int AV_DICT_DEDUP = 0x80;
/// AV_DICT_DONT_OVERWRITE = 16
public const int AV_DICT_DONT_OVERWRITE = 0x10;
/// AV_DICT_DONT_STRDUP_KEY = 4
@@ -480,6 +521,8 @@ public static unsafe partial class ffmpeg
public const int AV_DISPOSITION_LYRICS = 0x1 << 0x4;
/// AV_DISPOSITION_METADATA = (1 << 18)
public const int AV_DISPOSITION_METADATA = 0x1 << 0x12;
+ /// AV_DISPOSITION_MULTILAYER = (1 << 21)
+ public const int AV_DISPOSITION_MULTILAYER = 0x1 << 0x15;
/// AV_DISPOSITION_NON_DIEGETIC = (1 << 12)
public const int AV_DISPOSITION_NON_DIEGETIC = 0x1 << 0xc;
/// AV_DISPOSITION_ORIGINAL = (1 << 2)
@@ -523,8 +566,16 @@ public static unsafe partial class ffmpeg
public const int AV_FRAME_FLAG_INTERLACED = 0x1 << 0x3;
/// AV_FRAME_FLAG_KEY = (1 << 1)
public const int AV_FRAME_FLAG_KEY = 0x1 << 0x1;
+ /// AV_FRAME_FLAG_LOSSLESS = (1 << 5)
+ public const int AV_FRAME_FLAG_LOSSLESS = 0x1 << 0x5;
/// AV_FRAME_FLAG_TOP_FIELD_FIRST = (1 << 4)
public const int AV_FRAME_FLAG_TOP_FIELD_FIRST = 0x1 << 0x4;
+ /// AV_FRAME_SIDE_DATA_FLAG_NEW_REF = (1 << 2)
+ public const int AV_FRAME_SIDE_DATA_FLAG_NEW_REF = 0x1 << 0x2;
+ /// AV_FRAME_SIDE_DATA_FLAG_REPLACE = (1 << 1)
+ public const int AV_FRAME_SIDE_DATA_FLAG_REPLACE = 0x1 << 0x1;
+ /// AV_FRAME_SIDE_DATA_FLAG_UNIQUE = (1 << 0)
+ public const int AV_FRAME_SIDE_DATA_FLAG_UNIQUE = 0x1 << 0x0;
// public static AV_GCC_VERSION_AT_LEAST = x;
// public static AV_GCC_VERSION_AT_MOST = x;
/// AV_GET_BUFFER_FLAG_REF = 0x1 << 0x0
@@ -549,8 +600,6 @@ public static unsafe partial class ffmpeg
public const int AV_HWACCEL_FLAG_IGNORE_LEVEL = 0x1 << 0x0;
/// AV_HWACCEL_FLAG_UNSAFE_OUTPUT = 0x1 << 0x3
public const int AV_HWACCEL_FLAG_UNSAFE_OUTPUT = 0x1 << 0x3;
- /// AV_INPUT_BUFFER_MIN_SIZE = 0x4000
- public const int AV_INPUT_BUFFER_MIN_SIZE = 0x4000;
/// AV_INPUT_BUFFER_PADDING_SIZE = 64
public const int AV_INPUT_BUFFER_PADDING_SIZE = 0x40;
// public static av_int_list_length = list;
@@ -572,8 +621,12 @@ public static unsafe partial class ffmpeg
public const int AV_LOG_MAX_OFFSET = AV_LOG_TRACE - AV_LOG_QUIET;
/// AV_LOG_PANIC = 0
public const int AV_LOG_PANIC = 0x0;
+ /// AV_LOG_PRINT_DATETIME = 8
+ public const int AV_LOG_PRINT_DATETIME = 0x8;
/// AV_LOG_PRINT_LEVEL = 2
public const int AV_LOG_PRINT_LEVEL = 0x2;
+ /// AV_LOG_PRINT_TIME = 4
+ public const int AV_LOG_PRINT_TIME = 0x4;
/// AV_LOG_QUIET = -8
public const int AV_LOG_QUIET = -0x8;
/// AV_LOG_SKIP_REPEATED = 1
@@ -595,30 +648,32 @@ public static unsafe partial class ffmpeg
public const int AV_NUM_DATA_POINTERS = 0x8;
/// AV_OPT_ALLOW_NULL = (1 << 2)
public const int AV_OPT_ALLOW_NULL = 0x1 << 0x2;
- /// AV_OPT_FLAG_AUDIO_PARAM = 8
- public const int AV_OPT_FLAG_AUDIO_PARAM = 0x8;
- /// AV_OPT_FLAG_BSF_PARAM = (1<<8)
+ /// AV_OPT_ARRAY_REPLACE = (1 << 3)
+ public const int AV_OPT_ARRAY_REPLACE = 0x1 << 0x3;
+ /// AV_OPT_FLAG_AUDIO_PARAM = (1 << 3)
+ public const int AV_OPT_FLAG_AUDIO_PARAM = 0x1 << 0x3;
+ /// AV_OPT_FLAG_BSF_PARAM = (1 << 8)
public const int AV_OPT_FLAG_BSF_PARAM = 0x1 << 0x8;
- /// AV_OPT_FLAG_CHILD_CONSTS = (1<<18)
+ /// AV_OPT_FLAG_CHILD_CONSTS = (1 << 18)
public const int AV_OPT_FLAG_CHILD_CONSTS = 0x1 << 0x12;
- /// AV_OPT_FLAG_DECODING_PARAM = 2
- public const int AV_OPT_FLAG_DECODING_PARAM = 0x2;
- /// AV_OPT_FLAG_DEPRECATED = (1<<17)
+ /// AV_OPT_FLAG_DECODING_PARAM = (1 << 1)
+ public const int AV_OPT_FLAG_DECODING_PARAM = 0x1 << 0x1;
+ /// AV_OPT_FLAG_DEPRECATED = (1 << 17)
public const int AV_OPT_FLAG_DEPRECATED = 0x1 << 0x11;
- /// AV_OPT_FLAG_ENCODING_PARAM = 1
- public const int AV_OPT_FLAG_ENCODING_PARAM = 0x1;
- /// AV_OPT_FLAG_EXPORT = 64
- public const int AV_OPT_FLAG_EXPORT = 0x40;
- /// AV_OPT_FLAG_FILTERING_PARAM = (1<<16)
+ /// AV_OPT_FLAG_ENCODING_PARAM = (1 << 0)
+ public const int AV_OPT_FLAG_ENCODING_PARAM = 0x1 << 0x0;
+ /// AV_OPT_FLAG_EXPORT = (1 << 6)
+ public const int AV_OPT_FLAG_EXPORT = 0x1 << 0x6;
+ /// AV_OPT_FLAG_FILTERING_PARAM = (1 << 16)
public const int AV_OPT_FLAG_FILTERING_PARAM = 0x1 << 0x10;
- /// AV_OPT_FLAG_READONLY = 128
- public const int AV_OPT_FLAG_READONLY = 0x80;
- /// AV_OPT_FLAG_RUNTIME_PARAM = (1<<15)
+ /// AV_OPT_FLAG_READONLY = (1 << 7)
+ public const int AV_OPT_FLAG_READONLY = 0x1 << 0x7;
+ /// AV_OPT_FLAG_RUNTIME_PARAM = (1 << 15)
public const int AV_OPT_FLAG_RUNTIME_PARAM = 0x1 << 0xf;
- /// AV_OPT_FLAG_SUBTITLE_PARAM = 32
- public const int AV_OPT_FLAG_SUBTITLE_PARAM = 0x20;
- /// AV_OPT_FLAG_VIDEO_PARAM = 16
- public const int AV_OPT_FLAG_VIDEO_PARAM = 0x10;
+ /// AV_OPT_FLAG_SUBTITLE_PARAM = (1 << 5)
+ public const int AV_OPT_FLAG_SUBTITLE_PARAM = 0x1 << 0x5;
+ /// AV_OPT_FLAG_VIDEO_PARAM = (1 << 4)
+ public const int AV_OPT_FLAG_VIDEO_PARAM = 0x1 << 0x4;
/// AV_OPT_MULTI_COMPONENT_RANGE = (1 << 12)
public const int AV_OPT_MULTI_COMPONENT_RANGE = 0x1 << 0xc;
/// AV_OPT_SEARCH_CHILDREN = (1 << 0)
@@ -627,6 +682,8 @@ public static unsafe partial class ffmpeg
public const int AV_OPT_SEARCH_FAKE_OBJ = 0x1 << 0x1;
/// AV_OPT_SERIALIZE_OPT_FLAGS_EXACT = 0x00000002
public const int AV_OPT_SERIALIZE_OPT_FLAGS_EXACT = 0x2;
+ /// AV_OPT_SERIALIZE_SEARCH_CHILDREN = 0x00000004
+ public const int AV_OPT_SERIALIZE_SEARCH_CHILDREN = 0x4;
/// AV_OPT_SERIALIZE_SKIP_DEFAULTS = 0x00000001
public const int AV_OPT_SERIALIZE_SKIP_DEFAULTS = 0x1;
// public static av_opt_set_int_list = (obj, name, val, term, flags) (av_int_list_length(val, term) > INT_MAX / sizeof(*(val)) ? AVERROR(EINVAL) : av_opt_set_bin(obj, name, (const uint8_t *)(val), av_int_list_length(val, term) * sizeof(*(val)), flags));
@@ -665,22 +722,31 @@ public static unsafe partial class ffmpeg
public const int AV_PIX_FMT_FLAG_PLANAR = 0x1 << 0x4;
/// AV_PIX_FMT_FLAG_RGB = 0x1 << 0x5
public const int AV_PIX_FMT_FLAG_RGB = 0x1 << 0x5;
+ /// AV_PIX_FMT_FLAG_XYZ = 0x1 << 0xa
+ public const int AV_PIX_FMT_FLAG_XYZ = 0x1 << 0xa;
// public static AV_PIX_FMT_GBRAP10 = AV_PIX_FMT_NE(GBRAP10BE, GBRAP10LE);
// public static AV_PIX_FMT_GBRAP12 = AV_PIX_FMT_NE(GBRAP12BE, GBRAP12LE);
// public static AV_PIX_FMT_GBRAP14 = AV_PIX_FMT_NE(GBRAP14BE, GBRAP14LE);
// public static AV_PIX_FMT_GBRAP16 = AV_PIX_FMT_NE(GBRAP16BE, GBRAP16LE);
+ // public static AV_PIX_FMT_GBRAP32 = AV_PIX_FMT_NE(GBRAP32BE, GBRAP32LE);
+ // public static AV_PIX_FMT_GBRAPF16 = AV_PIX_FMT_NE(GBRAPF16BE, GBRAPF16LE);
// public static AV_PIX_FMT_GBRAPF32 = AV_PIX_FMT_NE(GBRAPF32BE, GBRAPF32LE);
// public static AV_PIX_FMT_GBRP10 = AV_PIX_FMT_NE(GBRP10BE, GBRP10LE);
+ // public static AV_PIX_FMT_GBRP10MSB = AV_PIX_FMT_NE(GBRP10MSBBE, GBRP10MSBLE);
// public static AV_PIX_FMT_GBRP12 = AV_PIX_FMT_NE(GBRP12BE, GBRP12LE);
+ // public static AV_PIX_FMT_GBRP12MSB = AV_PIX_FMT_NE(GBRP12MSBBE, GBRP12MSBLE);
// public static AV_PIX_FMT_GBRP14 = AV_PIX_FMT_NE(GBRP14BE, GBRP14LE);
// public static AV_PIX_FMT_GBRP16 = AV_PIX_FMT_NE(GBRP16BE, GBRP16LE);
// public static AV_PIX_FMT_GBRP9 = AV_PIX_FMT_NE(GBRP9BE, GBRP9LE);
+ // public static AV_PIX_FMT_GBRPF16 = AV_PIX_FMT_NE(GBRPF16BE, GBRPF16LE);
// public static AV_PIX_FMT_GBRPF32 = AV_PIX_FMT_NE(GBRPF32BE, GBRPF32LE);
// public static AV_PIX_FMT_GRAY10 = AV_PIX_FMT_NE(GRAY10BE, GRAY10LE);
// public static AV_PIX_FMT_GRAY12 = AV_PIX_FMT_NE(GRAY12BE, GRAY12LE);
// public static AV_PIX_FMT_GRAY14 = AV_PIX_FMT_NE(GRAY14BE, GRAY14LE);
// public static AV_PIX_FMT_GRAY16 = AV_PIX_FMT_NE(GRAY16BE, GRAY16LE);
+ // public static AV_PIX_FMT_GRAY32 = AV_PIX_FMT_NE(GRAY32BE, GRAY32LE);
// public static AV_PIX_FMT_GRAY9 = AV_PIX_FMT_NE(GRAY9BE, GRAY9LE);
+ // public static AV_PIX_FMT_GRAYF16 = AV_PIX_FMT_NE(GRAYF16BE, GRAYF16LE);
// public static AV_PIX_FMT_GRAYF32 = AV_PIX_FMT_NE(GRAYF32BE, GRAYF32LE);
// public static AV_PIX_FMT_NE = (be, le) AV_PIX_FMT_##le;
// public static AV_PIX_FMT_NV20 = AV_PIX_FMT_NE(NV20BE, NV20LE);
@@ -699,18 +765,26 @@ public static unsafe partial class ffmpeg
// public static AV_PIX_FMT_RGB48 = AV_PIX_FMT_NE(RGB48BE, RGB48LE);
// public static AV_PIX_FMT_RGB555 = AV_PIX_FMT_NE(RGB555BE, RGB555LE);
// public static AV_PIX_FMT_RGB565 = AV_PIX_FMT_NE(RGB565BE, RGB565LE);
+ // public static AV_PIX_FMT_RGB96 = AV_PIX_FMT_NE(RGB96BE, RGB96LE);
+ // public static AV_PIX_FMT_RGBA128 = AV_PIX_FMT_NE(RGBA128BE, RGBA128LE);
// public static AV_PIX_FMT_RGBA64 = AV_PIX_FMT_NE(RGBA64BE, RGBA64LE);
// public static AV_PIX_FMT_RGBAF16 = AV_PIX_FMT_NE(RGBAF16BE, RGBAF16LE);
// public static AV_PIX_FMT_RGBAF32 = AV_PIX_FMT_NE(RGBAF32BE, RGBAF32LE);
+ // public static AV_PIX_FMT_RGBF16 = AV_PIX_FMT_NE(RGBF16BE, RGBF16LE);
// public static AV_PIX_FMT_RGBF32 = AV_PIX_FMT_NE(RGBF32BE, RGBF32LE);
+ // public static AV_PIX_FMT_V30X = AV_PIX_FMT_NE(V30XBE, V30XLE);
// public static AV_PIX_FMT_X2BGR10 = AV_PIX_FMT_NE(X2BGR10BE, X2BGR10LE);
// public static AV_PIX_FMT_X2RGB10 = AV_PIX_FMT_NE(X2RGB10BE, X2RGB10LE);
// public static AV_PIX_FMT_XV30 = AV_PIX_FMT_NE(XV30BE, XV30LE);
// public static AV_PIX_FMT_XV36 = AV_PIX_FMT_NE(XV36BE, XV36LE);
+ // public static AV_PIX_FMT_XV48 = AV_PIX_FMT_NE(XV48BE, XV48LE);
// public static AV_PIX_FMT_XYZ12 = AV_PIX_FMT_NE(XYZ12BE, XYZ12LE);
// public static AV_PIX_FMT_Y210 = AV_PIX_FMT_NE(Y210BE, Y210LE);
// public static AV_PIX_FMT_Y212 = AV_PIX_FMT_NE(Y212BE, Y212LE);
+ // public static AV_PIX_FMT_Y216 = AV_PIX_FMT_NE(Y216BE, Y216LE);
// public static AV_PIX_FMT_YA16 = AV_PIX_FMT_NE(YA16BE, YA16LE);
+ // public static AV_PIX_FMT_YAF16 = AV_PIX_FMT_NE(YAF16BE, YAF16LE);
+ // public static AV_PIX_FMT_YAF32 = AV_PIX_FMT_NE(YAF32BE, YAF32LE);
// public static AV_PIX_FMT_YUV420P10 = AV_PIX_FMT_NE(YUV420P10BE, YUV420P10LE);
// public static AV_PIX_FMT_YUV420P12 = AV_PIX_FMT_NE(YUV420P12BE, YUV420P12LE);
// public static AV_PIX_FMT_YUV420P14 = AV_PIX_FMT_NE(YUV420P14BE, YUV420P14LE);
@@ -724,7 +798,9 @@ public static unsafe partial class ffmpeg
// public static AV_PIX_FMT_YUV440P10 = AV_PIX_FMT_NE(YUV440P10BE, YUV440P10LE);
// public static AV_PIX_FMT_YUV440P12 = AV_PIX_FMT_NE(YUV440P12BE, YUV440P12LE);
// public static AV_PIX_FMT_YUV444P10 = AV_PIX_FMT_NE(YUV444P10BE, YUV444P10LE);
+ // public static AV_PIX_FMT_YUV444P10MSB = AV_PIX_FMT_NE(YUV444P10MSBBE, YUV444P10MSBLE);
// public static AV_PIX_FMT_YUV444P12 = AV_PIX_FMT_NE(YUV444P12BE, YUV444P12LE);
+ // public static AV_PIX_FMT_YUV444P12MSB = AV_PIX_FMT_NE(YUV444P12MSBBE, YUV444P12MSBLE);
// public static AV_PIX_FMT_YUV444P14 = AV_PIX_FMT_NE(YUV444P14BE, YUV444P14LE);
// public static AV_PIX_FMT_YUV444P16 = AV_PIX_FMT_NE(YUV444P16BE, YUV444P16LE);
// public static AV_PIX_FMT_YUV444P9 = AV_PIX_FMT_NE(YUV444P9BE, YUV444P9LE);
@@ -739,8 +815,6 @@ public static unsafe partial class ffmpeg
// public static AV_PIX_FMT_YUVA444P12 = AV_PIX_FMT_NE(YUVA444P12BE, YUVA444P12LE);
// public static AV_PIX_FMT_YUVA444P16 = AV_PIX_FMT_NE(YUVA444P16BE, YUVA444P16LE);
// public static AV_PIX_FMT_YUVA444P9 = AV_PIX_FMT_NE(YUVA444P9BE, YUVA444P9LE);
- /// AV_PKT_DATA_QUALITY_FACTOR = AV_PKT_DATA_QUALITY_STATS
- public static readonly int AV_PKT_DATA_QUALITY_FACTOR = 8;
/// AV_PKT_FLAG_CORRUPT = 0x0002
public const int AV_PKT_FLAG_CORRUPT = 0x2;
/// AV_PKT_FLAG_DISCARD = 0x0004
@@ -771,6 +845,22 @@ public static unsafe partial class ffmpeg
public const int AV_PROFILE_AAC_MAIN = 0x0;
/// AV_PROFILE_AAC_SSR = 2
public const int AV_PROFILE_AAC_SSR = 0x2;
+ /// AV_PROFILE_AAC_USAC = 41
+ public const int AV_PROFILE_AAC_USAC = 0x29;
+ /// AV_PROFILE_APV_400_10 = 99
+ public const int AV_PROFILE_APV_400_10 = 0x63;
+ /// AV_PROFILE_APV_422_10 = 33
+ public const int AV_PROFILE_APV_422_10 = 0x21;
+ /// AV_PROFILE_APV_422_12 = 44
+ public const int AV_PROFILE_APV_422_12 = 0x2c;
+ /// AV_PROFILE_APV_444_10 = 55
+ public const int AV_PROFILE_APV_444_10 = 0x37;
+ /// AV_PROFILE_APV_444_12 = 66
+ public const int AV_PROFILE_APV_444_12 = 0x42;
+ /// AV_PROFILE_APV_4444_10 = 77
+ public const int AV_PROFILE_APV_4444_10 = 0x4d;
+ /// AV_PROFILE_APV_4444_12 = 88
+ public const int AV_PROFILE_APV_4444_12 = 0x58;
/// AV_PROFILE_ARIB_PROFILE_A = 0
public const int AV_PROFILE_ARIB_PROFILE_A = 0x0;
/// AV_PROFILE_ARIB_PROFILE_C = 1
@@ -855,6 +945,8 @@ public static unsafe partial class ffmpeg
public const int AV_PROFILE_HEVC_MAIN_10 = 0x2;
/// AV_PROFILE_HEVC_MAIN_STILL_PICTURE = 3
public const int AV_PROFILE_HEVC_MAIN_STILL_PICTURE = 0x3;
+ /// AV_PROFILE_HEVC_MULTIVIEW_MAIN = 6
+ public const int AV_PROFILE_HEVC_MULTIVIEW_MAIN = 0x6;
/// AV_PROFILE_HEVC_REXT = 4
public const int AV_PROFILE_HEVC_REXT = 0x4;
/// AV_PROFILE_HEVC_SCC = 9
@@ -939,6 +1031,10 @@ public static unsafe partial class ffmpeg
public const int AV_PROFILE_PRORES_LT = 0x1;
/// AV_PROFILE_PRORES_PROXY = 0
public const int AV_PROFILE_PRORES_PROXY = 0x0;
+ /// AV_PROFILE_PRORES_RAW = 0
+ public const int AV_PROFILE_PRORES_RAW = 0x0;
+ /// AV_PROFILE_PRORES_RAW_HQ = 1
+ public const int AV_PROFILE_PRORES_RAW_HQ = 0x1;
/// AV_PROFILE_PRORES_STANDARD = 2
public const int AV_PROFILE_PRORES_STANDARD = 0x2;
/// AV_PROFILE_PRORES_XQ = 5
@@ -986,6 +1082,7 @@ public static unsafe partial class ffmpeg
// public static av_sat_dsub32 = av_sat_dsub32_c;
// public static av_sat_sub32 = av_sat_sub32_c;
// public static av_sat_sub64 = av_sat_sub64_c;
+ // public static av_scanf_format = fmtpos;
// public static AV_STRINGIFY = (s)(AV_TOSTRING(s));
/// AV_SUBTITLE_FLAG_FORCED = 0x1
public const int AV_SUBTITLE_FLAG_FORCED = 0x1;
@@ -1004,6 +1101,9 @@ public static unsafe partial class ffmpeg
// public static AV_VERSION_MAJOR = (a)((a)(>>0x10));
// public static AV_VERSION_MICRO = (a)((a)(&0xff));
// public static AV_VERSION_MINOR = (a)((a)(&0xff00) >> 0x8);
+ /// AV_VIDEO_MAX_PLANES = 4
+ public const int AV_VIDEO_MAX_PLANES = 0x4;
+ // public static av_zero_extend = av_zero_extend_c;
// public static AVERROR = (e) (-(e));
/// AVERROR_BSF_NOT_FOUND = FFERRTAG(0xF8,'B','S','F')
public static readonly int AVERROR_BSF_NOT_FOUND = FFERRTAG(0xf8, 'B', 'S', 'F');
@@ -1039,6 +1139,8 @@ public static unsafe partial class ffmpeg
public static readonly int AVERROR_HTTP_OTHER_4XX = FFERRTAG(0xf8, '4', 'X', 'X');
/// AVERROR_HTTP_SERVER_ERROR = FFERRTAG(0xF8,'5','X','X')
public static readonly int AVERROR_HTTP_SERVER_ERROR = FFERRTAG(0xf8, '5', 'X', 'X');
+ /// AVERROR_HTTP_TOO_MANY_REQUESTS = FFERRTAG(0xF8,'4','2','9')
+ public static readonly int AVERROR_HTTP_TOO_MANY_REQUESTS = FFERRTAG(0xf8, '4', '2', '9');
/// AVERROR_HTTP_UNAUTHORIZED = FFERRTAG(0xF8,'4','0','1')
public static readonly int AVERROR_HTTP_UNAUTHORIZED = FFERRTAG(0xf8, '4', '0', '1');
/// AVERROR_INPUT_CHANGED = (-0x636e6701)
@@ -1081,8 +1183,6 @@ public static unsafe partial class ffmpeg
public const int AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL = 0x1 << 0x11;
/// AVFILTER_THREAD_SLICE = 0x1 << 0x0
public const int AVFILTER_THREAD_SLICE = 0x1 << 0x0;
- /// AVFMT_ALLOW_FLUSH = 0x10000
- public const int AVFMT_ALLOW_FLUSH = 0x10000;
/// AVFMT_AVOID_NEG_TS_AUTO = -1
public const int AVFMT_AVOID_NEG_TS_AUTO = -0x1;
/// AVFMT_AVOID_NEG_TS_DISABLED = 0
@@ -1121,8 +1221,6 @@ public static unsafe partial class ffmpeg
public const int AVFMT_FLAG_NONBLOCK = 0x4;
/// AVFMT_FLAG_NOPARSE = 0x0020
public const int AVFMT_FLAG_NOPARSE = 0x20;
- /// AVFMT_FLAG_SHORTEST = 0x100000
- public const int AVFMT_FLAG_SHORTEST = 0x100000;
/// AVFMT_FLAG_SORT_DTS = 0x10000
public const int AVFMT_FLAG_SORT_DTS = 0x10000;
/// AVFMT_GENERIC_INDEX = 0x0100
@@ -1190,8 +1288,8 @@ public static unsafe partial class ffmpeg
public const int AVPROBE_SCORE_EXTENSION = 0x32;
/// AVPROBE_SCORE_MAX = 100
public const int AVPROBE_SCORE_MAX = 0x64;
- /// AVPROBE_SCORE_MIME = 75
- public const int AVPROBE_SCORE_MIME = 0x4b;
+ /// AVPROBE_SCORE_MIME_BONUS = 30
+ public const int AVPROBE_SCORE_MIME_BONUS = 0x1e;
/// AVPROBE_SCORE_RETRY = (AVPROBE_SCORE_MAX/4)
public const int AVPROBE_SCORE_RETRY = AVPROBE_SCORE_MAX / 0x4;
/// AVPROBE_SCORE_STREAM_RETRY = (AVPROBE_SCORE_MAX/4-1)
@@ -1217,82 +1315,40 @@ public static unsafe partial class ffmpeg
/// AVSTREAM_INIT_IN_WRITE_HEADER = 0
public const int AVSTREAM_INIT_IN_WRITE_HEADER = 0x0;
// public static AVUNERROR = (e) (-(e));
- /// FF_API_ALLOW_FLUSH = (LIBAVFORMAT_VERSION_MAJOR < 61)
- public const bool FF_API_ALLOW_FLUSH = LIBAVFORMAT_VERSION_MAJOR < 0x3d;
- /// FF_API_AV_FOPEN_UTF8 = (LIBAVUTIL_VERSION_MAJOR < 59)
- public const bool FF_API_AV_FOPEN_UTF8 = LIBAVUTIL_VERSION_MAJOR < 0x3b;
- /// FF_API_AVCODEC_CHROMA_POS = (LIBAVCODEC_VERSION_MAJOR < 61)
- public const bool FF_API_AVCODEC_CHROMA_POS = LIBAVCODEC_VERSION_MAJOR < 0x3d;
- /// FF_API_AVCTX_FRAME_NUMBER = (LIBAVCODEC_VERSION_MAJOR < 61)
- public const bool FF_API_AVCTX_FRAME_NUMBER = LIBAVCODEC_VERSION_MAJOR < 0x3d;
- /// FF_API_AVFFT = (LIBAVCODEC_VERSION_MAJOR < 62)
- public const bool FF_API_AVFFT = LIBAVCODEC_VERSION_MAJOR < 0x3e;
- /// FF_API_AVFORMAT_IO_CLOSE = (LIBAVFORMAT_VERSION_MAJOR < 61)
- public const bool FF_API_AVFORMAT_IO_CLOSE = LIBAVFORMAT_VERSION_MAJOR < 0x3d;
- /// FF_API_AVIO_WRITE_NONCONST = (LIBAVFORMAT_VERSION_MAJOR < 61)
- public const bool FF_API_AVIO_WRITE_NONCONST = LIBAVFORMAT_VERSION_MAJOR < 0x3d;
- /// FF_API_AVIODIRCONTEXT = (LIBAVFORMAT_VERSION_MAJOR < 61)
- public const bool FF_API_AVIODIRCONTEXT = LIBAVFORMAT_VERSION_MAJOR < 0x3d;
- /// FF_API_AVSTREAM_SIDE_DATA = (LIBAVFORMAT_VERSION_MAJOR < 61)
- public const bool FF_API_AVSTREAM_SIDE_DATA = LIBAVFORMAT_VERSION_MAJOR < 0x3d;
- /// FF_API_AYUV_CODECID = (LIBAVCODEC_VERSION_MAJOR < 61)
- public const bool FF_API_AYUV_CODECID = LIBAVCODEC_VERSION_MAJOR < 0x3d;
- /// FF_API_COMPUTE_PKT_FIELDS2 = (LIBAVFORMAT_VERSION_MAJOR < 61)
- public const bool FF_API_COMPUTE_PKT_FIELDS2 = LIBAVFORMAT_VERSION_MAJOR < 0x3d;
- /// FF_API_DROPCHANGED = (LIBAVCODEC_VERSION_MAJOR < 61)
- public const bool FF_API_DROPCHANGED = LIBAVCODEC_VERSION_MAJOR < 0x3d;
- /// FF_API_FF_PROFILE_LEVEL = (LIBAVCODEC_VERSION_MAJOR < 62)
- public const bool FF_API_FF_PROFILE_LEVEL = LIBAVCODEC_VERSION_MAJOR < 0x3e;
- /// FF_API_FIFO_OLD_API = (LIBAVUTIL_VERSION_MAJOR < 59)
- public const bool FF_API_FIFO_OLD_API = LIBAVUTIL_VERSION_MAJOR < 0x3b;
- /// FF_API_FIFO_PEEK2 = (LIBAVUTIL_VERSION_MAJOR < 59)
- public const bool FF_API_FIFO_PEEK2 = LIBAVUTIL_VERSION_MAJOR < 0x3b;
- /// FF_API_FRAME_KEY = (LIBAVUTIL_VERSION_MAJOR < 59)
- public const bool FF_API_FRAME_KEY = LIBAVUTIL_VERSION_MAJOR < 0x3b;
- /// FF_API_FRAME_PICTURE_NUMBER = (LIBAVUTIL_VERSION_MAJOR < 59)
- public const bool FF_API_FRAME_PICTURE_NUMBER = LIBAVUTIL_VERSION_MAJOR < 0x3b;
- /// FF_API_FRAME_PKT = (LIBAVUTIL_VERSION_MAJOR < 59)
- public const bool FF_API_FRAME_PKT = LIBAVUTIL_VERSION_MAJOR < 0x3b;
- /// FF_API_GET_END_PTS = (LIBAVFORMAT_VERSION_MAJOR < 61)
- public const bool FF_API_GET_END_PTS = LIBAVFORMAT_VERSION_MAJOR < 0x3d;
- /// FF_API_HDR_VIVID_THREE_SPLINE = (LIBAVUTIL_VERSION_MAJOR < 59)
- public const bool FF_API_HDR_VIVID_THREE_SPLINE = LIBAVUTIL_VERSION_MAJOR < 0x3b;
- /// FF_API_IDCT_NONE = (LIBAVCODEC_VERSION_MAJOR < 61)
- public const bool FF_API_IDCT_NONE = LIBAVCODEC_VERSION_MAJOR < 0x3d;
- /// FF_API_INIT_PACKET = (LIBAVCODEC_VERSION_MAJOR < 61)
- public const bool FF_API_INIT_PACKET = LIBAVCODEC_VERSION_MAJOR < 0x3d;
- /// FF_API_INTERLACED_FRAME = (LIBAVUTIL_VERSION_MAJOR < 59)
- public const bool FF_API_INTERLACED_FRAME = LIBAVUTIL_VERSION_MAJOR < 0x3b;
- /// FF_API_LAVF_SHORTEST = (LIBAVFORMAT_VERSION_MAJOR < 61)
- public const bool FF_API_LAVF_SHORTEST = LIBAVFORMAT_VERSION_MAJOR < 0x3d;
- /// FF_API_LIBPLACEBO_OPTS = LIBAVFILTER_VERSION_MAJOR < 0xa
- public const bool FF_API_LIBPLACEBO_OPTS = LIBAVFILTER_VERSION_MAJOR < 0xa;
- /// FF_API_OLD_CHANNEL_LAYOUT = (LIBAVUTIL_VERSION_MAJOR < 59)
- public const bool FF_API_OLD_CHANNEL_LAYOUT = LIBAVUTIL_VERSION_MAJOR < 0x3b;
- /// FF_API_PALETTE_HAS_CHANGED = (LIBAVUTIL_VERSION_MAJOR < 59)
- public const bool FF_API_PALETTE_HAS_CHANGED = LIBAVUTIL_VERSION_MAJOR < 0x3b;
- /// FF_API_PKT_DURATION = (LIBAVUTIL_VERSION_MAJOR < 59)
- public const bool FF_API_PKT_DURATION = LIBAVUTIL_VERSION_MAJOR < 0x3b;
+ /// FF_API_ALSA_CHANNELS = (LIBAVDEVICE_VERSION_MAJOR < 63)
+ public const bool FF_API_ALSA_CHANNELS = LIBAVDEVICE_VERSION_MAJOR < 0x3f;
+ /// FF_API_BUFFERSINK_OPTS = LIBAVFILTER_VERSION_MAJOR < 0xc
+ public const bool FF_API_BUFFERSINK_OPTS = LIBAVFILTER_VERSION_MAJOR < 0xc;
+ /// FF_API_CODEC_PROPS = (LIBAVCODEC_VERSION_MAJOR < 63)
+ public const bool FF_API_CODEC_PROPS = LIBAVCODEC_VERSION_MAJOR < 0x3f;
+ /// FF_API_COMPUTE_PKT_FIELDS2 = (LIBAVFORMAT_VERSION_MAJOR < 63)
+ public const bool FF_API_COMPUTE_PKT_FIELDS2 = LIBAVFORMAT_VERSION_MAJOR < 0x3f;
+ /// FF_API_CONTEXT_PUBLIC = LIBAVFILTER_VERSION_MAJOR < 0xc
+ public const bool FF_API_CONTEXT_PUBLIC = LIBAVFILTER_VERSION_MAJOR < 0xc;
+ /// FF_API_EXR_GAMMA = (LIBAVCODEC_VERSION_MAJOR < 63)
+ public const bool FF_API_EXR_GAMMA = LIBAVCODEC_VERSION_MAJOR < 0x3f;
+ /// FF_API_INIT_PACKET = (LIBAVCODEC_VERSION_MAJOR < 63)
+ public const bool FF_API_INIT_PACKET = LIBAVCODEC_VERSION_MAJOR < 0x3f;
+ /// FF_API_INTERNAL_TIMING = (LIBAVFORMAT_VERSION_MAJOR < 63)
+ public const bool FF_API_INTERNAL_TIMING = LIBAVFORMAT_VERSION_MAJOR < 0x3f;
+ /// FF_API_MOD_UINTP2 = (LIBAVUTIL_VERSION_MAJOR < 61)
+ public const bool FF_API_MOD_UINTP2 = LIBAVUTIL_VERSION_MAJOR < 0x3d;
+ /// FF_API_NO_DEFAULT_TLS_VERIFY = (LIBAVFORMAT_VERSION_MAJOR < 63)
+ public const bool FF_API_NO_DEFAULT_TLS_VERIFY = LIBAVFORMAT_VERSION_MAJOR < 0x3f;
+ /// FF_API_NVDEC_OLD_PIX_FMTS = (LIBAVCODEC_VERSION_MAJOR < 63)
+ public const bool FF_API_NVDEC_OLD_PIX_FMTS = LIBAVCODEC_VERSION_MAJOR < 0x3f;
+ /// FF_API_OPT_INT_LIST = (LIBAVUTIL_VERSION_MAJOR < 61)
+ public const bool FF_API_OPT_INT_LIST = LIBAVUTIL_VERSION_MAJOR < 0x3d;
+ /// FF_API_OPT_PTR = (LIBAVUTIL_VERSION_MAJOR < 61)
+ public const bool FF_API_OPT_PTR = LIBAVUTIL_VERSION_MAJOR < 0x3d;
/// FF_API_R_FRAME_RATE = 1
public const int FF_API_R_FRAME_RATE = 0x1;
- /// FF_API_REORDERED_OPAQUE = (LIBAVUTIL_VERSION_MAJOR < 59)
- public const bool FF_API_REORDERED_OPAQUE = LIBAVUTIL_VERSION_MAJOR < 0x3b;
- /// FF_API_SLICE_OFFSET = (LIBAVCODEC_VERSION_MAJOR < 61)
- public const bool FF_API_SLICE_OFFSET = LIBAVCODEC_VERSION_MAJOR < 0x3d;
- /// FF_API_SUBFRAMES = (LIBAVCODEC_VERSION_MAJOR < 61)
- public const bool FF_API_SUBFRAMES = LIBAVCODEC_VERSION_MAJOR < 0x3d;
- /// FF_API_SVTAV1_OPTS = (LIBAVCODEC_VERSION_MAJOR < 61)
- public const bool FF_API_SVTAV1_OPTS = LIBAVCODEC_VERSION_MAJOR < 0x3d;
- /// FF_API_TICKS_PER_FRAME = (LIBAVCODEC_VERSION_MAJOR < 61)
- public const bool FF_API_TICKS_PER_FRAME = LIBAVCODEC_VERSION_MAJOR < 0x3d;
- /// FF_API_VT_HWACCEL_CONTEXT = (LIBAVCODEC_VERSION_MAJOR < 61)
- public const bool FF_API_VT_HWACCEL_CONTEXT = LIBAVCODEC_VERSION_MAJOR < 0x3d;
- /// FF_API_VT_OUTPUT_CALLBACK = (LIBAVCODEC_VERSION_MAJOR < 61)
- public const bool FF_API_VT_OUTPUT_CALLBACK = LIBAVCODEC_VERSION_MAJOR < 0x3d;
- /// FF_API_VULKAN_CONTIGUOUS_MEMORY = (LIBAVUTIL_VERSION_MAJOR < 59)
- public const bool FF_API_VULKAN_CONTIGUOUS_MEMORY = LIBAVUTIL_VERSION_MAJOR < 0x3b;
- /// FF_API_XVMC = (LIBAVUTIL_VERSION_MAJOR < 59)
- public const bool FF_API_XVMC = LIBAVUTIL_VERSION_MAJOR < 0x3b;
+ /// FF_API_RISCV_FD_ZBA = (LIBAVUTIL_VERSION_MAJOR < 61)
+ public const bool FF_API_RISCV_FD_ZBA = LIBAVUTIL_VERSION_MAJOR < 0x3d;
+ /// FF_API_V408_CODECID = (LIBAVCODEC_VERSION_MAJOR < 63)
+ public const bool FF_API_V408_CODECID = LIBAVCODEC_VERSION_MAJOR < 0x3f;
+ /// FF_API_VULKAN_FIXED_QUEUES = (LIBAVUTIL_VERSION_MAJOR < 61)
+ public const bool FF_API_VULKAN_FIXED_QUEUES = LIBAVUTIL_VERSION_MAJOR < 0x3d;
// public static FF_ARRAY_ELEMS = (a) (sizeof(a) / sizeof((a)[0]));
/// FF_BUG_AMV = 0x20
public const int FF_BUG_AMV = 0x20;
@@ -1359,14 +1415,18 @@ public static unsafe partial class ffmpeg
public const int FF_CMP_W97 = 0xc;
/// FF_CMP_ZERO = 0x7
public const int FF_CMP_ZERO = 0x7;
- /// FF_CODEC_CRYSTAL_HD = (LIBAVCODEC_VERSION_MAJOR < 61)
- public const bool FF_CODEC_CRYSTAL_HD = LIBAVCODEC_VERSION_MAJOR < 0x3d;
+ /// FF_CODEC_OMX = (LIBAVCODEC_VERSION_MAJOR < 63)
+ public const bool FF_CODEC_OMX = LIBAVCODEC_VERSION_MAJOR < 0x3f;
/// FF_CODEC_PROPERTY_CLOSED_CAPTIONS = 0x2
public const int FF_CODEC_PROPERTY_CLOSED_CAPTIONS = 0x2;
/// FF_CODEC_PROPERTY_FILM_GRAIN = 0x4
public const int FF_CODEC_PROPERTY_FILM_GRAIN = 0x4;
/// FF_CODEC_PROPERTY_LOSSLESS = 0x1
public const int FF_CODEC_PROPERTY_LOSSLESS = 0x1;
+ /// FF_CODEC_SONIC_DEC = (LIBAVCODEC_VERSION_MAJOR < 63)
+ public const bool FF_CODEC_SONIC_DEC = LIBAVCODEC_VERSION_MAJOR < 0x3f;
+ /// FF_CODEC_SONIC_ENC = (LIBAVCODEC_VERSION_MAJOR < 63)
+ public const bool FF_CODEC_SONIC_ENC = LIBAVCODEC_VERSION_MAJOR < 0x3f;
/// FF_COMPLIANCE_EXPERIMENTAL = -2
public const int FF_COMPLIANCE_EXPERIMENTAL = -0x2;
/// FF_COMPLIANCE_NORMAL = 0
@@ -1391,6 +1451,8 @@ public static unsafe partial class ffmpeg
public const int FF_DCT_INT = 0x2;
/// FF_DCT_MMX = 0x3
public const int FF_DCT_MMX = 0x3;
+ /// FF_DCT_NEON = 0x7
+ public const int FF_DCT_NEON = 0x7;
/// FF_DEBUG_BITSTREAM = 0x4
public const int FF_DEBUG_BITSTREAM = 0x4;
/// FF_DEBUG_BUFFERS = 0x8000
@@ -1429,10 +1491,6 @@ public static unsafe partial class ffmpeg
public const int FF_DECODE_ERROR_INVALID_BITSTREAM = 0x1;
/// FF_DECODE_ERROR_MISSING_REFERENCE = 2
public const int FF_DECODE_ERROR_MISSING_REFERENCE = 0x2;
- /// FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO = 0x2
- public const int FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO = 0x2;
- /// FF_DXVA2_WORKAROUND_SCALING_LIST_ZIGZAG = 0x1
- public const int FF_DXVA2_WORKAROUND_SCALING_LIST_ZIGZAG = 0x1;
/// FF_EC_DEBLOCK = 0x2
public const int FF_EC_DEBLOCK = 0x2;
/// FF_EC_FAVOR_INTER = 0x100
@@ -1451,8 +1509,6 @@ public static unsafe partial class ffmpeg
public const int FF_IDCT_FAAN = 0x14;
/// FF_IDCT_INT = 0x1
public const int FF_IDCT_INT = 0x1;
- /// FF_IDCT_NONE = 0x18
- public const int FF_IDCT_NONE = 0x18;
/// FF_IDCT_SIMPLE = 0x2
public const int FF_IDCT_SIMPLE = 0x2;
/// FF_IDCT_SIMPLEARM = 0xa
@@ -1475,8 +1531,6 @@ public static unsafe partial class ffmpeg
public const int FF_LAMBDA_SCALE = 0x1 << FF_LAMBDA_SHIFT;
/// FF_LAMBDA_SHIFT = 7
public const int FF_LAMBDA_SHIFT = 0x7;
- /// FF_LEVEL_UNKNOWN = -0x63
- public const int FF_LEVEL_UNKNOWN = -0x63;
/// FF_LOSS_ALPHA = 0x8
public const int FF_LOSS_ALPHA = 0x8;
/// FF_LOSS_CHROMA = 0x20
@@ -1499,222 +1553,6 @@ public static unsafe partial class ffmpeg
public const int FF_MB_DECISION_RD = 0x2;
/// FF_MB_DECISION_SIMPLE = 0x0
public const int FF_MB_DECISION_SIMPLE = 0x0;
- /// FF_PROFILE_AAC_ELD = 0x26
- public const int FF_PROFILE_AAC_ELD = 0x26;
- /// FF_PROFILE_AAC_HE = 0x4
- public const int FF_PROFILE_AAC_HE = 0x4;
- /// FF_PROFILE_AAC_HE_V2 = 0x1c
- public const int FF_PROFILE_AAC_HE_V2 = 0x1c;
- /// FF_PROFILE_AAC_LD = 0x16
- public const int FF_PROFILE_AAC_LD = 0x16;
- /// FF_PROFILE_AAC_LOW = 0x1
- public const int FF_PROFILE_AAC_LOW = 0x1;
- /// FF_PROFILE_AAC_LTP = 0x3
- public const int FF_PROFILE_AAC_LTP = 0x3;
- /// FF_PROFILE_AAC_MAIN = 0x0
- public const int FF_PROFILE_AAC_MAIN = 0x0;
- /// FF_PROFILE_AAC_SSR = 0x2
- public const int FF_PROFILE_AAC_SSR = 0x2;
- /// FF_PROFILE_ARIB_PROFILE_A = 0x0
- public const int FF_PROFILE_ARIB_PROFILE_A = 0x0;
- /// FF_PROFILE_ARIB_PROFILE_C = 0x1
- public const int FF_PROFILE_ARIB_PROFILE_C = 0x1;
- /// FF_PROFILE_AV1_HIGH = 0x1
- public const int FF_PROFILE_AV1_HIGH = 0x1;
- /// FF_PROFILE_AV1_MAIN = 0x0
- public const int FF_PROFILE_AV1_MAIN = 0x0;
- /// FF_PROFILE_AV1_PROFESSIONAL = 0x2
- public const int FF_PROFILE_AV1_PROFESSIONAL = 0x2;
- /// FF_PROFILE_DNXHD = 0x0
- public const int FF_PROFILE_DNXHD = 0x0;
- /// FF_PROFILE_DNXHR_444 = 0x5
- public const int FF_PROFILE_DNXHR_444 = 0x5;
- /// FF_PROFILE_DNXHR_HQ = 0x3
- public const int FF_PROFILE_DNXHR_HQ = 0x3;
- /// FF_PROFILE_DNXHR_HQX = 0x4
- public const int FF_PROFILE_DNXHR_HQX = 0x4;
- /// FF_PROFILE_DNXHR_LB = 0x1
- public const int FF_PROFILE_DNXHR_LB = 0x1;
- /// FF_PROFILE_DNXHR_SQ = 0x2
- public const int FF_PROFILE_DNXHR_SQ = 0x2;
- /// FF_PROFILE_DTS = 0x14
- public const int FF_PROFILE_DTS = 0x14;
- /// FF_PROFILE_DTS_96_24 = 0x28
- public const int FF_PROFILE_DTS_96_24 = 0x28;
- /// FF_PROFILE_DTS_ES = 0x1e
- public const int FF_PROFILE_DTS_ES = 0x1e;
- /// FF_PROFILE_DTS_EXPRESS = 0x46
- public const int FF_PROFILE_DTS_EXPRESS = 0x46;
- /// FF_PROFILE_DTS_HD_HRA = 0x32
- public const int FF_PROFILE_DTS_HD_HRA = 0x32;
- /// FF_PROFILE_DTS_HD_MA = 0x3c
- public const int FF_PROFILE_DTS_HD_MA = 0x3c;
- /// FF_PROFILE_DTS_HD_MA_X = 0x3d
- public const int FF_PROFILE_DTS_HD_MA_X = 0x3d;
- /// FF_PROFILE_DTS_HD_MA_X_IMAX = 0x3e
- public const int FF_PROFILE_DTS_HD_MA_X_IMAX = 0x3e;
- /// FF_PROFILE_EAC3_DDP_ATMOS = 0x1e
- public const int FF_PROFILE_EAC3_DDP_ATMOS = 0x1e;
- /// FF_PROFILE_EVC_BASELINE = 0x0
- public const int FF_PROFILE_EVC_BASELINE = 0x0;
- /// FF_PROFILE_EVC_MAIN = 0x1
- public const int FF_PROFILE_EVC_MAIN = 0x1;
- /// FF_PROFILE_H264_BASELINE = 0x42
- public const int FF_PROFILE_H264_BASELINE = 0x42;
- /// FF_PROFILE_H264_CAVLC_444 = 0x2c
- public const int FF_PROFILE_H264_CAVLC_444 = 0x2c;
- /// FF_PROFILE_H264_CONSTRAINED = 0x1 << 0x9
- public const int FF_PROFILE_H264_CONSTRAINED = 0x1 << 0x9;
- /// FF_PROFILE_H264_CONSTRAINED_BASELINE = 0x42 | FF_PROFILE_H264_CONSTRAINED
- public const int FF_PROFILE_H264_CONSTRAINED_BASELINE = 0x42 | FF_PROFILE_H264_CONSTRAINED;
- /// FF_PROFILE_H264_EXTENDED = 0x58
- public const int FF_PROFILE_H264_EXTENDED = 0x58;
- /// FF_PROFILE_H264_HIGH = 0x64
- public const int FF_PROFILE_H264_HIGH = 0x64;
- /// FF_PROFILE_H264_HIGH_10 = 0x6e
- public const int FF_PROFILE_H264_HIGH_10 = 0x6e;
- /// FF_PROFILE_H264_HIGH_10_INTRA = 0x6e | FF_PROFILE_H264_INTRA
- public const int FF_PROFILE_H264_HIGH_10_INTRA = 0x6e | FF_PROFILE_H264_INTRA;
- /// FF_PROFILE_H264_HIGH_422 = 0x7a
- public const int FF_PROFILE_H264_HIGH_422 = 0x7a;
- /// FF_PROFILE_H264_HIGH_422_INTRA = 0x7a | FF_PROFILE_H264_INTRA
- public const int FF_PROFILE_H264_HIGH_422_INTRA = 0x7a | FF_PROFILE_H264_INTRA;
- /// FF_PROFILE_H264_HIGH_444 = 0x90
- public const int FF_PROFILE_H264_HIGH_444 = 0x90;
- /// FF_PROFILE_H264_HIGH_444_INTRA = 0xf4 | FF_PROFILE_H264_INTRA
- public const int FF_PROFILE_H264_HIGH_444_INTRA = 0xf4 | FF_PROFILE_H264_INTRA;
- /// FF_PROFILE_H264_HIGH_444_PREDICTIVE = 0xf4
- public const int FF_PROFILE_H264_HIGH_444_PREDICTIVE = 0xf4;
- /// FF_PROFILE_H264_INTRA = 0x1 << 0xb
- public const int FF_PROFILE_H264_INTRA = 0x1 << 0xb;
- /// FF_PROFILE_H264_MAIN = 0x4d
- public const int FF_PROFILE_H264_MAIN = 0x4d;
- /// FF_PROFILE_H264_MULTIVIEW_HIGH = 0x76
- public const int FF_PROFILE_H264_MULTIVIEW_HIGH = 0x76;
- /// FF_PROFILE_H264_STEREO_HIGH = 0x80
- public const int FF_PROFILE_H264_STEREO_HIGH = 0x80;
- /// FF_PROFILE_HEVC_MAIN = 0x1
- public const int FF_PROFILE_HEVC_MAIN = 0x1;
- /// FF_PROFILE_HEVC_MAIN_10 = 0x2
- public const int FF_PROFILE_HEVC_MAIN_10 = 0x2;
- /// FF_PROFILE_HEVC_MAIN_STILL_PICTURE = 0x3
- public const int FF_PROFILE_HEVC_MAIN_STILL_PICTURE = 0x3;
- /// FF_PROFILE_HEVC_REXT = 0x4
- public const int FF_PROFILE_HEVC_REXT = 0x4;
- /// FF_PROFILE_HEVC_SCC = 0x9
- public const int FF_PROFILE_HEVC_SCC = 0x9;
- /// FF_PROFILE_JPEG2000_CSTREAM_NO_RESTRICTION = 0x8000
- public const int FF_PROFILE_JPEG2000_CSTREAM_NO_RESTRICTION = 0x8000;
- /// FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_0 = 0x1
- public const int FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_0 = 0x1;
- /// FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_1 = 0x2
- public const int FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_1 = 0x2;
- /// FF_PROFILE_JPEG2000_DCINEMA_2K = 0x3
- public const int FF_PROFILE_JPEG2000_DCINEMA_2K = 0x3;
- /// FF_PROFILE_JPEG2000_DCINEMA_4K = 0x4
- public const int FF_PROFILE_JPEG2000_DCINEMA_4K = 0x4;
- /// FF_PROFILE_KLVA_ASYNC = 0x1
- public const int FF_PROFILE_KLVA_ASYNC = 0x1;
- /// FF_PROFILE_KLVA_SYNC = 0x0
- public const int FF_PROFILE_KLVA_SYNC = 0x0;
- /// FF_PROFILE_MJPEG_HUFFMAN_BASELINE_DCT = 0xc0
- public const int FF_PROFILE_MJPEG_HUFFMAN_BASELINE_DCT = 0xc0;
- /// FF_PROFILE_MJPEG_HUFFMAN_EXTENDED_SEQUENTIAL_DCT = 0xc1
- public const int FF_PROFILE_MJPEG_HUFFMAN_EXTENDED_SEQUENTIAL_DCT = 0xc1;
- /// FF_PROFILE_MJPEG_HUFFMAN_LOSSLESS = 0xc3
- public const int FF_PROFILE_MJPEG_HUFFMAN_LOSSLESS = 0xc3;
- /// FF_PROFILE_MJPEG_HUFFMAN_PROGRESSIVE_DCT = 0xc2
- public const int FF_PROFILE_MJPEG_HUFFMAN_PROGRESSIVE_DCT = 0xc2;
- /// FF_PROFILE_MJPEG_JPEG_LS = 0xf7
- public const int FF_PROFILE_MJPEG_JPEG_LS = 0xf7;
- /// FF_PROFILE_MPEG2_422 = 0x0
- public const int FF_PROFILE_MPEG2_422 = 0x0;
- /// FF_PROFILE_MPEG2_AAC_HE = 0x83
- public const int FF_PROFILE_MPEG2_AAC_HE = 0x83;
- /// FF_PROFILE_MPEG2_AAC_LOW = 0x80
- public const int FF_PROFILE_MPEG2_AAC_LOW = 0x80;
- /// FF_PROFILE_MPEG2_HIGH = 0x1
- public const int FF_PROFILE_MPEG2_HIGH = 0x1;
- /// FF_PROFILE_MPEG2_MAIN = 0x4
- public const int FF_PROFILE_MPEG2_MAIN = 0x4;
- /// FF_PROFILE_MPEG2_SIMPLE = 0x5
- public const int FF_PROFILE_MPEG2_SIMPLE = 0x5;
- /// FF_PROFILE_MPEG2_SNR_SCALABLE = 0x3
- public const int FF_PROFILE_MPEG2_SNR_SCALABLE = 0x3;
- /// FF_PROFILE_MPEG2_SS = 0x2
- public const int FF_PROFILE_MPEG2_SS = 0x2;
- /// FF_PROFILE_MPEG4_ADVANCED_CODING = 0xb
- public const int FF_PROFILE_MPEG4_ADVANCED_CODING = 0xb;
- /// FF_PROFILE_MPEG4_ADVANCED_CORE = 0xc
- public const int FF_PROFILE_MPEG4_ADVANCED_CORE = 0xc;
- /// FF_PROFILE_MPEG4_ADVANCED_REAL_TIME = 0x9
- public const int FF_PROFILE_MPEG4_ADVANCED_REAL_TIME = 0x9;
- /// FF_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE = 0xd
- public const int FF_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE = 0xd;
- /// FF_PROFILE_MPEG4_ADVANCED_SIMPLE = 0xf
- public const int FF_PROFILE_MPEG4_ADVANCED_SIMPLE = 0xf;
- /// FF_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE = 0x7
- public const int FF_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE = 0x7;
- /// FF_PROFILE_MPEG4_CORE = 0x2
- public const int FF_PROFILE_MPEG4_CORE = 0x2;
- /// FF_PROFILE_MPEG4_CORE_SCALABLE = 0xa
- public const int FF_PROFILE_MPEG4_CORE_SCALABLE = 0xa;
- /// FF_PROFILE_MPEG4_HYBRID = 0x8
- public const int FF_PROFILE_MPEG4_HYBRID = 0x8;
- /// FF_PROFILE_MPEG4_MAIN = 0x3
- public const int FF_PROFILE_MPEG4_MAIN = 0x3;
- /// FF_PROFILE_MPEG4_N_BIT = 0x4
- public const int FF_PROFILE_MPEG4_N_BIT = 0x4;
- /// FF_PROFILE_MPEG4_SCALABLE_TEXTURE = 0x5
- public const int FF_PROFILE_MPEG4_SCALABLE_TEXTURE = 0x5;
- /// FF_PROFILE_MPEG4_SIMPLE = 0x0
- public const int FF_PROFILE_MPEG4_SIMPLE = 0x0;
- /// FF_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION = 0x6
- public const int FF_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION = 0x6;
- /// FF_PROFILE_MPEG4_SIMPLE_SCALABLE = 0x1
- public const int FF_PROFILE_MPEG4_SIMPLE_SCALABLE = 0x1;
- /// FF_PROFILE_MPEG4_SIMPLE_STUDIO = 0xe
- public const int FF_PROFILE_MPEG4_SIMPLE_STUDIO = 0xe;
- /// FF_PROFILE_PRORES_4444 = 0x4
- public const int FF_PROFILE_PRORES_4444 = 0x4;
- /// FF_PROFILE_PRORES_HQ = 0x3
- public const int FF_PROFILE_PRORES_HQ = 0x3;
- /// FF_PROFILE_PRORES_LT = 0x1
- public const int FF_PROFILE_PRORES_LT = 0x1;
- /// FF_PROFILE_PRORES_PROXY = 0x0
- public const int FF_PROFILE_PRORES_PROXY = 0x0;
- /// FF_PROFILE_PRORES_STANDARD = 0x2
- public const int FF_PROFILE_PRORES_STANDARD = 0x2;
- /// FF_PROFILE_PRORES_XQ = 0x5
- public const int FF_PROFILE_PRORES_XQ = 0x5;
- /// FF_PROFILE_RESERVED = -0x64
- public const int FF_PROFILE_RESERVED = -0x64;
- /// FF_PROFILE_SBC_MSBC = 0x1
- public const int FF_PROFILE_SBC_MSBC = 0x1;
- /// FF_PROFILE_TRUEHD_ATMOS = 0x1e
- public const int FF_PROFILE_TRUEHD_ATMOS = 0x1e;
- /// FF_PROFILE_UNKNOWN = -0x63
- public const int FF_PROFILE_UNKNOWN = -0x63;
- /// FF_PROFILE_VC1_ADVANCED = 0x3
- public const int FF_PROFILE_VC1_ADVANCED = 0x3;
- /// FF_PROFILE_VC1_COMPLEX = 0x2
- public const int FF_PROFILE_VC1_COMPLEX = 0x2;
- /// FF_PROFILE_VC1_MAIN = 0x1
- public const int FF_PROFILE_VC1_MAIN = 0x1;
- /// FF_PROFILE_VC1_SIMPLE = 0x0
- public const int FF_PROFILE_VC1_SIMPLE = 0x0;
- /// FF_PROFILE_VP9_0 = 0x0
- public const int FF_PROFILE_VP9_0 = 0x0;
- /// FF_PROFILE_VP9_1 = 0x1
- public const int FF_PROFILE_VP9_1 = 0x1;
- /// FF_PROFILE_VP9_2 = 0x2
- public const int FF_PROFILE_VP9_2 = 0x2;
- /// FF_PROFILE_VP9_3 = 0x3
- public const int FF_PROFILE_VP9_3 = 0x3;
- /// FF_PROFILE_VVC_MAIN_10 = 0x1
- public const int FF_PROFILE_VVC_MAIN_10 = 0x1;
- /// FF_PROFILE_VVC_MAIN_10_444 = 0x21
- public const int FF_PROFILE_VVC_MAIN_10_444 = 0x21;
/// FF_QP2LAMBDA = 118
public const int FF_QP2LAMBDA = 0x76;
/// FF_QUALITY_SCALE = FF_LAMBDA_SCALE
@@ -1756,12 +1594,12 @@ public static unsafe partial class ffmpeg
public static readonly string LIBAVCODEC_VERSION = AV_VERSION(LIBAVCODEC_VERSION_MAJOR, LIBAVCODEC_VERSION_MINOR, LIBAVCODEC_VERSION_MICRO);
/// LIBAVCODEC_VERSION_INT = AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, LIBAVCODEC_VERSION_MINOR, LIBAVCODEC_VERSION_MICRO)
public static readonly int LIBAVCODEC_VERSION_INT = AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, LIBAVCODEC_VERSION_MINOR, LIBAVCODEC_VERSION_MICRO);
- /// LIBAVCODEC_VERSION_MAJOR = 60
- public const int LIBAVCODEC_VERSION_MAJOR = 0x3c;
- /// LIBAVCODEC_VERSION_MICRO = 0x66
- public const int LIBAVCODEC_VERSION_MICRO = 0x66;
- /// LIBAVCODEC_VERSION_MINOR = 0x1f
- public const int LIBAVCODEC_VERSION_MINOR = 0x1f;
+ /// LIBAVCODEC_VERSION_MAJOR = 62
+ public const int LIBAVCODEC_VERSION_MAJOR = 0x3e;
+ /// LIBAVCODEC_VERSION_MICRO = 0x64
+ public const int LIBAVCODEC_VERSION_MICRO = 0x64;
+ /// LIBAVCODEC_VERSION_MINOR = 0xb
+ public const int LIBAVCODEC_VERSION_MINOR = 0xb;
/// LIBAVDEVICE_BUILD = LIBAVDEVICE_VERSION_INT
public static readonly int LIBAVDEVICE_BUILD = LIBAVDEVICE_VERSION_INT;
/// LIBAVDEVICE_IDENT = "Lavd" AV_STRINGIFY(LIBAVDEVICE_VERSION)
@@ -1770,12 +1608,12 @@ public static unsafe partial class ffmpeg
public static readonly string LIBAVDEVICE_VERSION = AV_VERSION(LIBAVDEVICE_VERSION_MAJOR, LIBAVDEVICE_VERSION_MINOR, LIBAVDEVICE_VERSION_MICRO);
/// LIBAVDEVICE_VERSION_INT = AV_VERSION_INT(LIBAVDEVICE_VERSION_MAJOR, LIBAVDEVICE_VERSION_MINOR, LIBAVDEVICE_VERSION_MICRO)
public static readonly int LIBAVDEVICE_VERSION_INT = AV_VERSION_INT(LIBAVDEVICE_VERSION_MAJOR, LIBAVDEVICE_VERSION_MINOR, LIBAVDEVICE_VERSION_MICRO);
- /// LIBAVDEVICE_VERSION_MAJOR = 60
- public const int LIBAVDEVICE_VERSION_MAJOR = 0x3c;
+ /// LIBAVDEVICE_VERSION_MAJOR = 62
+ public const int LIBAVDEVICE_VERSION_MAJOR = 0x3e;
/// LIBAVDEVICE_VERSION_MICRO = 100
public const int LIBAVDEVICE_VERSION_MICRO = 0x64;
- /// LIBAVDEVICE_VERSION_MINOR = 3
- public const int LIBAVDEVICE_VERSION_MINOR = 0x3;
+ /// LIBAVDEVICE_VERSION_MINOR = 1
+ public const int LIBAVDEVICE_VERSION_MINOR = 0x1;
/// LIBAVFILTER_BUILD = LIBAVFILTER_VERSION_INT
public static readonly int LIBAVFILTER_BUILD = LIBAVFILTER_VERSION_INT;
/// LIBAVFILTER_IDENT = "Lavfi"
@@ -1784,12 +1622,12 @@ public static unsafe partial class ffmpeg
public static readonly string LIBAVFILTER_VERSION = AV_VERSION(LIBAVFILTER_VERSION_MAJOR, LIBAVFILTER_VERSION_MINOR, LIBAVFILTER_VERSION_MICRO);
/// LIBAVFILTER_VERSION_INT = AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, LIBAVFILTER_VERSION_MINOR, LIBAVFILTER_VERSION_MICRO)
public static readonly int LIBAVFILTER_VERSION_INT = AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, LIBAVFILTER_VERSION_MINOR, LIBAVFILTER_VERSION_MICRO);
- /// LIBAVFILTER_VERSION_MAJOR = 0x9
- public const int LIBAVFILTER_VERSION_MAJOR = 0x9;
+ /// LIBAVFILTER_VERSION_MAJOR = 0xb
+ public const int LIBAVFILTER_VERSION_MAJOR = 0xb;
/// LIBAVFILTER_VERSION_MICRO = 0x64
public const int LIBAVFILTER_VERSION_MICRO = 0x64;
- /// LIBAVFILTER_VERSION_MINOR = 0xc
- public const int LIBAVFILTER_VERSION_MINOR = 0xc;
+ /// LIBAVFILTER_VERSION_MINOR = 0x4
+ public const int LIBAVFILTER_VERSION_MINOR = 0x4;
/// LIBAVFORMAT_BUILD = LIBAVFORMAT_VERSION_INT
public static readonly int LIBAVFORMAT_BUILD = LIBAVFORMAT_VERSION_INT;
/// LIBAVFORMAT_IDENT = "Lavf" AV_STRINGIFY(LIBAVFORMAT_VERSION)
@@ -1798,12 +1636,12 @@ public static unsafe partial class ffmpeg
public static readonly string LIBAVFORMAT_VERSION = AV_VERSION(LIBAVFORMAT_VERSION_MAJOR, LIBAVFORMAT_VERSION_MINOR, LIBAVFORMAT_VERSION_MICRO);
/// LIBAVFORMAT_VERSION_INT = AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, LIBAVFORMAT_VERSION_MINOR, LIBAVFORMAT_VERSION_MICRO)
public static readonly int LIBAVFORMAT_VERSION_INT = AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, LIBAVFORMAT_VERSION_MINOR, LIBAVFORMAT_VERSION_MICRO);
- /// LIBAVFORMAT_VERSION_MAJOR = 60
- public const int LIBAVFORMAT_VERSION_MAJOR = 0x3c;
+ /// LIBAVFORMAT_VERSION_MAJOR = 62
+ public const int LIBAVFORMAT_VERSION_MAJOR = 0x3e;
/// LIBAVFORMAT_VERSION_MICRO = 100
public const int LIBAVFORMAT_VERSION_MICRO = 0x64;
- /// LIBAVFORMAT_VERSION_MINOR = 16
- public const int LIBAVFORMAT_VERSION_MINOR = 0x10;
+ /// LIBAVFORMAT_VERSION_MINOR = 3
+ public const int LIBAVFORMAT_VERSION_MINOR = 0x3;
/// LIBAVUTIL_BUILD = LIBAVUTIL_VERSION_INT
public static readonly int LIBAVUTIL_BUILD = LIBAVUTIL_VERSION_INT;
/// LIBAVUTIL_IDENT = "Lavu" AV_STRINGIFY(LIBAVUTIL_VERSION)
@@ -1812,26 +1650,12 @@ public static unsafe partial class ffmpeg
public static readonly string LIBAVUTIL_VERSION = AV_VERSION(LIBAVUTIL_VERSION_MAJOR, LIBAVUTIL_VERSION_MINOR, LIBAVUTIL_VERSION_MICRO);
/// LIBAVUTIL_VERSION_INT = AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, LIBAVUTIL_VERSION_MINOR, LIBAVUTIL_VERSION_MICRO)
public static readonly int LIBAVUTIL_VERSION_INT = AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, LIBAVUTIL_VERSION_MINOR, LIBAVUTIL_VERSION_MICRO);
- /// LIBAVUTIL_VERSION_MAJOR = 58
- public const int LIBAVUTIL_VERSION_MAJOR = 0x3a;
+ /// LIBAVUTIL_VERSION_MAJOR = 60
+ public const int LIBAVUTIL_VERSION_MAJOR = 0x3c;
/// LIBAVUTIL_VERSION_MICRO = 100
public const int LIBAVUTIL_VERSION_MICRO = 0x64;
- /// LIBAVUTIL_VERSION_MINOR = 29
- public const int LIBAVUTIL_VERSION_MINOR = 0x1d;
- /// LIBPOSTPROC_BUILD = LIBPOSTPROC_VERSION_INT
- public static readonly int LIBPOSTPROC_BUILD = LIBPOSTPROC_VERSION_INT;
- /// LIBPOSTPROC_IDENT = "postproc"
- public const string LIBPOSTPROC_IDENT = "postproc";
- /// LIBPOSTPROC_VERSION = AV_VERSION(LIBPOSTPROC_VERSION_MAJOR, LIBPOSTPROC_VERSION_MINOR, LIBPOSTPROC_VERSION_MICRO)
- public static readonly string LIBPOSTPROC_VERSION = AV_VERSION(LIBPOSTPROC_VERSION_MAJOR, LIBPOSTPROC_VERSION_MINOR, LIBPOSTPROC_VERSION_MICRO);
- /// LIBPOSTPROC_VERSION_INT = AV_VERSION_INT(LIBPOSTPROC_VERSION_MAJOR, LIBPOSTPROC_VERSION_MINOR, LIBPOSTPROC_VERSION_MICRO)
- public static readonly int LIBPOSTPROC_VERSION_INT = AV_VERSION_INT(LIBPOSTPROC_VERSION_MAJOR, LIBPOSTPROC_VERSION_MINOR, LIBPOSTPROC_VERSION_MICRO);
- /// LIBPOSTPROC_VERSION_MAJOR = 0x39
- public const int LIBPOSTPROC_VERSION_MAJOR = 0x39;
- /// LIBPOSTPROC_VERSION_MICRO = 0x64
- public const int LIBPOSTPROC_VERSION_MICRO = 0x64;
- /// LIBPOSTPROC_VERSION_MINOR = 0x3
- public const int LIBPOSTPROC_VERSION_MINOR = 0x3;
+ /// LIBAVUTIL_VERSION_MINOR = 8
+ public const int LIBAVUTIL_VERSION_MINOR = 0x8;
/// LIBSWRESAMPLE_BUILD = LIBSWRESAMPLE_VERSION_INT
public static readonly int LIBSWRESAMPLE_BUILD = LIBSWRESAMPLE_VERSION_INT;
/// LIBSWRESAMPLE_IDENT = "SwR"
@@ -1840,12 +1664,12 @@ public static unsafe partial class ffmpeg
public static readonly string LIBSWRESAMPLE_VERSION = AV_VERSION(LIBSWRESAMPLE_VERSION_MAJOR, LIBSWRESAMPLE_VERSION_MINOR, LIBSWRESAMPLE_VERSION_MICRO);
/// LIBSWRESAMPLE_VERSION_INT = AV_VERSION_INT(LIBSWRESAMPLE_VERSION_MAJOR, LIBSWRESAMPLE_VERSION_MINOR, LIBSWRESAMPLE_VERSION_MICRO)
public static readonly int LIBSWRESAMPLE_VERSION_INT = AV_VERSION_INT(LIBSWRESAMPLE_VERSION_MAJOR, LIBSWRESAMPLE_VERSION_MINOR, LIBSWRESAMPLE_VERSION_MICRO);
- /// LIBSWRESAMPLE_VERSION_MAJOR = 0x4
- public const int LIBSWRESAMPLE_VERSION_MAJOR = 0x4;
+ /// LIBSWRESAMPLE_VERSION_MAJOR = 0x6
+ public const int LIBSWRESAMPLE_VERSION_MAJOR = 0x6;
/// LIBSWRESAMPLE_VERSION_MICRO = 0x64
public const int LIBSWRESAMPLE_VERSION_MICRO = 0x64;
- /// LIBSWRESAMPLE_VERSION_MINOR = 0xc
- public const int LIBSWRESAMPLE_VERSION_MINOR = 0xc;
+ /// LIBSWRESAMPLE_VERSION_MINOR = 0x1
+ public const int LIBSWRESAMPLE_VERSION_MINOR = 0x1;
/// LIBSWSCALE_BUILD = LIBSWSCALE_VERSION_INT
public static readonly int LIBSWSCALE_BUILD = LIBSWSCALE_VERSION_INT;
/// LIBSWSCALE_IDENT = "SwS"
@@ -1854,12 +1678,12 @@ public static unsafe partial class ffmpeg
public static readonly string LIBSWSCALE_VERSION = AV_VERSION(LIBSWSCALE_VERSION_MAJOR, LIBSWSCALE_VERSION_MINOR, LIBSWSCALE_VERSION_MICRO);
/// LIBSWSCALE_VERSION_INT = AV_VERSION_INT(LIBSWSCALE_VERSION_MAJOR, LIBSWSCALE_VERSION_MINOR, LIBSWSCALE_VERSION_MICRO)
public static readonly int LIBSWSCALE_VERSION_INT = AV_VERSION_INT(LIBSWSCALE_VERSION_MAJOR, LIBSWSCALE_VERSION_MINOR, LIBSWSCALE_VERSION_MICRO);
- /// LIBSWSCALE_VERSION_MAJOR = 0x7
- public const int LIBSWSCALE_VERSION_MAJOR = 0x7;
+ /// LIBSWSCALE_VERSION_MAJOR = 0x9
+ public const int LIBSWSCALE_VERSION_MAJOR = 0x9;
/// LIBSWSCALE_VERSION_MICRO = 0x64
public const int LIBSWSCALE_VERSION_MICRO = 0x64;
- /// LIBSWSCALE_VERSION_MINOR = 0x5
- public const int LIBSWSCALE_VERSION_MINOR = 0x5;
+ /// LIBSWSCALE_VERSION_MINOR = 0x1
+ public const int LIBSWSCALE_VERSION_MINOR = 0x1;
/// M_1_PI = 0.31830988618379067154
public const double M_1_PI = 0.3183098861837907D;
/// M_1_PIf = 0.31830988618379067154f
@@ -1922,32 +1746,6 @@ public static unsafe partial class ffmpeg
public const int PARSER_FLAG_ONCE = 0x2;
/// PARSER_FLAG_USE_CODEC_TS = 0x1000
public const int PARSER_FLAG_USE_CODEC_TS = 0x1000;
- /// PP_CPU_CAPS_3DNOW = 0x40000000
- public const int PP_CPU_CAPS_3DNOW = 0x40000000;
- /// PP_CPU_CAPS_ALTIVEC = 0x10000000
- public const int PP_CPU_CAPS_ALTIVEC = 0x10000000;
- /// PP_CPU_CAPS_AUTO = 0x80000
- public const int PP_CPU_CAPS_AUTO = 0x80000;
- /// PP_CPU_CAPS_MMX = 0x80000000U
- public const uint PP_CPU_CAPS_MMX = 0x80000000U;
- /// PP_CPU_CAPS_MMX2 = 0x20000000
- public const int PP_CPU_CAPS_MMX2 = 0x20000000;
- /// PP_FORMAT = 0x8
- public const int PP_FORMAT = 0x8;
- /// PP_FORMAT_411 = 0x2 | PP_FORMAT
- public const int PP_FORMAT_411 = 0x2 | PP_FORMAT;
- /// PP_FORMAT_420 = 0x11 | PP_FORMAT
- public const int PP_FORMAT_420 = 0x11 | PP_FORMAT;
- /// PP_FORMAT_422 = 0x1 | PP_FORMAT
- public const int PP_FORMAT_422 = 0x1 | PP_FORMAT;
- /// PP_FORMAT_440 = 0x10 | PP_FORMAT
- public const int PP_FORMAT_440 = 0x10 | PP_FORMAT;
- /// PP_FORMAT_444 = 0x0 | PP_FORMAT
- public const int PP_FORMAT_444 = 0x0 | PP_FORMAT;
- /// PP_PICT_TYPE_QP2 = 0x10
- public const int PP_PICT_TYPE_QP2 = 0x10;
- /// PP_QUALITY_MAX = 0x6
- public const int PP_QUALITY_MAX = 0x6;
// public static PUT_UTF16 = (val, tmp, PUT_16BIT){uint32_t in = val;if (in < 0x10000) {tmp = in;PUT_16BIT} else {tmp = 0xD800 | ((in - 0x10000) >> 10);PUT_16BITtmp = 0xDC00 | ((in - 0x10000) & 0x3FF);PUT_16BIT}};
// public static PUT_UTF8 = (val, tmp, PUT_BYTE){int bytes, shift;uint32_t in = val;if (in < 0x80) {tmp = in;PUT_BYTE} else {bytes = (av_log2(in) + 4) / 5;shift = (bytes - 1) * 6;tmp = (256 - (256 >> bytes)) | (in >> shift);PUT_BYTEwhile (shift >= 6) {shift -= 6;tmp = 0x80 | ((in >> shift) & 0x3f);PUT_BYTE}}};
// public static ROUNDED_DIV = (a,b) (((a)>=0 ? (a) + ((b)>>1) : (a) - ((b)>>1))/(b));
@@ -1960,18 +1758,6 @@ public static unsafe partial class ffmpeg
public const int SLICE_FLAG_CODED_ORDER = 0x1;
/// SWR_FLAG_RESAMPLE = 0x1
public const int SWR_FLAG_RESAMPLE = 0x1;
- /// SWS_ACCURATE_RND = 0x40000
- public const int SWS_ACCURATE_RND = 0x40000;
- /// SWS_AREA = 0x20
- public const int SWS_AREA = 0x20;
- /// SWS_BICUBIC = 0x4
- public const int SWS_BICUBIC = 0x4;
- /// SWS_BICUBLIN = 0x40
- public const int SWS_BICUBLIN = 0x40;
- /// SWS_BILINEAR = 0x2
- public const int SWS_BILINEAR = 0x2;
- /// SWS_BITEXACT = 0x80000
- public const int SWS_BITEXACT = 0x80000;
/// SWS_CS_BT2020 = 0x9
public const int SWS_CS_BT2020 = 0x9;
/// SWS_CS_DEFAULT = 0x5
@@ -1988,36 +1774,12 @@ public static unsafe partial class ffmpeg
public const int SWS_CS_SMPTE170M = 0x5;
/// SWS_CS_SMPTE240M = 0x7
public const int SWS_CS_SMPTE240M = 0x7;
- /// SWS_DIRECT_BGR = 0x8000
- public const int SWS_DIRECT_BGR = 0x8000;
- /// SWS_ERROR_DIFFUSION = 0x800000
- public const int SWS_ERROR_DIFFUSION = 0x800000;
- /// SWS_FAST_BILINEAR = 0x1
- public const int SWS_FAST_BILINEAR = 0x1;
- /// SWS_FULL_CHR_H_INP = 0x4000
- public const int SWS_FULL_CHR_H_INP = 0x4000;
- /// SWS_FULL_CHR_H_INT = 0x2000
- public const int SWS_FULL_CHR_H_INT = 0x2000;
- /// SWS_GAUSS = 0x80
- public const int SWS_GAUSS = 0x80;
- /// SWS_LANCZOS = 0x200
- public const int SWS_LANCZOS = 0x200;
/// SWS_MAX_REDUCE_CUTOFF = 0.002D
public const double SWS_MAX_REDUCE_CUTOFF = 0.002D;
/// SWS_PARAM_DEFAULT = 0x1e240
public const int SWS_PARAM_DEFAULT = 0x1e240;
- /// SWS_POINT = 0x10
- public const int SWS_POINT = 0x10;
- /// SWS_PRINT_INFO = 0x1000
- public const int SWS_PRINT_INFO = 0x1000;
- /// SWS_SINC = 0x100
- public const int SWS_SINC = 0x100;
- /// SWS_SPLINE = 0x400
- public const int SWS_SPLINE = 0x400;
/// SWS_SRC_V_CHR_DROP_MASK = 0x30000
public const int SWS_SRC_V_CHR_DROP_MASK = 0x30000;
/// SWS_SRC_V_CHR_DROP_SHIFT = 0x10
public const int SWS_SRC_V_CHR_DROP_SHIFT = 0x10;
- /// SWS_X = 0x8
- public const int SWS_X = 0x8;
}
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/ffmpeg.macros.g.cs.meta b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/ffmpeg.macros.g.cs.meta
index 22699d7..f2b6546 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/ffmpeg.macros.g.cs.meta
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/ffmpeg.macros.g.cs.meta
@@ -1,11 +1,2 @@
fileFormatVersion: 2
-guid: b8a1ce047207ae74b9a844f3531d52b2
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
+guid: b8a1ce047207ae74b9a844f3531d52b2
\ No newline at end of file
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/vectors.g.cs b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/vectors.g.cs
index 4134d36..800e0df 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/vectors.g.cs
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/vectors.g.cs
@@ -69,10 +69,6 @@ public static unsafe partial class vectors
public delegate double av_bessel_i0_delegate(double @x);
public static av_bessel_i0_delegate av_bessel_i0;
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate void av_bprint_channel_layout_delegate(AVBPrint* @bp, int @nb_channels, ulong @channel_layout);
- public static av_bprint_channel_layout_delegate av_bprint_channel_layout;
-
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate int av_bsf_alloc_delegate(AVBitStreamFilter* @filter, AVBSFContext** @ctx);
public static av_bsf_alloc_delegate av_bsf_alloc;
@@ -227,14 +223,18 @@ public delegate int av_bsf_list_parse_str_delegate(
public delegate int av_buffersink_get_ch_layout_delegate(AVFilterContext* @ctx, AVChannelLayout* @ch_layout);
public static av_buffersink_get_ch_layout_delegate av_buffersink_get_ch_layout;
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate ulong av_buffersink_get_channel_layout_delegate(AVFilterContext* @ctx);
- public static av_buffersink_get_channel_layout_delegate av_buffersink_get_channel_layout;
-
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate int av_buffersink_get_channels_delegate(AVFilterContext* @ctx);
public static av_buffersink_get_channels_delegate av_buffersink_get_channels;
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate AVColorRange av_buffersink_get_color_range_delegate(AVFilterContext* @ctx);
+ public static av_buffersink_get_color_range_delegate av_buffersink_get_color_range;
+
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate AVColorSpace av_buffersink_get_colorspace_delegate(AVFilterContext* @ctx);
+ public static av_buffersink_get_colorspace_delegate av_buffersink_get_colorspace;
+
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate int av_buffersink_get_format_delegate(AVFilterContext* @ctx);
public static av_buffersink_get_format_delegate av_buffersink_get_format;
@@ -271,6 +271,10 @@ public delegate int av_bsf_list_parse_str_delegate(
public delegate int av_buffersink_get_samples_delegate(AVFilterContext* @ctx, AVFrame* @frame, int @nb_samples);
public static av_buffersink_get_samples_delegate av_buffersink_get_samples;
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate AVFrameSideData** av_buffersink_get_side_data_delegate(AVFilterContext* @ctx, int* @nb_side_data);
+ public static av_buffersink_get_side_data_delegate av_buffersink_get_side_data;
+
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate AVRational av_buffersink_get_time_base_delegate(AVFilterContext* @ctx);
public static av_buffersink_get_time_base_delegate av_buffersink_get_time_base;
@@ -337,6 +341,10 @@ public delegate AVChannel av_channel_from_string_delegate(
string @name);
public static av_channel_from_string_delegate av_channel_from_string;
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate int av_channel_layout_ambisonic_order_delegate(AVChannelLayout* @channel_layout);
+ public static av_channel_layout_ambisonic_order_delegate av_channel_layout_ambisonic_order;
+
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate AVChannel av_channel_layout_channel_from_index_delegate(AVChannelLayout* @channel_layout, uint @idx);
public static av_channel_layout_channel_from_index_delegate av_channel_layout_channel_from_index;
@@ -363,6 +371,10 @@ public delegate AVChannel av_channel_layout_channel_from_string_delegate(AVChann
public delegate int av_channel_layout_copy_delegate(AVChannelLayout* @dst, AVChannelLayout* @src);
public static av_channel_layout_copy_delegate av_channel_layout_copy;
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate int av_channel_layout_custom_init_delegate(AVChannelLayout* @channel_layout, int @nb_channels);
+ public static av_channel_layout_custom_init_delegate av_channel_layout_custom_init;
+
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate void av_channel_layout_default_delegate(AVChannelLayout* @ch_layout, int @nb_channels);
public static av_channel_layout_default_delegate av_channel_layout_default;
@@ -375,10 +387,6 @@ public delegate AVChannel av_channel_layout_channel_from_string_delegate(AVChann
public delegate int av_channel_layout_describe_bprint_delegate(AVChannelLayout* @channel_layout, AVBPrint* @bp);
public static av_channel_layout_describe_bprint_delegate av_channel_layout_describe_bprint;
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate ulong av_channel_layout_extract_channel_delegate(ulong @channel_layout, int @index);
- public static av_channel_layout_extract_channel_delegate av_channel_layout_extract_channel;
-
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate int av_channel_layout_from_mask_delegate(AVChannelLayout* @channel_layout, ulong @mask);
public static av_channel_layout_from_mask_delegate av_channel_layout_from_mask;
@@ -407,6 +415,10 @@ public delegate int av_channel_layout_index_from_string_delegate(AVChannelLayout
string @name);
public static av_channel_layout_index_from_string_delegate av_channel_layout_index_from_string;
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate int av_channel_layout_retype_delegate(AVChannelLayout* @channel_layout, AVChannelOrder @order, int @flags);
+ public static av_channel_layout_retype_delegate av_channel_layout_retype;
+
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate AVChannelLayout* av_channel_layout_standard_delegate(void** @opaque);
public static av_channel_layout_standard_delegate av_channel_layout_standard;
@@ -542,6 +554,10 @@ public delegate int av_color_transfer_from_name_delegate(
public delegate int av_compare_ts_delegate(long @ts_a, AVRational @tb_a, long @ts_b, AVRational @tb_b);
public static av_compare_ts_delegate av_compare_ts;
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate AVContainerFifo* av_container_fifo_alloc_avpacket_delegate(uint @flags);
+ public static av_container_fifo_alloc_avpacket_delegate av_container_fifo_alloc_avpacket;
+
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate AVContentLightMetadata* av_content_light_metadata_alloc_delegate(ulong* @size);
public static av_content_light_metadata_alloc_delegate av_content_light_metadata_alloc;
@@ -812,34 +828,10 @@ public delegate int av_filename_number_test_delegate(
public delegate AVProgram* av_find_program_from_stream_delegate(AVFormatContext* @ic, AVProgram* @last, int @s);
public static av_find_program_from_stream_delegate av_find_program_from_stream;
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate AVDurationEstimationMethod av_fmt_ctx_get_duration_estimation_method_delegate(AVFormatContext* @ctx);
- public static av_fmt_ctx_get_duration_estimation_method_delegate av_fmt_ctx_get_duration_estimation_method;
-
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate _iobuf* av_fopen_utf8_delegate(
- #if NETSTANDARD2_1_OR_GREATER
- [MarshalAs(UnmanagedType.LPUTF8Str)]
- #else
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Marshaler))]
- #endif
- string @path,
- #if NETSTANDARD2_1_OR_GREATER
- [MarshalAs(UnmanagedType.LPUTF8Str)]
- #else
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Marshaler))]
- #endif
- string @mode);
- public static av_fopen_utf8_delegate av_fopen_utf8;
-
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate void av_force_cpu_flags_delegate(int @flags);
public static av_force_cpu_flags_delegate av_force_cpu_flags;
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate void av_format_inject_global_side_data_delegate(AVFormatContext* @s);
- public static av_format_inject_global_side_data_delegate av_format_inject_global_side_data;
-
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate byte* av_fourcc_make_string_delegate(byte* @buf, uint @fourcc);
public static av_fourcc_make_string_delegate av_fourcc_make_string;
@@ -912,11 +904,43 @@ public delegate int av_filename_number_test_delegate(
public delegate int av_frame_replace_delegate(AVFrame* @dst, AVFrame* @src);
public static av_frame_replace_delegate av_frame_replace;
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate AVFrameSideData* av_frame_side_data_add_delegate(AVFrameSideData*** @sd, int* @nb_sd, AVFrameSideDataType @type, AVBufferRef** @buf, uint @flags);
+ public static av_frame_side_data_add_delegate av_frame_side_data_add;
+
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate int av_frame_side_data_clone_delegate(AVFrameSideData*** @sd, int* @nb_sd, AVFrameSideData* @src, uint @flags);
+ public static av_frame_side_data_clone_delegate av_frame_side_data_clone;
+
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate AVSideDataDescriptor* av_frame_side_data_desc_delegate(AVFrameSideDataType @type);
+ public static av_frame_side_data_desc_delegate av_frame_side_data_desc;
+
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate void av_frame_side_data_free_delegate(AVFrameSideData*** @sd, int* @nb_sd);
+ public static av_frame_side_data_free_delegate av_frame_side_data_free;
+
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate AVFrameSideData* av_frame_side_data_get_c_delegate(AVFrameSideData** @sd, int @nb_sd, AVFrameSideDataType @type);
+ public static av_frame_side_data_get_c_delegate av_frame_side_data_get_c;
+
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public delegate string av_frame_side_data_name_delegate(AVFrameSideDataType @type);
public static av_frame_side_data_name_delegate av_frame_side_data_name;
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate AVFrameSideData* av_frame_side_data_new_delegate(AVFrameSideData*** @sd, int* @nb_sd, AVFrameSideDataType @type, ulong @size, uint @flags);
+ public static av_frame_side_data_new_delegate av_frame_side_data_new;
+
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate void av_frame_side_data_remove_delegate(AVFrameSideData*** @sd, int* @nb_sd, AVFrameSideDataType @type);
+ public static av_frame_side_data_remove_delegate av_frame_side_data_remove;
+
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate void av_frame_side_data_remove_by_props_delegate(AVFrameSideData*** @sd, int* @nb_sd, int @props);
+ public static av_frame_side_data_remove_by_props_delegate av_frame_side_data_remove_by_props;
+
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate void av_frame_unref_delegate(AVFrame* @frame);
public static av_frame_unref_delegate av_frame_unref;
@@ -961,60 +985,14 @@ public delegate int av_filename_number_test_delegate(
public delegate int av_get_bytes_per_sample_delegate(AVSampleFormat @sample_fmt);
public static av_get_bytes_per_sample_delegate av_get_bytes_per_sample;
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
- public delegate string av_get_channel_description_delegate(ulong @channel);
- public static av_get_channel_description_delegate av_get_channel_description;
-
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate ulong av_get_channel_layout_delegate(
- #if NETSTANDARD2_1_OR_GREATER
- [MarshalAs(UnmanagedType.LPUTF8Str)]
- #else
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Marshaler))]
- #endif
- string @name);
- public static av_get_channel_layout_delegate av_get_channel_layout;
-
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate int av_get_channel_layout_channel_index_delegate(ulong @channel_layout, ulong @channel);
- public static av_get_channel_layout_channel_index_delegate av_get_channel_layout_channel_index;
-
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate int av_get_channel_layout_nb_channels_delegate(ulong @channel_layout);
- public static av_get_channel_layout_nb_channels_delegate av_get_channel_layout_nb_channels;
-
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate void av_get_channel_layout_string_delegate(byte* @buf, int @buf_size, int @nb_channels, ulong @channel_layout);
- public static av_get_channel_layout_string_delegate av_get_channel_layout_string;
-
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
- public delegate string av_get_channel_name_delegate(ulong @channel);
- public static av_get_channel_name_delegate av_get_channel_name;
-
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate int av_get_cpu_flags_delegate();
public static av_get_cpu_flags_delegate av_get_cpu_flags;
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate long av_get_default_channel_layout_delegate(int @nb_channels);
- public static av_get_default_channel_layout_delegate av_get_default_channel_layout;
-
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate int av_get_exact_bits_per_sample_delegate(AVCodecID @codec_id);
public static av_get_exact_bits_per_sample_delegate av_get_exact_bits_per_sample;
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate int av_get_extended_channel_layout_delegate(
- #if NETSTANDARD2_1_OR_GREATER
- [MarshalAs(UnmanagedType.LPUTF8Str)]
- #else
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Marshaler))]
- #endif
- string @name, ulong* @channel_layout, int* @nb_channels);
- public static av_get_extended_channel_layout_delegate av_get_extended_channel_layout;
-
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate int av_get_frame_filename_delegate(byte* @buf, int @buf_size,
#if NETSTANDARD2_1_OR_GREATER
@@ -1115,10 +1093,6 @@ public delegate AVSampleFormat av_get_sample_fmt_delegate(
public delegate byte* av_get_sample_fmt_string_delegate(byte* @buf, int @buf_size, AVSampleFormat @sample_fmt);
public static av_get_sample_fmt_string_delegate av_get_sample_fmt_string;
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate int av_get_standard_channel_layout_delegate(uint @index, ulong* @layout, byte** @name);
- public static av_get_standard_channel_layout_delegate av_get_standard_channel_layout;
-
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate AVRational av_get_time_base_q_delegate();
public static av_get_time_base_q_delegate av_get_time_base_q;
@@ -1328,6 +1302,10 @@ public delegate AVHWDeviceType av_hwdevice_find_type_by_name_delegate(
public delegate int av_image_fill_black_delegate(ref byte_ptr4 @dst_data, in long4 @dst_linesize, AVPixelFormat @pix_fmt, AVColorRange @range, int @width, int @height);
public static av_image_fill_black_delegate av_image_fill_black;
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate int av_image_fill_color_delegate(ref byte_ptr4 @dst_data, in long4 @dst_linesize, AVPixelFormat @pix_fmt, in uint4 @color, int @width, int @height, int @flags);
+ public static av_image_fill_color_delegate av_image_fill_color;
+
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate int av_image_fill_linesizes_delegate(ref int4 @linesizes, AVPixelFormat @pix_fmt, int @width);
public static av_image_fill_linesizes_delegate av_image_fill_linesizes;
@@ -1474,6 +1452,10 @@ public delegate void av_log_once_delegate(void* @avcl, int @initial_level, int @
public delegate AVMasteringDisplayMetadata* av_mastering_display_metadata_alloc_delegate();
public static av_mastering_display_metadata_alloc_delegate av_mastering_display_metadata_alloc;
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate AVMasteringDisplayMetadata* av_mastering_display_metadata_alloc_size_delegate(ulong* @size);
+ public static av_mastering_display_metadata_alloc_size_delegate av_mastering_display_metadata_alloc_size;
+
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate AVMasteringDisplayMetadata* av_mastering_display_metadata_create_side_data_delegate(AVFrame* @frame);
public static av_mastering_display_metadata_create_side_data_delegate av_mastering_display_metadata_create_side_data;
@@ -1598,6 +1580,16 @@ public delegate int av_opt_eval_q_delegate(void* @obj, AVOption* @o,
string @val, AVRational* @q_out);
public static av_opt_eval_q_delegate av_opt_eval_q;
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate int av_opt_eval_uint_delegate(void* @obj, AVOption* @o,
+ #if NETSTANDARD2_1_OR_GREATER
+ [MarshalAs(UnmanagedType.LPUTF8Str)]
+ #else
+ [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Marshaler))]
+ #endif
+ string @val, uint* @uint_out);
+ public static av_opt_eval_uint_delegate av_opt_eval_uint;
+
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate AVOption* av_opt_find_delegate(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
@@ -1665,14 +1657,24 @@ public delegate int av_opt_get_delegate(void* @obj,
public static av_opt_get_delegate av_opt_get;
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate int av_opt_get_channel_layout_delegate(void* @obj,
+ public delegate int av_opt_get_array_delegate(void* @obj,
+ #if NETSTANDARD2_1_OR_GREATER
+ [MarshalAs(UnmanagedType.LPUTF8Str)]
+ #else
+ [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Marshaler))]
+ #endif
+ string @name, int @search_flags, uint @start_elem, uint @nb_elems, AVOptionType @out_type, void* @out_val);
+ public static av_opt_get_array_delegate av_opt_get_array;
+
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate int av_opt_get_array_size_delegate(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
#else
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Marshaler))]
#endif
- string @name, int @search_flags, long* @ch_layout);
- public static av_opt_get_channel_layout_delegate av_opt_get_channel_layout;
+ string @name, int @search_flags, uint* @out_val);
+ public static av_opt_get_array_size_delegate av_opt_get_array_size;
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate int av_opt_get_chlayout_delegate(void* @obj,
@@ -1849,24 +1851,24 @@ public delegate int av_opt_set_delegate(void* @obj,
public static av_opt_set_delegate av_opt_set;
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate int av_opt_set_bin_delegate(void* @obj,
+ public delegate int av_opt_set_array_delegate(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
#else
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Marshaler))]
#endif
- string @name, byte* @val, int @size, int @search_flags);
- public static av_opt_set_bin_delegate av_opt_set_bin;
+ string @name, int @search_flags, uint @start_elem, uint @nb_elems, AVOptionType @val_type, void* @val);
+ public static av_opt_set_array_delegate av_opt_set_array;
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate int av_opt_set_channel_layout_delegate(void* @obj,
+ public delegate int av_opt_set_bin_delegate(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
#else
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Marshaler))]
#endif
- string @name, long @ch_layout, int @search_flags);
- public static av_opt_set_channel_layout_delegate av_opt_set_channel_layout;
+ string @name, byte* @val, int @size, int @search_flags);
+ public static av_opt_set_bin_delegate av_opt_set_bin;
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate int av_opt_set_chlayout_delegate(void* @obj,
@@ -2343,10 +2345,6 @@ public delegate int av_set_options_string_delegate(void* @ctx,
string @s);
public static av_strdup_delegate av_strdup;
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate int av_stream_add_side_data_delegate(AVStream* @st, AVPacketSideDataType @type, byte* @data, ulong @size);
- public static av_stream_add_side_data_delegate av_stream_add_side_data;
-
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate AVClass* av_stream_get_class_delegate();
public static av_stream_get_class_delegate av_stream_get_class;
@@ -2355,21 +2353,13 @@ public delegate int av_set_options_string_delegate(void* @ctx,
public delegate AVRational av_stream_get_codec_timebase_delegate(AVStream* @st);
public static av_stream_get_codec_timebase_delegate av_stream_get_codec_timebase;
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate long av_stream_get_end_pts_delegate(AVStream* @st);
- public static av_stream_get_end_pts_delegate av_stream_get_end_pts;
-
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate AVCodecParserContext* av_stream_get_parser_delegate(AVStream* @s);
public static av_stream_get_parser_delegate av_stream_get_parser;
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate byte* av_stream_get_side_data_delegate(AVStream* @stream, AVPacketSideDataType @type, ulong* @size);
- public static av_stream_get_side_data_delegate av_stream_get_side_data;
-
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate byte* av_stream_new_side_data_delegate(AVStream* @stream, AVPacketSideDataType @type, ulong @size);
- public static av_stream_new_side_data_delegate av_stream_new_side_data;
+ public delegate AVClass* av_stream_group_get_class_delegate();
+ public static av_stream_group_get_class_delegate av_stream_group_get_class;
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate int av_strerror_delegate(int @errnum, byte* @errbuf, ulong @errbuf_size);
@@ -2389,16 +2379,6 @@ public delegate int av_set_options_string_delegate(void* @ctx,
public delegate AVRational av_sub_q_delegate(AVRational @b, AVRational @c);
public static av_sub_q_delegate av_sub_q;
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate int av_tempfile_delegate(
- #if NETSTANDARD2_1_OR_GREATER
- [MarshalAs(UnmanagedType.LPUTF8Str)]
- #else
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Marshaler))]
- #endif
- string @prefix, byte** @filename, int @log_offset, void* @log_ctx);
- public static av_tempfile_delegate av_tempfile;
-
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate int av_timecode_adjust_ntsc_framenum2_delegate(int @framenum, int @fps);
public static av_timecode_adjust_ntsc_framenum2_delegate av_timecode_adjust_ntsc_framenum2;
@@ -2538,14 +2518,6 @@ public delegate void av_vlog_delegate(void* @avcl, int @level,
public delegate AVCodecContext* avcodec_alloc_context3_delegate(AVCodec* @codec);
public static avcodec_alloc_context3_delegate avcodec_alloc_context3;
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate AVChromaLocation avcodec_chroma_pos_to_enum_delegate(int @xpos, int @ypos);
- public static avcodec_chroma_pos_to_enum_delegate avcodec_chroma_pos_to_enum;
-
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate int avcodec_close_delegate(AVCodecContext* @avctx);
- public static avcodec_close_delegate avcodec_close;
-
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public delegate string avcodec_configuration_delegate();
@@ -2597,10 +2569,6 @@ public delegate void av_vlog_delegate(void* @avcl, int @level,
public delegate int avcodec_encode_subtitle_delegate(AVCodecContext* @avctx, byte* @buf, int @buf_size, AVSubtitle* @sub);
public static avcodec_encode_subtitle_delegate avcodec_encode_subtitle;
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate int avcodec_enum_to_chroma_pos_delegate(int* @xpos, int* @ypos, AVChromaLocation @pos);
- public static avcodec_enum_to_chroma_pos_delegate avcodec_enum_to_chroma_pos;
-
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate int avcodec_fill_audio_frame_delegate(AVFrame* @frame, int @nb_channels, AVSampleFormat @sample_fmt, byte* @buf, int @buf_size, int @align);
public static avcodec_fill_audio_frame_delegate avcodec_fill_audio_frame;
@@ -2666,6 +2634,10 @@ public delegate void av_vlog_delegate(void* @avcl, int @level,
public delegate AVClass* avcodec_get_subtitle_rect_class_delegate();
public static avcodec_get_subtitle_rect_class_delegate avcodec_get_subtitle_rect_class;
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate int avcodec_get_supported_config_delegate(AVCodecContext* @avctx, AVCodec* @codec, AVCodecConfig @config, uint @flags, void** @out_configs, int* @out_num_configs);
+ public static avcodec_get_supported_config_delegate avcodec_get_supported_config;
+
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate AVMediaType avcodec_get_type_delegate(AVCodecID @codec_id);
public static avcodec_get_type_delegate avcodec_get_type;
@@ -2790,10 +2762,6 @@ public delegate int avdevice_list_output_sinks_delegate(AVOutputFormat* @device,
public delegate uint avdevice_version_delegate();
public static avdevice_version_delegate avdevice_version;
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate int avfilter_config_links_delegate(AVFilterContext* @filter);
- public static avfilter_config_links_delegate avfilter_config_links;
-
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public delegate string avfilter_configuration_delegate();
@@ -3031,8 +2999,8 @@ public delegate int avfilter_init_str_delegate(AVFilterContext* @ctx,
public static avfilter_link_delegate avfilter_link;
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate void avfilter_link_free_delegate(AVFilterLink** @link);
- public static avfilter_link_free_delegate avfilter_link_free;
+ public delegate AVBufferRef* avfilter_link_get_hw_frames_ctx_delegate(AVFilterLink* @link);
+ public static avfilter_link_get_hw_frames_ctx_delegate avfilter_link_get_hw_frames_ctx;
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
@@ -3189,6 +3157,19 @@ public delegate int avformat_open_input_delegate(AVFormatContext** @ps,
public delegate int avformat_seek_file_delegate(AVFormatContext* @s, int @stream_index, long @min_ts, long @ts, long @max_ts, int @flags);
public static avformat_seek_file_delegate avformat_seek_file;
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate int avformat_stream_group_add_stream_delegate(AVStreamGroup* @stg, AVStream* @st);
+ public static avformat_stream_group_add_stream_delegate avformat_stream_group_add_stream;
+
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate AVStreamGroup* avformat_stream_group_create_delegate(AVFormatContext* @s, AVStreamGroupParamsType @type, AVDictionary** @options);
+ public static avformat_stream_group_create_delegate avformat_stream_group_create;
+
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
+ public delegate string avformat_stream_group_name_delegate(AVStreamGroupParamsType @type);
+ public static avformat_stream_group_name_delegate avformat_stream_group_name;
+
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate int avformat_transfer_internal_stream_timing_info_delegate(AVOutputFormat* @ofmt, AVStream* @ost, AVStream* @ist, AVTimebaseSource @copy_tb);
public static avformat_transfer_internal_stream_timing_info_delegate avformat_transfer_internal_stream_timing_info;
@@ -3519,62 +3500,14 @@ public delegate int avio_vprintf_delegate(AVIOContext* @s,
public delegate uint avutil_version_delegate();
public static avutil_version_delegate avutil_version;
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
- public delegate string postproc_configuration_delegate();
- public static postproc_configuration_delegate postproc_configuration;
-
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
- public delegate string postproc_license_delegate();
- public static postproc_license_delegate postproc_license;
-
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate uint postproc_version_delegate();
- public static postproc_version_delegate postproc_version;
-
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate void pp_free_context_delegate(void* @ppContext);
- public static pp_free_context_delegate pp_free_context;
-
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate void pp_free_mode_delegate(void* @mode);
- public static pp_free_mode_delegate pp_free_mode;
-
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate void* pp_get_context_delegate(int @width, int @height, int @flags);
- public static pp_get_context_delegate pp_get_context;
-
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate void* pp_get_mode_by_name_and_quality_delegate(
- #if NETSTANDARD2_1_OR_GREATER
- [MarshalAs(UnmanagedType.LPUTF8Str)]
- #else
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Marshaler))]
- #endif
- string @name, int @quality);
- public static pp_get_mode_by_name_and_quality_delegate pp_get_mode_by_name_and_quality;
-
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate void pp_postprocess_delegate(in byte_ptr3 @src, in int3 @srcStride, ref byte_ptr3 @dst, in int3 @dstStride, int @horizontalSize, int @verticalSize, sbyte* @QP_store, int @QP_stride, void* @mode, void* @ppContext, int @pict_type);
- public static pp_postprocess_delegate pp_postprocess;
-
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate SwrContext* swr_alloc_delegate();
public static swr_alloc_delegate swr_alloc;
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate SwrContext* swr_alloc_set_opts_delegate(SwrContext* @s, long @out_ch_layout, AVSampleFormat @out_sample_fmt, int @out_sample_rate, long @in_ch_layout, AVSampleFormat @in_sample_fmt, int @in_sample_rate, int @log_offset, void* @log_ctx);
- public static swr_alloc_set_opts_delegate swr_alloc_set_opts;
-
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate int swr_alloc_set_opts2_delegate(SwrContext** @ps, AVChannelLayout* @out_ch_layout, AVSampleFormat @out_sample_fmt, int @out_sample_rate, AVChannelLayout* @in_ch_layout, AVSampleFormat @in_sample_fmt, int @in_sample_rate, int @log_offset, void* @log_ctx);
public static swr_alloc_set_opts2_delegate swr_alloc_set_opts2;
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate int swr_build_matrix_delegate(ulong @in_layout, ulong @out_layout, double @center_mix_level, double @surround_mix_level, double @lfe_mix_level, double @rematrix_maxval, double @rematrix_volume, double* @matrix, int @stride, AVMatrixEncoding @matrix_encoding, void* @log_ctx);
- public static swr_build_matrix_delegate swr_build_matrix;
-
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate int swr_build_matrix2_delegate(AVChannelLayout* @in_layout, AVChannelLayout* @out_layout, double @center_mix_level, double @surround_mix_level, double @lfe_mix_level, double @maxval, double @rematrix_volume, double* @matrix, long @stride, AVMatrixEncoding @matrix_encoding, void* @log_context);
public static swr_build_matrix2_delegate swr_build_matrix2;
@@ -3677,10 +3610,18 @@ public delegate int avio_vprintf_delegate(AVIOContext* @s,
public delegate void sws_frame_end_delegate(SwsContext* @c);
public static sws_frame_end_delegate sws_frame_end;
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate int sws_frame_setup_delegate(SwsContext* @ctx, AVFrame* @dst, AVFrame* @src);
+ public static sws_frame_setup_delegate sws_frame_setup;
+
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate int sws_frame_start_delegate(SwsContext* @c, AVFrame* @dst, AVFrame* @src);
public static sws_frame_start_delegate sws_frame_start;
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate void sws_free_context_delegate(SwsContext** @ctx);
+ public static sws_free_context_delegate sws_free_context;
+
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate void sws_freeContext_delegate(SwsContext* @swsContext);
public static sws_freeContext_delegate sws_freeContext;
@@ -3725,6 +3666,10 @@ public delegate int avio_vprintf_delegate(AVIOContext* @s,
public delegate int sws_init_context_delegate(SwsContext* @sws_context, SwsFilter* @srcFilter, SwsFilter* @dstFilter);
public static sws_init_context_delegate sws_init_context;
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate int sws_is_noop_delegate(AVFrame* @dst, AVFrame* @src);
+ public static sws_is_noop_delegate sws_is_noop;
+
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate int sws_isSupportedEndiannessConversion_delegate(AVPixelFormat @pix_fmt);
public static sws_isSupportedEndiannessConversion_delegate sws_isSupportedEndiannessConversion;
@@ -3769,6 +3714,26 @@ public delegate int avio_vprintf_delegate(AVIOContext* @s,
public delegate int sws_setColorspaceDetails_delegate(SwsContext* @c, in int4 @inv_table, int @srcRange, in int4 @table, int @dstRange, int @brightness, int @contrast, int @saturation);
public static sws_setColorspaceDetails_delegate sws_setColorspaceDetails;
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate int sws_test_colorspace_delegate(AVColorSpace @colorspace, int @output);
+ public static sws_test_colorspace_delegate sws_test_colorspace;
+
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate int sws_test_format_delegate(AVPixelFormat @format, int @output);
+ public static sws_test_format_delegate sws_test_format;
+
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate int sws_test_frame_delegate(AVFrame* @frame, int @output);
+ public static sws_test_frame_delegate sws_test_frame;
+
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate int sws_test_primaries_delegate(AVColorPrimaries @primaries, int @output);
+ public static sws_test_primaries_delegate sws_test_primaries;
+
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate int sws_test_transfer_delegate(AVColorTransferCharacteristic @trc, int @output);
+ public static sws_test_transfer_delegate sws_test_transfer;
+
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public delegate string swscale_configuration_delegate();
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/vectors.g.cs.meta b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/vectors.g.cs.meta
index 6c36150..827191f 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/vectors.g.cs.meta
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Abstractions/generated/vectors.g.cs.meta
@@ -1,11 +1,2 @@
fileFormatVersion: 2
-guid: 179d9b64c38316f4aa3331eb32bc5fed
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
+guid: 179d9b64c38316f4aa3331eb32bc5fed
\ No newline at end of file
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLinked/DynDll.cs b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLinked/DynDll.cs
deleted file mode 100644
index 4239313..0000000
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLinked/DynDll.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-public static unsafe partial class DynamicallyLinkedBindings
-{
-#if UNITY_STANDALONE_WIN
- public const string avformat = "avformat-60";
- public const string avutil = "avutil-58";
- public const string avcodec = "avcodec-60";
- public const string avdevice = "avdevice-60";
- public const string avfilter = "avfilter-9";
- public const string swscale = "swscale-7";
- public const string swresample = "swresample-4";
-#else
- public const string avformat = "libavformat";
- public const string avutil = "libavutil";
- public const string avcodec = "libavcodec";
- public const string avdevice = "libavdevice";
- public const string avfilter = "libavfilter";
- public const string swscale = "libswscale";
- public const string swresample = "libswresample";
-#endif
-}
\ No newline at end of file
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLinked/DynDll.cs.meta b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLinked/DynDll.cs.meta
deleted file mode 100644
index 3f4ed55..0000000
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLinked/DynDll.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: baf27b3c34a2262688339449165785fd
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLinked/generated/DynamicallyLinkedBindings.g.cs b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLinked/generated/DynamicallyLinkedBindings.g.cs
index 07d2c00..6b880c5 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLinked/generated/DynamicallyLinkedBindings.g.cs
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLinked/generated/DynamicallyLinkedBindings.g.cs
@@ -8,14 +8,14 @@ public static unsafe partial class DynamicallyLinkedBindings
{
/// Add an index entry into a sorted list. Update the entry if the list already contains it.
/// timestamp in the time base of the given stream
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_add_index_entry(AVStream* @st, long @pos, long @timestamp, int @size, int @distance, int @flags);
/// Add two rationals.
/// First rational
/// Second rational
/// b+c
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVRational av_add_q(AVRational @b, AVRational @c);
/// Add a value to a timestamp.
@@ -23,7 +23,7 @@ public static unsafe partial class DynamicallyLinkedBindings
/// Input timestamp
/// Time base of `inc`
/// Value to be added
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern long av_add_stable(AVRational @ts_tb, long @ts, AVRational @inc_tb, long @inc);
/// Read data and append it to the current content of the AVPacket. If pkt->size is 0 this is identical to av_get_packet. Note that this uses av_grow_packet and thus involves a realloc which is inefficient. Thus this function should only be used when there is no reasonable way to know (an upper bound of) the final size.
@@ -31,7 +31,7 @@ public static unsafe partial class DynamicallyLinkedBindings
/// packet
/// amount of data to read
/// >0 (read size) if OK, AVERROR_xxx otherwise, previous data will not be lost even if an error occurs.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_append_packet(AVIOContext* @s, AVPacket* @pkt, int @size);
/// Allocate an AVAudioFifo.
@@ -39,19 +39,19 @@ public static unsafe partial class DynamicallyLinkedBindings
/// number of channels
/// initial allocation size, in samples
/// newly allocated AVAudioFifo, or NULL on error
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVAudioFifo* av_audio_fifo_alloc(AVSampleFormat @sample_fmt, int @channels, int @nb_samples);
/// Drain data from an AVAudioFifo.
/// AVAudioFifo to drain
/// number of samples to drain
/// 0 if OK, or negative AVERROR code on failure
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_audio_fifo_drain(AVAudioFifo* @af, int @nb_samples);
/// Free an AVAudioFifo.
/// AVAudioFifo to free
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_audio_fifo_free(AVAudioFifo* @af);
/// Peek data from an AVAudioFifo.
@@ -59,7 +59,7 @@ public static unsafe partial class DynamicallyLinkedBindings
/// audio data plane pointers
/// number of samples to peek
/// number of samples actually peek, or negative AVERROR code on failure. The number of samples actually peek will not be greater than nb_samples, and will only be less than nb_samples if av_audio_fifo_size is less than nb_samples.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_audio_fifo_peek(AVAudioFifo* @af, void** @data, int @nb_samples);
/// Peek data from an AVAudioFifo.
@@ -68,7 +68,7 @@ public static unsafe partial class DynamicallyLinkedBindings
/// number of samples to peek
/// offset from current read position
/// number of samples actually peek, or negative AVERROR code on failure. The number of samples actually peek will not be greater than nb_samples, and will only be less than nb_samples if av_audio_fifo_size is less than nb_samples.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_audio_fifo_peek_at(AVAudioFifo* @af, void** @data, int @nb_samples, int @offset);
/// Read data from an AVAudioFifo.
@@ -76,31 +76,31 @@ public static unsafe partial class DynamicallyLinkedBindings
/// audio data plane pointers
/// number of samples to read
/// number of samples actually read, or negative AVERROR code on failure. The number of samples actually read will not be greater than nb_samples, and will only be less than nb_samples if av_audio_fifo_size is less than nb_samples.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_audio_fifo_read(AVAudioFifo* @af, void** @data, int @nb_samples);
/// Reallocate an AVAudioFifo.
/// AVAudioFifo to reallocate
/// new allocation size, in samples
/// 0 if OK, or negative AVERROR code on failure
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_audio_fifo_realloc(AVAudioFifo* @af, int @nb_samples);
/// Reset the AVAudioFifo buffer.
/// AVAudioFifo to reset
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_audio_fifo_reset(AVAudioFifo* @af);
/// Get the current number of samples in the AVAudioFifo available for reading.
/// the AVAudioFifo to query
/// number of samples available for reading
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_audio_fifo_size(AVAudioFifo* @af);
/// Get the current number of samples in the AVAudioFifo available for writing.
/// the AVAudioFifo to query
/// number of samples available for writing
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_audio_fifo_space(AVAudioFifo* @af);
/// Write data to an AVAudioFifo.
@@ -108,36 +108,31 @@ public static unsafe partial class DynamicallyLinkedBindings
/// audio data plane pointers
/// number of samples to write
/// number of samples actually written, or negative AVERROR code on failure. If successful, the number of samples actually written will always be nb_samples.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_audio_fifo_write(AVAudioFifo* @af, void** @data, int @nb_samples);
/// 0th order modified bessel function of the first kind.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern double av_bessel_i0(double @x);
- /// Append a description of a channel layout to a bprint buffer.
- [Obsolete("use av_channel_layout_describe()")]
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
- public static extern void av_bprint_channel_layout(AVBPrint* @bp, int @nb_channels, ulong @channel_layout);
-
/// Allocate a context for a given bitstream filter. The caller must fill in the context parameters as described in the documentation and then call av_bsf_init() before sending any data to the filter.
/// the filter for which to allocate an instance.
/// a pointer into which the pointer to the newly-allocated context will be written. It must be freed with av_bsf_free() after the filtering is done.
/// 0 on success, a negative AVERROR code on failure
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_bsf_alloc(AVBitStreamFilter* @filter, AVBSFContext** @ctx);
/// Reset the internal bitstream filter state. Should be called e.g. when seeking.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_bsf_flush(AVBSFContext* @ctx);
/// Free a bitstream filter context and everything associated with it; write NULL into the supplied pointer.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_bsf_free(AVBSFContext** @ctx);
/// Returns a bitstream filter with the specified name or NULL if no such bitstream filter exists.
/// a bitstream filter with the specified name or NULL if no such bitstream filter exists.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVBitStreamFilter* av_bsf_get_by_name(
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -147,35 +142,35 @@ public static unsafe partial class DynamicallyLinkedBindings
string @name);
/// Get the AVClass for AVBSFContext. It can be used in combination with AV_OPT_SEARCH_FAKE_OBJ for examining options.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVClass* av_bsf_get_class();
/// Get null/pass-through bitstream filter.
/// Pointer to be set to new instance of pass-through bitstream filter
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_bsf_get_null_filter(AVBSFContext** @bsf);
/// Prepare the filter for use, after all the parameters and options have been set.
/// a AVBSFContext previously allocated with av_bsf_alloc()
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_bsf_init(AVBSFContext* @ctx);
/// Iterate over all registered bitstream filters.
/// a pointer where libavcodec will store the iteration state. Must point to NULL to start the iteration.
/// the next registered bitstream filter or NULL when the iteration is finished
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVBitStreamFilter* av_bsf_iterate(void** @opaque);
/// Allocate empty list of bitstream filters. The list must be later freed by av_bsf_list_free() or finalized by av_bsf_list_finalize().
/// Pointer to on success, NULL in case of failure
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVBSFList* av_bsf_list_alloc();
/// Append bitstream filter to the list of bitstream filters.
/// List to append to
/// Filter context to be appended
/// >=0 on success, negative AVERROR in case of failure
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_bsf_list_append(AVBSFList* @lst, AVBSFContext* @bsf);
/// Construct new bitstream filter context given it's name and options and append it to the list of bitstream filters.
@@ -183,7 +178,7 @@ public static unsafe partial class DynamicallyLinkedBindings
/// Name of the bitstream filter
/// Options for the bitstream filter, can be set to NULL
/// >=0 on success, negative AVERROR in case of failure
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_bsf_list_append2(AVBSFList* @lst,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -196,19 +191,19 @@ public static extern int av_bsf_list_append2(AVBSFList* @lst,
/// Filter list structure to be transformed
/// Pointer to be set to newly created structure representing the chain of bitstream filters
/// >=0 on success, negative AVERROR in case of failure
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_bsf_list_finalize(AVBSFList** @lst, AVBSFContext** @bsf);
/// Free list of bitstream filters.
/// Pointer to pointer returned by av_bsf_list_alloc()
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_bsf_list_free(AVBSFList** @lst);
/// Parse string describing list of bitstream filters and create single AVBSFContext describing the whole chain of bitstream filters. Resulting AVBSFContext can be treated as any other AVBSFContext freshly allocated by av_bsf_alloc().
/// String describing chain of bitstream filters in format `bsf1[=opt1=val1:opt2=val2][,bsf2]`
/// Pointer to be set to newly created structure representing the chain of bitstream filters
/// >=0 on success, negative AVERROR in case of failure
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_bsf_list_parse_str(
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -221,23 +216,23 @@ public static extern int av_bsf_list_parse_str(
/// an initialized AVBSFContext
/// this struct will be filled with the contents of the filtered packet. It is owned by the caller and must be freed using av_packet_unref() when it is no longer needed. This parameter should be "clean" (i.e. freshly allocated with av_packet_alloc() or unreffed with av_packet_unref()) when this function is called. If this function returns successfully, the contents of pkt will be completely overwritten by the returned data. On failure, pkt is not touched.
/// - 0 on success. - AVERROR(EAGAIN) if more packets need to be sent to the filter (using av_bsf_send_packet()) to get more output. - AVERROR_EOF if there will be no further output from the filter. - Another negative AVERROR value if an error occurs.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_bsf_receive_packet(AVBSFContext* @ctx, AVPacket* @pkt);
/// Submit a packet for filtering.
/// an initialized AVBSFContext
/// the packet to filter. The bitstream filter will take ownership of the packet and reset the contents of pkt. pkt is not touched if an error occurs. If pkt is empty (i.e. NULL, or pkt->data is NULL and pkt->side_data_elems zero), it signals the end of the stream (i.e. no more non-empty packets will be sent; sending more empty packets does nothing) and will cause the filter to output any packets it may have buffered internally.
/// - 0 on success. - AVERROR(EAGAIN) if packets need to be retrieved from the filter (using av_bsf_receive_packet()) before new input can be consumed. - Another negative AVERROR value if an error occurs.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_bsf_send_packet(AVBSFContext* @ctx, AVPacket* @pkt);
/// Allocate an AVBuffer of the given size using av_malloc().
/// an AVBufferRef of given size or NULL when out of memory
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVBufferRef* av_buffer_alloc(ulong @size);
/// Same as av_buffer_alloc(), except the returned buffer will be initialized to zero.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVBufferRef* av_buffer_allocz(ulong @size);
/// Create an AVBuffer from an existing array.
@@ -247,48 +242,48 @@ public static extern int av_bsf_list_parse_str(
/// parameter to be got for processing or passed to free
/// a combination of AV_BUFFER_FLAG_*
/// an AVBufferRef referring to data on success, NULL on failure.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVBufferRef* av_buffer_create(byte* @data, ulong @size, av_buffer_create_free_func @free, void* @opaque, int @flags);
/// Default free callback, which calls av_free() on the buffer data. This function is meant to be passed to av_buffer_create(), not called directly.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_buffer_default_free(void* @opaque, byte* @data);
/// Returns the opaque parameter set by av_buffer_create.
/// the opaque parameter set by av_buffer_create.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void* av_buffer_get_opaque(AVBufferRef* @buf);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_buffer_get_ref_count(AVBufferRef* @buf);
/// Returns 1 if the caller may write to the data referred to by buf (which is true if and only if buf is the only reference to the underlying AVBuffer). Return 0 otherwise. A positive answer is valid until av_buffer_ref() is called on buf.
/// 1 if the caller may write to the data referred to by buf (which is true if and only if buf is the only reference to the underlying AVBuffer). Return 0 otherwise. A positive answer is valid until av_buffer_ref() is called on buf.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_buffer_is_writable(AVBufferRef* @buf);
/// Create a writable reference from a given buffer reference, avoiding data copy if possible.
/// buffer reference to make writable. On success, buf is either left untouched, or it is unreferenced and a new writable AVBufferRef is written in its place. On failure, buf is left untouched.
/// 0 on success, a negative AVERROR on failure.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_buffer_make_writable(AVBufferRef** @buf);
/// Query the original opaque parameter of an allocated buffer in the pool.
/// a buffer reference to a buffer returned by av_buffer_pool_get.
/// the opaque parameter set by the buffer allocator function of the buffer pool.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void* av_buffer_pool_buffer_get_opaque(AVBufferRef* @ref);
/// Allocate a new AVBuffer, reusing an old buffer from the pool when available. This function may be called simultaneously from multiple threads.
/// a reference to the new buffer on success, NULL on error.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVBufferRef* av_buffer_pool_get(AVBufferPool* @pool);
/// Allocate and initialize a buffer pool.
/// size of each buffer in this pool
/// a function that will be used to allocate new buffers when the pool is empty. May be NULL, then the default allocator will be used (av_buffer_alloc()).
/// newly created buffer pool on success, NULL on error.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVBufferPool* av_buffer_pool_init(ulong @size, av_buffer_pool_init_alloc_func @alloc);
/// Allocate and initialize a buffer pool with a more complex allocator.
@@ -297,56 +292,58 @@ public static extern int av_bsf_list_parse_str(
/// a function that will be used to allocate new buffers when the pool is empty. May be NULL, then the default allocator will be used (av_buffer_alloc()).
/// a function that will be called immediately before the pool is freed. I.e. after av_buffer_pool_uninit() is called by the caller and all the frames are returned to the pool and freed. It is intended to uninitialize the user opaque data. May be NULL.
/// newly created buffer pool on success, NULL on error.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVBufferPool* av_buffer_pool_init2(ulong @size, void* @opaque, av_buffer_pool_init2_alloc_func @alloc, av_buffer_pool_init2_pool_free_func @pool_free);
/// Mark the pool as being available for freeing. It will actually be freed only once all the allocated buffers associated with the pool are released. Thus it is safe to call this function while some of the allocated buffers are still in use.
/// pointer to the pool to be freed. It will be set to NULL.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_buffer_pool_uninit(AVBufferPool** @pool);
/// Reallocate a given buffer.
/// a buffer reference to reallocate. On success, buf will be unreferenced and a new reference with the required size will be written in its place. On failure buf will be left untouched. *buf may be NULL, then a new buffer is allocated.
/// required new buffer size.
/// 0 on success, a negative AVERROR on failure.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_buffer_realloc(AVBufferRef** @buf, ulong @size);
/// Create a new reference to an AVBuffer.
/// a new AVBufferRef referring to the same AVBuffer as buf or NULL on failure.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVBufferRef* av_buffer_ref(AVBufferRef* @buf);
/// Ensure dst refers to the same data as src.
/// Pointer to either a valid buffer reference or NULL. On success, this will point to a buffer reference equivalent to src. On failure, dst will be left untouched.
/// A buffer reference to replace dst with. May be NULL, then this function is equivalent to av_buffer_unref(dst).
/// 0 on success AVERROR(ENOMEM) on memory allocation failure.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_buffer_replace(AVBufferRef** @dst, AVBufferRef* @src);
/// Free a given reference and automatically free the buffer if there are no more references to it.
/// the reference to be freed. The pointer is set to NULL on return.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_buffer_unref(AVBufferRef** @buf);
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_buffersink_get_ch_layout(AVFilterContext* @ctx, AVChannelLayout* @ch_layout);
- [Obsolete()]
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
- public static extern ulong av_buffersink_get_channel_layout(AVFilterContext* @ctx);
-
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_buffersink_get_channels(AVFilterContext* @ctx);
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
+ public static extern AVColorRange av_buffersink_get_color_range(AVFilterContext* @ctx);
+
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
+ public static extern AVColorSpace av_buffersink_get_colorspace(AVFilterContext* @ctx);
+
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_buffersink_get_format(AVFilterContext* @ctx);
/// Get a frame with filtered data from sink and put it in frame.
/// pointer to a context of a buffersink or abuffersink AVFilter.
/// pointer to an allocated frame that will be filled with data. The data must be freed using av_frame_unref() / av_frame_free()
/// - >= 0 if a frame was successfully returned. - AVERROR(EAGAIN) if no frames are available at this point; more input frames must be added to the filtergraph to get more output. - AVERROR_EOF if there will be no more output frames on this sink. - A different negative AVERROR code in other failure cases.
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_buffersink_get_frame(AVFilterContext* @ctx, AVFrame* @frame);
/// Get a frame with filtered data from sink and put it in frame.
@@ -354,50 +351,53 @@ public static extern int av_bsf_list_parse_str(
/// pointer to an allocated frame that will be filled with data. The data must be freed using av_frame_unref() / av_frame_free()
/// a combination of AV_BUFFERSINK_FLAG_* flags
/// >= 0 in for success, a negative AVERROR code for failure.
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_buffersink_get_frame_flags(AVFilterContext* @ctx, AVFrame* @frame, int @flags);
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern AVRational av_buffersink_get_frame_rate(AVFilterContext* @ctx);
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_buffersink_get_h(AVFilterContext* @ctx);
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern AVBufferRef* av_buffersink_get_hw_frames_ctx(AVFilterContext* @ctx);
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern AVRational av_buffersink_get_sample_aspect_ratio(AVFilterContext* @ctx);
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_buffersink_get_sample_rate(AVFilterContext* @ctx);
/// Same as av_buffersink_get_frame(), but with the ability to specify the number of samples read. This function is less efficient than av_buffersink_get_frame(), because it copies the data around.
/// pointer to a context of the abuffersink AVFilter.
/// pointer to an allocated frame that will be filled with data. The data must be freed using av_frame_unref() / av_frame_free() frame will contain exactly nb_samples audio samples, except at the end of stream, when it can contain less than nb_samples.
/// The return codes have the same meaning as for av_buffersink_get_frame().
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_buffersink_get_samples(AVFilterContext* @ctx, AVFrame* @frame, int @nb_samples);
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
+ public static extern AVFrameSideData** av_buffersink_get_side_data(AVFilterContext* @ctx, int* @nb_side_data);
+
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern AVRational av_buffersink_get_time_base(AVFilterContext* @ctx);
/// Get the properties of the stream @{
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern AVMediaType av_buffersink_get_type(AVFilterContext* @ctx);
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_buffersink_get_w(AVFilterContext* @ctx);
/// Set the frame size for an audio buffer sink.
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_buffersink_set_frame_size(AVFilterContext* @ctx, uint @frame_size);
/// Add a frame to the buffer source.
/// an instance of the buffersrc filter
/// frame to be added. If the frame is reference counted, this function will take ownership of the reference(s) and reset the frame. Otherwise the frame data will be copied. If this function returns an error, the input frame is not touched.
/// 0 on success, a negative AVERROR on error.
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_buffersrc_add_frame(AVFilterContext* @ctx, AVFrame* @frame);
/// Add a frame to the buffer source.
@@ -405,40 +405,40 @@ public static extern int av_bsf_list_parse_str(
/// a frame, or NULL to mark EOF
/// a combination of AV_BUFFERSRC_FLAG_*
/// >= 0 in case of success, a negative AVERROR code in case of failure
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_buffersrc_add_frame_flags(AVFilterContext* @buffer_src, AVFrame* @frame, int @flags);
/// Close the buffer source after EOF.
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_buffersrc_close(AVFilterContext* @ctx, long @pts, uint @flags);
/// Get the number of failed requests.
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern uint av_buffersrc_get_nb_failed_requests(AVFilterContext* @buffer_src);
/// Allocate a new AVBufferSrcParameters instance. It should be freed by the caller with av_free().
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern AVBufferSrcParameters* av_buffersrc_parameters_alloc();
/// Initialize the buffersrc or abuffersrc filter with the provided parameters. This function may be called multiple times, the later calls override the previous ones. Some of the parameters may also be set through AVOptions, then whatever method is used last takes precedence.
/// an instance of the buffersrc or abuffersrc filter
/// the stream parameters. The frames later passed to this filter must conform to those parameters. All the allocated fields in param remain owned by the caller, libavfilter will make internal copies or references when necessary.
/// 0 on success, a negative AVERROR code on failure.
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_buffersrc_parameters_set(AVFilterContext* @ctx, AVBufferSrcParameters* @param);
/// Add a frame to the buffer source.
/// an instance of the buffersrc filter
/// frame to be added. If the frame is reference counted, this function will make a new reference to it. Otherwise the frame data will be copied.
/// 0 on success, a negative AVERROR on error
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_buffersrc_write_frame(AVFilterContext* @ctx, AVFrame* @frame);
/// Allocate a memory block for an array with av_mallocz().
/// Number of elements
/// Size of the single element
/// Pointer to the allocated block, or `NULL` if the block cannot be allocated
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void* av_calloc(ulong @nmemb, ulong @size);
/// Get a human readable string describing a given channel.
@@ -446,16 +446,16 @@ public static extern int av_bsf_list_parse_str(
/// size in bytes of the buffer.
/// the AVChannel whose description to get
/// amount of bytes needed to hold the output string, or a negative AVERROR on failure. If the returned value is bigger than buf_size, then the string was truncated.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_channel_description(byte* @buf, ulong @buf_size, AVChannel @channel);
/// bprint variant of av_channel_description().
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_channel_description_bprint(AVBPrint* @bp, AVChannel @channel_id);
/// This is the inverse function of av_channel_name().
/// the channel with the given name AV_CHAN_NONE when name does not identify a known channel
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVChannel av_channel_from_string(
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -464,18 +464,24 @@ public static extern AVChannel av_channel_from_string(
#endif
string @name);
+ /// Return the order if the layout is n-th order standard-order ambisonic. The presence of optional extra non-diegetic channels at the end is not taken into account.
+ /// input channel layout
+ /// the order of the layout, a negative error code otherwise.
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
+ public static extern int av_channel_layout_ambisonic_order(AVChannelLayout* @channel_layout);
+
/// Get the channel with the given index in a channel layout.
/// input channel layout
/// index of the channel
/// channel with the index idx in channel_layout on success or AV_CHAN_NONE on failure (if idx is not valid or the channel order is unspecified)
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVChannel av_channel_layout_channel_from_index(AVChannelLayout* @channel_layout, uint @idx);
/// Get a channel described by the given string.
/// input channel layout
/// string describing the channel to obtain
/// a channel described by the given string in channel_layout on success or AV_CHAN_NONE on failure (if the string is not valid or the channel order is unspecified)
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVChannel av_channel_layout_channel_from_string(AVChannelLayout* @channel_layout,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -487,27 +493,34 @@ public static extern AVChannel av_channel_layout_channel_from_string(AVChannelLa
/// Check whether a channel layout is valid, i.e. can possibly describe audio data.
/// input channel layout
/// 1 if channel_layout is valid, 0 otherwise.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_channel_layout_check(AVChannelLayout* @channel_layout);
/// Check whether two channel layouts are semantically the same, i.e. the same channels are present on the same positions in both.
/// input channel layout
/// input channel layout
/// 0 if chl and chl1 are equal, 1 if they are not equal. A negative AVERROR code if one or both are invalid.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_channel_layout_compare(AVChannelLayout* @chl, AVChannelLayout* @chl1);
/// Make a copy of a channel layout. This differs from just assigning src to dst in that it allocates and copies the map for AV_CHANNEL_ORDER_CUSTOM.
/// destination channel layout
/// source channel layout
/// 0 on success, a negative AVERROR on error.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_channel_layout_copy(AVChannelLayout* @dst, AVChannelLayout* @src);
+ /// Initialize a custom channel layout with the specified number of channels. The channel map will be allocated and the designation of all channels will be set to AV_CHAN_UNKNOWN.
+ /// the layout structure to be initialized
+ /// the number of channels
+ /// 0 on success AVERROR(EINVAL) if the number of channels < = 0 AVERROR(ENOMEM) if the channel map could not be allocated
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
+ public static extern int av_channel_layout_custom_init(AVChannelLayout* @channel_layout, int @nb_channels);
+
/// Get the default channel layout for a given number of channels.
/// the layout structure to be initialized
/// number of channels
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_channel_layout_default(AVChannelLayout* @ch_layout, int @nb_channels);
/// Get a human-readable string describing the channel layout properties. The string will be in the same format that is accepted by av_channel_layout_from_string(), allowing to rebuild the same channel layout, except for opaque pointers.
@@ -515,31 +528,26 @@ public static extern AVChannel av_channel_layout_channel_from_string(AVChannelLa
/// pre-allocated buffer where to put the generated string
/// size in bytes of the buffer.
/// amount of bytes needed to hold the output string, or a negative AVERROR on failure. If the returned value is bigger than buf_size, then the string was truncated.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_channel_layout_describe(AVChannelLayout* @channel_layout, byte* @buf, ulong @buf_size);
/// bprint variant of av_channel_layout_describe().
/// 0 on success, or a negative AVERROR value on failure.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_channel_layout_describe_bprint(AVChannelLayout* @channel_layout, AVBPrint* @bp);
- /// Get the channel with the given index in channel_layout.
- [Obsolete("use av_channel_layout_channel_from_index()")]
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
- public static extern ulong av_channel_layout_extract_channel(ulong @channel_layout, int @index);
-
/// Initialize a native channel layout from a bitmask indicating which channels are present.
/// the layout structure to be initialized
/// bitmask describing the channel layout
/// 0 on success AVERROR(EINVAL) for invalid mask values
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_channel_layout_from_mask(AVChannelLayout* @channel_layout, ulong @mask);
- /// Initialize a channel layout from a given string description. The input string can be represented by: - the formal channel layout name (returned by av_channel_layout_describe()) - single or multiple channel names (returned by av_channel_name(), eg. "FL", or concatenated with "+", each optionally containing a custom name after a "", eg. "FL+FR+LFE") - a decimal or hexadecimal value of a native channel layout (eg. "4" or "0x4") - the number of channels with default layout (eg. "4c") - the number of unordered channels (eg. "4C" or "4 channels") - the ambisonic order followed by optional non-diegetic channels (eg. "ambisonic 2+stereo")
- /// input channel layout
+ /// Initialize a channel layout from a given string description. The input string can be represented by: - the formal channel layout name (returned by av_channel_layout_describe()) - single or multiple channel names (returned by av_channel_name(), eg. "FL", or concatenated with "+", each optionally containing a custom name after a "", eg. "FL+FR+LFE") - a decimal or hexadecimal value of a native channel layout (eg. "4" or "0x4") - the number of channels with default layout (eg. "4c") - the number of unordered channels (eg. "4C" or "4 channels") - the ambisonic order followed by optional non-diegetic channels (eg. "ambisonic 2+stereo") On error, the channel layout will remain uninitialized, but not necessarily untouched.
+ /// uninitialized channel layout for the result
/// string describing the channel layout
- /// 0 channel layout was detected, AVERROR_INVALIDATATA otherwise
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ /// 0 on success parsing the channel layout AVERROR(EINVAL) if an invalid channel layout string was provided AVERROR(ENOMEM) if there was not enough memory
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_channel_layout_from_string(AVChannelLayout* @channel_layout,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -552,14 +560,14 @@ public static extern int av_channel_layout_from_string(AVChannelLayout* @channel
/// input channel layout
/// the channel whose index to obtain
/// index of channel in channel_layout on success or a negative number if channel is not present in channel_layout.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_channel_layout_index_from_channel(AVChannelLayout* @channel_layout, AVChannel @channel);
/// Get the index in a channel layout of a channel described by the given string. In case multiple channels are found, only the first match will be returned.
/// input channel layout
/// string describing the channel whose index to obtain
/// a channel index described by the given string, or a negative AVERROR value.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_channel_layout_index_from_string(AVChannelLayout* @channel_layout,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -568,22 +576,30 @@ public static extern int av_channel_layout_index_from_string(AVChannelLayout* @c
#endif
string @name);
+ /// Change the AVChannelOrder of a channel layout.
+ /// channel layout which will be changed
+ /// the desired channel layout order
+ /// a combination of AV_CHANNEL_LAYOUT_RETYPE_FLAG_* constants
+ /// 0 if the conversion was successful and lossless or if the channel layout was already in the desired order >0 if the conversion was successful but lossy AVERROR(ENOSYS) if the conversion was not possible (or would be lossy and AV_CHANNEL_LAYOUT_RETYPE_FLAG_LOSSLESS was specified) AVERROR(EINVAL), AVERROR(ENOMEM) on error
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
+ public static extern int av_channel_layout_retype(AVChannelLayout* @channel_layout, AVChannelOrder @order, int @flags);
+
/// Iterate over all standard channel layouts.
/// a pointer where libavutil will store the iteration state. Must point to NULL to start the iteration.
/// the standard channel layout or NULL when the iteration is finished
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVChannelLayout* av_channel_layout_standard(void** @opaque);
/// Find out what channels from a given set are present in a channel layout, without regard for their positions.
/// input channel layout
/// a combination of AV_CH_* representing a set of channels
/// a bitfield representing all the channels from mask that are present in channel_layout
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern ulong av_channel_layout_subset(AVChannelLayout* @channel_layout, ulong @mask);
/// Free any allocated data in the channel layout and reset the channel count to 0.
/// the layout structure to be uninitialized
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_channel_layout_uninit(AVChannelLayout* @channel_layout);
/// Get a human readable string in an abbreviated form describing a given channel. This is the inverse function of av_channel_from_string().
@@ -591,22 +607,22 @@ public static extern int av_channel_layout_index_from_string(AVChannelLayout* @c
/// size in bytes of the buffer.
/// the AVChannel whose name to get
/// amount of bytes needed to hold the output string, or a negative AVERROR on failure. If the returned value is bigger than buf_size, then the string was truncated.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_channel_name(byte* @buf, ulong @buf_size, AVChannel @channel);
/// bprint variant of av_channel_name().
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_channel_name_bprint(AVBPrint* @bp, AVChannel @channel_id);
/// Converts AVChromaLocation to swscale x/y chroma position.
/// horizontal chroma sample position
/// vertical chroma sample position
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_chroma_location_enum_to_pos(int* @xpos, int* @ypos, AVChromaLocation @pos);
/// Returns the AVChromaLocation value for name or an AVError if not found.
/// the AVChromaLocation value for name or an AVError if not found.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_chroma_location_from_name(
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -617,26 +633,26 @@ public static extern int av_chroma_location_from_name(
/// Returns the name for provided chroma location or NULL if unknown.
/// the name for provided chroma location or NULL if unknown.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string av_chroma_location_name(AVChromaLocation @location);
/// Converts swscale x/y chroma position to AVChromaLocation.
/// horizontal chroma sample position
/// vertical chroma sample position
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVChromaLocation av_chroma_location_pos_to_enum(int @xpos, int @ypos);
/// Get the AVCodecID for the given codec tag tag. If no codec id is found returns AV_CODEC_ID_NONE.
/// list of supported codec_id-codec_tag pairs, as stored in AVInputFormat.codec_tag and AVOutputFormat.codec_tag
/// codec tag to match to a codec ID
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVCodecID av_codec_get_id(AVCodecTag** @tags, uint @tag);
/// Get the codec tag for the given codec id id. If no codec tag is found returns 0.
/// list of supported codec_id-codec_tag pairs, as stored in AVInputFormat.codec_tag and AVOutputFormat.codec_tag
/// codec ID to match to a codec tag
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern uint av_codec_get_tag(AVCodecTag** @tags, AVCodecID @id);
/// Get the codec tag for the given codec id.
@@ -644,28 +660,28 @@ public static extern int av_chroma_location_from_name(
/// codec id that should be searched for in the list
/// A pointer to the found tag
/// 0 if id was not found in tags, > 0 if it was found
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_codec_get_tag2(AVCodecTag** @tags, AVCodecID @id, uint* @tag);
/// Returns a non-zero number if codec is a decoder, zero otherwise
/// a non-zero number if codec is a decoder, zero otherwise
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_codec_is_decoder(AVCodec* @codec);
/// Returns a non-zero number if codec is an encoder, zero otherwise
/// a non-zero number if codec is an encoder, zero otherwise
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_codec_is_encoder(AVCodec* @codec);
/// Iterate over all registered codecs.
/// a pointer where libavcodec will store the iteration state. Must point to NULL to start the iteration.
/// the next registered codec or NULL when the iteration is finished
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVCodec* av_codec_iterate(void** @opaque);
/// Returns the AVColorPrimaries value for name or an AVError if not found.
/// the AVColorPrimaries value for name or an AVError if not found.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_color_primaries_from_name(
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -676,13 +692,13 @@ public static extern int av_color_primaries_from_name(
/// Returns the name for provided color primaries or NULL if unknown.
/// the name for provided color primaries or NULL if unknown.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string av_color_primaries_name(AVColorPrimaries @primaries);
/// Returns the AVColorRange value for name or an AVError if not found.
/// the AVColorRange value for name or an AVError if not found.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_color_range_from_name(
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -693,13 +709,13 @@ public static extern int av_color_range_from_name(
/// Returns the name for provided color range or NULL if unknown.
/// the name for provided color range or NULL if unknown.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string av_color_range_name(AVColorRange @range);
/// Returns the AVColorSpace value for name or an AVError if not found.
/// the AVColorSpace value for name or an AVError if not found.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_color_space_from_name(
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -710,13 +726,13 @@ public static extern int av_color_space_from_name(
/// Returns the name for provided color space or NULL if unknown.
/// the name for provided color space or NULL if unknown.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string av_color_space_name(AVColorSpace @space);
/// Returns the AVColorTransferCharacteristic value for name or an AVError if not found.
/// the AVColorTransferCharacteristic value for name or an AVError if not found.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_color_transfer_from_name(
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -727,7 +743,7 @@ public static extern int av_color_transfer_from_name(
/// Returns the name for provided color transfer or NULL if unknown.
/// the name for provided color transfer or NULL if unknown.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string av_color_transfer_name(AVColorTransferCharacteristic @transfer);
@@ -736,70 +752,75 @@ public static extern int av_color_transfer_from_name(
/// Operand
/// Divisor; must be a power of 2
/// - a negative value if `a % mod < b % mod` - a positive value if `a % mod > b % mod` - zero if `a % mod == b % mod`
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern long av_compare_mod(ulong @a, ulong @b, ulong @mod);
/// Compare two timestamps each in its own time base.
/// One of the following values: - -1 if `ts_a` is before `ts_b` - 1 if `ts_a` is after `ts_b` - 0 if they represent the same position
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_compare_ts(long @ts_a, AVRational @tb_a, long @ts_b, AVRational @tb_b);
+ /// Allocate an AVContainerFifo instance for AVPacket.
+ /// currently unused
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
+ public static extern AVContainerFifo* av_container_fifo_alloc_avpacket(uint @flags);
+
/// Allocate an AVContentLightMetadata structure and set its fields to default values. The resulting struct can be freed using av_freep().
/// An AVContentLightMetadata filled with default values or NULL on failure.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVContentLightMetadata* av_content_light_metadata_alloc(ulong* @size);
/// Allocate a complete AVContentLightMetadata and add it to the frame.
/// The frame which side data is added to.
/// The AVContentLightMetadata structure to be filled by caller.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVContentLightMetadata* av_content_light_metadata_create_side_data(AVFrame* @frame);
/// Allocate a CPB properties structure and initialize its fields to default values.
/// if non-NULL, the size of the allocated struct will be written here. This is useful for embedding it in side data.
/// the newly allocated struct or NULL on failure
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVCPBProperties* av_cpb_properties_alloc(ulong* @size);
/// Returns the number of logical CPU cores present.
/// the number of logical CPU cores present.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_cpu_count();
/// Overrides cpu count detection and forces the specified count. Count < 1 disables forcing of specific count.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_cpu_force_count(int @count);
/// Get the maximum data alignment that may be required by FFmpeg.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern ulong av_cpu_max_align();
/// Convert a double precision floating point number to a rational.
/// `double` to convert
/// Maximum allowed numerator and denominator
/// `d` in AVRational form
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVRational av_d2q(double @d, int @max);
/// Allocate an AVD3D11VAContext.
/// Newly-allocated AVD3D11VAContext or NULL on failure.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVD3D11VAContext* av_d3d11va_alloc_context();
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVClassCategory av_default_get_category(void* @ptr);
/// Return the context name
/// The AVClass context
/// The AVClass class_name
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string av_default_item_name(void* @ctx);
/// Iterate over all registered demuxers.
/// a pointer where libavformat will store the iteration state. Must point to NULL to start the iteration.
/// the next registered demuxer or NULL when the iteration is finished
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVInputFormat* av_demuxer_iterate(void** @opaque);
/// Copy entries from one AVDictionary struct into another.
@@ -807,17 +828,17 @@ public static extern int av_color_transfer_from_name(
/// Pointer to the source AVDictionary struct to copy items from.
/// Flags to use when setting entries in *dst
/// 0 on success, negative AVERROR code on failure. If dst was allocated by this function, callers should free the associated memory.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_dict_copy(AVDictionary** @dst, AVDictionary* @src, int @flags);
/// Get number of entries in dictionary.
/// dictionary
/// number of entries in dictionary
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_dict_count(AVDictionary* @m);
/// Free all the memory allocated for an AVDictionary struct and all keys and values.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_dict_free(AVDictionary** @m);
/// Get a dictionary entry with matching key.
@@ -825,7 +846,7 @@ public static extern int av_color_transfer_from_name(
/// Set to the previous matching element to find the next. If set to NULL the first matching element is returned.
/// A collection of AV_DICT_* flags controlling how the entry is retrieved
/// Found entry or NULL in case no matching entry was found in the dictionary
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVDictionaryEntry* av_dict_get(AVDictionary* @m,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -836,17 +857,17 @@ public static extern int av_color_transfer_from_name(
/// Get dictionary entries as a string.
/// The dictionary
- /// Pointer to buffer that will be allocated with string containg entries. Buffer must be freed by the caller when is no longer needed.
+ /// Pointer to buffer that will be allocated with string containing entries. Buffer must be freed by the caller when is no longer needed.
/// Character used to separate key from value
/// Character used to separate two pairs from each other
/// >= 0 on success, negative on error
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_dict_get_string(AVDictionary* @m, byte** @buffer, byte @key_val_sep, byte @pairs_sep);
/// Iterate over a dictionary
/// The dictionary to iterate over
/// Pointer to the previous AVDictionaryEntry, NULL initially
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVDictionaryEntry* av_dict_iterate(AVDictionary* @m, AVDictionaryEntry* @prev);
/// Parse the key/value pairs list and add the parsed entries to a dictionary.
@@ -854,7 +875,7 @@ public static extern int av_color_transfer_from_name(
/// A 0-terminated list of characters used to separate two pairs from each other
/// Flags to use when adding to the dictionary. ::AV_DICT_DONT_STRDUP_KEY and ::AV_DICT_DONT_STRDUP_VAL are ignored since the key/value tokens will always be duplicated.
/// 0 on success, negative AVERROR code on failure
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_dict_parse_string(AVDictionary** @pm,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -880,7 +901,7 @@ public static extern int av_dict_parse_string(AVDictionary** @pm,
/// Entry key to add to *pm (will either be av_strduped or added as a new key depending on flags)
/// Entry value to add to *pm (will be av_strduped or added as a new key depending on flags). Passing a NULL value will cause an existing entry to be deleted.
/// >= 0 on success otherwise an error code < 0
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_dict_set(AVDictionary** @pm,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -896,7 +917,7 @@ public static extern int av_dict_set(AVDictionary** @pm,
string @value, int @flags);
/// Convenience wrapper for av_dict_set() that converts the value to a string and stores it.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_dict_set_int(AVDictionary** @pm,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -909,24 +930,24 @@ public static extern int av_dict_set_int(AVDictionary** @pm,
/// a transformation matrix
/// whether the matrix should be flipped horizontally
/// whether the matrix should be flipped vertically
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_display_matrix_flip(ref int9 @matrix, int @hflip, int @vflip);
/// Extract the rotation component of the transformation matrix.
/// the transformation matrix
/// the angle (in degrees) by which the transformation rotates the frame counterclockwise. The angle will be in range [-180.0, 180.0], or NaN if the matrix is singular.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern double av_display_rotation_get(in int9 @matrix);
/// Initialize a transformation matrix describing a pure clockwise rotation by the specified angle (in degrees).
/// a transformation matrix (will be fully overwritten by this function)
/// rotation angle in degrees.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_display_rotation_set(ref int9 @matrix, double @angle);
/// Returns The AV_DISPOSITION_* flag corresponding to disp or a negative error code if disp does not correspond to a known stream disposition.
/// The AV_DISPOSITION_* flag corresponding to disp or a negative error code if disp does not correspond to a known stream disposition.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_disposition_from_string(
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -938,7 +959,7 @@ public static extern int av_disposition_from_string(
/// Returns The string description corresponding to the lowest set bit in disposition. NULL when the lowest set bit does not correspond to a known disposition or when disposition is 0.
/// a combination of AV_DISPOSITION_* values
/// The string description corresponding to the lowest set bit in disposition. NULL when the lowest set bit does not correspond to a known disposition or when disposition is 0.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string av_disposition_to_string(int @disposition);
@@ -946,7 +967,7 @@ public static extern int av_disposition_from_string(
/// First rational
/// Second rational
/// b/c
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVRational av_div_q(AVRational @b, AVRational @c);
/// Print detailed information about the input or output format, such as duration, bitrate, streams, container, programs, metadata, side data, codec and time base.
@@ -954,7 +975,7 @@ public static extern int av_disposition_from_string(
/// index of the stream to dump information about
/// the URL to print, such as source or destination file
/// Select whether the specified context is an input(0) or output(1)
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_dump_format(AVFormatContext* @ic, int @index,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -965,13 +986,13 @@ public static extern void av_dump_format(AVFormatContext* @ic, int @index,
/// Allocate an AVDynamicHDRPlus structure and set its fields to default values. The resulting struct can be freed using av_freep().
/// An AVDynamicHDRPlus filled with default values or NULL on failure.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVDynamicHDRPlus* av_dynamic_hdr_plus_alloc(ulong* @size);
/// Allocate a complete AVDynamicHDRPlus and add it to the frame.
/// The frame which side data is added to.
/// The AVDynamicHDRPlus structure to be filled by caller or NULL on failure.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVDynamicHDRPlus* av_dynamic_hdr_plus_create_side_data(AVFrame* @frame);
/// Parse the user data registered ITU-T T.35 to AVbuffer (AVDynamicHDRPlus). The T.35 buffer must begin with the application mode, skipping the country code, terminal provider codes, and application identifier.
@@ -979,25 +1000,27 @@ public static extern void av_dump_format(AVFormatContext* @ic, int @index,
/// The byte array containing the raw ITU-T T.35 data.
/// Size of the data array in bytes.
/// >= 0 on success. Otherwise, returns the appropriate AVERROR.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_dynamic_hdr_plus_from_t35(AVDynamicHDRPlus* @s, byte* @data, ulong @size);
/// Serialize dynamic HDR10+ metadata to a user data registered ITU-T T.35 buffer, excluding the first 48 bytes of the header, and beginning with the application mode.
/// A pointer containing the decoded AVDynamicHDRPlus structure.
+ /// A pointer to pointer to a byte buffer to be filled with the serialized metadata. If *data is NULL, a buffer be will be allocated and a pointer to it stored in its place. The caller assumes ownership of the buffer. May be NULL, in which case the function will only store the required buffer size in *size.
+ /// A pointer to a size to be set to the returned buffer's size. If *data is not NULL, *size must contain the size of the input buffer. May be NULL only if *data is NULL.
/// >= 0 on success. Otherwise, returns the appropriate AVERROR.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_dynamic_hdr_plus_to_t35(AVDynamicHDRPlus* @s, byte** @data, ulong* @size);
/// Add the pointer to an element to a dynamic array.
/// Pointer to the array to grow
/// Pointer to the number of elements in the array
/// Element to add
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_dynarray_add(void* @tab_ptr, int* @nb_ptr, void* @elem);
/// Add an element to a dynamic array.
/// >=0 on success, negative otherwise
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_dynarray_add_nofree(void* @tab_ptr, int* @nb_ptr, void* @elem);
/// Add an element of size `elem_size` to a dynamic array.
@@ -1006,29 +1029,29 @@ public static extern void av_dump_format(AVFormatContext* @ic, int @index,
/// Size in bytes of an element in the array
/// Pointer to the data of the element to add. If `NULL`, the space of the newly added element is allocated but left uninitialized.
/// Pointer to the data of the element to copy in the newly allocated space
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void* av_dynarray2_add(void** @tab_ptr, int* @nb_ptr, ulong @elem_size, byte* @elem_data);
/// Allocate a buffer, reusing the given one if large enough.
/// Pointer to pointer to an already allocated buffer. `*ptr` will be overwritten with pointer to new buffer on success or `NULL` on failure
/// Pointer to the size of buffer `*ptr`. `*size` is updated to the new allocated size, in particular 0 in case of failure.
/// Desired minimal size of buffer `*ptr`
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_fast_malloc(void* @ptr, uint* @size, ulong @min_size);
/// Allocate and clear a buffer, reusing the given one if large enough.
/// Pointer to pointer to an already allocated buffer. `*ptr` will be overwritten with pointer to new buffer on success or `NULL` on failure
/// Pointer to the size of buffer `*ptr`. `*size` is updated to the new allocated size, in particular 0 in case of failure.
/// Desired minimal size of buffer `*ptr`
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_fast_mallocz(void* @ptr, uint* @size, ulong @min_size);
/// Same behaviour av_fast_malloc but the buffer has additional AV_INPUT_BUFFER_PADDING_SIZE at the end which will always be 0.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_fast_padded_malloc(void* @ptr, uint* @size, ulong @min_size);
/// Same behaviour av_fast_padded_malloc except that buffer will always be 0-initialized after call.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_fast_padded_mallocz(void* @ptr, uint* @size, ulong @min_size);
/// Reallocate the given buffer if it is not large enough, otherwise do nothing.
@@ -1036,7 +1059,7 @@ public static extern void av_dump_format(AVFormatContext* @ic, int @index,
/// Pointer to the size of buffer `ptr`. `*size` is updated to the new allocated size, in particular 0 in case of failure.
/// Desired minimal size of buffer `ptr`
/// `ptr` if the buffer is large enough, a pointer to newly reallocated buffer if the buffer was not large enough, or `NULL` in case of error
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void* av_fast_realloc(void* @ptr, uint* @size, ulong @min_size);
/// Read the file with name filename, and put its content in a newly allocated buffer or map it with mmap() when available. In case of success set *bufptr to the read or mmapped buffer, and *size to the size in bytes of the buffer in *bufptr. Unlike mmap this function succeeds with zero sized files, in this case *bufptr will be set to NULL and *size will be set to 0. The returned buffer must be released with av_file_unmap().
@@ -1046,7 +1069,7 @@ public static extern void av_dump_format(AVFormatContext* @ic, int @index,
/// loglevel offset used for logging
/// context used for logging
/// a non negative number in case of success, a negative value corresponding to an AVERROR error code in case of failure
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_file_map(
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -1058,13 +1081,13 @@ public static extern int av_file_map(
/// Unmap or free the buffer bufptr created by av_file_map().
/// the buffer previously created with av_file_map()
/// size in bytes of bufptr, must be the same as returned by av_file_map()
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_file_unmap(byte* @bufptr, ulong @size);
/// Check whether filename actually is a numbered sequence generator.
/// possible numbered sequence string
/// 1 if a valid numbered sequence string, 0 otherwise
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_filename_number_test(
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -1076,14 +1099,14 @@ public static extern int av_filename_number_test(
/// Iterate over all registered filters.
/// a pointer where libavfilter will store the iteration state. Must point to NULL to start the iteration.
/// the next registered filter or NULL when the iteration is finished
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern AVFilter* av_filter_iterate(void** @opaque);
/// Compute what kind of losses will occur when converting from one specific pixel format to another. When converting from one pixel format to another, information loss may occur. For example, when converting from RGB24 to GRAY, the color information will be lost. Similarly, other losses occur when converting from some formats to other formats. These losses can involve loss of chroma, but also loss of resolution, loss of color depth, loss due to the color space conversion, loss of the alpha bits or loss due to color quantization. av_get_fix_fmt_loss() informs you about the various types of losses which will occur when converting from one pixel format to another.
/// source pixel format
/// Whether the source pixel format alpha channel is used.
/// Combination of flags informing you what kind of losses will occur (maximum loss for an invalid dst_pix_fmt).
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVPixelFormat av_find_best_pix_fmt_of_2(AVPixelFormat @dst_pix_fmt1, AVPixelFormat @dst_pix_fmt2, AVPixelFormat @src_pix_fmt, int @has_alpha, int* @loss_ptr);
/// Find the "best" stream in the file. The best stream is determined according to various heuristics as the most likely to be what the user expects. If the decoder parameter is non-NULL, av_find_best_stream will find the default decoder for the stream's codec; streams for which no decoder can be found are ignored.
@@ -1094,14 +1117,14 @@ public static extern int av_filename_number_test(
/// if non-NULL, returns the decoder for the selected stream
/// flags; none are currently defined
/// the non-negative stream number in case of success, AVERROR_STREAM_NOT_FOUND if no stream with the requested type could be found, AVERROR_DECODER_NOT_FOUND if streams were found but no decoder
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_find_best_stream(AVFormatContext* @ic, AVMediaType @type, int @wanted_stream_nb, int @related_stream, AVCodec** @decoder_ret, int @flags);
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_find_default_stream_index(AVFormatContext* @s);
/// Find AVInputFormat based on the short name of the input format.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVInputFormat* av_find_input_format(
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -1114,7 +1137,7 @@ public static extern int av_filename_number_test(
/// Reference rational
/// Array of rationals terminated by `{0, 0}`
/// Index of the nearest value found in the array
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_find_nearest_q_idx(AVRational @q, AVRational* @q_list);
/// Find the programs which belong to a given stream.
@@ -1122,108 +1145,82 @@ public static extern int av_filename_number_test(
/// the last found program, the search will start after this program, or from the beginning if it is NULL
/// stream index
/// the next program which belongs to s, NULL if no program is found or the last program is not among the programs of ic.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVProgram* av_find_program_from_stream(AVFormatContext* @ic, AVProgram* @last, int @s);
- /// Returns the method used to set ctx->duration.
- /// AVFMT_DURATION_FROM_PTS, AVFMT_DURATION_FROM_STREAM, or AVFMT_DURATION_FROM_BITRATE.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
- public static extern AVDurationEstimationMethod av_fmt_ctx_get_duration_estimation_method(AVFormatContext* @ctx);
-
- /// Open a file using a UTF-8 filename. The API of this function matches POSIX fopen(), errors are returned through errno.
- [Obsolete("Avoid using it, as on Windows, the FILE* allocated by this function may be allocated with a different CRT than the caller who uses the FILE*. No replacement provided in public API.")]
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
- public static extern _iobuf* av_fopen_utf8(
- #if NETSTANDARD2_1_OR_GREATER
- [MarshalAs(UnmanagedType.LPUTF8Str)]
- #else
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Marshaler))]
- #endif
- string @path,
- #if NETSTANDARD2_1_OR_GREATER
- [MarshalAs(UnmanagedType.LPUTF8Str)]
- #else
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Marshaler))]
- #endif
- string @mode);
-
/// Disables cpu detection and forces the specified flags. -1 is a special case that disables forcing of specific flags.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_force_cpu_flags(int @flags);
- /// This function will cause global side data to be injected in the next packet of each stream as well as after any subsequent seek.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
- public static extern void av_format_inject_global_side_data(AVFormatContext* @s);
-
/// Fill the provided buffer with a string containing a FourCC (four-character code) representation.
/// a buffer with size in bytes of at least AV_FOURCC_MAX_STRING_SIZE
/// the fourcc to represent
/// the buffer in input
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern byte* av_fourcc_make_string(byte* @buf, uint @fourcc);
/// Allocate an AVFrame and set its fields to default values. The resulting struct must be freed using av_frame_free().
/// An AVFrame filled with default values or NULL on failure.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVFrame* av_frame_alloc();
/// Crop the given video AVFrame according to its crop_left/crop_top/crop_right/ crop_bottom fields. If cropping is successful, the function will adjust the data pointers and the width/height fields, and set the crop fields to 0.
/// the frame which should be cropped
/// Some combination of AV_FRAME_CROP_* flags, or 0.
/// >= 0 on success, a negative AVERROR on error. If the cropping fields were invalid, AVERROR(ERANGE) is returned, and nothing is changed.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_frame_apply_cropping(AVFrame* @frame, int @flags);
/// Create a new frame that references the same data as src.
/// newly created AVFrame on success, NULL on error.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVFrame* av_frame_clone(AVFrame* @src);
/// Copy the frame data from src to dst.
/// >= 0 on success, a negative AVERROR on error.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_frame_copy(AVFrame* @dst, AVFrame* @src);
/// Copy only "metadata" fields from src to dst.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_frame_copy_props(AVFrame* @dst, AVFrame* @src);
/// Free the frame and any dynamically allocated objects in it, e.g. extended_data. If the frame is reference counted, it will be unreferenced first.
/// frame to be freed. The pointer will be set to NULL.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_frame_free(AVFrame** @frame);
/// Allocate new buffer(s) for audio or video data.
/// frame in which to store the new buffers.
- /// Required buffer size alignment. If equal to 0, alignment will be chosen automatically for the current CPU. It is highly recommended to pass 0 here unless you know what you are doing.
+ /// Required buffer size and data pointer alignment. If equal to 0, alignment will be chosen automatically for the current CPU. It is highly recommended to pass 0 here unless you know what you are doing.
/// 0 on success, a negative AVERROR on error.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_frame_get_buffer(AVFrame* @frame, int @align);
/// Get the buffer reference a given data plane is stored in.
/// the frame to get the plane's buffer from
/// index of the data plane of interest in frame->extended_data.
/// the buffer reference that contains the plane or NULL if the input frame is not valid.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVBufferRef* av_frame_get_plane_buffer(AVFrame* @frame, int @plane);
/// Returns a pointer to the side data of a given type on success, NULL if there is no side data with such type in this frame.
/// a pointer to the side data of a given type on success, NULL if there is no side data with such type in this frame.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVFrameSideData* av_frame_get_side_data(AVFrame* @frame, AVFrameSideDataType @type);
/// Check if the frame data is writable.
/// A positive value if the frame data is writable (which is true if and only if each of the underlying buffers has only one reference, namely the one stored in this frame). Return 0 otherwise.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_frame_is_writable(AVFrame* @frame);
/// Ensure that the frame data is writable, avoiding data copy if possible.
/// 0 on success, a negative AVERROR on error.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_frame_make_writable(AVFrame* @frame);
/// Move everything contained in src to dst and reset src.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_frame_move_ref(AVFrame* @dst, AVFrame* @src);
/// Add a new side data to a frame.
@@ -1231,7 +1228,7 @@ public static extern int av_filename_number_test(
/// type of the added side data
/// size of the side data
/// newly added side data on success, NULL on error
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVFrameSideData* av_frame_new_side_data(AVFrame* @frame, AVFrameSideDataType @type, ulong @size);
/// Add a new side data to a frame from an existing AVBufferRef
@@ -1239,164 +1236,152 @@ public static extern int av_filename_number_test(
/// the type of the added side data
/// an AVBufferRef to add as side data. The ownership of the reference is transferred to the frame.
/// newly added side data on success, NULL on error. On failure the frame is unchanged and the AVBufferRef remains owned by the caller.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVFrameSideData* av_frame_new_side_data_from_buf(AVFrame* @frame, AVFrameSideDataType @type, AVBufferRef* @buf);
/// Set up a new reference to the data described by the source frame.
/// 0 on success, a negative AVERROR on error
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_frame_ref(AVFrame* @dst, AVFrame* @src);
/// Remove and free all side data instances of the given type.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_frame_remove_side_data(AVFrame* @frame, AVFrameSideDataType @type);
/// Ensure the destination frame refers to the same data described by the source frame, either by creating a new reference for each AVBufferRef from src if they differ from those in dst, by allocating new buffers and copying data if src is not reference counted, or by unrefencing it if src is empty.
/// 0 on success, a negative AVERROR on error. On error, dst is unreferenced.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_frame_replace(AVFrame* @dst, AVFrame* @src);
+ /// Add a new side data entry to an array from an existing AVBufferRef.
+ /// pointer to array of side data to which to add another entry, or to NULL in order to start a new array.
+ /// pointer to an integer containing the number of entries in the array.
+ /// type of the added side data
+ /// Pointer to AVBufferRef to add to the array. On success, the function takes ownership of the AVBufferRef and *buf is set to NULL, unless AV_FRAME_SIDE_DATA_FLAG_NEW_REF is set in which case the ownership will remain with the caller.
+ /// Some combination of AV_FRAME_SIDE_DATA_FLAG_* flags, or 0.
+ /// newly added side data on success, NULL on error.
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
+ public static extern AVFrameSideData* av_frame_side_data_add(AVFrameSideData*** @sd, int* @nb_sd, AVFrameSideDataType @type, AVBufferRef** @buf, uint @flags);
+
+ /// Add a new side data entry to an array based on existing side data, taking a reference towards the contained AVBufferRef.
+ /// pointer to array of side data to which to add another entry, or to NULL in order to start a new array.
+ /// pointer to an integer containing the number of entries in the array.
+ /// side data to be cloned, with a new reference utilized for the buffer.
+ /// Some combination of AV_FRAME_SIDE_DATA_FLAG_* flags, or 0.
+ /// negative error code on failure, >=0 on success.
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
+ public static extern int av_frame_side_data_clone(AVFrameSideData*** @sd, int* @nb_sd, AVFrameSideData* @src, uint @flags);
+
+ /// Returns side data descriptor corresponding to a given side data type, NULL when not available.
+ /// side data descriptor corresponding to a given side data type, NULL when not available.
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
+ public static extern AVSideDataDescriptor* av_frame_side_data_desc(AVFrameSideDataType @type);
+
+ /// Free all side data entries and their contents, then zeroes out the values which the pointers are pointing to.
+ /// pointer to array of side data to free. Will be set to NULL upon return.
+ /// pointer to an integer containing the number of entries in the array. Will be set to 0 upon return.
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
+ public static extern void av_frame_side_data_free(AVFrameSideData*** @sd, int* @nb_sd);
+
+ /// Get a side data entry of a specific type from an array.
+ /// array of side data.
+ /// integer containing the number of entries in the array.
+ /// type of side data to be queried
+ /// a pointer to the side data of a given type on success, NULL if there is no side data with such type in this set.
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
+ public static extern AVFrameSideData* av_frame_side_data_get_c(AVFrameSideData** @sd, int @nb_sd, AVFrameSideDataType @type);
+
/// Returns a string identifying the side data type
/// a string identifying the side data type
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string av_frame_side_data_name(AVFrameSideDataType @type);
+ /// Add new side data entry to an array.
+ /// pointer to array of side data to which to add another entry, or to NULL in order to start a new array.
+ /// pointer to an integer containing the number of entries in the array.
+ /// type of the added side data
+ /// size of the side data
+ /// Some combination of AV_FRAME_SIDE_DATA_FLAG_* flags, or 0.
+ /// newly added side data on success, NULL on error.
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
+ public static extern AVFrameSideData* av_frame_side_data_new(AVFrameSideData*** @sd, int* @nb_sd, AVFrameSideDataType @type, ulong @size, uint @flags);
+
+ /// Remove and free all side data instances of the given type from an array.
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
+ public static extern void av_frame_side_data_remove(AVFrameSideData*** @sd, int* @nb_sd, AVFrameSideDataType @type);
+
+ /// Remove and free all side data instances that match any of the given side data properties. (See enum AVSideDataProps)
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
+ public static extern void av_frame_side_data_remove_by_props(AVFrameSideData*** @sd, int* @nb_sd, int @props);
+
/// Unreference all the buffers referenced by frame and reset the frame fields.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_frame_unref(AVFrame* @frame);
/// Free a memory block which has been allocated with a function of av_malloc() or av_realloc() family.
/// Pointer to the memory block which should be freed.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_free(void* @ptr);
/// Free a memory block which has been allocated with a function of av_malloc() or av_realloc() family, and set the pointer pointing to it to `NULL`.
/// Pointer to the pointer to the memory block which should be freed
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_freep(void* @ptr);
/// Compute the greatest common divisor of two integer operands.
/// Operand
/// Operand
/// GCD of a and b up to sign; if a >= 0 and b >= 0, return value is >= 0; if a == 0 and b == 0, returns 0.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern long av_gcd(long @a, long @b);
/// Return the best rational so that a and b are multiple of it. If the resulting denominator is larger than max_den, return def.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVRational av_gcd_q(AVRational @a, AVRational @b, int @max_den, AVRational @def);
/// Return the planar<->packed alternative form of the given sample format, or AV_SAMPLE_FMT_NONE on error. If the passed sample_fmt is already in the requested planar/packed format, the format returned is the same as the input.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVSampleFormat av_get_alt_sample_fmt(AVSampleFormat @sample_fmt, int @planar);
/// Return audio frame duration.
/// codec context
/// size of the frame, or 0 if unknown
/// frame duration, in samples, if known. 0 if not able to determine.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_get_audio_frame_duration(AVCodecContext* @avctx, int @frame_bytes);
/// This function is the same as av_get_audio_frame_duration(), except it works with AVCodecParameters instead of an AVCodecContext.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_get_audio_frame_duration2(AVCodecParameters* @par, int @frame_bytes);
/// Return the number of bits per pixel used by the pixel format described by pixdesc. Note that this is not the same as the number of bits per sample.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_get_bits_per_pixel(AVPixFmtDescriptor* @pixdesc);
/// Return codec bits per sample.
/// the codec
/// Number of bits per sample or zero if unknown for the given codec.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_get_bits_per_sample(AVCodecID @codec_id);
/// Return number of bytes per sample.
/// the sample format
/// number of bytes per sample or zero if unknown for the given sample format
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_get_bytes_per_sample(AVSampleFormat @sample_fmt);
- /// Get the description of a given channel.
- /// a channel layout with a single channel
- /// channel description on success, NULL on error
- [Obsolete("use av_channel_description()")]
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
- [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
- public static extern string av_get_channel_description(ulong @channel);
-
- /// Return a channel layout id that matches name, or 0 if no match is found.
- [Obsolete("use av_channel_layout_from_string()")]
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
- public static extern ulong av_get_channel_layout(
- #if NETSTANDARD2_1_OR_GREATER
- [MarshalAs(UnmanagedType.LPUTF8Str)]
- #else
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Marshaler))]
- #endif
- string @name);
-
- /// Get the index of a channel in channel_layout.
- /// channel layout bitset
- /// a channel layout describing exactly one channel which must be present in channel_layout.
- /// index of channel in channel_layout on success, a negative AVERROR on error.
- [Obsolete("use av_channel_layout_index_from_channel()")]
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
- public static extern int av_get_channel_layout_channel_index(ulong @channel_layout, ulong @channel);
-
- /// Return the number of channels in the channel layout.
- [Obsolete("use AVChannelLayout.nb_channels")]
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
- public static extern int av_get_channel_layout_nb_channels(ulong @channel_layout);
-
- /// Return a description of a channel layout. If nb_channels is <= 0, it is guessed from the channel_layout.
- /// put here the string containing the channel layout
- /// size in bytes of the buffer
- /// number of channels
- /// channel layout bitset
- [Obsolete("use av_channel_layout_describe()")]
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
- public static extern void av_get_channel_layout_string(byte* @buf, int @buf_size, int @nb_channels, ulong @channel_layout);
-
- /// Get the name of a given channel.
- /// channel name on success, NULL on error.
- [Obsolete("use av_channel_name()")]
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
- [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
- public static extern string av_get_channel_name(ulong @channel);
-
/// Return the flags which specify extensions supported by the CPU. The returned value is affected by av_force_cpu_flags() if that was used before. So av_get_cpu_flags() can easily be used in an application to detect the enabled cpu flags.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_get_cpu_flags();
- /// Return default channel layout for a given number of channels.
- [Obsolete("use av_channel_layout_default()")]
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
- public static extern long av_get_default_channel_layout(int @nb_channels);
-
/// Return codec bits per sample. Only return non-zero if the bits per sample is exactly correct, not an approximation.
/// the codec
/// Number of bits per sample or zero if unknown for the given codec.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_get_exact_bits_per_sample(AVCodecID @codec_id);
- /// Return a channel layout and the number of channels based on the specified name.
- /// channel layout specification string
- /// parsed channel layout (0 if unknown)
- /// number of channels
- /// 0 on success, AVERROR(EINVAL) if the parsing fails.
- [Obsolete("use av_channel_layout_from_string()")]
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
- public static extern int av_get_extended_channel_layout(
- #if NETSTANDARD2_1_OR_GREATER
- [MarshalAs(UnmanagedType.LPUTF8Str)]
- #else
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Marshaler))]
- #endif
- string @name, ulong* @channel_layout, int* @nb_channels);
-
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_get_frame_filename(byte* @buf, int @buf_size,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -1412,7 +1397,7 @@ public static extern int av_get_frame_filename(byte* @buf, int @buf_size,
/// frame number
/// AV_FRAME_FILENAME_FLAGS_*
/// 0 if OK, -1 on format error
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_get_frame_filename2(byte* @buf, int @buf_size,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -1422,7 +1407,7 @@ public static extern int av_get_frame_filename2(byte* @buf, int @buf_size,
string @path, int @number, int @flags);
/// Return a string describing the media_type enum, NULL if media_type is unknown.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string av_get_media_type_string(AVMediaType @media_type);
@@ -1431,12 +1416,12 @@ public static extern int av_get_frame_filename2(byte* @buf, int @buf_size,
/// stream in the media file
/// DTS of the last packet output for the stream, in stream time_base units
/// absolute time when that packet whas output, in microsecond
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_get_output_timestamp(AVFormatContext* @s, int @stream, long* @dts, long* @wall);
/// Get the packed alternative form of the given sample format.
/// the packed alternative form of the given sample format or AV_SAMPLE_FMT_NONE on error.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVSampleFormat av_get_packed_sample_fmt(AVSampleFormat @sample_fmt);
/// Allocate and read the payload of a packet and initialize its fields with default values.
@@ -1444,27 +1429,27 @@ public static extern int av_get_frame_filename2(byte* @buf, int @buf_size,
/// packet
/// desired payload size
/// >0 (read size) if OK, AVERROR_xxx otherwise
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_get_packet(AVIOContext* @s, AVPacket* @pkt, int @size);
/// Return the number of bits per pixel for the pixel format described by pixdesc, including any padding or unused bits.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_get_padded_bits_per_pixel(AVPixFmtDescriptor* @pixdesc);
/// Return the PCM codec associated with a sample format.
/// endianness, 0 for little, 1 for big, -1 (or anything else) for native
/// AV_CODEC_ID_PCM_* or AV_CODEC_ID_NONE
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVCodecID av_get_pcm_codec(AVSampleFormat @fmt, int @be);
/// Return a single letter to describe the given picture type pict_type.
/// the picture type
/// a single character representing the picture type, '?' if pict_type is unknown
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern byte av_get_picture_type_char(AVPictureType @pict_type);
/// Return the pixel format corresponding to name.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVPixelFormat av_get_pix_fmt(
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -1478,11 +1463,11 @@ public static extern AVPixelFormat av_get_pix_fmt(
/// source pixel format
/// Whether the source pixel format alpha channel is used.
/// Combination of flags informing you what kind of losses will occur (maximum loss for an invalid dst_pix_fmt).
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_get_pix_fmt_loss(AVPixelFormat @dst_pix_fmt, AVPixelFormat @src_pix_fmt, int @has_alpha);
/// Return the short name for a pixel format, NULL in case pix_fmt is unknown.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string av_get_pix_fmt_name(AVPixelFormat @pix_fmt);
@@ -1490,24 +1475,24 @@ public static extern AVPixelFormat av_get_pix_fmt(
/// the buffer where to write the string
/// the size of buf
/// the number of the pixel format to print the corresponding info string, or a negative value to print the corresponding header.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern byte* av_get_pix_fmt_string(byte* @buf, int @buf_size, AVPixelFormat @pix_fmt);
/// Get the planar alternative form of the given sample format.
/// the planar alternative form of the given sample format or AV_SAMPLE_FMT_NONE on error.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVSampleFormat av_get_planar_sample_fmt(AVSampleFormat @sample_fmt);
/// Return a name for the specified profile, if available.
/// the codec that is searched for the given profile
/// the profile value for which a name is requested
/// A name for the profile if found, NULL otherwise.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string av_get_profile_name(AVCodec* @codec, int @profile);
/// Return a sample format corresponding to name, or AV_SAMPLE_FMT_NONE on error.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVSampleFormat av_get_sample_fmt(
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -1517,7 +1502,7 @@ public static extern AVSampleFormat av_get_sample_fmt(
string @name);
/// Return the name of sample_fmt, or NULL if sample_fmt is not recognized.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string av_get_sample_fmt_name(AVSampleFormat @sample_fmt);
@@ -1526,42 +1511,33 @@ public static extern AVSampleFormat av_get_sample_fmt(
/// the size of buf
/// the number of the sample format to print the corresponding info string, or a negative value to print the corresponding header.
/// the pointer to the filled buffer or NULL if sample_fmt is unknown or in case of other errors
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern byte* av_get_sample_fmt_string(byte* @buf, int @buf_size, AVSampleFormat @sample_fmt);
- /// Get the value and name of a standard channel layout.
- /// index in an internal list, starting at 0
- /// channel layout mask
- /// name of the layout
- /// 0 if the layout exists, < 0 if index is beyond the limits
- [Obsolete("use av_channel_layout_standard()")]
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
- public static extern int av_get_standard_channel_layout(uint @index, ulong* @layout, byte** @name);
-
/// Return the fractional representation of the internal time base.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVRational av_get_time_base_q();
/// Get the current time in microseconds.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern long av_gettime();
/// Get the current time in microseconds since some unspecified starting point. On platforms that support it, the time comes from a monotonic clock This property makes this time source ideal for measuring relative time. The returned values may not be monotonic on platforms where a monotonic clock is not available.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern long av_gettime_relative();
/// Indicates with a boolean result if the av_gettime_relative() time source is monotonic.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_gettime_relative_is_monotonic();
/// Increase packet size, correctly zeroing padding
/// packet
/// number of bytes by which to increase the size of the packet
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_grow_packet(AVPacket* @pkt, int @grow_by);
/// Guess the codec ID based upon muxer and filename.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVCodecID av_guess_codec(AVOutputFormat* @fmt,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -1586,7 +1562,7 @@ public static extern AVCodecID av_guess_codec(AVOutputFormat* @fmt,
/// if non-NULL checks if short_name matches with the names of the registered formats
/// if non-NULL checks if filename terminates with the extensions of the registered formats
/// if non-NULL checks if mime_type matches with the MIME type of the registered formats
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVOutputFormat* av_guess_format(
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -1612,7 +1588,7 @@ public static extern AVCodecID av_guess_codec(AVOutputFormat* @fmt,
/// the stream which the frame is part of
/// the frame for which the frame rate should be determined, may be NULL
/// the guessed (valid) frame rate, 0/1 if no idea
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVRational av_guess_frame_rate(AVFormatContext* @ctx, AVStream* @stream, AVFrame* @frame);
/// Guess the sample aspect ratio of a frame, based on both the stream and the frame aspect ratio.
@@ -1620,14 +1596,14 @@ public static extern AVCodecID av_guess_codec(AVOutputFormat* @fmt,
/// the stream which the frame is part of
/// the frame with the aspect ratio to be determined
/// the guessed (valid) sample_aspect_ratio, 0/1 if no idea
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVRational av_guess_sample_aspect_ratio(AVFormatContext* @format, AVStream* @stream, AVFrame* @frame);
/// Send a nice hexadecimal dump of a buffer to the specified file stream.
/// The file stream pointer where the dump should be sent to.
/// buffer
/// buffer size
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_hex_dump(_iobuf* @f, byte* @buf, int @size);
/// Send a nice hexadecimal dump of a buffer to the log.
@@ -1635,13 +1611,13 @@ public static extern AVCodecID av_guess_codec(AVOutputFormat* @fmt,
/// The importance level of the message, lower values signifying higher importance.
/// buffer
/// buffer size
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_hex_dump_log(void* @avcl, int @level, byte* @buf, int @size);
/// Allocate an AVHWDeviceContext for a given hardware type.
/// the type of the hardware device to allocate.
/// a reference to the newly created AVHWDeviceContext on success or NULL on failure.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVBufferRef* av_hwdevice_ctx_alloc(AVHWDeviceType @type);
/// Open a device of the specified type and create an AVHWDeviceContext for it.
@@ -1651,7 +1627,7 @@ public static extern AVCodecID av_guess_codec(AVOutputFormat* @fmt,
/// A dictionary of additional (type-specific) options to use in opening the device. The dictionary remains owned by the caller.
/// currently unused
/// 0 on success, a negative AVERROR code on failure.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_hwdevice_ctx_create(AVBufferRef** @device_ctx, AVHWDeviceType @type,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -1666,7 +1642,7 @@ public static extern int av_hwdevice_ctx_create(AVBufferRef** @device_ctx, AVHWD
/// A reference to an existing AVHWDeviceContext which will be used to create the new device.
/// Currently unused; should be set to zero.
/// Zero on success, a negative AVERROR code on failure.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_hwdevice_ctx_create_derived(AVBufferRef** @dst_ctx, AVHWDeviceType @type, AVBufferRef* @src_ctx, int @flags);
/// Create a new device of the specified type from an existing device.
@@ -1676,19 +1652,19 @@ public static extern int av_hwdevice_ctx_create(AVBufferRef** @device_ctx, AVHWD
/// Options for the new device to create, same format as in av_hwdevice_ctx_create.
/// Currently unused; should be set to zero.
/// Zero on success, a negative AVERROR code on failure.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_hwdevice_ctx_create_derived_opts(AVBufferRef** @dst_ctx, AVHWDeviceType @type, AVBufferRef* @src_ctx, AVDictionary* @options, int @flags);
/// Finalize the device context before use. This function must be called after the context is filled with all the required information and before it is used in any way.
/// a reference to the AVHWDeviceContext
/// 0 on success, a negative AVERROR code on failure
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_hwdevice_ctx_init(AVBufferRef* @ref);
/// Look up an AVHWDeviceType by name.
/// String name of the device type (case-insensitive).
/// The type from enum AVHWDeviceType, or AV_HWDEVICE_TYPE_NONE if not found.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVHWDeviceType av_hwdevice_find_type_by_name(
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -1701,37 +1677,37 @@ public static extern AVHWDeviceType av_hwdevice_find_type_by_name(
/// a reference to the associated AVHWDeviceContext.
/// a filled HW-specific configuration structure, or NULL to return the maximum possible capabilities of the device.
/// AVHWFramesConstraints structure describing the constraints on the device, or NULL if not available.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVHWFramesConstraints* av_hwdevice_get_hwframe_constraints(AVBufferRef* @ref, void* @hwconfig);
/// Get the string name of an AVHWDeviceType.
/// Type from enum AVHWDeviceType.
/// Pointer to a static string containing the name, or NULL if the type is not valid.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string av_hwdevice_get_type_name(AVHWDeviceType @type);
/// Allocate a HW-specific configuration structure for a given HW device. After use, the user must free all members as required by the specific hardware structure being used, then free the structure itself with av_free().
/// a reference to the associated AVHWDeviceContext.
/// The newly created HW-specific configuration structure on success or NULL on failure.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void* av_hwdevice_hwconfig_alloc(AVBufferRef* @device_ctx);
/// Iterate over supported device types.
/// AV_HWDEVICE_TYPE_NONE initially, then the previous type returned by this function in subsequent iterations.
/// The next usable device type from enum AVHWDeviceType, or AV_HWDEVICE_TYPE_NONE if there are no more.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVHWDeviceType av_hwdevice_iterate_types(AVHWDeviceType @prev);
/// Free an AVHWFrameConstraints structure.
/// The (filled or unfilled) AVHWFrameConstraints structure.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_hwframe_constraints_free(AVHWFramesConstraints** @constraints);
/// Allocate an AVHWFramesContext tied to a given device context.
/// a reference to a AVHWDeviceContext. This function will make a new reference for internal use, the one passed to the function remains owned by the caller.
/// a reference to the newly created AVHWFramesContext on success or NULL on failure.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVBufferRef* av_hwframe_ctx_alloc(AVBufferRef* @device_ctx);
/// Create and initialise an AVHWFramesContext as a mapping of another existing AVHWFramesContext on a different device.
@@ -1741,13 +1717,13 @@ public static extern AVHWDeviceType av_hwdevice_find_type_by_name(
/// A reference to an existing AVHWFramesContext which will be mapped to the derived context.
/// Some combination of AV_HWFRAME_MAP_* flags, defining the mapping parameters to apply to frames which are allocated in the derived device.
/// Zero on success, negative AVERROR code on failure.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_hwframe_ctx_create_derived(AVBufferRef** @derived_frame_ctx, AVPixelFormat @format, AVBufferRef* @derived_device_ctx, AVBufferRef* @source_frame_ctx, int @flags);
/// Finalize the context before use. This function must be called after the context is filled with all the required information and before it is attached to any frames.
/// a reference to the AVHWFramesContext
/// 0 on success, a negative AVERROR code on failure
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_hwframe_ctx_init(AVBufferRef* @ref);
/// Allocate a new frame attached to the given AVHWFramesContext.
@@ -1755,7 +1731,7 @@ public static extern AVHWDeviceType av_hwdevice_find_type_by_name(
/// an empty (freshly allocated or unreffed) frame to be filled with newly allocated buffers.
/// currently unused, should be set to zero
/// 0 on success, a negative AVERROR code on failure
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_hwframe_get_buffer(AVBufferRef* @hwframe_ctx, AVFrame* @frame, int @flags);
/// Map a hardware frame.
@@ -1763,7 +1739,7 @@ public static extern AVHWDeviceType av_hwdevice_find_type_by_name(
/// Source frame, to be mapped.
/// Some combination of AV_HWFRAME_MAP_* flags.
/// Zero on success, negative AVERROR code on failure.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_hwframe_map(AVFrame* @dst, AVFrame* @src, int @flags);
/// Copy data to or from a hw surface. At least one of dst/src must have an AVHWFramesContext attached.
@@ -1771,7 +1747,7 @@ public static extern AVHWDeviceType av_hwdevice_find_type_by_name(
/// the source frame.
/// currently unused, should be set to zero
/// 0 on success, a negative AVERROR error code on failure.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_hwframe_transfer_data(AVFrame* @dst, AVFrame* @src, int @flags);
/// Get a list of possible source or target formats usable in av_hwframe_transfer_data().
@@ -1780,7 +1756,7 @@ public static extern AVHWDeviceType av_hwdevice_find_type_by_name(
/// the pointer to the output format list will be written here. The list is terminated with AV_PIX_FMT_NONE and must be freed by the caller when no longer needed using av_free(). If this function returns successfully, the format list will have at least one item (not counting the terminator). On failure, the contents of this pointer are unspecified.
/// currently unused, should be set to zero
/// 0 on success, a negative AVERROR code on failure.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_hwframe_transfer_get_formats(AVBufferRef* @hwframe_ctx, AVHWFrameTransferDirection @dir, AVPixelFormat** @formats, int @flags);
/// Allocate an image with size w and h and pixel format pix_fmt, and fill pointers and linesizes accordingly. The allocated image buffer has to be freed by using av_freep(&pointers[0]).
@@ -1791,7 +1767,7 @@ public static extern AVHWDeviceType av_hwdevice_find_type_by_name(
/// the AVPixelFormat of the image
/// the value to use for buffer size alignment
/// the size in bytes required for the image buffer, a negative error code in case of failure
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_image_alloc(ref byte_ptr4 @pointers, ref int4 @linesizes, int @w, int @h, AVPixelFormat @pix_fmt, int @align);
/// Check if the given sample aspect ratio of an image is valid.
@@ -1799,7 +1775,7 @@ public static extern AVHWDeviceType av_hwdevice_find_type_by_name(
/// height of the image
/// sample aspect ratio of the image
/// 0 if valid, a negative AVERROR code otherwise
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_image_check_sar(uint @w, uint @h, AVRational @sar);
/// Check if the given dimension of an image is valid, meaning that all bytes of the image can be addressed with a signed int.
@@ -1808,7 +1784,7 @@ public static extern AVHWDeviceType av_hwdevice_find_type_by_name(
/// the offset to sum to the log level for logging with log_ctx
/// the parent logging context, it may be NULL
/// >= 0 if valid, a negative error code otherwise
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_image_check_size(uint @w, uint @h, int @log_offset, void* @log_ctx);
/// Check if the given dimension of an image is valid, meaning that all bytes of a plane of an image with the specified pix_fmt can be addressed with a signed int.
@@ -1819,7 +1795,7 @@ public static extern AVHWDeviceType av_hwdevice_find_type_by_name(
/// the offset to sum to the log level for logging with log_ctx
/// the parent logging context, it may be NULL
/// >= 0 if valid, a negative error code otherwise
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_image_check_size2(uint @w, uint @h, long @max_pixels, AVPixelFormat @pix_fmt, int @log_offset, void* @log_ctx);
/// Copy image in src_data to dst_data.
@@ -1830,7 +1806,7 @@ public static extern AVHWDeviceType av_hwdevice_find_type_by_name(
/// the AVPixelFormat of the image
/// width of the image in pixels
/// height of the image in pixels
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_image_copy(ref byte_ptr4 @dst_data, in int4 @dst_linesizes, in byte_ptr4 @src_data, in int4 @src_linesizes, AVPixelFormat @pix_fmt, int @width, int @height);
/// Copy image plane from src to dst. That is, copy "height" number of lines of "bytewidth" bytes each. The first byte of each successive line is separated by *_linesize bytes.
@@ -1839,11 +1815,11 @@ public static extern AVHWDeviceType av_hwdevice_find_type_by_name(
/// source plane to copy from
/// linesize for the image plane in src
/// height (number of lines) of the plane
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_image_copy_plane(byte* @dst, int @dst_linesize, byte* @src, int @src_linesize, int @bytewidth, int @height);
/// Copy image data located in uncacheable (e.g. GPU mapped) memory. Where available, this function will use special functionality for reading from such memory, which may result in greatly improved performance compared to plain av_image_copy_plane().
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_image_copy_plane_uc_from(byte* @dst, long @dst_linesize, byte* @src, long @src_linesize, long @bytewidth, int @height);
/// Copy image data from an image into a buffer.
@@ -1856,11 +1832,11 @@ public static extern AVHWDeviceType av_hwdevice_find_type_by_name(
/// the height of the source image in pixels
/// the assumed linesize alignment for dst
/// the number of bytes written to dst, or a negative value (error code) on error
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_image_copy_to_buffer(byte* @dst, int @dst_size, in byte_ptr4 @src_data, in int4 @src_linesize, AVPixelFormat @pix_fmt, int @width, int @height, int @align);
/// Copy image data located in uncacheable (e.g. GPU mapped) memory. Where available, this function will use special functionality for reading from such memory, which may result in greatly improved performance compared to plain av_image_copy().
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_image_copy_uc_from(ref byte_ptr4 @dst_data, in long4 @dst_linesizes, in byte_ptr4 @src_data, in long4 @src_linesizes, AVPixelFormat @pix_fmt, int @width, int @height);
/// Setup the data pointers and linesizes based on the specified image parameters and the provided array.
@@ -1872,7 +1848,7 @@ public static extern AVHWDeviceType av_hwdevice_find_type_by_name(
/// the height of the image in pixels
/// the value used in src for linesize alignment
/// the size in bytes required for src, a negative error code in case of failure
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_image_fill_arrays(ref byte_ptr4 @dst_data, ref int4 @dst_linesize, byte* @src, AVPixelFormat @pix_fmt, int @width, int @height, int @align);
/// Overwrite the image data with black. This is suitable for filling a sub-rectangle of an image, meaning the padding between the right most pixel and the left most pixel on the next line will not be overwritten. For some formats, the image size might be rounded up due to inherent alignment.
@@ -1883,22 +1859,34 @@ public static extern AVHWDeviceType av_hwdevice_find_type_by_name(
/// the width of the image in pixels
/// the height of the image in pixels
/// 0 if the image data was cleared, a negative AVERROR code otherwise
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_image_fill_black(ref byte_ptr4 @dst_data, in long4 @dst_linesize, AVPixelFormat @pix_fmt, AVColorRange @range, int @width, int @height);
+ /// Overwrite the image data with a color. This is suitable for filling a sub-rectangle of an image, meaning the padding between the right most pixel and the left most pixel on the next line will not be overwritten. For some formats, the image size might be rounded up due to inherent alignment.
+ /// data pointers to destination image
+ /// linesizes for the destination image
+ /// the pixel format of the image
+ /// the color components to be used for the fill
+ /// the width of the image in pixels
+ /// the height of the image in pixels
+ /// currently unused
+ /// 0 if the image data was filled, a negative AVERROR code otherwise
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
+ public static extern int av_image_fill_color(ref byte_ptr4 @dst_data, in long4 @dst_linesize, AVPixelFormat @pix_fmt, in uint4 @color, int @width, int @height, int @flags);
+
/// Fill plane linesizes for an image with pixel format pix_fmt and width width.
/// array to be filled with the linesize for each plane
/// the AVPixelFormat of the image
/// width of the image in pixels
/// >= 0 in case of success, a negative error code otherwise
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_image_fill_linesizes(ref int4 @linesizes, AVPixelFormat @pix_fmt, int @width);
/// Compute the max pixel step for each plane of an image with a format described by pixdesc.
/// an array which is filled with the max pixel step for each plane. Since a plane may contain different pixel components, the computed max_pixsteps[plane] is relative to the component in the plane with the max pixel step.
/// an array which is filled with the component for each plane which has the max pixel step. May be NULL.
/// the AVPixFmtDescriptor for the image, describing its format
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_image_fill_max_pixsteps(ref int4 @max_pixsteps, ref int4 @max_pixstep_comps, AVPixFmtDescriptor* @pixdesc);
/// Fill plane sizes for an image with pixel format pix_fmt and height height.
@@ -1907,7 +1895,7 @@ public static extern AVHWDeviceType av_hwdevice_find_type_by_name(
/// height of the image in pixels
/// the array containing the linesize for each plane, should be filled by av_image_fill_linesizes()
/// >= 0 in case of success, a negative error code otherwise
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_image_fill_plane_sizes(ref ulong4 @size, AVPixelFormat @pix_fmt, int @height, in long4 @linesizes);
/// Fill plane data pointers for an image with pixel format pix_fmt and height height.
@@ -1917,7 +1905,7 @@ public static extern AVHWDeviceType av_hwdevice_find_type_by_name(
/// the pointer to a buffer which will contain the image
/// the array containing the linesize for each plane, should be filled by av_image_fill_linesizes()
/// the size in bytes required for the image buffer, a negative error code in case of failure
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_image_fill_pointers(ref byte_ptr4 @data, AVPixelFormat @pix_fmt, int @height, byte* @ptr, in int4 @linesizes);
/// Return the size in bytes of the amount of data required to store an image with the given parameters.
@@ -1926,12 +1914,12 @@ public static extern AVHWDeviceType av_hwdevice_find_type_by_name(
/// the height of the image in pixels
/// the assumed linesize alignment
/// the buffer size in bytes, a negative error code in case of failure
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_image_get_buffer_size(AVPixelFormat @pix_fmt, int @width, int @height, int @align);
/// Compute the size of an image line with format pix_fmt and width width for the plane plane.
/// the computed size in bytes
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_image_get_linesize(AVPixelFormat @pix_fmt, int @width, int @plane);
/// Get the index for a specific timestamp.
@@ -1939,21 +1927,21 @@ public static extern AVHWDeviceType av_hwdevice_find_type_by_name(
/// timestamp to retrieve the index for
/// if AVSEEK_FLAG_BACKWARD then the returned index will correspond to the timestamp which is < = the requested one, if backward is 0, then it will be >= if AVSEEK_FLAG_ANY seek to any frame, only keyframes otherwise
/// < 0 if no such timestamp could be found
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_index_search_timestamp(AVStream* @st, long @timestamp, int @flags);
/// Initialize optional fields of a packet with default values.
/// packet
[Obsolete("This function is deprecated. Once it's removed, sizeof(AVPacket) will not be a part of the ABI anymore.")]
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_init_packet(AVPacket* @pkt);
/// Audio input devices iterator.
- [DllImport(avdevice, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avdevice-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVInputFormat* av_input_audio_device_next(AVInputFormat* @d);
/// Video input devices iterator.
- [DllImport(avdevice, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avdevice-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVInputFormat* av_input_video_device_next(AVInputFormat* @d);
/// Compute the length of an integer list.
@@ -1961,26 +1949,27 @@ public static extern AVHWDeviceType av_hwdevice_find_type_by_name(
/// pointer to the list
/// list terminator (usually 0 or -1)
/// length of the list, in elements, not counting the terminator
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [Obsolete()]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern uint av_int_list_length_for_size(uint @elsize, void* @list, ulong @term);
/// Write a packet to an output media file ensuring correct interleaving.
/// media file handle
/// The packet containing the data to be written. If the packet is reference-counted, this function will take ownership of this reference and unreference it later when it sees fit. If the packet is not reference-counted, libavformat will make a copy. The returned packet will be blank (as if returned from av_packet_alloc()), even on error. This parameter can be NULL (at any time, not just at the end), to flush the interleaving queues. Packet's "stream_index" field must be set to the index of the corresponding stream in "s->streams". The timestamps ( "pts", "dts") must be set to correct values in the stream's timebase (unless the output format is flagged with the AVFMT_NOTIMESTAMPS flag, then they can be set to AV_NOPTS_VALUE). The dts for subsequent packets in one stream must be strictly increasing (unless the output format is flagged with the AVFMT_TS_NONSTRICT, then they merely have to be nondecreasing). "duration" should also be set if known.
/// 0 on success, a negative AVERROR on error.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_interleaved_write_frame(AVFormatContext* @s, AVPacket* @pkt);
/// Write an uncoded frame to an output media file.
/// >=0 for success, a negative code on error
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_interleaved_write_uncoded_frame(AVFormatContext* @s, int @stream_index, AVFrame* @frame);
/// Send the specified message to the log if the level is less than or equal to the current av_log_level. By default, all logging messages are sent to stderr. This behavior can be altered by setting a different logging callback function.
/// A pointer to an arbitrary struct of which the first field is a pointer to an AVClass struct or NULL if general log.
/// The importance level of the message expressed using a "Logging Constant".
/// The format string (printf-compatible) that specifies how subsequent arguments are converted to output.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_log(void* @avcl, int @level,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -1994,7 +1983,7 @@ public static extern void av_log(void* @avcl, int @level,
/// The importance level of the message expressed using a "Logging Constant".
/// The format string (printf-compatible) that specifies how subsequent arguments are converted to output.
/// The arguments referenced by the format string.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_log_default_callback(void* @avcl, int @level,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2007,7 +1996,7 @@ public static extern void av_log_default_callback(void* @avcl, int @level,
/// buffer to receive the formatted line
/// size of the buffer
/// used to store whether the prefix must be printed; must point to a persistent integer initially set to 1
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_log_format_line(void* @ptr, int @level,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2021,7 +2010,7 @@ public static extern void av_log_format_line(void* @ptr, int @level,
/// size of the buffer; at most line_size-1 characters will be written to the buffer, plus one null terminator
/// used to store whether the prefix must be printed; must point to a persistent integer initially set to 1
/// Returns a negative value if an error occurred, otherwise returns the number of characters that would have been written for a sufficiently large buffer, not including the terminating null character. If the return value is not less than line_size, it means that the log message was truncated to fit the buffer.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_log_format_line2(void* @ptr, int @level,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2030,21 +2019,21 @@ public static extern int av_log_format_line2(void* @ptr, int @level,
#endif
string @fmt, byte* @vl, byte* @line, int @line_size, int* @print_prefix);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_log_get_flags();
/// Get the current log level
/// Current log level
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_log_get_level();
/// Send the specified message to the log once with the initial_level and then with the subsequent_level. By default, all logging messages are sent to stderr. This behavior can be altered by setting a different logging callback function.
/// A pointer to an arbitrary struct of which the first field is a pointer to an AVClass struct or NULL if general log.
- /// importance level of the message expressed using a "Logging Constant" for the first occurance.
- /// importance level of the message expressed using a "Logging Constant" after the first occurance.
+ /// importance level of the message expressed using a "Logging Constant" for the first occurrence.
+ /// importance level of the message expressed using a "Logging Constant" after the first occurrence.
/// a variable to keep trak of if a message has already been printed this must be initialized to 0 before the first use. The same state must not be accessed by 2 Threads simultaneously.
/// The format string (printf-compatible) that specifies how subsequent arguments are converted to output.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_log_once(void* @avcl, int @initial_level, int @subsequent_level, int* @state,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2055,57 +2044,62 @@ public static extern void av_log_once(void* @avcl, int @initial_level, int @subs
/// Set the logging callback
/// A logging function with a compatible signature.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_log_set_callback(av_log_set_callback_callback_func @callback);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_log_set_flags(int @arg);
/// Set the log level
/// Logging level
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_log_set_level(int @level);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_log2(uint @v);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_log2_16bit(uint @v);
/// Allocate a memory block with alignment suitable for all memory accesses (including vectors if available on the CPU).
/// Size in bytes for the memory block to be allocated
/// Pointer to the allocated block, or `NULL` if the block cannot be allocated
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void* av_malloc(ulong @size);
/// Allocate a memory block for an array with av_malloc().
/// Number of element
/// Size of a single element
/// Pointer to the allocated block, or `NULL` if the block cannot be allocated
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void* av_malloc_array(ulong @nmemb, ulong @size);
/// Allocate a memory block with alignment suitable for all memory accesses (including vectors if available on the CPU) and zero all the bytes of the block.
/// Size in bytes for the memory block to be allocated
/// Pointer to the allocated block, or `NULL` if it cannot be allocated
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void* av_mallocz(ulong @size);
/// Allocate an AVMasteringDisplayMetadata structure and set its fields to default values. The resulting struct can be freed using av_freep().
/// An AVMasteringDisplayMetadata filled with default values or NULL on failure.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVMasteringDisplayMetadata* av_mastering_display_metadata_alloc();
+ /// Allocate an AVMasteringDisplayMetadata structure and set its fields to default values. The resulting struct can be freed using av_freep().
+ /// An AVMasteringDisplayMetadata filled with default values or NULL on failure.
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
+ public static extern AVMasteringDisplayMetadata* av_mastering_display_metadata_alloc_size(ulong* @size);
+
/// Allocate a complete AVMasteringDisplayMetadata and add it to the frame.
/// The frame which side data is added to.
/// The AVMasteringDisplayMetadata structure to be filled by caller.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVMasteringDisplayMetadata* av_mastering_display_metadata_create_side_data(AVFrame* @frame);
/// Return a positive value if the given filename has one of the given extensions, 0 otherwise.
/// file name to check against the given extensions
/// a comma-separated list of filename extensions
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_match_ext(
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2122,34 +2116,34 @@ public static extern int av_match_ext(
/// Set the maximum size that may be allocated in one block.
/// Value to be set as the new maximum size
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_max_alloc(ulong @max);
/// Overlapping memcpy() implementation.
/// Destination buffer
/// Number of bytes back to start copying (i.e. the initial size of the overlapping window); must be > 0
/// Number of bytes to copy; must be >= 0
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_memcpy_backptr(byte* @dst, int @back, int @cnt);
/// Duplicate a buffer with av_malloc().
/// Buffer to be duplicated
/// Size in bytes of the buffer copied
/// Pointer to a newly allocated buffer containing a copy of `p` or `NULL` if the buffer cannot be allocated
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void* av_memdup(void* @p, ulong @size);
/// Multiply two rationals.
/// First rational
/// Second rational
/// b*c
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVRational av_mul_q(AVRational @b, AVRational @c);
/// Iterate over all registered muxers.
/// a pointer where libavformat will store the iteration state. Must point to NULL to start the iteration.
/// the next registered muxer or NULL when the iteration is finished
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVOutputFormat* av_muxer_iterate(void** @opaque);
/// Find which of the two rationals is closer to another rational.
@@ -2157,39 +2151,39 @@ public static extern int av_match_ext(
/// Rational to be tested
/// Rational to be tested
/// One of the following values: - 1 if `q1` is nearer to `q` than `q2` - -1 if `q2` is nearer to `q` than `q1` - 0 if they have the same distance
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_nearer_q(AVRational @q, AVRational @q1, AVRational @q2);
/// Allocate the payload of a packet and initialize its fields with default values.
/// packet
/// wanted payload size
/// 0 if OK, AVERROR_xxx otherwise
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_new_packet(AVPacket* @pkt, int @size);
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVProgram* av_new_program(AVFormatContext* @s, int @id);
/// Iterate over potential AVOptions-enabled children of parent.
/// a pointer where iteration state is stored.
/// AVClass corresponding to next potential child or NULL
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVClass* av_opt_child_class_iterate(AVClass* @parent, void** @iter);
/// Iterate over AVOptions-enabled children of obj.
/// result of a previous call to this function or NULL
/// next AVOptions-enabled child or NULL
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void* av_opt_child_next(void* @obj, void* @prev);
/// Copy options from src object into dest object.
/// Object to copy from
/// Object to copy into
/// 0 on success, negative on error
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_copy(void* @dest, void* @src);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_eval_double(void* @obj, AVOption* @o,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2203,7 +2197,7 @@ public static extern int av_opt_eval_double(void* @obj, AVOption* @o,
/// an option for which the string is to be evaluated.
/// string to be evaluated.
/// 0 on success, a negative number on failure.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_eval_flags(void* @obj, AVOption* @o,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2212,7 +2206,7 @@ public static extern int av_opt_eval_flags(void* @obj, AVOption* @o,
#endif
string @val, int* @flags_out);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_eval_float(void* @obj, AVOption* @o,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2221,7 +2215,7 @@ public static extern int av_opt_eval_float(void* @obj, AVOption* @o,
#endif
string @val, float* @float_out);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_eval_int(void* @obj, AVOption* @o,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2230,7 +2224,7 @@ public static extern int av_opt_eval_int(void* @obj, AVOption* @o,
#endif
string @val, int* @int_out);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_eval_int64(void* @obj, AVOption* @o,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2239,7 +2233,7 @@ public static extern int av_opt_eval_int64(void* @obj, AVOption* @o,
#endif
string @val, long* @int64_out);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_eval_q(void* @obj, AVOption* @o,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2248,6 +2242,15 @@ public static extern int av_opt_eval_q(void* @obj, AVOption* @o,
#endif
string @val, AVRational* @q_out);
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
+ public static extern int av_opt_eval_uint(void* @obj, AVOption* @o,
+ #if NETSTANDARD2_1_OR_GREATER
+ [MarshalAs(UnmanagedType.LPUTF8Str)]
+ #else
+ [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Marshaler))]
+ #endif
+ string @val, uint* @uint_out);
+
/// Look for an option in an object. Consider only options which have all the specified flags set.
/// A pointer to a struct whose first element is a pointer to an AVClass. Alternatively a double pointer to an AVClass, if AV_OPT_SEARCH_FAKE_OBJ search flag is set.
/// The name of the option to look for.
@@ -2255,7 +2258,7 @@ public static extern int av_opt_eval_q(void* @obj, AVOption* @o,
/// Find only options with all the specified flags set (AV_OPT_FLAG).
/// A combination of AV_OPT_SEARCH_*.
/// A pointer to the option found, or NULL if no option was found.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVOption* av_opt_find(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2278,7 +2281,7 @@ public static extern int av_opt_eval_q(void* @obj, AVOption* @o,
/// A combination of AV_OPT_SEARCH_*.
/// if non-NULL, an object to which the option belongs will be written here. It may be different from obj if AV_OPT_SEARCH_CHILDREN is present in search_flags. This parameter is ignored if search_flags contain AV_OPT_SEARCH_FAKE_OBJ.
/// A pointer to the option found, or NULL if no option was found.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVOption* av_opt_find2(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2297,7 +2300,7 @@ public static extern int av_opt_eval_q(void* @obj, AVOption* @o,
/// the name of the flag field option
/// the name of the flag to check
/// non-zero if the flag is set, zero if the flag isn't set, isn't of the right type, or the flags field doesn't exist.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_flag_is_set(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2313,11 +2316,11 @@ public static extern int av_opt_flag_is_set(void* @obj,
string @flag_name);
/// Free all allocated objects in obj.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_opt_free(void* @obj);
/// Free an AVOptionRanges struct and set it to NULL.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_opt_freep_ranges(AVOptionRanges** @ranges);
/// @{ Those functions get a value of the option with the given name from an object.
@@ -2326,7 +2329,7 @@ public static extern int av_opt_flag_is_set(void* @obj,
/// flags passed to av_opt_find2. I.e. if AV_OPT_SEARCH_CHILDREN is passed here, then the option may be found in a child of obj.
/// value of the option will be written here
/// >=0 on success, a negative error code otherwise
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_get(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2335,17 +2338,32 @@ public static extern int av_opt_get(void* @obj,
#endif
string @name, int @search_flags, byte** @out_val);
- [Obsolete()]
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
- public static extern int av_opt_get_channel_layout(void* @obj,
+ /// For an array-type option, retrieve the values of one or more array elements.
+ /// index of the first array element to retrieve
+ /// number of array elements to retrieve; start_elem+nb_elems must not be larger than array size as returned by av_opt_get_array_size()
+ /// Option type corresponding to the desired output.
+ /// Array with nb_elems members into which the output will be written. The array type must match the underlying C type as documented for out_type, and be zeroed on entry to this function.
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
+ public static extern int av_opt_get_array(void* @obj,
+ #if NETSTANDARD2_1_OR_GREATER
+ [MarshalAs(UnmanagedType.LPUTF8Str)]
+ #else
+ [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Marshaler))]
+ #endif
+ string @name, int @search_flags, uint @start_elem, uint @nb_elems, AVOptionType @out_type, void* @out_val);
+
+ /// For an array-type option, get the number of elements in the array.
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
+ public static extern int av_opt_get_array_size(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
#else
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Marshaler))]
#endif
- string @name, int @search_flags, long* @ch_layout);
+ string @name, int @search_flags, uint* @out_val);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ /// The returned layout is a copy of the actual value and must be freed with av_channel_layout_uninit() by the caller
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_get_chlayout(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2355,7 +2373,7 @@ public static extern int av_opt_get_chlayout(void* @obj,
string @name, int @search_flags, AVChannelLayout* @layout);
/// The returned dictionary is a copy of the actual value and must be freed with av_dict_free() by the caller
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_get_dict_val(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2364,7 +2382,7 @@ public static extern int av_opt_get_dict_val(void* @obj,
#endif
string @name, int @search_flags, AVDictionary** @out_val);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_get_double(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2373,7 +2391,7 @@ public static extern int av_opt_get_double(void* @obj,
#endif
string @name, int @search_flags, double* @out_val);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_get_image_size(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2382,7 +2400,7 @@ public static extern int av_opt_get_image_size(void* @obj,
#endif
string @name, int @search_flags, int* @w_out, int* @h_out);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_get_int(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2399,7 +2417,7 @@ public static extern int av_opt_get_int(void* @obj,
/// parsed key; must be freed using av_free()
/// parsed value; must be freed using av_free()
/// >=0 for success, or a negative value corresponding to an AVERROR code in case of error; in particular: AVERROR(EINVAL) if no key is present
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_get_key_value(byte** @ropts,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2414,7 +2432,7 @@ public static extern int av_opt_get_key_value(byte** @ropts,
#endif
string @pairs_sep, uint @flags, byte** @rkey, byte** @rval);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_get_pixel_fmt(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2423,7 +2441,7 @@ public static extern int av_opt_get_pixel_fmt(void* @obj,
#endif
string @name, int @search_flags, AVPixelFormat* @out_fmt);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_get_q(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2432,7 +2450,7 @@ public static extern int av_opt_get_q(void* @obj,
#endif
string @name, int @search_flags, AVRational* @out_val);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_get_sample_fmt(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2441,7 +2459,7 @@ public static extern int av_opt_get_sample_fmt(void* @obj,
#endif
string @name, int @search_flags, AVSampleFormat* @out_fmt);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_get_video_rate(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2454,7 +2472,7 @@ public static extern int av_opt_get_video_rate(void* @obj,
/// AVClass object to check option on
/// option to be checked
/// >0 when option is set to its default, 0 when option is not set its default, < 0 on error
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_is_set_to_default(void* @obj, AVOption* @o);
/// Check if given option is set to its default value.
@@ -2462,7 +2480,7 @@ public static extern int av_opt_get_video_rate(void* @obj,
/// option name
/// combination of AV_OPT_SEARCH_*
/// >0 when option is set to its default, 0 when option is not set its default, < 0 on error
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_is_set_to_default_by_name(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2475,11 +2493,12 @@ public static extern int av_opt_is_set_to_default_by_name(void* @obj,
/// an AVOptions-enabled struct or a double pointer to an AVClass describing it.
/// result of the previous call to av_opt_next() on this object or NULL
/// next AVOption or NULL
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVOption* av_opt_next(void* @obj, AVOption* @prev);
- /// @}
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ /// Gets a pointer to the requested field in a struct. This function allows accessing a struct even when its fields are moved or renamed since the application making the access has been compiled,
+ [Obsolete("direct access to AVOption-exported fields is not supported")]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void* av_opt_ptr(AVClass* @avclass, void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2490,8 +2509,8 @@ public static extern int av_opt_is_set_to_default_by_name(void* @obj,
/// Get a list of allowed ranges for the given option.
/// is a bitmask of flags, undefined flags should not be set and should be ignored AV_OPT_SEARCH_FAKE_OBJ indicates that the obj is a double pointer to a AVClass instead of a full instance AV_OPT_MULTI_COMPONENT_RANGE indicates that function may return more than one component,
- /// number of compontents returned on success, a negative errro code otherwise
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ /// number of components returned on success, a negative error code otherwise
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_query_ranges(AVOptionRanges** @p0, void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2502,8 +2521,8 @@ public static extern int av_opt_query_ranges(AVOptionRanges** @p0, void* @obj,
/// Get a default list of allowed ranges for the given option.
/// is a bitmask of flags, undefined flags should not be set and should be ignored AV_OPT_SEARCH_FAKE_OBJ indicates that the obj is a double pointer to a AVClass instead of a full instance AV_OPT_MULTI_COMPONENT_RANGE indicates that function may return more than one component,
- /// number of compontents returned on success, a negative errro code otherwise
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ /// number of components returned on success, a negative error code otherwise
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_query_ranges_default(AVOptionRanges** @p0, void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2516,11 +2535,11 @@ public static extern int av_opt_query_ranges_default(AVOptionRanges** @p0, void*
/// AVClass object to serialize
/// serialize options with all the specified flags set (AV_OPT_FLAG)
/// combination of AV_OPT_SERIALIZE_* flags
- /// Pointer to buffer that will be allocated with string containg serialized options. Buffer must be freed by the caller when is no longer needed.
+ /// Pointer to buffer that will be allocated with string containing serialized options. Buffer must be freed by the caller when is no longer needed.
/// character used to separate key from value
/// character used to separate two pairs from each other
/// >= 0 on success, negative on error
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_serialize(void* @obj, int @opt_flags, int @flags, byte** @buffer, byte @key_val_sep, byte @pairs_sep);
/// @{ Those functions set the field of obj with the given name to value.
@@ -2529,7 +2548,7 @@ public static extern int av_opt_query_ranges_default(AVOptionRanges** @p0, void*
/// The value to set. In case of av_opt_set() if the field is not of a string type, then the given string is parsed. SI postfixes and some named scalars are supported. If the field is of a numeric type, it has to be a numeric or named scalar. Behavior with more than one scalar and +- infix operators is undefined. If the field is of a flags type, it has to be a sequence of numeric scalars or named flags separated by '+' or '-'. Prefixing a flag with '+' causes it to be set without affecting the other flags; similarly, '-' unsets a flag. If the field is of a dictionary type, it has to be a ':' separated list of key=value parameters. Values containing ':' special characters must be escaped.
/// flags passed to av_opt_find2. I.e. if AV_OPT_SEARCH_CHILDREN is passed here, then the option may be set on a child of obj.
/// 0 if the value has been set, or an AVERROR code in case of error: AVERROR_OPTION_NOT_FOUND if no matching option exists AVERROR(ERANGE) if the value is out of range AVERROR(EINVAL) if the value is not valid
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_set(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2544,26 +2563,30 @@ public static extern int av_opt_set(void* @obj,
#endif
string @val, int @search_flags);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
- public static extern int av_opt_set_bin(void* @obj,
+ /// Add, replace, or remove elements for an array option. Which of these operations is performed depends on the values of val and search_flags.
+ /// Index of the first array element to modify; must not be larger than array size as returned by av_opt_get_array_size().
+ /// number of array elements to modify; when val is NULL, start_elem+nb_elems must not be larger than array size as returned by av_opt_get_array_size()
+ /// Option type corresponding to the type of val, ignored when val is NULL.
+ /// Array with nb_elems elements or NULL.
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
+ public static extern int av_opt_set_array(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
#else
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Marshaler))]
#endif
- string @name, byte* @val, int @size, int @search_flags);
+ string @name, int @search_flags, uint @start_elem, uint @nb_elems, AVOptionType @val_type, void* @val);
- [Obsolete()]
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
- public static extern int av_opt_set_channel_layout(void* @obj,
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
+ public static extern int av_opt_set_bin(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
#else
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Marshaler))]
#endif
- string @name, long @ch_layout, int @search_flags);
+ string @name, byte* @val, int @size, int @search_flags);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_set_chlayout(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2574,24 +2597,24 @@ public static extern int av_opt_set_chlayout(void* @obj,
/// Set the values of all AVOption fields to their default values.
/// an AVOption-enabled struct (its first member must be a pointer to AVClass)
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_opt_set_defaults(void* @s);
/// Set the values of all AVOption fields to their default values. Only these AVOption fields for which (opt->flags & mask) == flags will have their default applied to s.
/// an AVOption-enabled struct (its first member must be a pointer to AVClass)
/// combination of AV_OPT_FLAG_*
/// combination of AV_OPT_FLAG_*
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_opt_set_defaults2(void* @s, int @mask, int @flags);
/// Set all the options from a given dictionary on an object.
/// a struct whose first element is a pointer to AVClass
/// options to process. This dictionary will be freed and replaced by a new one containing all options not found in obj. Of course this new dictionary needs to be freed by caller with av_dict_free().
/// 0 on success, a negative AVERROR if some option was found in obj, but could not be set.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_set_dict(void* @obj, AVDictionary** @options);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_set_dict_val(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2605,10 +2628,10 @@ public static extern int av_opt_set_dict_val(void* @obj,
/// options to process. This dictionary will be freed and replaced by a new one containing all options not found in obj. Of course this new dictionary needs to be freed by caller with av_dict_free().
/// A combination of AV_OPT_SEARCH_*.
/// 0 on success, a negative AVERROR if some option was found in obj, but could not be set.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_set_dict2(void* @obj, AVDictionary** @options, int @search_flags);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_set_double(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2624,7 +2647,7 @@ public static extern int av_opt_set_double(void* @obj,
/// a 0-terminated list of characters used to separate key from value, for example '='
/// a 0-terminated list of characters used to separate two pairs from each other, for example ':' or ','
/// the number of successfully set key=value pairs, or a negative value corresponding to an AVERROR code in case of error: AVERROR(EINVAL) if opts cannot be parsed, the error code issued by av_set_string3() if a key/value pair cannot be set
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_set_from_string(void* @ctx,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2645,7 +2668,7 @@ public static extern int av_opt_set_from_string(void* @ctx,
#endif
string @pairs_sep);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_set_image_size(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2654,7 +2677,7 @@ public static extern int av_opt_set_image_size(void* @obj,
#endif
string @name, int @w, int @h, int @search_flags);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_set_int(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2663,7 +2686,7 @@ public static extern int av_opt_set_int(void* @obj,
#endif
string @name, long @val, int @search_flags);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_set_pixel_fmt(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2672,7 +2695,7 @@ public static extern int av_opt_set_pixel_fmt(void* @obj,
#endif
string @name, AVPixelFormat @fmt, int @search_flags);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_set_q(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2681,7 +2704,7 @@ public static extern int av_opt_set_q(void* @obj,
#endif
string @name, AVRational @val, int @search_flags);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_set_sample_fmt(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2690,7 +2713,7 @@ public static extern int av_opt_set_sample_fmt(void* @obj,
#endif
string @name, AVSampleFormat @fmt, int @search_flags);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_set_video_rate(void* @obj,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2703,15 +2726,15 @@ public static extern int av_opt_set_video_rate(void* @obj,
/// log context to use for showing the options
/// requested flags for the options to show. Show only the options for which it is opt->flags & req_flags.
/// rejected flags for the options to show. Show only the options for which it is !(opt->flags & req_flags).
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_opt_show2(void* @obj, void* @av_log_obj, int @req_flags, int @rej_flags);
/// Audio output devices iterator.
- [DllImport(avdevice, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avdevice-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVOutputFormat* av_output_audio_device_next(AVOutputFormat* @d);
/// Video output devices iterator.
- [DllImport(avdevice, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avdevice-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVOutputFormat* av_output_video_device_next(AVOutputFormat* @d);
/// Wrap an existing array as a packet side data.
@@ -2720,34 +2743,34 @@ public static extern int av_opt_set_video_rate(void* @obj,
/// the side data array. It must be allocated with the av_malloc() family of functions. The ownership of the data is transferred to pkt.
/// side information size
/// a non-negative number on success, a negative AVERROR code on failure. On failure, the packet is unchanged and the data remains owned by the caller.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_packet_add_side_data(AVPacket* @pkt, AVPacketSideDataType @type, byte* @data, ulong @size);
/// Allocate an AVPacket and set its fields to default values. The resulting struct must be freed using av_packet_free().
/// An AVPacket filled with default values or NULL on failure.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVPacket* av_packet_alloc();
/// Create a new packet that references the same data as src.
/// newly created AVPacket on success, NULL on error.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVPacket* av_packet_clone(AVPacket* @src);
/// Copy only "properties" fields from src to dst.
/// Destination packet
/// Source packet
/// 0 on success AVERROR on failure.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_packet_copy_props(AVPacket* @dst, AVPacket* @src);
/// Free the packet, if the packet is reference counted, it will be unreferenced first.
/// packet to be freed. The pointer will be set to NULL.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_packet_free(AVPacket** @pkt);
/// Convenience function to free all the side data stored. All the other fields stay untouched.
/// packet
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_packet_free_side_data(AVPacket* @pkt);
/// Initialize a reference-counted packet from av_malloc()ed data.
@@ -2755,7 +2778,7 @@ public static extern int av_opt_set_video_rate(void* @obj,
/// Data allocated by av_malloc() to be used as packet data. If this function returns successfully, the data is owned by the underlying AVBuffer. The caller may not access the data through other means.
/// size of data in bytes, without the padding. I.e. the full buffer size is assumed to be size + AV_INPUT_BUFFER_PADDING_SIZE.
/// 0 on success, a negative AVERROR on error
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_packet_from_data(AVPacket* @pkt, byte* @data, int @size);
/// Get side information from packet.
@@ -2763,25 +2786,25 @@ public static extern int av_opt_set_video_rate(void* @obj,
/// desired side information type
/// If supplied, *size will be set to the size of the side data or to zero if the desired side data is not present.
/// pointer to data if present or NULL otherwise
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern byte* av_packet_get_side_data(AVPacket* @pkt, AVPacketSideDataType @type, ulong* @size);
/// Ensure the data described by a given packet is reference counted.
/// packet whose data should be made reference counted.
/// 0 on success, a negative AVERROR on error. On failure, the packet is unchanged.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_packet_make_refcounted(AVPacket* @pkt);
/// Create a writable reference for the data described by a given packet, avoiding data copy if possible.
/// Packet whose data should be made writable.
/// 0 on success, a negative AVERROR on failure. On failure, the packet is unchanged.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_packet_make_writable(AVPacket* @pkt);
/// Move every field in src to dst and reset src.
/// Destination packet
/// Source packet, will be reset
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_packet_move_ref(AVPacket* @dst, AVPacket* @src);
/// Allocate new information of a packet.
@@ -2789,28 +2812,28 @@ public static extern int av_opt_set_video_rate(void* @obj,
/// side information type
/// side information size
/// pointer to fresh allocated data or NULL otherwise
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern byte* av_packet_new_side_data(AVPacket* @pkt, AVPacketSideDataType @type, ulong @size);
/// Pack a dictionary for use in side_data.
/// The dictionary to pack.
/// pointer to store the size of the returned data
/// pointer to data if successful, NULL otherwise
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern byte* av_packet_pack_dictionary(AVDictionary* @dict, ulong* @size);
/// Setup a new reference to the data described by a given packet
/// Destination packet. Will be completely overwritten.
/// Source packet
/// 0 on success, a negative AVERROR on error. On error, dst will be blank (as if returned by av_packet_alloc()).
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_packet_ref(AVPacket* @dst, AVPacket* @src);
/// Convert valid timing fields (timestamps / durations) in a packet from one timebase to another. Timestamps with unknown values (AV_NOPTS_VALUE) will be ignored.
/// packet on which the conversion will be performed
/// source timebase, in which the timing fields in pkt are expressed
/// destination timebase, to which the timing fields will be converted
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_packet_rescale_ts(AVPacket* @pkt, AVRational @tb_src, AVRational @tb_dst);
/// Shrink the already allocated side data buffer
@@ -2818,7 +2841,7 @@ public static extern int av_opt_set_video_rate(void* @obj,
/// side information type
/// new side information size
/// 0 on success, < 0 on failure
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_packet_shrink_side_data(AVPacket* @pkt, AVPacketSideDataType @type, ulong @size);
/// Wrap existing data as packet side data.
@@ -2829,13 +2852,13 @@ public static extern int av_opt_set_video_rate(void* @obj,
/// size of the data array
/// currently unused. Must be zero
/// pointer to freshly allocated side data on success, or NULL otherwise On failure, the side data array is unchanged and the data remains owned by the caller.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVPacketSideData* av_packet_side_data_add(AVPacketSideData** @sd, int* @nb_sd, AVPacketSideDataType @type, void* @data, ulong @size, int @flags);
/// Convenience function to free all the side data stored in an array, and the array itself.
/// pointer to array of side data to free. Will be set to NULL upon return.
/// pointer to an integer containing the number of entries in the array. Will be set to 0 upon return.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_packet_side_data_free(AVPacketSideData** @sd, int* @nb_sd);
/// Get side information from a side data array.
@@ -2843,10 +2866,10 @@ public static extern int av_opt_set_video_rate(void* @obj,
/// value containing the number of entries in the array.
/// desired side information type
/// pointer to side data if present or NULL otherwise
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVPacketSideData* av_packet_side_data_get(AVPacketSideData* @sd, int @nb_sd, AVPacketSideDataType @type);
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string av_packet_side_data_name(AVPacketSideDataType @type);
@@ -2855,14 +2878,14 @@ public static extern int av_opt_set_video_rate(void* @obj,
/// desired side data size
/// currently unused. Must be zero
/// pointer to freshly allocated side data on success, or NULL otherwise.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVPacketSideData* av_packet_side_data_new(AVPacketSideData** @psd, int* @pnb_sd, AVPacketSideDataType @type, ulong @size, int @flags);
/// Remove side data of the given type from a side data array.
/// the array from which the side data should be removed
/// pointer to an integer containing the number of entries in the array. Will be reduced by the amount of entries removed upon return
/// side information type
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_packet_side_data_remove(AVPacketSideData* @sd, int* @nb_sd, AVPacketSideDataType @type);
/// Unpack a dictionary from side_data.
@@ -2870,17 +2893,17 @@ public static extern int av_opt_set_video_rate(void* @obj,
/// size of the data
/// the metadata storage dictionary
/// 0 on success, < 0 on failure
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_packet_unpack_dictionary(byte* @data, ulong @size, AVDictionary** @dict);
/// Wipe the packet.
/// The packet to be unreferenced.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_packet_unref(AVPacket* @pkt);
/// Parse CPU caps from a string and update the given AV_CPU_* flags based on that.
/// negative on error.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_parse_cpu_caps(uint* @flags,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2889,16 +2912,16 @@ public static extern int av_parse_cpu_caps(uint* @flags,
#endif
string @s);
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_parser_close(AVCodecParserContext* @s);
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVCodecParserContext* av_parser_init(int @codec_id);
/// Iterate over all registered codec parsers.
/// a pointer where libavcodec will store the iteration state. Must point to NULL to start the iteration.
/// the next registered codec parser or NULL when the iteration is finished
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVCodecParser* av_parser_iterate(void** @opaque);
/// Parse a packet.
@@ -2912,28 +2935,28 @@ public static extern int av_parse_cpu_caps(uint* @flags,
/// input decoding timestamp.
/// input byte position in stream.
/// the number of bytes of the input bitstream used.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_parser_parse2(AVCodecParserContext* @s, AVCodecContext* @avctx, byte** @poutbuf, int* @poutbuf_size, byte* @buf, int @buf_size, long @pts, long @dts, long @pos);
/// Returns number of planes in pix_fmt, a negative AVERROR if pix_fmt is not a valid pixel format.
/// number of planes in pix_fmt, a negative AVERROR if pix_fmt is not a valid pixel format.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_pix_fmt_count_planes(AVPixelFormat @pix_fmt);
/// Returns a pixel format descriptor for provided pixel format or NULL if this pixel format is unknown.
/// a pixel format descriptor for provided pixel format or NULL if this pixel format is unknown.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVPixFmtDescriptor* av_pix_fmt_desc_get(AVPixelFormat @pix_fmt);
/// Returns an AVPixelFormat id described by desc, or AV_PIX_FMT_NONE if desc is not a valid pointer to a pixel format descriptor.
/// an AVPixelFormat id described by desc, or AV_PIX_FMT_NONE if desc is not a valid pointer to a pixel format descriptor.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVPixelFormat av_pix_fmt_desc_get_id(AVPixFmtDescriptor* @desc);
/// Iterate over all pixel format descriptors known to libavutil.
/// previous descriptor. NULL to get the first descriptor.
/// next descriptor or NULL after the last descriptor
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVPixFmtDescriptor* av_pix_fmt_desc_next(AVPixFmtDescriptor* @prev);
/// Utility function to access log2_chroma_w log2_chroma_h from the pixel format AVPixFmtDescriptor.
@@ -2941,13 +2964,13 @@ public static extern int av_parse_cpu_caps(uint* @flags,
/// store log2_chroma_w (horizontal/width shift)
/// store log2_chroma_h (vertical/height shift)
/// 0 on success, AVERROR(ENOSYS) on invalid or unknown pixel format
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_pix_fmt_get_chroma_sub_sample(AVPixelFormat @pix_fmt, int* @h_shift, int* @v_shift);
/// Utility function to swap the endianness of a pixel format.
/// the pixel format
/// pixel format with swapped endianness if it exists, otherwise AV_PIX_FMT_NONE
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVPixelFormat av_pix_fmt_swap_endianness(AVPixelFormat @pix_fmt);
/// Send a nice dump of a packet to the log.
@@ -2956,7 +2979,7 @@ public static extern int av_parse_cpu_caps(uint* @flags,
/// packet to dump
/// True if the payload must be displayed, too.
/// AVStream that the packet belongs to
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_pkt_dump_log2(void* @avcl, int @level, AVPacket* @pkt, int @dump_payload, AVStream* @st);
/// Send a nice dump of a packet to the specified file stream.
@@ -2964,11 +2987,11 @@ public static extern int av_parse_cpu_caps(uint* @flags,
/// packet to dump
/// True if the payload must be displayed, too.
/// AVStream that the packet belongs to
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_pkt_dump2(_iobuf* @f, AVPacket* @pkt, int @dump_payload, AVStream* @st);
/// Like av_probe_input_buffer2() but returns 0 on success
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_probe_input_buffer(AVIOContext* @pb, AVInputFormat** @fmt,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2985,7 +3008,7 @@ public static extern int av_probe_input_buffer(AVIOContext* @pb, AVInputFormat**
/// the offset within the bytestream to probe from
/// the maximum probe buffer size (zero for default)
/// the score in case of success, a negative value corresponding to an the maximal score is AVPROBE_SCORE_MAX AVERROR code otherwise
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_probe_input_buffer2(AVIOContext* @pb, AVInputFormat** @fmt,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -2997,37 +3020,37 @@ public static extern int av_probe_input_buffer2(AVIOContext* @pb, AVInputFormat*
/// Guess the file format.
/// data to be probed
/// Whether the file is already opened; determines whether demuxers with or without AVFMT_NOFILE are probed.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVInputFormat* av_probe_input_format(AVProbeData* @pd, int @is_opened);
/// Guess the file format.
/// data to be probed
/// Whether the file is already opened; determines whether demuxers with or without AVFMT_NOFILE are probed.
/// A probe score larger that this is required to accept a detection, the variable is set to the actual detection score afterwards. If the score is < = AVPROBE_SCORE_MAX / 4 it is recommended to retry with a larger probe buffer.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVInputFormat* av_probe_input_format2(AVProbeData* @pd, int @is_opened, int* @score_max);
/// Guess the file format.
/// Whether the file is already opened; determines whether demuxers with or without AVFMT_NOFILE are probed.
/// The score of the best detection.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVInputFormat* av_probe_input_format3(AVProbeData* @pd, int @is_opened, int* @score_ret);
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_program_add_stream_index(AVFormatContext* @ac, int @progid, uint @idx);
/// Convert an AVRational to a IEEE 32-bit `float` expressed in fixed-point format.
/// Rational to be converted
/// Equivalent floating-point value, expressed as an unsigned 32-bit integer.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern uint av_q2intfloat(AVRational @q);
/// Return the next frame of a stream. This function returns what is stored in the file, and does not validate that what is there are valid frames for the decoder. It will split what is stored in the file into frames and return one for each call. It will not omit invalid data between valid frames so as to give the decoder the maximum information possible for decoding.
/// 0 if OK, < 0 on error or end of file. On error, pkt will be blank (as if it came from av_packet_alloc()).
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_read_frame(AVFormatContext* @s, AVPacket* @pkt);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_read_image_line(ushort* @dst, in byte_ptr4 @data, in int4 @linesize, AVPixFmtDescriptor* @desc, int @x, int @y, int @c, int @w, int @read_pal_component);
/// Read a line from an image, and write the values of the pixel format component c to dst.
@@ -3039,22 +3062,22 @@ public static extern int av_probe_input_buffer2(AVIOContext* @pb, AVInputFormat*
/// the width of the line to read, that is the number of values to write to dst
/// if not zero and the format is a paletted format writes the values corresponding to the palette component c in data[1] to dst, rather than the palette indexes in data[0]. The behavior is undefined if the format is not paletted.
/// size of elements in dst array (2 or 4 byte)
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_read_image_line2(void* @dst, in byte_ptr4 @data, in int4 @linesize, AVPixFmtDescriptor* @desc, int @x, int @y, int @c, int @w, int @read_pal_component, int @dst_element_size);
/// Pause a network-based stream (e.g. RTSP stream).
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_read_pause(AVFormatContext* @s);
/// Start playing a network-based stream (e.g. RTSP stream) at the current position.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_read_play(AVFormatContext* @s);
/// Allocate, reallocate, or free a block of memory.
/// Pointer to a memory block already allocated with av_realloc() or `NULL`
/// Size in bytes of the memory block to be allocated or reallocated
/// Pointer to a newly-reallocated block or `NULL` if the block cannot be reallocated
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void* av_realloc(void* @ptr, ulong @size);
/// Allocate, reallocate, or free an array.
@@ -3062,18 +3085,18 @@ public static extern int av_probe_input_buffer2(AVIOContext* @pb, AVInputFormat*
/// Number of elements in the array
/// Size of the single element of the array
/// Pointer to a newly-reallocated block or NULL if the block cannot be reallocated
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void* av_realloc_array(void* @ptr, ulong @nmemb, ulong @size);
/// Allocate, reallocate, or free a block of memory.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void* av_realloc_f(void* @ptr, ulong @nelem, ulong @elsize);
/// Allocate, reallocate, or free a block of memory through a pointer to a pointer.
/// Pointer to a pointer to a memory block already allocated with av_realloc(), or a pointer to `NULL`. The pointer is updated on success, or freed on failure.
/// Size in bytes for the memory block to be allocated or reallocated
/// Zero on success, an AVERROR error code on failure
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_reallocp(void* @ptr, ulong @size);
/// Allocate, reallocate an array through a pointer to a pointer.
@@ -3081,7 +3104,7 @@ public static extern int av_probe_input_buffer2(AVIOContext* @pb, AVInputFormat*
/// Number of elements
/// Size of the single element
/// Zero on success, an AVERROR error code on failure
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_reallocp_array(void* @ptr, ulong @nmemb, ulong @size);
/// Reduce a fraction.
@@ -3091,11 +3114,11 @@ public static extern int av_probe_input_buffer2(AVIOContext* @pb, AVInputFormat*
/// Source denominator
/// Maximum allowed values for `dst_num` & `dst_den`
/// 1 if the operation is exact, 0 otherwise
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_reduce(int* @dst_num, int* @dst_den, long @num, long @den, long @max);
/// Rescale a 64-bit integer with rounding to nearest.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern long av_rescale(long @a, long @b, long @c);
/// Rescale a timestamp while preserving known durations.
@@ -3106,25 +3129,25 @@ public static extern int av_probe_input_buffer2(AVIOContext* @pb, AVInputFormat*
/// Pointer to a timestamp expressed in terms of `fs_tb`, acting as a state variable
/// Output timebase
/// Timestamp expressed in terms of `out_tb`
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern long av_rescale_delta(AVRational @in_tb, long @in_ts, AVRational @fs_tb, int @duration, long* @last, AVRational @out_tb);
/// Rescale a 64-bit integer by 2 rational numbers.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern long av_rescale_q(long @a, AVRational @bq, AVRational @cq);
/// Rescale a 64-bit integer by 2 rational numbers with specified rounding.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern long av_rescale_q_rnd(long @a, AVRational @bq, AVRational @cq, AVRounding @rnd);
/// Rescale a 64-bit integer with specified rounding.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern long av_rescale_rnd(long @a, long @b, long @c, AVRounding @rnd);
/// Check if the sample format is planar.
/// the sample format to inspect
/// 1 if the sample format is planar, 0 if it is interleaved
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_sample_fmt_is_planar(AVSampleFormat @sample_fmt);
/// Allocate a samples buffer for nb_samples samples, and fill data pointers and linesize accordingly. The allocated samples buffer can be freed by using av_freep(&audio_data[0]) Allocated data will be initialized to silence.
@@ -3135,11 +3158,11 @@ public static extern int av_probe_input_buffer2(AVIOContext* @pb, AVInputFormat*
/// the sample format
/// buffer size alignment (0 = default, 1 = no alignment)
/// >=0 on success or a negative error code on failure
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_samples_alloc(byte** @audio_data, int* @linesize, int @nb_channels, int @nb_samples, AVSampleFormat @sample_fmt, int @align);
/// Allocate a data pointers array, samples buffer for nb_samples samples, and fill data pointers and linesize accordingly.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_samples_alloc_array_and_samples(byte*** @audio_data, int* @linesize, int @nb_channels, int @nb_samples, AVSampleFormat @sample_fmt, int @align);
/// Copy samples from src to dst.
@@ -3150,7 +3173,7 @@ public static extern int av_probe_input_buffer2(AVIOContext* @pb, AVInputFormat*
/// number of samples to be copied
/// number of audio channels
/// audio sample format
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_samples_copy(byte** @dst, byte** @src, int @dst_offset, int @src_offset, int @nb_samples, int @nb_channels, AVSampleFormat @sample_fmt);
/// Fill plane data pointers and linesize for samples with sample format sample_fmt.
@@ -3162,7 +3185,7 @@ public static extern int av_probe_input_buffer2(AVIOContext* @pb, AVInputFormat*
/// the sample format
/// buffer size alignment (0 = default, 1 = no alignment)
/// minimum size in bytes required for the buffer on success, or a negative error code on failure
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_samples_fill_arrays(byte** @audio_data, int* @linesize, byte* @buf, int @nb_channels, int @nb_samples, AVSampleFormat @sample_fmt, int @align);
/// Get the required buffer size for the given audio parameters.
@@ -3172,7 +3195,7 @@ public static extern int av_probe_input_buffer2(AVIOContext* @pb, AVInputFormat*
/// the sample format
/// buffer size alignment (0 = default, 1 = no alignment)
/// required buffer size, or negative error code on failure
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_samples_get_buffer_size(int* @linesize, int @nb_channels, int @nb_samples, AVSampleFormat @sample_fmt, int @align);
/// Fill an audio buffer with silence.
@@ -3181,7 +3204,7 @@ public static extern int av_probe_input_buffer2(AVIOContext* @pb, AVInputFormat*
/// number of samples to fill
/// number of audio channels
/// audio sample format
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_samples_set_silence(byte** @audio_data, int @offset, int @nb_samples, int @nb_channels, AVSampleFormat @sample_fmt);
/// Generate an SDP for an RTP session.
@@ -3190,7 +3213,7 @@ public static extern int av_probe_input_buffer2(AVIOContext* @pb, AVInputFormat*
/// buffer where the SDP will be stored (must be allocated by the caller)
/// the size of the buffer
/// 0 if OK, AVERROR_xxx on error
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_sdp_create(AVFormatContext** @ac, int @n_files, byte* @buf, int @size);
/// Seek to the keyframe at timestamp. 'timestamp' in 'stream_index'.
@@ -3199,7 +3222,7 @@ public static extern int av_probe_input_buffer2(AVIOContext* @pb, AVInputFormat*
/// Timestamp in AVStream.time_base units or, if no stream is specified, in AV_TIME_BASE units.
/// flags which select direction and seeking mode
/// >= 0 on success
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_seek_frame(AVFormatContext* @s, int @stream_index, long @timestamp, int @flags);
/// Parse the key/value pairs list in opts. For each key/value pair found, stores the value in the field in ctx that is named like the key. ctx must be an AVClass context, storing is done using AVOptions.
@@ -3207,7 +3230,7 @@ public static extern int av_probe_input_buffer2(AVIOContext* @pb, AVInputFormat*
/// a 0-terminated list of characters used to separate key from value
/// a 0-terminated list of characters used to separate two pairs from each other
/// the number of successfully set key/value pairs, or a negative value corresponding to an AVERROR code in case of error: AVERROR(EINVAL) if opts cannot be parsed, the error code issued by av_opt_set() if a key/value pair cannot be set
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_set_options_string(void* @ctx,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -3231,7 +3254,7 @@ public static extern int av_set_options_string(void* @ctx,
/// Reduce packet size, correctly zeroing padding
/// packet
/// new size
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_shrink_packet(AVPacket* @pkt, int @size);
/// Multiply two `size_t` values checking for overflow.
@@ -3239,13 +3262,13 @@ public static extern int av_set_options_string(void* @ctx,
/// Operand of multiplication
/// Pointer to the result of the operation
/// 0 on success, AVERROR(EINVAL) on overflow
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_size_mult(ulong @a, ulong @b, ulong* @r);
/// Duplicate a string.
/// String to be duplicated
/// Pointer to a newly-allocated string containing a copy of `s` or `NULL` if the string cannot be allocated
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern byte* av_strdup(
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -3254,64 +3277,34 @@ public static extern int av_set_options_string(void* @ctx,
#endif
string @s);
- /// Wrap an existing array as stream side data.
- /// stream
- /// side information type
- /// the side data array. It must be allocated with the av_malloc() family of functions. The ownership of the data is transferred to st.
- /// side information size
- /// zero on success, a negative AVERROR code on failure. On failure, the stream is unchanged and the data remains owned by the caller.
- [Obsolete("use av_packet_side_data_add() with the stream's \"codecpar side data\"")]
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
- public static extern int av_stream_add_side_data(AVStream* @st, AVPacketSideDataType @type, byte* @data, ulong @size);
-
/// Get the AVClass for AVStream. It can be used in combination with AV_OPT_SEARCH_FAKE_OBJ for examining options.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVClass* av_stream_get_class();
- /// Get the internal codec timebase from a stream.
- /// input stream to extract the timebase from
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [Obsolete("do not call this function")]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVRational av_stream_get_codec_timebase(AVStream* @st);
- /// Returns the pts of the last muxed packet + its duration
- [Obsolete()]
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
- public static extern long av_stream_get_end_pts(AVStream* @st);
-
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVCodecParserContext* av_stream_get_parser(AVStream* @s);
- /// Get side information from stream.
- /// stream
- /// desired side information type
- /// If supplied, *size will be set to the size of the side data or to zero if the desired side data is not present.
- /// pointer to data if present or NULL otherwise
- [Obsolete("use av_packet_side_data_get() with the stream's \"codecpar side data\"")]
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
- public static extern byte* av_stream_get_side_data(AVStream* @stream, AVPacketSideDataType @type, ulong* @size);
-
- /// Allocate new information from stream.
- /// stream
- /// desired side information type
- /// side information size
- /// pointer to fresh allocated data or NULL otherwise
- [Obsolete("use av_packet_side_data_new() with the stream's \"codecpar side data\"")]
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
- public static extern byte* av_stream_new_side_data(AVStream* @stream, AVPacketSideDataType @type, ulong @size);
+ /// Get the AVClass for AVStreamGroup. It can be used in combination with AV_OPT_SEARCH_FAKE_OBJ for examining options.
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
+ public static extern AVClass* av_stream_group_get_class();
/// Put a description of the AVERROR code errnum in errbuf. In case of failure the global variable errno is set to indicate the error. Even in case of failure av_strerror() will print a generic error message indicating the errnum provided to errbuf.
/// error code to describe
/// buffer to which description is written
/// the size in bytes of errbuf
/// 0 on success, a negative value if a description for errnum cannot be found
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_strerror(int @errnum, byte* @errbuf, ulong @errbuf_size);
/// Duplicate a substring of a string.
/// String to be duplicated
/// Maximum length of the resulting string (not counting the terminating byte)
/// Pointer to a newly-allocated string containing a substring of `s` or `NULL` if the string cannot be allocated
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern byte* av_strndup(
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -3324,31 +3317,19 @@ public static extern int av_set_options_string(void* @ctx,
/// First rational
/// Second rational
/// b-c
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVRational av_sub_q(AVRational @b, AVRational @c);
- /// Wrapper to work around the lack of mkstemp() on mingw. Also, tries to create file in /tmp first, if possible. *prefix can be a character constant; *filename will be allocated internally.
- /// file descriptor of opened file (or negative value corresponding to an AVERROR code on error) and opened file name in **filename.
- [Obsolete("as fd numbers cannot be passed saftely between libs on some platforms")]
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
- public static extern int av_tempfile(
- #if NETSTANDARD2_1_OR_GREATER
- [MarshalAs(UnmanagedType.LPUTF8Str)]
- #else
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Marshaler))]
- #endif
- string @prefix, byte** @filename, int @log_offset, void* @log_ctx);
-
/// Adjust frame number for NTSC drop frame time code.
/// frame number to adjust
/// frame per second, multiples of 30
/// adjusted frame number
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_timecode_adjust_ntsc_framenum2(int @framenum, int @fps);
/// Check if the timecode feature is available for the given frame rate
/// 0 if supported, < 0 otherwise
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_timecode_check_frame_rate(AVRational @rate);
/// Convert sei info to SMPTE 12M binary representation.
@@ -3359,14 +3340,14 @@ public static extern int av_tempfile(
/// second
/// frame number
/// the SMPTE binary representation
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern uint av_timecode_get_smpte(AVRational @rate, int @drop, int @hh, int @mm, int @ss, int @ff);
/// Convert frame number to SMPTE 12M binary representation.
/// timecode data correctly initialized
/// frame number
/// the SMPTE binary representation
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern uint av_timecode_get_smpte_from_framenum(AVTimecode* @tc, int @framenum);
/// Init a timecode struct with the passed parameters.
@@ -3376,7 +3357,7 @@ public static extern int av_tempfile(
/// the first frame number
/// a pointer to an arbitrary struct of which the first field is a pointer to an AVClass struct (used for av_log)
/// 0 on success, AVERROR otherwise
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_timecode_init(AVTimecode* @tc, AVRational @rate, int @flags, int @frame_start, void* @log_ctx);
/// Init a timecode struct from the passed timecode components.
@@ -3389,7 +3370,7 @@ public static extern int av_tempfile(
/// frames
/// a pointer to an arbitrary struct of which the first field is a pointer to an AVClass struct (used for av_log)
/// 0 on success, AVERROR otherwise
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_timecode_init_from_components(AVTimecode* @tc, AVRational @rate, int @flags, int @hh, int @mm, int @ss, int @ff, void* @log_ctx);
/// Parse timecode representation (hh:mm:ss[:;.]ff).
@@ -3398,7 +3379,7 @@ public static extern int av_tempfile(
/// timecode string which will determine the frame start
/// a pointer to an arbitrary struct of which the first field is a pointer to an AVClass struct (used for av_log).
/// 0 on success, AVERROR otherwise
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_timecode_init_from_string(AVTimecode* @tc, AVRational @rate,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -3411,7 +3392,7 @@ public static extern int av_timecode_init_from_string(AVTimecode* @tc, AVRationa
/// destination buffer, must be at least AV_TIMECODE_STR_SIZE long
/// the 25-bits timecode
/// the buf parameter
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern byte* av_timecode_make_mpeg_tc_string(byte* @buf, uint @tc25bit);
/// Get the timecode string from the SMPTE timecode format.
@@ -3419,7 +3400,7 @@ public static extern int av_timecode_init_from_string(AVTimecode* @tc, AVRationa
/// the 32-bit SMPTE timecode
/// prevent the use of a drop flag when it is known the DF bit is arbitrary
/// the buf parameter
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern byte* av_timecode_make_smpte_tc_string(byte* @buf, uint @tcsmpte, int @prevent_df);
/// Get the timecode string from the SMPTE timecode format.
@@ -3429,7 +3410,7 @@ public static extern int av_timecode_init_from_string(AVTimecode* @tc, AVRationa
/// prevent the use of a drop flag when it is known the DF bit is arbitrary
/// prevent the use of a field flag when it is known the field bit is arbitrary (e.g. because it is used as PC flag)
/// the buf parameter
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern byte* av_timecode_make_smpte_tc_string2(byte* @buf, AVRational @rate, uint @tcsmpte, int @prevent_df, int @skip_field);
/// Load timecode string in buf.
@@ -3437,15 +3418,15 @@ public static extern int av_timecode_init_from_string(AVTimecode* @tc, AVRationa
/// destination buffer, must be at least AV_TIMECODE_STR_SIZE long
/// frame number
/// the buf parameter
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern byte* av_timecode_make_string(AVTimecode* @tc, byte* @buf, int @framenum);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_tree_destroy(AVTreeNode* @t);
/// Apply enu(opaque, &elem) to all the elements in the tree in a given range.
/// a comparison function that returns < 0 for an element below the range, > 0 for an element above the range and == 0 for an element inside the range
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_tree_enumerate(AVTreeNode* @t, void* @opaque, av_tree_enumerate_cmp_func @cmp, av_tree_enumerate_enu_func @enu);
/// Find an element.
@@ -3453,7 +3434,7 @@ public static extern int av_timecode_init_from_string(AVTimecode* @tc, AVRationa
/// compare function used to compare elements in the tree, API identical to that of Standard C's qsort It is guaranteed that the first and only the first argument to cmp() will be the key parameter to av_tree_find(), thus it could if the user wants, be a different type (like an opaque context).
/// If next is not NULL, then next[0] will contain the previous element and next[1] the next element. If either does not exist, then the corresponding entry in next is unchanged.
/// An element with cmp(key, elem) == 0 or NULL if no such element exists in the tree.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void* av_tree_find(AVTreeNode* @root, void* @key, av_tree_find_cmp_func @cmp, ref void_ptr2 @next);
/// Insert or remove an element.
@@ -3462,11 +3443,11 @@ public static extern int av_timecode_init_from_string(AVTimecode* @tc, AVRationa
/// compare function used to compare elements in the tree, API identical to that of Standard C's qsort
/// Used to allocate and free AVTreeNodes. For insertion the user must set it to an allocated and zeroed object of at least av_tree_node_size bytes size. av_tree_insert() will set it to NULL if it has been consumed. For deleting elements *next is set to NULL by the user and av_tree_insert() will set it to the AVTreeNode which was used for the removed element. This allows the use of flat arrays, which have lower overhead compared to many malloced elements. You might want to define a function like:
/// If no insertion happened, the found element; if an insertion or removal happened, then either key or NULL will be returned. Which one it is depends on the tree state and the implementation. You should make no assumptions that it's one or the other in the code.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void* av_tree_insert(AVTreeNode** @rootp, void* @key, av_tree_insert_cmp_func @cmp, AVTreeNode** @next);
/// Allocate an AVTreeNode.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern AVTreeNode* av_tree_node_alloc();
/// Split a URL string into components.
@@ -3480,7 +3461,7 @@ public static extern int av_timecode_init_from_string(AVTimecode* @tc, AVRationa
/// the buffer for the path
/// the size of the path buffer
/// the URL to split
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_url_split(byte* @proto, int @proto_size, byte* @authorization, int @authorization_size, byte* @hostname, int @hostname_size, int* @port_ptr, byte* @path, int @path_size,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -3492,11 +3473,11 @@ public static extern void av_url_split(byte* @proto, int @proto_size, byte* @aut
/// Sleep for a period of time. Although the duration is expressed in microseconds, the actual delay may be rounded to the precision of the system timer.
/// Number of microseconds to sleep.
/// zero on success or (negative) error code.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_usleep(uint @usec);
/// Return an informative version string. This usually is the actual release version number or a git commit description. This string has no fixed format and can change any time. It should never be parsed by code.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string av_version_info();
@@ -3505,7 +3486,7 @@ public static extern void av_url_split(byte* @proto, int @proto_size, byte* @aut
/// The importance level of the message expressed using a "Logging Constant".
/// The format string (printf-compatible) that specifies how subsequent arguments are converted to output.
/// The arguments referenced by the format string.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_vlog(void* @avcl, int @level,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -3518,10 +3499,10 @@ public static extern void av_vlog(void* @avcl, int @level,
/// media file handle
/// The packet containing the data to be written. Note that unlike av_interleaved_write_frame(), this function does not take ownership of the packet passed to it (though some muxers may make an internal reference to the input packet). This parameter can be NULL (at any time, not just at the end), in order to immediately flush data buffered within the muxer, for muxers that buffer up data internally before writing it to the output. Packet's "stream_index" field must be set to the index of the corresponding stream in "s->streams". The timestamps ( "pts", "dts") must be set to correct values in the stream's timebase (unless the output format is flagged with the AVFMT_NOTIMESTAMPS flag, then they can be set to AV_NOPTS_VALUE). The dts for subsequent packets passed to this function must be strictly increasing when compared in their respective timebases (unless the output format is flagged with the AVFMT_TS_NONSTRICT, then they merely have to be nondecreasing). "duration") should also be set if known.
/// < 0 on error, = 0 if OK, 1 if flushed and there is no more data to flush
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_write_frame(AVFormatContext* @s, AVPacket* @pkt);
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_write_image_line(ushort* @src, ref byte_ptr4 @data, in int4 @linesize, AVPixFmtDescriptor* @desc, int @x, int @y, int @c, int @w);
/// Write the values from src to the pixel format component c of an image line.
@@ -3533,58 +3514,47 @@ public static extern void av_vlog(void* @avcl, int @level,
/// the vertical coordinate of the first pixel to write
/// the width of the line to write, that is the number of values to write to the image line
/// size of elements in src array (2 or 4 byte)
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern void av_write_image_line2(void* @src, ref byte_ptr4 @data, in int4 @linesize, AVPixFmtDescriptor* @desc, int @x, int @y, int @c, int @w, int @src_element_size);
/// Write the stream trailer to an output media file and free the file private data.
/// media file handle
/// 0 if OK, AVERROR_xxx on error
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_write_trailer(AVFormatContext* @s);
/// Write an uncoded frame to an output media file.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_write_uncoded_frame(AVFormatContext* @s, int @stream_index, AVFrame* @frame);
/// Test whether a muxer supports uncoded frame.
/// >=0 if an uncoded frame can be written to that muxer and stream, < 0 if not
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int av_write_uncoded_frame_query(AVFormatContext* @s, int @stream_index);
/// Encode extradata length to a buffer. Used by xiph codecs.
/// buffer to write to; must be at least (v/255+1) bytes long
/// size of extradata in bytes
/// number of bytes written to the buffer.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern uint av_xiphlacing(byte* @s, uint @v);
/// Modify width and height values so that they will result in a memory buffer that is acceptable for the codec if you do not use any horizontal padding.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void avcodec_align_dimensions(AVCodecContext* @s, int* @width, int* @height);
/// Modify width and height values so that they will result in a memory buffer that is acceptable for the codec if you also ensure that all line sizes are a multiple of the respective linesize_align[i].
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void avcodec_align_dimensions2(AVCodecContext* @s, int* @width, int* @height, ref int8 @linesize_align);
/// Allocate an AVCodecContext and set its fields to default values. The resulting struct should be freed with avcodec_free_context().
/// if non-NULL, allocate private data and initialize defaults for the given codec. It is illegal to then call avcodec_open2() with a different codec. If NULL, then the codec-specific defaults won't be initialized, which may result in suboptimal default settings (this is important mainly for encoders, e.g. libx264).
/// An AVCodecContext filled with default values or NULL on failure.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVCodecContext* avcodec_alloc_context3(AVCodec* @codec);
- /// Converts swscale x/y chroma position to AVChromaLocation.
- /// horizontal chroma sample position
- /// vertical chroma sample position
- [Obsolete("Use av_chroma_location_pos_to_enum() instead.")]
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
- public static extern AVChromaLocation avcodec_chroma_pos_to_enum(int @xpos, int @ypos);
-
- /// Close a given AVCodecContext and free all the data associated with it (but not the AVCodecContext itself).
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
- public static extern int avcodec_close(AVCodecContext* @avctx);
-
/// Return the libavcodec build-time configuration.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string avcodec_configuration();
@@ -3593,34 +3563,34 @@ public static extern void av_vlog(void* @avcl, int @level,
/// The preallocated AVSubtitle in which the decoded subtitle will be stored, must be freed with avsubtitle_free if *got_sub_ptr is set.
/// Zero if no subtitle could be decompressed, otherwise, it is nonzero.
/// The input AVPacket containing the input buffer.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avcodec_decode_subtitle2(AVCodecContext* @avctx, AVSubtitle* @sub, int* @got_sub_ptr, AVPacket* @avpkt);
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avcodec_default_execute(AVCodecContext* @c, avcodec_default_execute_func_func @func, void* @arg, int* @ret, int @count, int @size);
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avcodec_default_execute2(AVCodecContext* @c, avcodec_default_execute2_func_func @func, void* @arg, int* @ret, int @count);
/// The default callback for AVCodecContext.get_buffer2(). It is made public so it can be called by custom get_buffer2() implementations for decoders without AV_CODEC_CAP_DR1 set.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avcodec_default_get_buffer2(AVCodecContext* @s, AVFrame* @frame, int @flags);
/// The default callback for AVCodecContext.get_encode_buffer(). It is made public so it can be called by custom get_encode_buffer() implementations for encoders without AV_CODEC_CAP_DR1 set.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avcodec_default_get_encode_buffer(AVCodecContext* @s, AVPacket* @pkt, int @flags);
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVPixelFormat avcodec_default_get_format(AVCodecContext* @s, AVPixelFormat* @fmt);
/// Returns descriptor for given codec ID or NULL if no descriptor exists.
/// descriptor for given codec ID or NULL if no descriptor exists.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVCodecDescriptor* avcodec_descriptor_get(AVCodecID @id);
/// Returns codec descriptor with the given name or NULL if no such descriptor exists.
/// codec descriptor with the given name or NULL if no such descriptor exists.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVCodecDescriptor* avcodec_descriptor_get_by_name(
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -3632,20 +3602,13 @@ public static extern void av_vlog(void* @avcl, int @level,
/// Iterate over all codec descriptors known to libavcodec.
/// previous descriptor. NULL to get the first descriptor.
/// next descriptor or NULL after the last descriptor
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVCodecDescriptor* avcodec_descriptor_next(AVCodecDescriptor* @prev);
/// @{
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avcodec_encode_subtitle(AVCodecContext* @avctx, byte* @buf, int @buf_size, AVSubtitle* @sub);
- /// Converts AVChromaLocation to swscale x/y chroma position.
- /// horizontal chroma sample position
- /// vertical chroma sample position
- [Obsolete("Use av_chroma_location_enum_to_pos() instead.")]
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
- public static extern int avcodec_enum_to_chroma_pos(int* @xpos, int* @ypos, AVChromaLocation @pos);
-
/// Fill AVFrame audio data and linesize pointers.
/// the AVFrame frame->nb_samples must be set prior to calling the function. This function fills in frame->data, frame->extended_data, frame->linesize[0].
/// channel count
@@ -3654,7 +3617,7 @@ public static extern void av_vlog(void* @avcl, int @level,
/// size of buffer
/// plane size sample alignment (0 = default)
/// >=0 on success, negative error code on failure
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avcodec_fill_audio_frame(AVFrame* @frame, int @nb_channels, AVSampleFormat @sample_fmt, byte* @buf, int @buf_size, int @align);
/// Find the best pixel format to convert to given a certain source pixel format. When converting from one pixel format to another, information loss may occur. For example, when converting from RGB24 to GRAY, the color information will be lost. Similarly, other losses occur when converting from some formats to other formats. avcodec_find_best_pix_fmt_of_2() searches which of the given pixel formats should be used to suffer the least amount of loss. The pixel formats from which it chooses one, are determined by the pix_fmt_list parameter.
@@ -3663,19 +3626,19 @@ public static extern void av_vlog(void* @avcl, int @level,
/// Whether the source pixel format alpha channel is used.
/// Combination of flags informing you what kind of losses will occur.
/// The best pixel format to convert to or -1 if none was found.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVPixelFormat avcodec_find_best_pix_fmt_of_list(AVPixelFormat* @pix_fmt_list, AVPixelFormat @src_pix_fmt, int @has_alpha, int* @loss_ptr);
/// Find a registered decoder with a matching codec ID.
/// AVCodecID of the requested decoder
/// A decoder if one was found, NULL otherwise.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVCodec* avcodec_find_decoder(AVCodecID @id);
/// Find a registered decoder with the specified name.
/// name of the requested decoder
/// A decoder if one was found, NULL otherwise.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVCodec* avcodec_find_decoder_by_name(
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -3687,13 +3650,13 @@ public static extern void av_vlog(void* @avcl, int @level,
/// Find a registered encoder with a matching codec ID.
/// AVCodecID of the requested encoder
/// An encoder if one was found, NULL otherwise.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVCodec* avcodec_find_encoder(AVCodecID @id);
/// Find a registered encoder with the specified name.
/// name of the requested encoder
/// An encoder if one was found, NULL otherwise.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVCodec* avcodec_find_encoder_by_name(
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -3703,19 +3666,19 @@ public static extern void av_vlog(void* @avcl, int @level,
string @name);
/// Reset the internal codec state / flush internal buffers. Should be called e.g. when seeking or when switching to a different stream.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void avcodec_flush_buffers(AVCodecContext* @avctx);
/// Free the codec context and everything associated with it and write NULL to the provided pointer.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void avcodec_free_context(AVCodecContext** @avctx);
/// Get the AVClass for AVCodecContext. It can be used in combination with AV_OPT_SEARCH_FAKE_OBJ for examining options.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVClass* avcodec_get_class();
/// Retrieve supported hardware configurations for a codec.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVCodecHWConfig* avcodec_get_hw_config(AVCodec* @codec, int @index);
/// Create and return a AVHWFramesContext with values adequate for hardware decoding. This is meant to get called from the get_format callback, and is a helper for preparing a AVHWFramesContext for AVCodecContext.hw_frames_ctx. This API is for decoding with certain hardware acceleration modes/APIs only.
@@ -3724,30 +3687,40 @@ public static extern void av_vlog(void* @avcl, int @level,
/// The hwaccel format you are going to return from get_format.
/// On success, set to a reference to an _uninitialized_ AVHWFramesContext, created from the given device_ref. Fields will be set to values required for decoding. Not changed if an error is returned.
/// zero on success, a negative value on error. The following error codes have special semantics: AVERROR(ENOENT): the decoder does not support this functionality. Setup is always manual, or it is a decoder which does not support setting AVCodecContext.hw_frames_ctx at all, or it is a software format. AVERROR(EINVAL): it is known that hardware decoding is not supported for this configuration, or the device_ref is not supported for the hwaccel referenced by hw_pix_fmt.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avcodec_get_hw_frames_parameters(AVCodecContext* @avctx, AVBufferRef* @device_ref, AVPixelFormat @hw_pix_fmt, AVBufferRef** @out_frames_ref);
/// Get the name of a codec.
/// a static string identifying the codec; never NULL
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string avcodec_get_name(AVCodecID @id);
/// Get the AVClass for AVSubtitleRect. It can be used in combination with AV_OPT_SEARCH_FAKE_OBJ for examining options.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVClass* avcodec_get_subtitle_rect_class();
+ /// Retrieve a list of all supported values for a given configuration type.
+ /// An optional context to use. Values such as `strict_std_compliance` may affect the result. If NULL, default values are used.
+ /// The codec to query, or NULL to use avctx->codec.
+ /// The configuration to query.
+ /// Currently unused; should be set to zero.
+ /// On success, set to a list of configurations, terminated by a config-specific terminator, or NULL if all possible values are supported.
+ /// On success, set to the number of elements in out_configs, excluding the terminator. Optional.
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
+ public static extern int avcodec_get_supported_config(AVCodecContext* @avctx, AVCodec* @codec, AVCodecConfig @config, uint @flags, void** @out_configs, int* @out_num_configs);
+
/// Get the type of the given codec.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVMediaType avcodec_get_type(AVCodecID @codec_id);
- /// Returns a positive value if s is open (i.e. avcodec_open2() was called on it with no corresponding avcodec_close()), 0 otherwise.
- /// a positive value if s is open (i.e. avcodec_open2() was called on it with no corresponding avcodec_close()), 0 otherwise.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ /// Returns a positive value if s is open (i.e. avcodec_open2() was called on it), 0 otherwise.
+ /// a positive value if s is open (i.e. avcodec_open2() was called on it), 0 otherwise.
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avcodec_is_open(AVCodecContext* @s);
/// Return the libavcodec license.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string avcodec_license();
@@ -3756,74 +3729,74 @@ public static extern void av_vlog(void* @avcl, int @level,
/// The codec to open this context for. If a non-NULL codec has been previously passed to avcodec_alloc_context3() or for this context, then this parameter MUST be either NULL or equal to the previously passed codec.
/// A dictionary filled with AVCodecContext and codec-private options, which are set on top of the options already set in avctx, can be NULL. On return this object will be filled with options that were not found in the avctx codec context.
/// zero on success, a negative value on error
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avcodec_open2(AVCodecContext* @avctx, AVCodec* @codec, AVDictionary** @options);
/// Allocate a new AVCodecParameters and set its fields to default values (unknown/invalid/0). The returned struct must be freed with avcodec_parameters_free().
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVCodecParameters* avcodec_parameters_alloc();
/// Copy the contents of src to dst. Any allocated fields in dst are freed and replaced with newly allocated duplicates of the corresponding fields in src.
/// >= 0 on success, a negative AVERROR code on failure.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avcodec_parameters_copy(AVCodecParameters* @dst, AVCodecParameters* @src);
/// Free an AVCodecParameters instance and everything associated with it and write NULL to the supplied pointer.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void avcodec_parameters_free(AVCodecParameters** @par);
/// Fill the parameters struct based on the values from the supplied codec context. Any allocated fields in par are freed and replaced with duplicates of the corresponding fields in codec.
/// >= 0 on success, a negative AVERROR code on failure
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avcodec_parameters_from_context(AVCodecParameters* @par, AVCodecContext* @codec);
/// Fill the codec context based on the values from the supplied codec parameters. Any allocated fields in codec that have a corresponding field in par are freed and replaced with duplicates of the corresponding field in par. Fields in codec that do not have a counterpart in par are not touched.
/// >= 0 on success, a negative AVERROR code on failure.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avcodec_parameters_to_context(AVCodecContext* @codec, AVCodecParameters* @par);
/// Return a value representing the fourCC code associated to the pixel format pix_fmt, or 0 if no associated fourCC code can be found.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern uint avcodec_pix_fmt_to_codec_tag(AVPixelFormat @pix_fmt);
/// Return a name for the specified profile, if available.
/// the ID of the codec to which the requested profile belongs
/// the profile value for which a name is requested
/// A name for the profile if found, NULL otherwise.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string avcodec_profile_name(AVCodecID @codec_id, int @profile);
/// Return decoded output data from a decoder or encoder (when the AV_CODEC_FLAG_RECON_FRAME flag is used).
/// codec context
/// This will be set to a reference-counted video or audio frame (depending on the decoder type) allocated by the codec. Note that the function will always call av_frame_unref(frame) before doing anything else.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avcodec_receive_frame(AVCodecContext* @avctx, AVFrame* @frame);
/// Read encoded data from the encoder.
/// codec context
/// This will be set to a reference-counted packet allocated by the encoder. Note that the function will always call av_packet_unref(avpkt) before doing anything else.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avcodec_receive_packet(AVCodecContext* @avctx, AVPacket* @avpkt);
/// Supply a raw video or audio frame to the encoder. Use avcodec_receive_packet() to retrieve buffered output packets.
/// codec context
/// AVFrame containing the raw audio or video frame to be encoded. Ownership of the frame remains with the caller, and the encoder will not write to the frame. The encoder may create a reference to the frame data (or copy it if the frame is not reference-counted). It can be NULL, in which case it is considered a flush packet. This signals the end of the stream. If the encoder still has packets buffered, it will return them after this call. Once flushing mode has been entered, additional flush packets are ignored, and sending frames will return AVERROR_EOF.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avcodec_send_frame(AVCodecContext* @avctx, AVFrame* @frame);
/// Supply raw packet data as input to a decoder.
/// codec context
/// The input AVPacket. Usually, this will be a single video frame, or several complete audio frames. Ownership of the packet remains with the caller, and the decoder will not write to the packet. The decoder may create a reference to the packet data (or copy it if the packet is not reference-counted). Unlike with older APIs, the packet is always fully consumed, and if it contains multiple frames (e.g. some audio codecs), will require you to call avcodec_receive_frame() multiple times afterwards before you can send a new packet. It can be NULL (or an AVPacket with data set to NULL and size set to 0); in this case, it is considered a flush packet, which signals the end of the stream. Sending the first flush packet will return success. Subsequent ones are unnecessary and will return AVERROR_EOF. If the decoder still has frames buffered, it will return them after sending a flush packet.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avcodec_send_packet(AVCodecContext* @avctx, AVPacket* @avpkt);
/// @}
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void avcodec_string(byte* @buf, int @buf_size, AVCodecContext* @enc, int @encode);
/// Return the LIBAVCODEC_VERSION_INT constant.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern uint avcodec_version();
/// Send control message from application to device.
@@ -3832,11 +3805,11 @@ public static extern void av_vlog(void* @avcl, int @level,
/// message data. Exact type depends on message type.
/// size of message data.
/// >= 0 on success, negative on error. AVERROR(ENOSYS) when device doesn't implement handler of the message.
- [DllImport(avdevice, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avdevice-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avdevice_app_to_dev_control_message(AVFormatContext* @s, AVAppToDevMessageType @type, void* @data, ulong @data_size);
/// Return the libavdevice build-time configuration.
- [DllImport(avdevice, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avdevice-62", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string avdevice_configuration();
@@ -3846,16 +3819,16 @@ public static extern void av_vlog(void* @avcl, int @level,
/// message data. Can be NULL.
/// size of message data.
/// >= 0 on success, negative on error. AVERROR(ENOSYS) when application doesn't implement handler of the message.
- [DllImport(avdevice, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avdevice-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avdevice_dev_to_app_control_message(AVFormatContext* @s, AVDevToAppMessageType @type, void* @data, ulong @data_size);
/// Convenient function to free result of avdevice_list_devices().
/// device list to be freed.
- [DllImport(avdevice, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avdevice-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void avdevice_free_list_devices(AVDeviceInfoList** @device_list);
/// Return the libavdevice license.
- [DllImport(avdevice, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avdevice-62", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string avdevice_license();
@@ -3863,7 +3836,7 @@ public static extern void av_vlog(void* @avcl, int @level,
/// device context.
/// list of autodetected devices.
/// count of autodetected devices, negative on error.
- [DllImport(avdevice, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avdevice-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avdevice_list_devices(AVFormatContext* @s, AVDeviceInfoList** @device_list);
/// List devices.
@@ -3872,7 +3845,7 @@ public static extern void av_vlog(void* @avcl, int @level,
/// An AVDictionary filled with device-private options. May be NULL. The same options must be passed later to avformat_write_header() for output devices or avformat_open_input() for input devices, or at any other place that affects device-private options.
/// list of autodetected devices
/// count of autodetected devices, negative on error.
- [DllImport(avdevice, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avdevice-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avdevice_list_input_sources(AVInputFormat* @device,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -3881,7 +3854,7 @@ public static extern int avdevice_list_input_sources(AVInputFormat* @device,
#endif
string @device_name, AVDictionary* @device_options, AVDeviceInfoList** @device_list);
- [DllImport(avdevice, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avdevice-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avdevice_list_output_sinks(AVOutputFormat* @device,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -3891,37 +3864,31 @@ public static extern int avdevice_list_output_sinks(AVOutputFormat* @device,
string @device_name, AVDictionary* @device_options, AVDeviceInfoList** @device_list);
/// Initialize libavdevice and register all the input and output devices.
- [DllImport(avdevice, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avdevice-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void avdevice_register_all();
/// Return the LIBAVDEVICE_VERSION_INT constant.
- [DllImport(avdevice, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avdevice-62", CallingConvention = CallingConvention.Cdecl)]
public static extern uint avdevice_version();
- /// Negotiate the media format, dimensions, etc of all inputs to a filter.
- /// the filter to negotiate the properties for its inputs
- /// zero on successful negotiation
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
- public static extern int avfilter_config_links(AVFilterContext* @filter);
-
/// Return the libavfilter build-time configuration.
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string avfilter_configuration();
/// Get the number of elements in an AVFilter's inputs or outputs array.
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern uint avfilter_filter_pad_count(AVFilter* @filter, int @is_output);
/// Free a filter context. This will also remove the filter from its filtergraph's list of filters.
/// the filter to free
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern void avfilter_free(AVFilterContext* @filter);
/// Get a filter definition matching the given name.
/// the filter name to find
/// the filter definition, if any matching one is registered. NULL if none found.
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern AVFilter* avfilter_get_by_name(
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -3932,12 +3899,12 @@ public static extern int avdevice_list_output_sinks(AVOutputFormat* @device,
/// Returns AVClass for AVFilterContext.
/// AVClass for AVFilterContext.
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern AVClass* avfilter_get_class();
/// Allocate a filter graph.
/// the allocated filter graph on success or NULL.
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern AVFilterGraph* avfilter_graph_alloc();
/// Create a new filter instance in a filter graph.
@@ -3945,7 +3912,7 @@ public static extern int avdevice_list_output_sinks(AVOutputFormat* @device,
/// the filter to create an instance of
/// Name to give to the new instance (will be copied to AVFilterContext.name). This may be used by the caller to identify different filters, libavfilter itself assigns no semantics to this parameter. May be NULL.
/// the context of the newly created filter instance (note that it is also retrievable directly through AVFilterGraph.filters or with avfilter_graph_get_filter()) on success or NULL on failure.
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern AVFilterContext* avfilter_graph_alloc_filter(AVFilterGraph* @graph, AVFilter* @filter,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -3958,14 +3925,14 @@ public static extern int avdevice_list_output_sinks(AVOutputFormat* @device,
/// the filter graph
/// context used for logging
/// >= 0 in case of success, a negative AVERROR code otherwise
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int avfilter_graph_config(AVFilterGraph* @graphctx, void* @log_ctx);
- /// Create and add a filter instance into an existing graph. The filter instance is created from the filter filt and inited with the parameter args. opaque is currently ignored.
+ /// A convenience wrapper that allocates and initializes a filter in a single step. The filter instance is created from the filter filt and inited with the parameter args. opaque is currently ignored.
/// the instance name to give to the created filter instance
/// the filter graph
/// a negative AVERROR error code in case of failure, a non negative value otherwise
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int avfilter_graph_create_filter(AVFilterContext** @filt_ctx, AVFilter* @filt,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -3984,7 +3951,7 @@ public static extern int avfilter_graph_create_filter(AVFilterContext** @filt_ct
/// the graph to dump
/// formatting options; currently ignored
/// a string, or NULL in case of memory allocation failure; the string must be freed using av_free
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern byte* avfilter_graph_dump(AVFilterGraph* @graph,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -3994,14 +3961,14 @@ public static extern int avfilter_graph_create_filter(AVFilterContext** @filt_ct
string @options);
/// Free a graph, destroy its links, and set *graph to NULL. If *graph is NULL, do nothing.
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern void avfilter_graph_free(AVFilterGraph** @graph);
/// Get a filter instance identified by instance name from graph.
/// filter graph to search through.
/// filter instance name (should be unique in the graph).
/// the pointer to the found filter instance or NULL if it cannot be found.
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern AVFilterContext* avfilter_graph_get_filter(AVFilterGraph* @graph,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -4016,7 +3983,7 @@ public static extern int avfilter_graph_create_filter(AVFilterContext** @filt_ct
/// linked list to the inputs of the graph
/// linked list to the outputs of the graph
/// zero on success, a negative AVERROR code on error
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int avfilter_graph_parse(AVFilterGraph* @graph,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -4031,7 +3998,7 @@ public static extern int avfilter_graph_parse(AVFilterGraph* @graph,
/// pointer to a linked list to the inputs of the graph, may be NULL. If non-NULL, *inputs is updated to contain the list of open inputs after the parsing, should be freed with avfilter_inout_free().
/// pointer to a linked list to the outputs of the graph, may be NULL. If non-NULL, *outputs is updated to contain the list of open outputs after the parsing, should be freed with avfilter_inout_free().
/// non negative on success, a negative AVERROR code on error
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int avfilter_graph_parse_ptr(AVFilterGraph* @graph,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -4046,7 +4013,7 @@ public static extern int avfilter_graph_parse_ptr(AVFilterGraph* @graph,
/// a linked list of all free (unlinked) inputs of the parsed graph will be returned here. It is to be freed by the caller using avfilter_inout_free().
/// a linked list of all free (unlinked) outputs of the parsed graph will be returned here. It is to be freed by the caller using avfilter_inout_free().
/// zero on success, a negative AVERROR code on error
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int avfilter_graph_parse2(AVFilterGraph* @graph,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -4061,7 +4028,7 @@ public static extern int avfilter_graph_parse2(AVFilterGraph* @graph,
/// the command to sent, for handling simplicity all commands must be alphanumeric only
/// the argument for the command
/// time at which the command should be sent to the filter
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int avfilter_graph_queue_command(AVFilterGraph* @graph,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -4084,7 +4051,7 @@ public static extern int avfilter_graph_queue_command(AVFilterGraph* @graph,
/// Request a frame on the oldest sink link.
/// the return value of ff_request_frame(), or AVERROR_EOF if all links returned AVERROR_EOF
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int avfilter_graph_request_oldest(AVFilterGraph* @graph);
/// Apply all filter/link descriptions from a graph segment to the associated filtergraph.
@@ -4092,30 +4059,30 @@ public static extern int avfilter_graph_queue_command(AVFilterGraph* @graph,
/// reserved for future use, caller must set to 0 for now
/// passed to avfilter_graph_segment_link()
/// passed to avfilter_graph_segment_link()
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int avfilter_graph_segment_apply(AVFilterGraphSegment* @seg, int @flags, AVFilterInOut** @inputs, AVFilterInOut** @outputs);
/// Apply parsed options to filter instances in a graph segment.
/// the filtergraph segment to process
/// reserved for future use, caller must set to 0 for now
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int avfilter_graph_segment_apply_opts(AVFilterGraphSegment* @seg, int @flags);
/// Create filters specified in a graph segment.
/// the filtergraph segment to process
/// reserved for future use, caller must set to 0 for now
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int avfilter_graph_segment_create_filters(AVFilterGraphSegment* @seg, int @flags);
/// Free the provided AVFilterGraphSegment and everything associated with it.
/// double pointer to the AVFilterGraphSegment to be freed. NULL will be written to this pointer on exit from this function.
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern void avfilter_graph_segment_free(AVFilterGraphSegment** @seg);
/// Initialize all filter instances in a graph segment.
/// the filtergraph segment to process
/// reserved for future use, caller must set to 0 for now
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int avfilter_graph_segment_init(AVFilterGraphSegment* @seg, int @flags);
/// Link filters in a graph segment.
@@ -4123,7 +4090,7 @@ public static extern int avfilter_graph_queue_command(AVFilterGraph* @graph,
/// reserved for future use, caller must set to 0 for now
/// a linked list of all free (unlinked) inputs of the filters in this graph segment will be returned here. It is to be freed by the caller using avfilter_inout_free().
/// a linked list of all free (unlinked) outputs of the filters in this graph segment will be returned here. It is to be freed by the caller using avfilter_inout_free().
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int avfilter_graph_segment_link(AVFilterGraphSegment* @seg, int @flags, AVFilterInOut** @inputs, AVFilterInOut** @outputs);
/// Parse a textual filtergraph description into an intermediate form.
@@ -4131,7 +4098,7 @@ public static extern int avfilter_graph_queue_command(AVFilterGraph* @graph,
/// a string describing the filtergraph segment
/// reserved for future use, caller must set to 0 for now
/// A pointer to the newly-created AVFilterGraphSegment is written here on success. The graph segment is owned by the caller and must be freed with avfilter_graph_segment_free() before graph itself is freed.
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int avfilter_graph_segment_parse(AVFilterGraph* @graph,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -4146,7 +4113,7 @@ public static extern int avfilter_graph_segment_parse(AVFilterGraph* @graph,
/// the command to send, for handling simplicity all commands must be alphanumeric only
/// the argument for the command
/// a buffer with size res_size where the filter(s) can return a response.
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int avfilter_graph_send_command(AVFilterGraph* @graph,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -4169,21 +4136,21 @@ public static extern int avfilter_graph_send_command(AVFilterGraph* @graph,
/// Enable or disable automatic format conversion inside the graph.
/// any of the AVFILTER_AUTO_CONVERT_* constants
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern void avfilter_graph_set_auto_convert(AVFilterGraph* @graph, uint @flags);
/// Initialize a filter with the supplied dictionary of options.
/// uninitialized filter context to initialize
/// An AVDictionary filled with options for this filter. On return this parameter will be destroyed and replaced with a dict containing options that were not found. This dictionary must be freed by the caller. May be NULL, then this function is equivalent to avfilter_init_str() with the second parameter set to NULL.
/// 0 on success, a negative AVERROR on failure
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int avfilter_init_dict(AVFilterContext* @ctx, AVDictionary** @options);
/// Initialize a filter with the supplied parameters.
/// uninitialized filter context to initialize
/// Options to initialize the filter with. This must be a ':'-separated list of options in the 'key=value' form. May be NULL if the options have been set directly using the AVOptions API or there are no options that need to be set.
/// 0 on success, a negative AVERROR on failure
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int avfilter_init_str(AVFilterContext* @ctx,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -4194,11 +4161,11 @@ public static extern int avfilter_init_str(AVFilterContext* @ctx,
/// Allocate a single AVFilterInOut entry. Must be freed with avfilter_inout_free().
/// allocated AVFilterInOut on success, NULL on failure.
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern AVFilterInOut* avfilter_inout_alloc();
/// Free the supplied list of AVFilterInOut and set *inout to NULL. If *inout is NULL, do nothing.
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern void avfilter_inout_free(AVFilterInOut** @inout);
/// Insert a filter in the middle of an existing link.
@@ -4207,11 +4174,11 @@ public static extern int avfilter_init_str(AVFilterContext* @ctx,
/// the input pad on the filter to connect
/// the output pad on the filter to connect
/// zero on success
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int avfilter_insert_filter(AVFilterLink* @link, AVFilterContext* @filt, uint @filt_srcpad_idx, uint @filt_dstpad_idx);
/// Return the libavfilter license.
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string avfilter_license();
@@ -4221,18 +4188,20 @@ public static extern int avfilter_init_str(AVFilterContext* @ctx,
/// the destination filter
/// index of the input pad on the destination filter
/// zero on success
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int avfilter_link(AVFilterContext* @src, uint @srcpad, AVFilterContext* @dst, uint @dstpad);
- /// Free the link in *link, and set its pointer to NULL.
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
- public static extern void avfilter_link_free(AVFilterLink** @link);
+ /// Get the hardware frames context of a filter link.
+ /// an AVFilterLink
+ /// a ref-counted copy of the link's hw_frames_ctx field if there is a hardware frames context associated with the link or NULL otherwise. The returned AVBufferRef needs to be released with av_buffer_unref() when it is no longer used.
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
+ public static extern AVBufferRef* avfilter_link_get_hw_frames_ctx(AVFilterLink* @link);
/// Get the name of an AVFilterPad.
/// an array of AVFilterPads
/// index of the pad in the array; it is the caller's responsibility to ensure the index is valid
/// name of the pad_idx'th pad in pads
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string avfilter_pad_get_name(AVFilterPad* @pads, int @pad_idx);
@@ -4240,11 +4209,11 @@ public static extern int avfilter_init_str(AVFilterContext* @ctx,
/// an array of AVFilterPads
/// index of the pad in the array; it is the caller's responsibility to ensure the index is valid
/// type of the pad_idx'th pad in pads
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern AVMediaType avfilter_pad_get_type(AVFilterPad* @pads, int @pad_idx);
/// Make the filter instance process a command. It is recommended to use avfilter_graph_send_command().
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern int avfilter_process_command(AVFilterContext* @filter,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -4260,11 +4229,11 @@ public static extern int avfilter_process_command(AVFilterContext* @filter,
string @arg, byte* @res, int @res_len, int @flags);
/// Return the LIBAVFILTER_VERSION_INT constant.
- [DllImport(avfilter, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avfilter-11", CallingConvention = CallingConvention.Cdecl)]
public static extern uint avfilter_version();
/// Allocate an AVFormatContext. avformat_free_context() can be used to free the context and everything allocated by the framework within it.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVFormatContext* avformat_alloc_context();
/// Allocate an AVFormatContext for an output format. avformat_free_context() can be used to free the context and everything allocated by the framework within it.
@@ -4273,7 +4242,7 @@ public static extern int avfilter_process_command(AVFilterContext* @filter,
/// the name of output format to use for allocating the context, if NULL filename is used instead
/// the name of the filename to use for allocating the context, may be NULL
/// >= 0 in case of success, a negative AVERROR code in case of failure
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avformat_alloc_output_context2(AVFormatContext** @ctx, AVOutputFormat* @oformat,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -4289,11 +4258,11 @@ public static extern int avformat_alloc_output_context2(AVFormatContext** @ctx,
string @filename);
/// Close an opened input AVFormatContext. Free it and all its contents and set *s to NULL.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void avformat_close_input(AVFormatContext** @s);
/// Return the libavformat build-time configuration.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string avformat_configuration();
@@ -4301,55 +4270,55 @@ public static extern int avformat_alloc_output_context2(AVFormatContext** @ctx,
/// media file handle
/// If non-NULL, an ic.nb_streams long array of pointers to dictionaries, where i-th member contains options for codec corresponding to i-th stream. On return each dictionary will be filled with options that were not found.
/// >=0 if OK, AVERROR_xxx on error
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avformat_find_stream_info(AVFormatContext* @ic, AVDictionary** @options);
/// Discard all internally buffered data. This can be useful when dealing with discontinuities in the byte stream. Generally works only with formats that can resync. This includes headerless formats like MPEG-TS/TS but should also work with NUT, Ogg and in a limited way AVI for example.
/// media file handle
/// >=0 on success, error code otherwise
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avformat_flush(AVFormatContext* @s);
/// Free an AVFormatContext and all its streams.
/// context to free
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void avformat_free_context(AVFormatContext* @s);
/// Get the AVClass for AVFormatContext. It can be used in combination with AV_OPT_SEARCH_FAKE_OBJ for examining options.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVClass* avformat_get_class();
/// Returns the table mapping MOV FourCCs for audio to AVCodecID.
/// the table mapping MOV FourCCs for audio to AVCodecID.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVCodecTag* avformat_get_mov_audio_tags();
/// Returns the table mapping MOV FourCCs for video to libavcodec AVCodecID.
/// the table mapping MOV FourCCs for video to libavcodec AVCodecID.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVCodecTag* avformat_get_mov_video_tags();
/// Returns the table mapping RIFF FourCCs for audio to AVCodecID.
/// the table mapping RIFF FourCCs for audio to AVCodecID.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVCodecTag* avformat_get_riff_audio_tags();
/// @{ Get the tables mapping RIFF FourCCs to libavcodec AVCodecIDs. The tables are meant to be passed to av_codec_get_id()/av_codec_get_tag() as in the following code:
/// the table mapping RIFF FourCCs for video to libavcodec AVCodecID.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVCodecTag* avformat_get_riff_video_tags();
/// Get the index entry count for the given AVStream.
/// stream
/// the number of index entries in the stream
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avformat_index_get_entries_count(AVStream* @st);
/// Get the AVIndexEntry corresponding to the given index.
/// Stream containing the requested AVIndexEntry.
/// The desired index.
/// A pointer to the requested AVIndexEntry if it exists, NULL otherwise.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVIndexEntry* avformat_index_get_entry(AVStream* @st, int @idx);
/// Get the AVIndexEntry corresponding to the given timestamp.
@@ -4357,23 +4326,23 @@ public static extern int avformat_alloc_output_context2(AVFormatContext** @ctx,
/// Timestamp to retrieve the index entry for.
/// If AVSEEK_FLAG_BACKWARD then the returned entry will correspond to the timestamp which is < = the requested one, if backward is 0, then it will be >= if AVSEEK_FLAG_ANY seek to any frame, only keyframes otherwise.
/// A pointer to the requested AVIndexEntry if it exists, NULL otherwise.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVIndexEntry* avformat_index_get_entry_from_timestamp(AVStream* @st, long @wanted_timestamp, int @flags);
/// Allocate the stream private data and initialize the codec, but do not write the header. May optionally be used before avformat_write_header() to initialize stream parameters before actually writing the header. If using this function, do not pass the same options to avformat_write_header().
/// Media file handle, must be allocated with avformat_alloc_context(). Its "oformat" field must be set to the desired output format; Its "pb" field must be set to an already opened ::AVIOContext.
/// An ::AVDictionary filled with AVFormatContext and muxer-private options. On return this parameter will be destroyed and replaced with a dict containing options that were not found. May be NULL.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avformat_init_output(AVFormatContext* @s, AVDictionary** @options);
/// Return the libavformat license.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string avformat_license();
/// Check if the stream st contained in s is matched by the stream specifier spec.
/// >0 if st is matched by spec; 0 if st is not matched by spec; AVERROR code if spec is invalid
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avformat_match_stream_specifier(AVFormatContext* @s, AVStream* @st,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -4383,27 +4352,27 @@ public static extern int avformat_match_stream_specifier(AVFormatContext* @s, AV
string @spec);
/// Undo the initialization done by avformat_network_init. Call it only once for each time you called avformat_network_init.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avformat_network_deinit();
/// Do global initialization of network libraries. This is optional, and not recommended anymore.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avformat_network_init();
/// Add a new stream to a media file.
/// media file handle
/// unused, does nothing
/// newly created stream or NULL on error.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVStream* avformat_new_stream(AVFormatContext* @s, AVCodec* @c);
/// Open an input stream and read the header. The codecs are not opened. The stream must be closed with avformat_close_input().
- /// Pointer to user-supplied AVFormatContext (allocated by avformat_alloc_context). May be a pointer to NULL, in which case an AVFormatContext is allocated by this function and written into ps. Note that a user-supplied AVFormatContext will be freed on failure.
+ /// Pointer to user-supplied AVFormatContext (allocated by avformat_alloc_context). May be a pointer to NULL, in which case an AVFormatContext is allocated by this function and written into ps. Note that a user-supplied AVFormatContext will be freed on failure and its pointer set to NULL.
/// URL of the stream to open.
/// If non-NULL, this parameter forces a specific input format. Otherwise the format is autodetected.
/// A dictionary filled with AVFormatContext and demuxer-private options. On return this parameter will be destroyed and replaced with a dict containing options that were not found. May be NULL.
- /// 0 on success, a negative AVERROR on failure.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ /// 0 on success; on failure: frees ps, sets its pointer to NULL, and returns a negative AVERROR.
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avformat_open_input(AVFormatContext** @ps,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -4417,10 +4386,10 @@ public static extern int avformat_open_input(AVFormatContext** @ps,
/// codec to potentially store in container
/// standards compliance level, one of FF_COMPLIANCE_*
/// 1 if codec with ID codec_id can be stored in ofmt, 0 if it cannot. A negative number if this information is not available.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avformat_query_codec(AVOutputFormat* @ofmt, AVCodecID @codec_id, int @std_compliance);
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avformat_queue_attached_pictures(AVFormatContext* @s);
/// Seek to timestamp ts. Seeking will be done so that the point from which all active streams can be presented successfully will be closest to ts and within min/max_ts. Active streams are all streams that have AVStream.discard < AVDISCARD_ALL.
@@ -4431,32 +4400,46 @@ public static extern int avformat_open_input(AVFormatContext** @ps,
/// largest acceptable timestamp
/// flags
/// >=0 on success, error code otherwise
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avformat_seek_file(AVFormatContext* @s, int @stream_index, long @min_ts, long @ts, long @max_ts, int @flags);
- /// Transfer internal timing information from one stream to another.
- /// target output format for ost
- /// output stream which needs timings copy and adjustments
- /// reference input stream to copy timings from
- /// define from where the stream codec timebase needs to be imported
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ /// Add an already allocated stream to a stream group.
+ /// stream group belonging to a media file.
+ /// stream in the media file to add to the group.
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
+ public static extern int avformat_stream_group_add_stream(AVStreamGroup* @stg, AVStream* @st);
+
+ /// Add a new empty stream group to a media file.
+ /// media file handle
+ /// newly created group or NULL on error.
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
+ public static extern AVStreamGroup* avformat_stream_group_create(AVFormatContext* @s, AVStreamGroupParamsType @type, AVDictionary** @options);
+
+ /// Returns a string identifying the stream group type, or NULL if unknown
+ /// a string identifying the stream group type, or NULL if unknown
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
+ [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
+ public static extern string avformat_stream_group_name(AVStreamGroupParamsType @type);
+
+ [Obsolete("do not call this function")]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avformat_transfer_internal_stream_timing_info(AVOutputFormat* @ofmt, AVStream* @ost, AVStream* @ist, AVTimebaseSource @copy_tb);
/// Return the LIBAVFORMAT_VERSION_INT constant.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern uint avformat_version();
/// Allocate the stream private data and write the stream header to an output media file.
/// Media file handle, must be allocated with avformat_alloc_context(). Its "oformat" field must be set to the desired output format; Its "pb" field must be set to an already opened ::AVIOContext.
/// An ::AVDictionary filled with AVFormatContext and muxer-private options. On return this parameter will be destroyed and replaced with a dict containing options that were not found. May be NULL.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avformat_write_header(AVFormatContext* @s, AVDictionary** @options);
/// Accept and allocate a client context on a server context.
/// the server context
/// the client context, must be unallocated
/// >= 0 on success or a negative value corresponding to an AVERROR on failure
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avio_accept(AVIOContext* @s, AVIOContext** @c);
/// Allocate and initialize an AVIOContext for buffered I/O. It must be later freed with avio_context_free().
@@ -4468,11 +4451,11 @@ public static extern int avformat_open_input(AVFormatContext** @ps,
/// A function for writing the buffer contents, may be NULL. The function may not change the input buffers content.
/// A function for seeking to specified byte position, may be NULL.
/// Allocated AVIOContext or NULL on failure.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVIOContext* avio_alloc_context(byte* @buffer, int @buffer_size, int @write_flag, void* @opaque, avio_alloc_context_read_packet_func @read_packet, avio_alloc_context_write_packet_func @write_packet, avio_alloc_context_seek_func @seek);
/// Return AVIO_FLAG_* access flags corresponding to the access permissions of the resource in url, or a negative value corresponding to an AVERROR code in case of failure. The returned access flags are masked by the value in flags.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avio_check(
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -4483,48 +4466,48 @@ public static extern int avio_check(
/// Close the resource accessed by the AVIOContext s and free it. This function can only be used if s was opened by avio_open().
/// 0 on success, an AVERROR < 0 on error.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avio_close(AVIOContext* @s);
/// Close directory.
/// directory read context.
/// >=0 on success or negative on error.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avio_close_dir(AVIODirContext** @s);
/// Return the written size and a pointer to the buffer. The buffer must be freed with av_free(). Padding of AV_INPUT_BUFFER_PADDING_SIZE is added to the buffer.
/// IO context
/// pointer to a byte buffer
/// the length of the byte buffer
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avio_close_dyn_buf(AVIOContext* @s, byte** @pbuffer);
/// Close the resource accessed by the AVIOContext *s, free it and set the pointer pointing to it to NULL. This function can only be used if s was opened by avio_open().
/// 0 on success, an AVERROR < 0 on error.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avio_closep(AVIOContext** @s);
/// Free the supplied IO context and everything associated with it.
/// Double pointer to the IO context. This function will write NULL into s.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void avio_context_free(AVIOContext** @s);
/// Iterate through names of available protocols.
/// A private pointer representing current protocol. It must be a pointer to NULL on first iteration and will be updated by successive calls to avio_enum_protocols.
/// If set to 1, iterate over output protocols, otherwise over input protocols.
/// A static string containing the name of current protocol or NULL
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string avio_enum_protocols(void** @opaque, int @output);
/// Similar to feof() but also returns nonzero on read errors.
/// non zero if and only if at end of file or a read error happened when reading.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avio_feof(AVIOContext* @s);
/// Return the name of the protocol that will handle the passed URL.
/// Name of the protocol or NULL.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string avio_find_protocol_name(
#if NETSTANDARD2_1_OR_GREATER
@@ -4535,38 +4518,38 @@ public static extern string avio_find_protocol_name(
string @url);
/// Force flushing of buffered data.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void avio_flush(AVIOContext* @s);
/// Free entry allocated by avio_read_dir().
/// entry to be freed.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void avio_free_directory_entry(AVIODirEntry** @entry);
/// Return the written size and a pointer to the buffer. The AVIOContext stream is left intact. The buffer must NOT be freed. No padding is added to the buffer.
/// IO context
/// pointer to a byte buffer
/// the length of the byte buffer
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avio_get_dyn_buf(AVIOContext* @s, byte** @pbuffer);
/// Read a string from pb into buf. The reading will terminate when either a NULL character was encountered, maxlen bytes have been read, or nothing more can be read from pb. The result is guaranteed to be NULL-terminated, it will be truncated if buf is too small. Note that the string is not interpreted or validated in any way, it might get truncated in the middle of a sequence for multi-byte encodings.
/// number of bytes read (is always < = maxlen). If reading ends on EOF or error, the return value will be one more than bytes actually read.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avio_get_str(AVIOContext* @pb, int @maxlen, byte* @buf, int @buflen);
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avio_get_str16be(AVIOContext* @pb, int @maxlen, byte* @buf, int @buflen);
/// Read a UTF-16 string from pb and convert it to UTF-8. The reading will terminate when either a null or invalid character was encountered or maxlen bytes have been read.
/// number of bytes read (is always < = maxlen)
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avio_get_str16le(AVIOContext* @pb, int @maxlen, byte* @buf, int @buflen);
/// Perform one step of the protocol handshake to accept a new client. This function must be called on a client returned by avio_accept() before using it as a read/write context. It is separate from avio_accept() because it may block. A step of the handshake is defined by places where the application may decide to change the proceedings. For example, on a protocol with a request header and a reply header, each one can constitute a step because the application may use the parameters from the request to change parameters in the reply; or each individual chunk of the request can constitute a step. If the handshake is already finished, avio_handshake() does nothing and returns 0 immediately.
/// the client context to perform the handshake on
/// 0 on a complete and successful handshake > 0 if the handshake progressed, but is not complete < 0 for an AVERROR code
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avio_handshake(AVIOContext* @c);
/// Create and initialize a AVIOContext for accessing the resource indicated by url.
@@ -4574,7 +4557,7 @@ public static extern string avio_find_protocol_name(
/// resource to access
/// flags which control how the resource indicated by url is to be opened
/// >= 0 in case of success, a negative value corresponding to an AVERROR code in case of failure
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avio_open(AVIOContext** @s,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -4588,7 +4571,7 @@ public static extern int avio_open(AVIOContext** @s,
/// directory to be listed.
/// A dictionary filled with protocol-private options. On return this parameter will be destroyed and replaced with a dictionary containing options that were not found. May be NULL.
/// >=0 on success or negative on error.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avio_open_dir(AVIODirContext** @s,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -4600,7 +4583,7 @@ public static extern int avio_open_dir(AVIODirContext** @s,
/// Open a write only memory stream.
/// new IO context
/// zero if no error.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avio_open_dyn_buf(AVIOContext** @s);
/// Create and initialize a AVIOContext for accessing the resource indicated by url.
@@ -4610,7 +4593,7 @@ public static extern int avio_open_dir(AVIODirContext** @s,
/// an interrupt callback to be used at the protocols level
/// A dictionary filled with protocol-private options. On return this parameter will be destroyed and replaced with a dict containing options that were not found. May be NULL.
/// >= 0 in case of success, a negative value corresponding to an AVERROR code in case of failure
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avio_open2(AVIOContext** @s,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -4622,16 +4605,16 @@ public static extern int avio_open2(AVIOContext** @s,
/// Pause and resume playing - only meaningful if using a network streaming protocol (e.g. MMS).
/// IO context from which to call the read_pause function pointer
/// 1 for pause, 0 for resume
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avio_pause(AVIOContext* @h, int @pause);
/// Write a NULL terminated array of strings to the context. Usually you don't need to use this function directly but its macro wrapper, avio_print.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void avio_print_string_array(AVIOContext* @s, byte*[] @strings);
/// Writes a formatted string to the context.
/// number of bytes written, < 0 on error.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avio_printf(AVIOContext* @s,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -4642,7 +4625,7 @@ public static extern int avio_printf(AVIOContext* @s,
/// Get AVClass by names of available protocols.
/// A AVClass of input protocol name or NULL
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern AVClass* avio_protocol_get_class(
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -4653,7 +4636,7 @@ public static extern int avio_printf(AVIOContext* @s,
/// Write a NULL-terminated string.
/// number of bytes written.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avio_put_str(AVIOContext* @s,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -4666,7 +4649,7 @@ public static extern int avio_put_str(AVIOContext* @s,
/// the AVIOContext
/// NULL-terminated UTF-8 string
/// number of bytes written.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avio_put_str16be(AVIOContext* @s,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -4679,7 +4662,7 @@ public static extern int avio_put_str16be(AVIOContext* @s,
/// the AVIOContext
/// NULL-terminated UTF-8 string
/// number of bytes written.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avio_put_str16le(AVIOContext* @s,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -4689,58 +4672,58 @@ public static extern int avio_put_str16le(AVIOContext* @s,
string @str);
/// @{
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avio_r8(AVIOContext* @s);
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern uint avio_rb16(AVIOContext* @s);
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern uint avio_rb24(AVIOContext* @s);
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern uint avio_rb32(AVIOContext* @s);
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern ulong avio_rb64(AVIOContext* @s);
/// Read size bytes from AVIOContext into buf.
/// number of bytes read or AVERROR
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avio_read(AVIOContext* @s, byte* @buf, int @size);
/// Get next directory entry.
/// directory read context.
/// next entry or NULL when no more entries.
/// >=0 on success or negative on error. End of list is not considered an error.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avio_read_dir(AVIODirContext* @s, AVIODirEntry** @next);
/// Read size bytes from AVIOContext into buf. Unlike avio_read(), this is allowed to read fewer bytes than requested. The missing bytes can be read in the next call. This always tries to read at least 1 byte. Useful to reduce latency in certain cases.
/// number of bytes read or AVERROR
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avio_read_partial(AVIOContext* @s, byte* @buf, int @size);
/// Read contents of h into print buffer, up to max_size bytes, or up to EOF.
/// 0 for success (max_size bytes read or EOF reached), negative error code otherwise
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avio_read_to_bprint(AVIOContext* @h, AVBPrint* @pb, ulong @max_size);
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern uint avio_rl16(AVIOContext* @s);
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern uint avio_rl24(AVIOContext* @s);
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern uint avio_rl32(AVIOContext* @s);
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern ulong avio_rl64(AVIOContext* @s);
/// fseek() equivalent for AVIOContext.
/// new position or AVERROR.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern long avio_seek(AVIOContext* @s, long @offset, int @whence);
/// Seek to a given timestamp relative to some component stream. Only meaningful if using a network streaming protocol (e.g. MMS.).
@@ -4749,22 +4732,22 @@ public static extern int avio_put_str16le(AVIOContext* @s,
/// timestamp in AVStream.time_base units or if there is no stream specified then in AV_TIME_BASE units.
/// Optional combination of AVSEEK_FLAG_BACKWARD, AVSEEK_FLAG_BYTE and AVSEEK_FLAG_ANY. The protocol may silently ignore AVSEEK_FLAG_BACKWARD and AVSEEK_FLAG_ANY, but AVSEEK_FLAG_BYTE will fail if used and not supported.
/// >= 0 on success
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern long avio_seek_time(AVIOContext* @h, int @stream_index, long @timestamp, int @flags);
/// Get the filesize.
/// filesize or AVERROR
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern long avio_size(AVIOContext* @s);
/// Skip given number of bytes forward
/// new position or AVERROR.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern long avio_skip(AVIOContext* @s, long @offset);
/// Writes a formatted string to the context taking a va_list.
/// number of bytes written, < 0 on error.
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern int avio_vprintf(AVIOContext* @s,
#if NETSTANDARD2_1_OR_GREATER
[MarshalAs(UnmanagedType.LPUTF8Str)]
@@ -4773,120 +4756,67 @@ public static extern int avio_vprintf(AVIOContext* @s,
#endif
string @fmt, byte* @ap);
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void avio_w8(AVIOContext* @s, int @b);
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void avio_wb16(AVIOContext* @s, uint @val);
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void avio_wb24(AVIOContext* @s, uint @val);
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void avio_wb32(AVIOContext* @s, uint @val);
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void avio_wb64(AVIOContext* @s, ulong @val);
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void avio_wl16(AVIOContext* @s, uint @val);
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void avio_wl24(AVIOContext* @s, uint @val);
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void avio_wl32(AVIOContext* @s, uint @val);
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void avio_wl64(AVIOContext* @s, ulong @val);
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void avio_write(AVIOContext* @s, byte* @buf, int @size);
/// Mark the written bytestream as a specific type.
/// the AVIOContext
/// the stream time the current bytestream pos corresponds to (in AV_TIME_BASE units), or AV_NOPTS_VALUE if unknown or not applicable
/// the kind of data written starting at the current pos
- [DllImport(avformat, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avformat-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void avio_write_marker(AVIOContext* @s, long @time, AVIODataMarkerType @type);
/// Free all allocated data in the given subtitle struct.
/// AVSubtitle to free.
- [DllImport(avcodec, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avcodec-62", CallingConvention = CallingConvention.Cdecl)]
public static extern void avsubtitle_free(AVSubtitle* @sub);
/// Return the libavutil build-time configuration.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string avutil_configuration();
/// Return the libavutil license.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string avutil_license();
/// Return the LIBAVUTIL_VERSION_INT constant.
- [DllImport(avutil, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("avutil-60", CallingConvention = CallingConvention.Cdecl)]
public static extern uint avutil_version();
- /// Return the libpostproc build-time configuration.
- [DllImport("postproc-57", CallingConvention = CallingConvention.Cdecl)]
- [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
- public static extern string postproc_configuration();
-
- /// Return the libpostproc license.
- [DllImport("postproc-57", CallingConvention = CallingConvention.Cdecl)]
- [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
- public static extern string postproc_license();
-
- /// Return the LIBPOSTPROC_VERSION_INT constant.
- [DllImport("postproc-57", CallingConvention = CallingConvention.Cdecl)]
- public static extern uint postproc_version();
-
- [DllImport("postproc-57", CallingConvention = CallingConvention.Cdecl)]
- public static extern void pp_free_context(void* @ppContext);
-
- [DllImport("postproc-57", CallingConvention = CallingConvention.Cdecl)]
- public static extern void pp_free_mode(void* @mode);
-
- [DllImport("postproc-57", CallingConvention = CallingConvention.Cdecl)]
- public static extern void* pp_get_context(int @width, int @height, int @flags);
-
- /// Return a pp_mode or NULL if an error occurred.
- /// the string after "-pp" on the command line
- /// a number from 0 to PP_QUALITY_MAX
- [DllImport("postproc-57", CallingConvention = CallingConvention.Cdecl)]
- public static extern void* pp_get_mode_by_name_and_quality(
- #if NETSTANDARD2_1_OR_GREATER
- [MarshalAs(UnmanagedType.LPUTF8Str)]
- #else
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Marshaler))]
- #endif
- string @name, int @quality);
-
- [DllImport("postproc-57", CallingConvention = CallingConvention.Cdecl)]
- public static extern void pp_postprocess(in byte_ptr3 @src, in int3 @srcStride, ref byte_ptr3 @dst, in int3 @dstStride, int @horizontalSize, int @verticalSize, sbyte* @QP_store, int @QP_stride, void* @mode, void* @ppContext, int @pict_type);
-
/// Allocate SwrContext.
/// NULL on error, allocated context otherwise
- [DllImport(swresample, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swresample-6", CallingConvention = CallingConvention.Cdecl)]
public static extern SwrContext* swr_alloc();
- /// Allocate SwrContext if needed and set/reset common parameters.
- /// existing Swr context if available, or NULL if not
- /// output channel layout (AV_CH_LAYOUT_*)
- /// output sample format (AV_SAMPLE_FMT_*).
- /// output sample rate (frequency in Hz)
- /// input channel layout (AV_CH_LAYOUT_*)
- /// input sample format (AV_SAMPLE_FMT_*).
- /// input sample rate (frequency in Hz)
- /// logging level offset
- /// parent logging context, can be NULL
- /// NULL on error, allocated context otherwise
- [Obsolete("use ")]
- [DllImport(swresample, CallingConvention = CallingConvention.Cdecl)]
- public static extern SwrContext* swr_alloc_set_opts(SwrContext* @s, long @out_ch_layout, AVSampleFormat @out_sample_fmt, int @out_sample_rate, long @in_ch_layout, AVSampleFormat @in_sample_fmt, int @in_sample_rate, int @log_offset, void* @log_ctx);
-
/// Allocate SwrContext if needed and set/reset common parameters.
/// Pointer to an existing Swr context if available, or to NULL if not. On success, *ps will be set to the allocated context.
/// output channel layout (e.g. AV_CHANNEL_LAYOUT_*)
@@ -4898,7 +4828,7 @@ public static extern int avio_vprintf(AVIOContext* @s,
/// logging level offset
/// parent logging context, can be NULL
/// 0 on success, a negative AVERROR code on error. On error, the Swr context is freed and *ps set to NULL.
- [DllImport(swresample, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swresample-6", CallingConvention = CallingConvention.Cdecl)]
public static extern int swr_alloc_set_opts2(SwrContext** @ps, AVChannelLayout* @out_ch_layout, AVSampleFormat @out_sample_fmt, int @out_sample_rate, AVChannelLayout* @in_ch_layout, AVSampleFormat @in_sample_fmt, int @in_sample_rate, int @log_offset, void* @log_ctx);
/// Generate a channel mixing matrix.
@@ -4907,32 +4837,16 @@ public static extern int avio_vprintf(AVIOContext* @s,
/// mix level for the center channel
/// mix level for the surround channel(s)
/// mix level for the low-frequency effects channel
- /// if 1.0, coefficients will be normalized to prevent overflow. if INT_MAX, coefficients will not be normalized.
/// mixing coefficients; matrix[i + stride * o] is the weight of input channel i in output channel o.
/// distance between adjacent input channels in the matrix array
/// matrixed stereo downmix mode (e.g. dplii)
- /// parent logging context, can be NULL
/// 0 on success, negative AVERROR code on failure
- [Obsolete("use ")]
- [DllImport(swresample, CallingConvention = CallingConvention.Cdecl)]
- public static extern int swr_build_matrix(ulong @in_layout, ulong @out_layout, double @center_mix_level, double @surround_mix_level, double @lfe_mix_level, double @rematrix_maxval, double @rematrix_volume, double* @matrix, int @stride, AVMatrixEncoding @matrix_encoding, void* @log_ctx);
-
- /// Generate a channel mixing matrix.
- /// input channel layout
- /// output channel layout
- /// mix level for the center channel
- /// mix level for the surround channel(s)
- /// mix level for the low-frequency effects channel
- /// mixing coefficients; matrix[i + stride * o] is the weight of input channel i in output channel o.
- /// distance between adjacent input channels in the matrix array
- /// matrixed stereo downmix mode (e.g. dplii)
- /// 0 on success, negative AVERROR code on failure
- [DllImport(swresample, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swresample-6", CallingConvention = CallingConvention.Cdecl)]
public static extern int swr_build_matrix2(AVChannelLayout* @in_layout, AVChannelLayout* @out_layout, double @center_mix_level, double @surround_mix_level, double @lfe_mix_level, double @maxval, double @rematrix_volume, double* @matrix, long @stride, AVMatrixEncoding @matrix_encoding, void* @log_context);
/// Closes the context so that swr_is_initialized() returns 0.
/// Swr context to be closed
- [DllImport(swresample, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swresample-6", CallingConvention = CallingConvention.Cdecl)]
public static extern void swr_close(SwrContext* @s);
/// Configure or reconfigure the SwrContext using the information provided by the AVFrames.
@@ -4940,7 +4854,7 @@ public static extern int avio_vprintf(AVIOContext* @s,
/// output AVFrame
/// input AVFrame
/// 0 on success, AVERROR on failure.
- [DllImport(swresample, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swresample-6", CallingConvention = CallingConvention.Cdecl)]
public static extern int swr_config_frame(SwrContext* @swr, AVFrame* @out, AVFrame* @in);
/// Convert audio.
@@ -4950,7 +4864,7 @@ public static extern int avio_vprintf(AVIOContext* @s,
/// input buffers, only the first one need to be set in case of packed audio
/// number of input samples available in one channel
/// number of samples output per channel, negative value on error
- [DllImport(swresample, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swresample-6", CallingConvention = CallingConvention.Cdecl)]
public static extern int swr_convert(SwrContext* @s, byte** @out, int @out_count, byte** @in, int @in_count);
/// Convert the samples in the input AVFrame and write them to the output AVFrame.
@@ -4958,68 +4872,68 @@ public static extern int avio_vprintf(AVIOContext* @s,
/// output AVFrame
/// input AVFrame
/// 0 on success, AVERROR on failure or nonmatching configuration.
- [DllImport(swresample, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swresample-6", CallingConvention = CallingConvention.Cdecl)]
public static extern int swr_convert_frame(SwrContext* @swr, AVFrame* @output, AVFrame* @input);
/// Drops the specified number of output samples.
/// allocated Swr context
/// number of samples to be dropped
/// >= 0 on success, or a negative AVERROR code on failure
- [DllImport(swresample, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swresample-6", CallingConvention = CallingConvention.Cdecl)]
public static extern int swr_drop_output(SwrContext* @s, int @count);
/// Free the given SwrContext and set the pointer to NULL.
/// a pointer to a pointer to Swr context
- [DllImport(swresample, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swresample-6", CallingConvention = CallingConvention.Cdecl)]
public static extern void swr_free(SwrContext** @s);
/// Get the AVClass for SwrContext. It can be used in combination with AV_OPT_SEARCH_FAKE_OBJ for examining options.
/// the AVClass of SwrContext
- [DllImport(swresample, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swresample-6", CallingConvention = CallingConvention.Cdecl)]
public static extern AVClass* swr_get_class();
/// Gets the delay the next input sample will experience relative to the next output sample.
/// swr context
/// timebase in which the returned delay will be:
- [DllImport(swresample, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swresample-6", CallingConvention = CallingConvention.Cdecl)]
public static extern long swr_get_delay(SwrContext* @s, long @base);
/// Find an upper bound on the number of samples that the next swr_convert call will output, if called with in_samples of input samples. This depends on the internal state, and anything changing the internal state (like further swr_convert() calls) will may change the number of samples swr_get_out_samples() returns for the same number of input samples.
/// number of input samples.
- [DllImport(swresample, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swresample-6", CallingConvention = CallingConvention.Cdecl)]
public static extern int swr_get_out_samples(SwrContext* @s, int @in_samples);
/// Initialize context after user parameters have been set.
/// Swr context to initialize
/// AVERROR error code in case of failure.
- [DllImport(swresample, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swresample-6", CallingConvention = CallingConvention.Cdecl)]
public static extern int swr_init(SwrContext* @s);
/// Injects the specified number of silence samples.
/// allocated Swr context
/// number of samples to be dropped
/// >= 0 on success, or a negative AVERROR code on failure
- [DllImport(swresample, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swresample-6", CallingConvention = CallingConvention.Cdecl)]
public static extern int swr_inject_silence(SwrContext* @s, int @count);
/// Check whether an swr context has been initialized or not.
/// Swr context to check
/// positive if it has been initialized, 0 if not initialized
- [DllImport(swresample, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swresample-6", CallingConvention = CallingConvention.Cdecl)]
public static extern int swr_is_initialized(SwrContext* @s);
/// Convert the next timestamp from input to output timestamps are in 1/(in_sample_rate * out_sample_rate) units.
/// initialized Swr context
/// timestamp for the next input sample, INT64_MIN if unknown
/// the output timestamp for the next output sample
- [DllImport(swresample, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swresample-6", CallingConvention = CallingConvention.Cdecl)]
public static extern long swr_next_pts(SwrContext* @s, long @pts);
/// Set a customized input channel mapping.
/// allocated Swr context, not yet initialized
/// customized input channel mapping (array of channel indexes, -1 for a muted channel)
/// >= 0 on success, or AVERROR error code in case of failure.
- [DllImport(swresample, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swresample-6", CallingConvention = CallingConvention.Cdecl)]
public static extern int swr_set_channel_mapping(SwrContext* @s, int* @channel_map);
/// Activate resampling compensation ("soft" compensation). This function is internally called when needed in swr_next_pts().
@@ -5027,7 +4941,7 @@ public static extern int avio_vprintf(AVIOContext* @s,
/// delta in PTS per sample
/// number of samples to compensate for
/// >= 0 on success, AVERROR error codes if:
- [DllImport(swresample, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swresample-6", CallingConvention = CallingConvention.Cdecl)]
public static extern int swr_set_compensation(SwrContext* @s, int @sample_delta, int @compensation_distance);
/// Set a customized remix matrix.
@@ -5035,29 +4949,29 @@ public static extern int avio_vprintf(AVIOContext* @s,
/// remix coefficients; matrix[i + stride * o] is the weight of input channel i in output channel o
/// offset between lines of the matrix
/// >= 0 on success, or AVERROR error code in case of failure.
- [DllImport(swresample, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swresample-6", CallingConvention = CallingConvention.Cdecl)]
public static extern int swr_set_matrix(SwrContext* @s, double* @matrix, int @stride);
/// Return the swr build-time configuration.
- [DllImport(swresample, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swresample-6", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string swresample_configuration();
/// Return the swr license.
- [DllImport(swresample, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swresample-6", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string swresample_license();
/// Return the LIBSWRESAMPLE_VERSION_INT constant.
- [DllImport(swresample, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swresample-6", CallingConvention = CallingConvention.Cdecl)]
public static extern uint swresample_version();
- /// Allocate an empty SwsContext. This must be filled and passed to sws_init_context(). For filling see AVOptions, options.c and sws_setColorspaceDetails().
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ /// Allocate an empty SwsContext and set its fields to default values.
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
public static extern SwsContext* sws_alloc_context();
/// Allocate and return an uninitialized vector with length coefficients.
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
public static extern SwsVector* sws_allocVec(int @length);
/// Convert an 8-bit paletted frame into a frame with a color depth of 24 bits.
@@ -5065,7 +4979,7 @@ public static extern int avio_vprintf(AVIOContext* @s,
/// destination frame buffer
/// number of pixels to convert
/// array with [256] entries, which must match color arrangement (RGB or BGR) of src
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
public static extern void sws_convertPalette8ToPacked24(byte* @src, byte* @dst, int @num_pixels, byte* @palette);
/// Convert an 8-bit paletted frame into a frame with a color depth of 32 bits.
@@ -5073,48 +4987,60 @@ public static extern int avio_vprintf(AVIOContext* @s,
/// destination frame buffer
/// number of pixels to convert
/// array with [256] entries, which must match color arrangement (RGB or BGR) of src
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
public static extern void sws_convertPalette8ToPacked32(byte* @src, byte* @dst, int @num_pixels, byte* @palette);
/// Finish the scaling process for a pair of source/destination frames previously submitted with sws_frame_start(). Must be called after all sws_send_slice() and sws_receive_slice() calls are done, before any new sws_frame_start() calls.
/// The scaling context
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
public static extern void sws_frame_end(SwsContext* @c);
- /// Initialize the scaling process for a given pair of source/destination frames. Must be called before any calls to sws_send_slice() and sws_receive_slice().
+ /// Like `sws_scale_frame`, but without actually scaling. It will instead merely initialize internal state that *would* be required to perform the operation, as well as returning the correct error code for unsupported frame combinations.
+ /// The scaling context.
+ /// The destination frame to consider.
+ /// The source frame to consider.
+ /// 0 on success, a negative AVERROR code on failure.
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
+ public static extern int sws_frame_setup(SwsContext* @ctx, AVFrame* @dst, AVFrame* @src);
+
+ /// Initialize the scaling process for a given pair of source/destination frames. Must be called before any calls to sws_send_slice() and sws_receive_slice(). Requires a context that has been previously been initialized with sws_init_context().
/// The scaling context
/// The destination frame.
/// The source frame. The data buffers must be allocated, but the frame data does not have to be ready at this point. Data availability is then signalled by sws_send_slice().
/// 0 on success, a negative AVERROR code on failure
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
public static extern int sws_frame_start(SwsContext* @c, AVFrame* @dst, AVFrame* @src);
+ /// Free the context and everything associated with it, and write NULL to the provided pointer.
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
+ public static extern void sws_free_context(SwsContext** @ctx);
+
/// Free the swscaler context swsContext. If swsContext is NULL, then does nothing.
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
public static extern void sws_freeContext(SwsContext* @swsContext);
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
public static extern void sws_freeFilter(SwsFilter* @filter);
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
public static extern void sws_freeVec(SwsVector* @a);
- /// Get the AVClass for swsContext. It can be used in combination with AV_OPT_SEARCH_FAKE_OBJ for examining options.
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ /// Get the AVClass for SwsContext. It can be used in combination with AV_OPT_SEARCH_FAKE_OBJ for examining options.
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
public static extern AVClass* sws_get_class();
/// Check if context can be reused, otherwise reallocate a new one.
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
public static extern SwsContext* sws_getCachedContext(SwsContext* @context, int @srcW, int @srcH, AVPixelFormat @srcFormat, int @dstW, int @dstH, AVPixelFormat @dstFormat, int @flags, SwsFilter* @srcFilter, SwsFilter* @dstFilter, double* @param);
/// Return a pointer to yuv<->rgb coefficients for the given colorspace suitable for sws_setColorspaceDetails().
/// One of the SWS_CS_* macros. If invalid, SWS_CS_DEFAULT is used.
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
public static extern int* sws_getCoefficients(int @colorspace);
/// Returns A negative error code on error, non negative otherwise. If `LIBSWSCALE_VERSION_MAJOR < 7`, returns -1 if not supported.
/// A negative error code on error, non negative otherwise. If `LIBSWSCALE_VERSION_MAJOR < 7`, returns -1 if not supported.
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
public static extern int sws_getColorspaceDetails(SwsContext* @c, int** @inv_table, int* @srcRange, int** @table, int* @dstRange, int* @brightness, int* @contrast, int* @saturation);
/// Allocate and return an SwsContext. You need it to perform scaling/conversion operations using sws_scale().
@@ -5127,37 +5053,41 @@ public static extern int avio_vprintf(AVIOContext* @s,
/// specify which algorithm and options to use for rescaling
/// extra parameters to tune the used scaler For SWS_BICUBIC param[0] and [1] tune the shape of the basis function, param[0] tunes f(1) and param[1] f´(1) For SWS_GAUSS param[0] tunes the exponent and thus cutoff frequency For SWS_LANCZOS param[0] tunes the width of the window function
/// a pointer to an allocated context, or NULL in case of error
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
public static extern SwsContext* sws_getContext(int @srcW, int @srcH, AVPixelFormat @srcFormat, int @dstW, int @dstH, AVPixelFormat @dstFormat, int @flags, SwsFilter* @srcFilter, SwsFilter* @dstFilter, double* @param);
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
public static extern SwsFilter* sws_getDefaultFilter(float @lumaGBlur, float @chromaGBlur, float @lumaSharpen, float @chromaSharpen, float @chromaHShift, float @chromaVShift, int @verbose);
/// Return a normalized Gaussian curve used to filter stuff quality = 3 is high quality, lower is lower quality.
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
public static extern SwsVector* sws_getGaussianVec(double @variance, double @quality);
/// Initialize the swscaler context sws_context.
/// zero or positive value on success, a negative value on error
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
public static extern int sws_init_context(SwsContext* @sws_context, SwsFilter* @srcFilter, SwsFilter* @dstFilter);
+ /// Check if a given conversion is a noop. Returns a positive integer if no operation needs to be performed, 0 otherwise.
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
+ public static extern int sws_is_noop(AVFrame* @dst, AVFrame* @src);
+
/// Returns a positive value if an endianness conversion for pix_fmt is supported, 0 otherwise.
/// the pixel format
/// a positive value if an endianness conversion for pix_fmt is supported, 0 otherwise.
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
public static extern int sws_isSupportedEndiannessConversion(AVPixelFormat @pix_fmt);
/// Return a positive value if pix_fmt is a supported input format, 0 otherwise.
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
public static extern int sws_isSupportedInput(AVPixelFormat @pix_fmt);
/// Return a positive value if pix_fmt is a supported output format, 0 otherwise.
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
public static extern int sws_isSupportedOutput(AVPixelFormat @pix_fmt);
/// Scale all the coefficients of a so that their sum equals height.
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
public static extern void sws_normalizeVec(SwsVector* @a, double @height);
/// Request a horizontal slice of the output data to be written into the frame previously provided to sws_frame_start().
@@ -5165,16 +5095,16 @@ public static extern int avio_vprintf(AVIOContext* @s,
/// first row of the slice; must be a multiple of sws_receive_slice_alignment()
/// number of rows in the slice; must be a multiple of sws_receive_slice_alignment(), except for the last slice (i.e. when slice_start+slice_height is equal to output frame height)
/// a non-negative number if the data was successfully written into the output AVERROR(EAGAIN) if more input data needs to be provided before the output can be produced another negative AVERROR code on other kinds of scaling failure
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
public static extern int sws_receive_slice(SwsContext* @c, uint @slice_start, uint @slice_height);
- /// Get the alignment required for slices
+ /// Get the alignment required for slices. Requires a context that has been previously been initialized with sws_init_context().
/// The scaling context
/// alignment required for output slices requested with sws_receive_slice(). Slice offsets and sizes passed to sws_receive_slice() must be multiples of the value returned from this function.
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
public static extern uint sws_receive_slice_alignment(SwsContext* @c);
- /// Scale the image slice in srcSlice and put the resulting scaled slice in the image in dst. A slice is a sequence of consecutive rows in an image.
+ /// Scale the image slice in srcSlice and put the resulting scaled slice in the image in dst. A slice is a sequence of consecutive rows in an image. Requires a context that has been previously been initialized with sws_init_context().
/// the scaling context previously created with sws_getContext()
/// the array containing the pointers to the planes of the source slice
/// the array containing the strides for each plane of the source image
@@ -5183,19 +5113,18 @@ public static extern int avio_vprintf(AVIOContext* @s,
/// the array containing the pointers to the planes of the destination image
/// the array containing the strides for each plane of the destination image
/// the height of the output slice
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
public static extern int sws_scale(SwsContext* @c, byte*[] @srcSlice, int[] @srcStride, int @srcSliceY, int @srcSliceH, byte*[] @dst, int[] @dstStride);
- /// Scale source data from src and write the output to dst.
- /// The scaling context
- /// The destination frame. See documentation for sws_frame_start() for more details.
- /// The source frame.
- /// 0 on success, a negative AVERROR code on failure
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ /// Scale source data from `src` and write the output to `dst`.
+ /// The destination frame. The data buffers may either be already allocated by the caller or left clear, in which case they will be allocated by the scaler. The latter may have performance advantages - e.g. in certain cases some (or all) output planes may be references to input planes, rather than copies.
+ /// The source frame. If the data buffers are set to NULL, then this function behaves identically to `sws_frame_setup`.
+ /// >= 0 on success, a negative AVERROR code on failure.
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
public static extern int sws_scale_frame(SwsContext* @c, AVFrame* @dst, AVFrame* @src);
/// Scale all the coefficients of a by the scalar value.
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
public static extern void sws_scaleVec(SwsVector* @a, double @scalar);
/// Indicate that a horizontal slice of input data is available in the source frame previously provided to sws_frame_start(). The slices may be provided in any order, but may not overlap. For vertically subsampled pixel formats, the slices must be aligned according to subsampling.
@@ -5203,7 +5132,7 @@ public static extern int avio_vprintf(AVIOContext* @s,
/// first row of the slice
/// number of rows in the slice
/// a non-negative number on success, a negative AVERROR code on failure.
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
public static extern int sws_send_slice(SwsContext* @c, uint @slice_start, uint @slice_height);
/// Returns A negative error code on error, non negative otherwise. If `LIBSWSCALE_VERSION_MAJOR < 7`, returns -1 if not supported.
@@ -5216,21 +5145,53 @@ public static extern int avio_vprintf(AVIOContext* @s,
/// 16.16 fixed point contrast correction
/// 16.16 fixed point saturation correction
/// A negative error code on error, non negative otherwise. If `LIBSWSCALE_VERSION_MAJOR < 7`, returns -1 if not supported.
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
public static extern int sws_setColorspaceDetails(SwsContext* @c, in int4 @inv_table, int @srcRange, in int4 @table, int @dstRange, int @brightness, int @contrast, int @saturation);
+ /// Test if a given color space is supported.
+ /// The colorspace to check.
+ /// If 0, test if compatible with the source/input frame; otherwise, with the destination/output frame.
+ /// A positive integer if supported, 0 otherwise.
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
+ public static extern int sws_test_colorspace(AVColorSpace @colorspace, int @output);
+
+ /// Test if a given pixel format is supported.
+ /// The format to check.
+ /// If 0, test if compatible with the source/input frame; otherwise, with the destination/output frame.
+ /// A positive integer if supported, 0 otherwise.
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
+ public static extern int sws_test_format(AVPixelFormat @format, int @output);
+
+ /// Helper function to run all sws_test_* against a frame, as well as testing the basic frame properties for sanity. Ignores irrelevant properties - for example, AVColorSpace is not checked for RGB frames.
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
+ public static extern int sws_test_frame(AVFrame* @frame, int @output);
+
+ /// Test if a given set of color primaries is supported.
+ /// The color primaries to check.
+ /// If 0, test if compatible with the source/input frame; otherwise, with the destination/output frame.
+ /// A positive integer if supported, 0 otherwise.
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
+ public static extern int sws_test_primaries(AVColorPrimaries @primaries, int @output);
+
+ /// Test if a given color transfer function is supported.
+ /// The color transfer function to check.
+ /// If 0, test if compatible with the source/input frame; otherwise, with the destination/output frame.
+ /// A positive integer if supported, 0 otherwise.
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
+ public static extern int sws_test_transfer(AVColorTransferCharacteristic @trc, int @output);
+
/// Return the libswscale build-time configuration.
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string swscale_configuration();
/// Return the libswscale license.
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ConstCharPtrMarshaler))]
public static extern string swscale_license();
/// Color conversion and scaling library.
- [DllImport(swscale, CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("swscale-9", CallingConvention = CallingConvention.Cdecl)]
public static extern uint swscale_version();
public unsafe static void Initialize()
@@ -5251,7 +5212,6 @@ public unsafe static void Initialize()
vectors.av_audio_fifo_space = av_audio_fifo_space;
vectors.av_audio_fifo_write = av_audio_fifo_write;
vectors.av_bessel_i0 = av_bessel_i0;
- vectors.av_bprint_channel_layout = av_bprint_channel_layout;
vectors.av_bsf_alloc = av_bsf_alloc;
vectors.av_bsf_flush = av_bsf_flush;
vectors.av_bsf_free = av_bsf_free;
@@ -5286,8 +5246,9 @@ public unsafe static void Initialize()
vectors.av_buffer_replace = av_buffer_replace;
vectors.av_buffer_unref = av_buffer_unref;
vectors.av_buffersink_get_ch_layout = av_buffersink_get_ch_layout;
- vectors.av_buffersink_get_channel_layout = av_buffersink_get_channel_layout;
vectors.av_buffersink_get_channels = av_buffersink_get_channels;
+ vectors.av_buffersink_get_color_range = av_buffersink_get_color_range;
+ vectors.av_buffersink_get_colorspace = av_buffersink_get_colorspace;
vectors.av_buffersink_get_format = av_buffersink_get_format;
vectors.av_buffersink_get_frame = av_buffersink_get_frame;
vectors.av_buffersink_get_frame_flags = av_buffersink_get_frame_flags;
@@ -5297,6 +5258,7 @@ public unsafe static void Initialize()
vectors.av_buffersink_get_sample_aspect_ratio = av_buffersink_get_sample_aspect_ratio;
vectors.av_buffersink_get_sample_rate = av_buffersink_get_sample_rate;
vectors.av_buffersink_get_samples = av_buffersink_get_samples;
+ vectors.av_buffersink_get_side_data = av_buffersink_get_side_data;
vectors.av_buffersink_get_time_base = av_buffersink_get_time_base;
vectors.av_buffersink_get_type = av_buffersink_get_type;
vectors.av_buffersink_get_w = av_buffersink_get_w;
@@ -5312,19 +5274,21 @@ public unsafe static void Initialize()
vectors.av_channel_description = av_channel_description;
vectors.av_channel_description_bprint = av_channel_description_bprint;
vectors.av_channel_from_string = av_channel_from_string;
+ vectors.av_channel_layout_ambisonic_order = av_channel_layout_ambisonic_order;
vectors.av_channel_layout_channel_from_index = av_channel_layout_channel_from_index;
vectors.av_channel_layout_channel_from_string = av_channel_layout_channel_from_string;
vectors.av_channel_layout_check = av_channel_layout_check;
vectors.av_channel_layout_compare = av_channel_layout_compare;
vectors.av_channel_layout_copy = av_channel_layout_copy;
+ vectors.av_channel_layout_custom_init = av_channel_layout_custom_init;
vectors.av_channel_layout_default = av_channel_layout_default;
vectors.av_channel_layout_describe = av_channel_layout_describe;
vectors.av_channel_layout_describe_bprint = av_channel_layout_describe_bprint;
- vectors.av_channel_layout_extract_channel = av_channel_layout_extract_channel;
vectors.av_channel_layout_from_mask = av_channel_layout_from_mask;
vectors.av_channel_layout_from_string = av_channel_layout_from_string;
vectors.av_channel_layout_index_from_channel = av_channel_layout_index_from_channel;
vectors.av_channel_layout_index_from_string = av_channel_layout_index_from_string;
+ vectors.av_channel_layout_retype = av_channel_layout_retype;
vectors.av_channel_layout_standard = av_channel_layout_standard;
vectors.av_channel_layout_subset = av_channel_layout_subset;
vectors.av_channel_layout_uninit = av_channel_layout_uninit;
@@ -5350,6 +5314,7 @@ public unsafe static void Initialize()
vectors.av_color_transfer_name = av_color_transfer_name;
vectors.av_compare_mod = av_compare_mod;
vectors.av_compare_ts = av_compare_ts;
+ vectors.av_container_fifo_alloc_avpacket = av_container_fifo_alloc_avpacket;
vectors.av_content_light_metadata_alloc = av_content_light_metadata_alloc;
vectors.av_content_light_metadata_create_side_data = av_content_light_metadata_create_side_data;
vectors.av_cpb_properties_alloc = av_cpb_properties_alloc;
@@ -5399,10 +5364,7 @@ public unsafe static void Initialize()
vectors.av_find_input_format = av_find_input_format;
vectors.av_find_nearest_q_idx = av_find_nearest_q_idx;
vectors.av_find_program_from_stream = av_find_program_from_stream;
- vectors.av_fmt_ctx_get_duration_estimation_method = av_fmt_ctx_get_duration_estimation_method;
- vectors.av_fopen_utf8 = av_fopen_utf8;
vectors.av_force_cpu_flags = av_force_cpu_flags;
- vectors.av_format_inject_global_side_data = av_format_inject_global_side_data;
vectors.av_fourcc_make_string = av_fourcc_make_string;
vectors.av_frame_alloc = av_frame_alloc;
vectors.av_frame_apply_cropping = av_frame_apply_cropping;
@@ -5421,7 +5383,15 @@ public unsafe static void Initialize()
vectors.av_frame_ref = av_frame_ref;
vectors.av_frame_remove_side_data = av_frame_remove_side_data;
vectors.av_frame_replace = av_frame_replace;
+ vectors.av_frame_side_data_add = av_frame_side_data_add;
+ vectors.av_frame_side_data_clone = av_frame_side_data_clone;
+ vectors.av_frame_side_data_desc = av_frame_side_data_desc;
+ vectors.av_frame_side_data_free = av_frame_side_data_free;
+ vectors.av_frame_side_data_get_c = av_frame_side_data_get_c;
vectors.av_frame_side_data_name = av_frame_side_data_name;
+ vectors.av_frame_side_data_new = av_frame_side_data_new;
+ vectors.av_frame_side_data_remove = av_frame_side_data_remove;
+ vectors.av_frame_side_data_remove_by_props = av_frame_side_data_remove_by_props;
vectors.av_frame_unref = av_frame_unref;
vectors.av_free = av_free;
vectors.av_freep = av_freep;
@@ -5433,16 +5403,8 @@ public unsafe static void Initialize()
vectors.av_get_bits_per_pixel = av_get_bits_per_pixel;
vectors.av_get_bits_per_sample = av_get_bits_per_sample;
vectors.av_get_bytes_per_sample = av_get_bytes_per_sample;
- vectors.av_get_channel_description = av_get_channel_description;
- vectors.av_get_channel_layout = av_get_channel_layout;
- vectors.av_get_channel_layout_channel_index = av_get_channel_layout_channel_index;
- vectors.av_get_channel_layout_nb_channels = av_get_channel_layout_nb_channels;
- vectors.av_get_channel_layout_string = av_get_channel_layout_string;
- vectors.av_get_channel_name = av_get_channel_name;
vectors.av_get_cpu_flags = av_get_cpu_flags;
- vectors.av_get_default_channel_layout = av_get_default_channel_layout;
vectors.av_get_exact_bits_per_sample = av_get_exact_bits_per_sample;
- vectors.av_get_extended_channel_layout = av_get_extended_channel_layout;
vectors.av_get_frame_filename = av_get_frame_filename;
vectors.av_get_frame_filename2 = av_get_frame_filename2;
vectors.av_get_media_type_string = av_get_media_type_string;
@@ -5461,7 +5423,6 @@ public unsafe static void Initialize()
vectors.av_get_sample_fmt = av_get_sample_fmt;
vectors.av_get_sample_fmt_name = av_get_sample_fmt_name;
vectors.av_get_sample_fmt_string = av_get_sample_fmt_string;
- vectors.av_get_standard_channel_layout = av_get_standard_channel_layout;
vectors.av_get_time_base_q = av_get_time_base_q;
vectors.av_gettime = av_gettime;
vectors.av_gettime_relative = av_gettime_relative;
@@ -5502,6 +5463,7 @@ public unsafe static void Initialize()
vectors.av_image_copy_uc_from = av_image_copy_uc_from;
vectors.av_image_fill_arrays = av_image_fill_arrays;
vectors.av_image_fill_black = av_image_fill_black;
+ vectors.av_image_fill_color = av_image_fill_color;
vectors.av_image_fill_linesizes = av_image_fill_linesizes;
vectors.av_image_fill_max_pixsteps = av_image_fill_max_pixsteps;
vectors.av_image_fill_plane_sizes = av_image_fill_plane_sizes;
@@ -5531,6 +5493,7 @@ public unsafe static void Initialize()
vectors.av_malloc_array = av_malloc_array;
vectors.av_mallocz = av_mallocz;
vectors.av_mastering_display_metadata_alloc = av_mastering_display_metadata_alloc;
+ vectors.av_mastering_display_metadata_alloc_size = av_mastering_display_metadata_alloc_size;
vectors.av_mastering_display_metadata_create_side_data = av_mastering_display_metadata_create_side_data;
vectors.av_match_ext = av_match_ext;
vectors.av_max_alloc = av_max_alloc;
@@ -5550,13 +5513,15 @@ public unsafe static void Initialize()
vectors.av_opt_eval_int = av_opt_eval_int;
vectors.av_opt_eval_int64 = av_opt_eval_int64;
vectors.av_opt_eval_q = av_opt_eval_q;
+ vectors.av_opt_eval_uint = av_opt_eval_uint;
vectors.av_opt_find = av_opt_find;
vectors.av_opt_find2 = av_opt_find2;
vectors.av_opt_flag_is_set = av_opt_flag_is_set;
vectors.av_opt_free = av_opt_free;
vectors.av_opt_freep_ranges = av_opt_freep_ranges;
vectors.av_opt_get = av_opt_get;
- vectors.av_opt_get_channel_layout = av_opt_get_channel_layout;
+ vectors.av_opt_get_array = av_opt_get_array;
+ vectors.av_opt_get_array_size = av_opt_get_array_size;
vectors.av_opt_get_chlayout = av_opt_get_chlayout;
vectors.av_opt_get_dict_val = av_opt_get_dict_val;
vectors.av_opt_get_double = av_opt_get_double;
@@ -5575,8 +5540,8 @@ public unsafe static void Initialize()
vectors.av_opt_query_ranges_default = av_opt_query_ranges_default;
vectors.av_opt_serialize = av_opt_serialize;
vectors.av_opt_set = av_opt_set;
+ vectors.av_opt_set_array = av_opt_set_array;
vectors.av_opt_set_bin = av_opt_set_bin;
- vectors.av_opt_set_channel_layout = av_opt_set_channel_layout;
vectors.av_opt_set_chlayout = av_opt_set_chlayout;
vectors.av_opt_set_defaults = av_opt_set_defaults;
vectors.av_opt_set_defaults2 = av_opt_set_defaults2;
@@ -5667,17 +5632,13 @@ public unsafe static void Initialize()
vectors.av_shrink_packet = av_shrink_packet;
vectors.av_size_mult = av_size_mult;
vectors.av_strdup = av_strdup;
- vectors.av_stream_add_side_data = av_stream_add_side_data;
vectors.av_stream_get_class = av_stream_get_class;
vectors.av_stream_get_codec_timebase = av_stream_get_codec_timebase;
- vectors.av_stream_get_end_pts = av_stream_get_end_pts;
vectors.av_stream_get_parser = av_stream_get_parser;
- vectors.av_stream_get_side_data = av_stream_get_side_data;
- vectors.av_stream_new_side_data = av_stream_new_side_data;
+ vectors.av_stream_group_get_class = av_stream_group_get_class;
vectors.av_strerror = av_strerror;
vectors.av_strndup = av_strndup;
vectors.av_sub_q = av_sub_q;
- vectors.av_tempfile = av_tempfile;
vectors.av_timecode_adjust_ntsc_framenum2 = av_timecode_adjust_ntsc_framenum2;
vectors.av_timecode_check_frame_rate = av_timecode_check_frame_rate;
vectors.av_timecode_get_smpte = av_timecode_get_smpte;
@@ -5708,8 +5669,6 @@ public unsafe static void Initialize()
vectors.avcodec_align_dimensions = avcodec_align_dimensions;
vectors.avcodec_align_dimensions2 = avcodec_align_dimensions2;
vectors.avcodec_alloc_context3 = avcodec_alloc_context3;
- vectors.avcodec_chroma_pos_to_enum = avcodec_chroma_pos_to_enum;
- vectors.avcodec_close = avcodec_close;
vectors.avcodec_configuration = avcodec_configuration;
vectors.avcodec_decode_subtitle2 = avcodec_decode_subtitle2;
vectors.avcodec_default_execute = avcodec_default_execute;
@@ -5721,7 +5680,6 @@ public unsafe static void Initialize()
vectors.avcodec_descriptor_get_by_name = avcodec_descriptor_get_by_name;
vectors.avcodec_descriptor_next = avcodec_descriptor_next;
vectors.avcodec_encode_subtitle = avcodec_encode_subtitle;
- vectors.avcodec_enum_to_chroma_pos = avcodec_enum_to_chroma_pos;
vectors.avcodec_fill_audio_frame = avcodec_fill_audio_frame;
vectors.avcodec_find_best_pix_fmt_of_list = avcodec_find_best_pix_fmt_of_list;
vectors.avcodec_find_decoder = avcodec_find_decoder;
@@ -5735,6 +5693,7 @@ public unsafe static void Initialize()
vectors.avcodec_get_hw_frames_parameters = avcodec_get_hw_frames_parameters;
vectors.avcodec_get_name = avcodec_get_name;
vectors.avcodec_get_subtitle_rect_class = avcodec_get_subtitle_rect_class;
+ vectors.avcodec_get_supported_config = avcodec_get_supported_config;
vectors.avcodec_get_type = avcodec_get_type;
vectors.avcodec_is_open = avcodec_is_open;
vectors.avcodec_license = avcodec_license;
@@ -5762,7 +5721,6 @@ public unsafe static void Initialize()
vectors.avdevice_list_output_sinks = avdevice_list_output_sinks;
vectors.avdevice_register_all = avdevice_register_all;
vectors.avdevice_version = avdevice_version;
- vectors.avfilter_config_links = avfilter_config_links;
vectors.avfilter_configuration = avfilter_configuration;
vectors.avfilter_filter_pad_count = avfilter_filter_pad_count;
vectors.avfilter_free = avfilter_free;
@@ -5796,7 +5754,7 @@ public unsafe static void Initialize()
vectors.avfilter_insert_filter = avfilter_insert_filter;
vectors.avfilter_license = avfilter_license;
vectors.avfilter_link = avfilter_link;
- vectors.avfilter_link_free = avfilter_link_free;
+ vectors.avfilter_link_get_hw_frames_ctx = avfilter_link_get_hw_frames_ctx;
vectors.avfilter_pad_get_name = avfilter_pad_get_name;
vectors.avfilter_pad_get_type = avfilter_pad_get_type;
vectors.avfilter_process_command = avfilter_process_command;
@@ -5826,6 +5784,9 @@ public unsafe static void Initialize()
vectors.avformat_query_codec = avformat_query_codec;
vectors.avformat_queue_attached_pictures = avformat_queue_attached_pictures;
vectors.avformat_seek_file = avformat_seek_file;
+ vectors.avformat_stream_group_add_stream = avformat_stream_group_add_stream;
+ vectors.avformat_stream_group_create = avformat_stream_group_create;
+ vectors.avformat_stream_group_name = avformat_stream_group_name;
vectors.avformat_transfer_internal_stream_timing_info = avformat_transfer_internal_stream_timing_info;
vectors.avformat_version = avformat_version;
vectors.avformat_write_header = avformat_write_header;
@@ -5891,18 +5852,8 @@ public unsafe static void Initialize()
vectors.avutil_configuration = avutil_configuration;
vectors.avutil_license = avutil_license;
vectors.avutil_version = avutil_version;
- vectors.postproc_configuration = postproc_configuration;
- vectors.postproc_license = postproc_license;
- vectors.postproc_version = postproc_version;
- vectors.pp_free_context = pp_free_context;
- vectors.pp_free_mode = pp_free_mode;
- vectors.pp_get_context = pp_get_context;
- vectors.pp_get_mode_by_name_and_quality = pp_get_mode_by_name_and_quality;
- vectors.pp_postprocess = pp_postprocess;
vectors.swr_alloc = swr_alloc;
- vectors.swr_alloc_set_opts = swr_alloc_set_opts;
vectors.swr_alloc_set_opts2 = swr_alloc_set_opts2;
- vectors.swr_build_matrix = swr_build_matrix;
vectors.swr_build_matrix2 = swr_build_matrix2;
vectors.swr_close = swr_close;
vectors.swr_config_frame = swr_config_frame;
@@ -5928,7 +5879,9 @@ public unsafe static void Initialize()
vectors.sws_convertPalette8ToPacked24 = sws_convertPalette8ToPacked24;
vectors.sws_convertPalette8ToPacked32 = sws_convertPalette8ToPacked32;
vectors.sws_frame_end = sws_frame_end;
+ vectors.sws_frame_setup = sws_frame_setup;
vectors.sws_frame_start = sws_frame_start;
+ vectors.sws_free_context = sws_free_context;
vectors.sws_freeContext = sws_freeContext;
vectors.sws_freeFilter = sws_freeFilter;
vectors.sws_freeVec = sws_freeVec;
@@ -5940,6 +5893,7 @@ public unsafe static void Initialize()
vectors.sws_getDefaultFilter = sws_getDefaultFilter;
vectors.sws_getGaussianVec = sws_getGaussianVec;
vectors.sws_init_context = sws_init_context;
+ vectors.sws_is_noop = sws_is_noop;
vectors.sws_isSupportedEndiannessConversion = sws_isSupportedEndiannessConversion;
vectors.sws_isSupportedInput = sws_isSupportedInput;
vectors.sws_isSupportedOutput = sws_isSupportedOutput;
@@ -5951,6 +5905,11 @@ public unsafe static void Initialize()
vectors.sws_scaleVec = sws_scaleVec;
vectors.sws_send_slice = sws_send_slice;
vectors.sws_setColorspaceDetails = sws_setColorspaceDetails;
+ vectors.sws_test_colorspace = sws_test_colorspace;
+ vectors.sws_test_format = sws_test_format;
+ vectors.sws_test_frame = sws_test_frame;
+ vectors.sws_test_primaries = sws_test_primaries;
+ vectors.sws_test_transfer = sws_test_transfer;
vectors.swscale_configuration = swscale_configuration;
vectors.swscale_license = swscale_license;
vectors.swscale_version = swscale_version;
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLinked/generated/DynamicallyLinkedBindings.g.cs.meta b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLinked/generated/DynamicallyLinkedBindings.g.cs.meta
index c841bdf..98d5580 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLinked/generated/DynamicallyLinkedBindings.g.cs.meta
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLinked/generated/DynamicallyLinkedBindings.g.cs.meta
@@ -1,11 +1,2 @@
fileFormatVersion: 2
-guid: 02c63403e28f54f8e85011b0d5234307
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
+guid: 02c63403e28f54f8e85011b0d5234307
\ No newline at end of file
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/DynamicallyLoadedBindings.cs.meta b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/DynamicallyLoadedBindings.cs.meta
index 600aeae..1b3aa4d 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/DynamicallyLoadedBindings.cs.meta
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/DynamicallyLoadedBindings.cs.meta
@@ -1,11 +1,2 @@
fileFormatVersion: 2
-guid: a3435035467424bbcafc671ac5400239
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
+guid: a3435035467424bbcafc671ac5400239
\ No newline at end of file
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/FunctionResolverBase.cs.meta b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/FunctionResolverBase.cs.meta
index 2ce3092..3f28595 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/FunctionResolverBase.cs.meta
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/FunctionResolverBase.cs.meta
@@ -1,11 +1,2 @@
fileFormatVersion: 2
-guid: 69221ffd73c334dea94cf7d227bcca1f
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
+guid: 69221ffd73c334dea94cf7d227bcca1f
\ No newline at end of file
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/FunctionResolverFactory.cs.meta b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/FunctionResolverFactory.cs.meta
index 5598570..f64e2a6 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/FunctionResolverFactory.cs.meta
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/FunctionResolverFactory.cs.meta
@@ -1,11 +1,2 @@
fileFormatVersion: 2
-guid: 342af17a310994354b3d7c0850f67a71
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
+guid: 342af17a310994354b3d7c0850f67a71
\ No newline at end of file
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/IFunctionResolver.cs.meta b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/IFunctionResolver.cs.meta
index 5c4519b..5543a72 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/IFunctionResolver.cs.meta
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/IFunctionResolver.cs.meta
@@ -1,11 +1,2 @@
fileFormatVersion: 2
-guid: 9fdc9c72551d561ca92de192d75505c1
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
+guid: 9fdc9c72551d561ca92de192d75505c1
\ No newline at end of file
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/Native/LinuxFunctionResolver.cs.meta b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/Native/LinuxFunctionResolver.cs.meta
index f66a275..7854158 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/Native/LinuxFunctionResolver.cs.meta
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/Native/LinuxFunctionResolver.cs.meta
@@ -1,11 +1,2 @@
fileFormatVersion: 2
-guid: 57d36115e0904803b8d5ee20cbf96248
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
+guid: 57d36115e0904803b8d5ee20cbf96248
\ No newline at end of file
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/Native/MacFunctionResolver.cs.meta b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/Native/MacFunctionResolver.cs.meta
index 939d735..4ff384f 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/Native/MacFunctionResolver.cs.meta
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/Native/MacFunctionResolver.cs.meta
@@ -1,11 +1,2 @@
fileFormatVersion: 2
-guid: 8d7eb34682e57e47ab557940b21fcf4b
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
+guid: 8d7eb34682e57e47ab557940b21fcf4b
\ No newline at end of file
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/Native/WindowsFunctionResolver.cs.meta b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/Native/WindowsFunctionResolver.cs.meta
index 11b745d..fabff6c 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/Native/WindowsFunctionResolver.cs.meta
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/Native/WindowsFunctionResolver.cs.meta
@@ -1,11 +1,2 @@
fileFormatVersion: 2
-guid: b45c24f059cca11498d789ff83ebebca
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
+guid: b45c24f059cca11498d789ff83ebebca
\ No newline at end of file
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/generated/DynamicallyLoadedBindings.g.cs b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/generated/DynamicallyLoadedBindings.g.cs
index 1e33b83..f3fe800 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/generated/DynamicallyLoadedBindings.g.cs
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/generated/DynamicallyLoadedBindings.g.cs
@@ -109,12 +109,6 @@ public unsafe static void Initialize()
return vectors.av_bessel_i0(@x);
};
- vectors.av_bprint_channel_layout = (AVBPrint* @bp, int @nb_channels, ulong @channel_layout) =>
- {
- vectors.av_bprint_channel_layout = FunctionResolver.GetFunctionDelegate("avutil", "av_bprint_channel_layout", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- vectors.av_bprint_channel_layout(@bp, @nb_channels, @channel_layout);
- };
-
vectors.av_bsf_alloc = (AVBitStreamFilter* @filter, AVBSFContext** @ctx) =>
{
vectors.av_bsf_alloc = FunctionResolver.GetFunctionDelegate("avcodec", "av_bsf_alloc", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
@@ -319,18 +313,24 @@ public unsafe static void Initialize()
return vectors.av_buffersink_get_ch_layout(@ctx, @ch_layout);
};
- vectors.av_buffersink_get_channel_layout = (AVFilterContext* @ctx) =>
- {
- vectors.av_buffersink_get_channel_layout = FunctionResolver.GetFunctionDelegate("avfilter", "av_buffersink_get_channel_layout", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.av_buffersink_get_channel_layout(@ctx);
- };
-
vectors.av_buffersink_get_channels = (AVFilterContext* @ctx) =>
{
vectors.av_buffersink_get_channels = FunctionResolver.GetFunctionDelegate("avfilter", "av_buffersink_get_channels", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
return vectors.av_buffersink_get_channels(@ctx);
};
+ vectors.av_buffersink_get_color_range = (AVFilterContext* @ctx) =>
+ {
+ vectors.av_buffersink_get_color_range = FunctionResolver.GetFunctionDelegate("avfilter", "av_buffersink_get_color_range", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.av_buffersink_get_color_range(@ctx);
+ };
+
+ vectors.av_buffersink_get_colorspace = (AVFilterContext* @ctx) =>
+ {
+ vectors.av_buffersink_get_colorspace = FunctionResolver.GetFunctionDelegate("avfilter", "av_buffersink_get_colorspace", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.av_buffersink_get_colorspace(@ctx);
+ };
+
vectors.av_buffersink_get_format = (AVFilterContext* @ctx) =>
{
vectors.av_buffersink_get_format = FunctionResolver.GetFunctionDelegate("avfilter", "av_buffersink_get_format", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
@@ -385,6 +385,12 @@ public unsafe static void Initialize()
return vectors.av_buffersink_get_samples(@ctx, @frame, @nb_samples);
};
+ vectors.av_buffersink_get_side_data = (AVFilterContext* @ctx, int* @nb_side_data) =>
+ {
+ vectors.av_buffersink_get_side_data = FunctionResolver.GetFunctionDelegate("avfilter", "av_buffersink_get_side_data", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.av_buffersink_get_side_data(@ctx, @nb_side_data);
+ };
+
vectors.av_buffersink_get_time_base = (AVFilterContext* @ctx) =>
{
vectors.av_buffersink_get_time_base = FunctionResolver.GetFunctionDelegate("avfilter", "av_buffersink_get_time_base", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
@@ -475,6 +481,12 @@ public unsafe static void Initialize()
return vectors.av_channel_from_string(@name);
};
+ vectors.av_channel_layout_ambisonic_order = (AVChannelLayout* @channel_layout) =>
+ {
+ vectors.av_channel_layout_ambisonic_order = FunctionResolver.GetFunctionDelegate("avutil", "av_channel_layout_ambisonic_order", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.av_channel_layout_ambisonic_order(@channel_layout);
+ };
+
vectors.av_channel_layout_channel_from_index = (AVChannelLayout* @channel_layout, uint @idx) =>
{
vectors.av_channel_layout_channel_from_index = FunctionResolver.GetFunctionDelegate("avutil", "av_channel_layout_channel_from_index", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
@@ -505,6 +517,12 @@ public unsafe static void Initialize()
return vectors.av_channel_layout_copy(@dst, @src);
};
+ vectors.av_channel_layout_custom_init = (AVChannelLayout* @channel_layout, int @nb_channels) =>
+ {
+ vectors.av_channel_layout_custom_init = FunctionResolver.GetFunctionDelegate("avutil", "av_channel_layout_custom_init", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.av_channel_layout_custom_init(@channel_layout, @nb_channels);
+ };
+
vectors.av_channel_layout_default = (AVChannelLayout* @ch_layout, int @nb_channels) =>
{
vectors.av_channel_layout_default = FunctionResolver.GetFunctionDelegate("avutil", "av_channel_layout_default", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
@@ -523,12 +541,6 @@ public unsafe static void Initialize()
return vectors.av_channel_layout_describe_bprint(@channel_layout, @bp);
};
- vectors.av_channel_layout_extract_channel = (ulong @channel_layout, int @index) =>
- {
- vectors.av_channel_layout_extract_channel = FunctionResolver.GetFunctionDelegate("avutil", "av_channel_layout_extract_channel", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.av_channel_layout_extract_channel(@channel_layout, @index);
- };
-
vectors.av_channel_layout_from_mask = (AVChannelLayout* @channel_layout, ulong @mask) =>
{
vectors.av_channel_layout_from_mask = FunctionResolver.GetFunctionDelegate("avutil", "av_channel_layout_from_mask", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
@@ -553,6 +565,12 @@ public unsafe static void Initialize()
return vectors.av_channel_layout_index_from_string(@channel_layout, @name);
};
+ vectors.av_channel_layout_retype = (AVChannelLayout* @channel_layout, AVChannelOrder @order, int @flags) =>
+ {
+ vectors.av_channel_layout_retype = FunctionResolver.GetFunctionDelegate("avutil", "av_channel_layout_retype", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.av_channel_layout_retype(@channel_layout, @order, @flags);
+ };
+
vectors.av_channel_layout_standard = (void** @opaque) =>
{
vectors.av_channel_layout_standard = FunctionResolver.GetFunctionDelegate("avutil", "av_channel_layout_standard", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
@@ -703,6 +721,12 @@ public unsafe static void Initialize()
return vectors.av_compare_ts(@ts_a, @tb_a, @ts_b, @tb_b);
};
+ vectors.av_container_fifo_alloc_avpacket = (uint @flags) =>
+ {
+ vectors.av_container_fifo_alloc_avpacket = FunctionResolver.GetFunctionDelegate("avcodec", "av_container_fifo_alloc_avpacket", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.av_container_fifo_alloc_avpacket(@flags);
+ };
+
vectors.av_content_light_metadata_alloc = (ulong* @size) =>
{
vectors.av_content_light_metadata_alloc = FunctionResolver.GetFunctionDelegate("avutil", "av_content_light_metadata_alloc", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
@@ -997,30 +1021,12 @@ public unsafe static void Initialize()
return vectors.av_find_program_from_stream(@ic, @last, @s);
};
- vectors.av_fmt_ctx_get_duration_estimation_method = (AVFormatContext* @ctx) =>
- {
- vectors.av_fmt_ctx_get_duration_estimation_method = FunctionResolver.GetFunctionDelegate("avformat", "av_fmt_ctx_get_duration_estimation_method", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.av_fmt_ctx_get_duration_estimation_method(@ctx);
- };
-
- vectors.av_fopen_utf8 = (string @path, string @mode) =>
- {
- vectors.av_fopen_utf8 = FunctionResolver.GetFunctionDelegate("avutil", "av_fopen_utf8", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.av_fopen_utf8(@path, @mode);
- };
-
vectors.av_force_cpu_flags = (int @flags) =>
{
vectors.av_force_cpu_flags = FunctionResolver.GetFunctionDelegate("avutil", "av_force_cpu_flags", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
vectors.av_force_cpu_flags(@flags);
};
- vectors.av_format_inject_global_side_data = (AVFormatContext* @s) =>
- {
- vectors.av_format_inject_global_side_data = FunctionResolver.GetFunctionDelegate("avformat", "av_format_inject_global_side_data", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- vectors.av_format_inject_global_side_data(@s);
- };
-
vectors.av_fourcc_make_string = (byte* @buf, uint @fourcc) =>
{
vectors.av_fourcc_make_string = FunctionResolver.GetFunctionDelegate("avutil", "av_fourcc_make_string", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
@@ -1129,12 +1135,60 @@ public unsafe static void Initialize()
return vectors.av_frame_replace(@dst, @src);
};
+ vectors.av_frame_side_data_add = (AVFrameSideData*** @sd, int* @nb_sd, AVFrameSideDataType @type, AVBufferRef** @buf, uint @flags) =>
+ {
+ vectors.av_frame_side_data_add = FunctionResolver.GetFunctionDelegate("avutil", "av_frame_side_data_add", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.av_frame_side_data_add(@sd, @nb_sd, @type, @buf, @flags);
+ };
+
+ vectors.av_frame_side_data_clone = (AVFrameSideData*** @sd, int* @nb_sd, AVFrameSideData* @src, uint @flags) =>
+ {
+ vectors.av_frame_side_data_clone = FunctionResolver.GetFunctionDelegate("avutil", "av_frame_side_data_clone", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.av_frame_side_data_clone(@sd, @nb_sd, @src, @flags);
+ };
+
+ vectors.av_frame_side_data_desc = (AVFrameSideDataType @type) =>
+ {
+ vectors.av_frame_side_data_desc = FunctionResolver.GetFunctionDelegate("avutil", "av_frame_side_data_desc", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.av_frame_side_data_desc(@type);
+ };
+
+ vectors.av_frame_side_data_free = (AVFrameSideData*** @sd, int* @nb_sd) =>
+ {
+ vectors.av_frame_side_data_free = FunctionResolver.GetFunctionDelegate("avutil", "av_frame_side_data_free", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ vectors.av_frame_side_data_free(@sd, @nb_sd);
+ };
+
+ vectors.av_frame_side_data_get_c = (AVFrameSideData** @sd, int @nb_sd, AVFrameSideDataType @type) =>
+ {
+ vectors.av_frame_side_data_get_c = FunctionResolver.GetFunctionDelegate("avutil", "av_frame_side_data_get_c", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.av_frame_side_data_get_c(@sd, @nb_sd, @type);
+ };
+
vectors.av_frame_side_data_name = (AVFrameSideDataType @type) =>
{
vectors.av_frame_side_data_name = FunctionResolver.GetFunctionDelegate("avutil", "av_frame_side_data_name", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
return vectors.av_frame_side_data_name(@type);
};
+ vectors.av_frame_side_data_new = (AVFrameSideData*** @sd, int* @nb_sd, AVFrameSideDataType @type, ulong @size, uint @flags) =>
+ {
+ vectors.av_frame_side_data_new = FunctionResolver.GetFunctionDelegate("avutil", "av_frame_side_data_new", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.av_frame_side_data_new(@sd, @nb_sd, @type, @size, @flags);
+ };
+
+ vectors.av_frame_side_data_remove = (AVFrameSideData*** @sd, int* @nb_sd, AVFrameSideDataType @type) =>
+ {
+ vectors.av_frame_side_data_remove = FunctionResolver.GetFunctionDelegate("avutil", "av_frame_side_data_remove", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ vectors.av_frame_side_data_remove(@sd, @nb_sd, @type);
+ };
+
+ vectors.av_frame_side_data_remove_by_props = (AVFrameSideData*** @sd, int* @nb_sd, int @props) =>
+ {
+ vectors.av_frame_side_data_remove_by_props = FunctionResolver.GetFunctionDelegate("avutil", "av_frame_side_data_remove_by_props", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ vectors.av_frame_side_data_remove_by_props(@sd, @nb_sd, @props);
+ };
+
vectors.av_frame_unref = (AVFrame* @frame) =>
{
vectors.av_frame_unref = FunctionResolver.GetFunctionDelegate("avutil", "av_frame_unref", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
@@ -1201,66 +1255,18 @@ public unsafe static void Initialize()
return vectors.av_get_bytes_per_sample(@sample_fmt);
};
- vectors.av_get_channel_description = (ulong @channel) =>
- {
- vectors.av_get_channel_description = FunctionResolver.GetFunctionDelegate("avutil", "av_get_channel_description", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.av_get_channel_description(@channel);
- };
-
- vectors.av_get_channel_layout = (string @name) =>
- {
- vectors.av_get_channel_layout = FunctionResolver.GetFunctionDelegate("avutil", "av_get_channel_layout", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.av_get_channel_layout(@name);
- };
-
- vectors.av_get_channel_layout_channel_index = (ulong @channel_layout, ulong @channel) =>
- {
- vectors.av_get_channel_layout_channel_index = FunctionResolver.GetFunctionDelegate("avutil", "av_get_channel_layout_channel_index", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.av_get_channel_layout_channel_index(@channel_layout, @channel);
- };
-
- vectors.av_get_channel_layout_nb_channels = (ulong @channel_layout) =>
- {
- vectors.av_get_channel_layout_nb_channels = FunctionResolver.GetFunctionDelegate("avutil", "av_get_channel_layout_nb_channels", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.av_get_channel_layout_nb_channels(@channel_layout);
- };
-
- vectors.av_get_channel_layout_string = (byte* @buf, int @buf_size, int @nb_channels, ulong @channel_layout) =>
- {
- vectors.av_get_channel_layout_string = FunctionResolver.GetFunctionDelegate("avutil", "av_get_channel_layout_string", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- vectors.av_get_channel_layout_string(@buf, @buf_size, @nb_channels, @channel_layout);
- };
-
- vectors.av_get_channel_name = (ulong @channel) =>
- {
- vectors.av_get_channel_name = FunctionResolver.GetFunctionDelegate("avutil", "av_get_channel_name", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.av_get_channel_name(@channel);
- };
-
vectors.av_get_cpu_flags = () =>
{
vectors.av_get_cpu_flags = FunctionResolver.GetFunctionDelegate("avutil", "av_get_cpu_flags", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
return vectors.av_get_cpu_flags();
};
- vectors.av_get_default_channel_layout = (int @nb_channels) =>
- {
- vectors.av_get_default_channel_layout = FunctionResolver.GetFunctionDelegate("avutil", "av_get_default_channel_layout", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.av_get_default_channel_layout(@nb_channels);
- };
-
vectors.av_get_exact_bits_per_sample = (AVCodecID @codec_id) =>
{
vectors.av_get_exact_bits_per_sample = FunctionResolver.GetFunctionDelegate("avcodec", "av_get_exact_bits_per_sample", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
return vectors.av_get_exact_bits_per_sample(@codec_id);
};
- vectors.av_get_extended_channel_layout = (string @name, ulong* @channel_layout, int* @nb_channels) =>
- {
- vectors.av_get_extended_channel_layout = FunctionResolver.GetFunctionDelegate("avutil", "av_get_extended_channel_layout", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.av_get_extended_channel_layout(@name, @channel_layout, @nb_channels);
- };
-
vectors.av_get_frame_filename = (byte* @buf, int @buf_size, string @path, int @number) =>
{
vectors.av_get_frame_filename = FunctionResolver.GetFunctionDelegate("avformat", "av_get_frame_filename", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
@@ -1369,12 +1375,6 @@ public unsafe static void Initialize()
return vectors.av_get_sample_fmt_string(@buf, @buf_size, @sample_fmt);
};
- vectors.av_get_standard_channel_layout = (uint @index, ulong* @layout, byte** @name) =>
- {
- vectors.av_get_standard_channel_layout = FunctionResolver.GetFunctionDelegate("avutil", "av_get_standard_channel_layout", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.av_get_standard_channel_layout(@index, @layout, @name);
- };
-
vectors.av_get_time_base_q = () =>
{
vectors.av_get_time_base_q = FunctionResolver.GetFunctionDelegate("avutil", "av_get_time_base_q", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
@@ -1615,6 +1615,12 @@ public unsafe static void Initialize()
return vectors.av_image_fill_black(ref @dst_data, @dst_linesize, @pix_fmt, @range, @width, @height);
};
+ vectors.av_image_fill_color = (ref byte_ptr4 @dst_data, in long4 @dst_linesize, AVPixelFormat @pix_fmt, in uint4 @color, int @width, int @height, int @flags) =>
+ {
+ vectors.av_image_fill_color = FunctionResolver.GetFunctionDelegate("avutil", "av_image_fill_color", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.av_image_fill_color(ref @dst_data, @dst_linesize, @pix_fmt, @color, @width, @height, @flags);
+ };
+
vectors.av_image_fill_linesizes = (ref int4 @linesizes, AVPixelFormat @pix_fmt, int @width) =>
{
vectors.av_image_fill_linesizes = FunctionResolver.GetFunctionDelegate("avutil", "av_image_fill_linesizes", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
@@ -1789,6 +1795,12 @@ public unsafe static void Initialize()
return vectors.av_mastering_display_metadata_alloc();
};
+ vectors.av_mastering_display_metadata_alloc_size = (ulong* @size) =>
+ {
+ vectors.av_mastering_display_metadata_alloc_size = FunctionResolver.GetFunctionDelegate("avutil", "av_mastering_display_metadata_alloc_size", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.av_mastering_display_metadata_alloc_size(@size);
+ };
+
vectors.av_mastering_display_metadata_create_side_data = (AVFrame* @frame) =>
{
vectors.av_mastering_display_metadata_create_side_data = FunctionResolver.GetFunctionDelegate("avutil", "av_mastering_display_metadata_create_side_data", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
@@ -1903,6 +1915,12 @@ public unsafe static void Initialize()
return vectors.av_opt_eval_q(@obj, @o, @val, @q_out);
};
+ vectors.av_opt_eval_uint = (void* @obj, AVOption* @o, string @val, uint* @uint_out) =>
+ {
+ vectors.av_opt_eval_uint = FunctionResolver.GetFunctionDelegate("avutil", "av_opt_eval_uint", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.av_opt_eval_uint(@obj, @o, @val, @uint_out);
+ };
+
vectors.av_opt_find = (void* @obj, string @name, string @unit, int @opt_flags, int @search_flags) =>
{
vectors.av_opt_find = FunctionResolver.GetFunctionDelegate("avutil", "av_opt_find", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
@@ -1939,10 +1957,16 @@ public unsafe static void Initialize()
return vectors.av_opt_get(@obj, @name, @search_flags, @out_val);
};
- vectors.av_opt_get_channel_layout = (void* @obj, string @name, int @search_flags, long* @ch_layout) =>
+ vectors.av_opt_get_array = (void* @obj, string @name, int @search_flags, uint @start_elem, uint @nb_elems, AVOptionType @out_type, void* @out_val) =>
{
- vectors.av_opt_get_channel_layout = FunctionResolver.GetFunctionDelegate("avutil", "av_opt_get_channel_layout", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.av_opt_get_channel_layout(@obj, @name, @search_flags, @ch_layout);
+ vectors.av_opt_get_array = FunctionResolver.GetFunctionDelegate("avutil", "av_opt_get_array", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.av_opt_get_array(@obj, @name, @search_flags, @start_elem, @nb_elems, @out_type, @out_val);
+ };
+
+ vectors.av_opt_get_array_size = (void* @obj, string @name, int @search_flags, uint* @out_val) =>
+ {
+ vectors.av_opt_get_array_size = FunctionResolver.GetFunctionDelegate("avutil", "av_opt_get_array_size", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.av_opt_get_array_size(@obj, @name, @search_flags, @out_val);
};
vectors.av_opt_get_chlayout = (void* @obj, string @name, int @search_flags, AVChannelLayout* @layout) =>
@@ -2053,16 +2077,16 @@ public unsafe static void Initialize()
return vectors.av_opt_set(@obj, @name, @val, @search_flags);
};
- vectors.av_opt_set_bin = (void* @obj, string @name, byte* @val, int @size, int @search_flags) =>
+ vectors.av_opt_set_array = (void* @obj, string @name, int @search_flags, uint @start_elem, uint @nb_elems, AVOptionType @val_type, void* @val) =>
{
- vectors.av_opt_set_bin = FunctionResolver.GetFunctionDelegate("avutil", "av_opt_set_bin", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.av_opt_set_bin(@obj, @name, @val, @size, @search_flags);
+ vectors.av_opt_set_array = FunctionResolver.GetFunctionDelegate("avutil", "av_opt_set_array", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.av_opt_set_array(@obj, @name, @search_flags, @start_elem, @nb_elems, @val_type, @val);
};
- vectors.av_opt_set_channel_layout = (void* @obj, string @name, long @ch_layout, int @search_flags) =>
+ vectors.av_opt_set_bin = (void* @obj, string @name, byte* @val, int @size, int @search_flags) =>
{
- vectors.av_opt_set_channel_layout = FunctionResolver.GetFunctionDelegate("avutil", "av_opt_set_channel_layout", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.av_opt_set_channel_layout(@obj, @name, @ch_layout, @search_flags);
+ vectors.av_opt_set_bin = FunctionResolver.GetFunctionDelegate("avutil", "av_opt_set_bin", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.av_opt_set_bin(@obj, @name, @val, @size, @search_flags);
};
vectors.av_opt_set_chlayout = (void* @obj, string @name, AVChannelLayout* @layout, int @search_flags) =>
@@ -2605,12 +2629,6 @@ public unsafe static void Initialize()
return vectors.av_strdup(@s);
};
- vectors.av_stream_add_side_data = (AVStream* @st, AVPacketSideDataType @type, byte* @data, ulong @size) =>
- {
- vectors.av_stream_add_side_data = FunctionResolver.GetFunctionDelegate("avformat", "av_stream_add_side_data", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.av_stream_add_side_data(@st, @type, @data, @size);
- };
-
vectors.av_stream_get_class = () =>
{
vectors.av_stream_get_class = FunctionResolver.GetFunctionDelegate("avformat", "av_stream_get_class", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
@@ -2623,28 +2641,16 @@ public unsafe static void Initialize()
return vectors.av_stream_get_codec_timebase(@st);
};
- vectors.av_stream_get_end_pts = (AVStream* @st) =>
- {
- vectors.av_stream_get_end_pts = FunctionResolver.GetFunctionDelegate("avformat", "av_stream_get_end_pts", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.av_stream_get_end_pts(@st);
- };
-
vectors.av_stream_get_parser = (AVStream* @s) =>
{
vectors.av_stream_get_parser = FunctionResolver.GetFunctionDelegate("avformat", "av_stream_get_parser", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
return vectors.av_stream_get_parser(@s);
};
- vectors.av_stream_get_side_data = (AVStream* @stream, AVPacketSideDataType @type, ulong* @size) =>
- {
- vectors.av_stream_get_side_data = FunctionResolver.GetFunctionDelegate("avformat", "av_stream_get_side_data", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.av_stream_get_side_data(@stream, @type, @size);
- };
-
- vectors.av_stream_new_side_data = (AVStream* @stream, AVPacketSideDataType @type, ulong @size) =>
+ vectors.av_stream_group_get_class = () =>
{
- vectors.av_stream_new_side_data = FunctionResolver.GetFunctionDelegate("avformat", "av_stream_new_side_data", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.av_stream_new_side_data(@stream, @type, @size);
+ vectors.av_stream_group_get_class = FunctionResolver.GetFunctionDelegate("avformat", "av_stream_group_get_class", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.av_stream_group_get_class();
};
vectors.av_strerror = (int @errnum, byte* @errbuf, ulong @errbuf_size) =>
@@ -2665,12 +2671,6 @@ public unsafe static void Initialize()
return vectors.av_sub_q(@b, @c);
};
- vectors.av_tempfile = (string @prefix, byte** @filename, int @log_offset, void* @log_ctx) =>
- {
- vectors.av_tempfile = FunctionResolver.GetFunctionDelegate("avutil", "av_tempfile", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.av_tempfile(@prefix, @filename, @log_offset, @log_ctx);
- };
-
vectors.av_timecode_adjust_ntsc_framenum2 = (int @framenum, int @fps) =>
{
vectors.av_timecode_adjust_ntsc_framenum2 = FunctionResolver.GetFunctionDelegate("avutil", "av_timecode_adjust_ntsc_framenum2", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
@@ -2851,18 +2851,6 @@ public unsafe static void Initialize()
return vectors.avcodec_alloc_context3(@codec);
};
- vectors.avcodec_chroma_pos_to_enum = (int @xpos, int @ypos) =>
- {
- vectors.avcodec_chroma_pos_to_enum = FunctionResolver.GetFunctionDelegate("avcodec", "avcodec_chroma_pos_to_enum", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.avcodec_chroma_pos_to_enum(@xpos, @ypos);
- };
-
- vectors.avcodec_close = (AVCodecContext* @avctx) =>
- {
- vectors.avcodec_close = FunctionResolver.GetFunctionDelegate("avcodec", "avcodec_close", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.avcodec_close(@avctx);
- };
-
vectors.avcodec_configuration = () =>
{
vectors.avcodec_configuration = FunctionResolver.GetFunctionDelegate("avcodec", "avcodec_configuration", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
@@ -2929,12 +2917,6 @@ public unsafe static void Initialize()
return vectors.avcodec_encode_subtitle(@avctx, @buf, @buf_size, @sub);
};
- vectors.avcodec_enum_to_chroma_pos = (int* @xpos, int* @ypos, AVChromaLocation @pos) =>
- {
- vectors.avcodec_enum_to_chroma_pos = FunctionResolver.GetFunctionDelegate("avcodec", "avcodec_enum_to_chroma_pos", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.avcodec_enum_to_chroma_pos(@xpos, @ypos, @pos);
- };
-
vectors.avcodec_fill_audio_frame = (AVFrame* @frame, int @nb_channels, AVSampleFormat @sample_fmt, byte* @buf, int @buf_size, int @align) =>
{
vectors.avcodec_fill_audio_frame = FunctionResolver.GetFunctionDelegate("avcodec", "avcodec_fill_audio_frame", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
@@ -3013,6 +2995,12 @@ public unsafe static void Initialize()
return vectors.avcodec_get_subtitle_rect_class();
};
+ vectors.avcodec_get_supported_config = (AVCodecContext* @avctx, AVCodec* @codec, AVCodecConfig @config, uint @flags, void** @out_configs, int* @out_num_configs) =>
+ {
+ vectors.avcodec_get_supported_config = FunctionResolver.GetFunctionDelegate("avcodec", "avcodec_get_supported_config", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.avcodec_get_supported_config(@avctx, @codec, @config, @flags, @out_configs, @out_num_configs);
+ };
+
vectors.avcodec_get_type = (AVCodecID @codec_id) =>
{
vectors.avcodec_get_type = FunctionResolver.GetFunctionDelegate("avcodec", "avcodec_get_type", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
@@ -3175,12 +3163,6 @@ public unsafe static void Initialize()
return vectors.avdevice_version();
};
- vectors.avfilter_config_links = (AVFilterContext* @filter) =>
- {
- vectors.avfilter_config_links = FunctionResolver.GetFunctionDelegate("avfilter", "avfilter_config_links", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.avfilter_config_links(@filter);
- };
-
vectors.avfilter_configuration = () =>
{
vectors.avfilter_configuration = FunctionResolver.GetFunctionDelegate("avfilter", "avfilter_configuration", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
@@ -3379,10 +3361,10 @@ public unsafe static void Initialize()
return vectors.avfilter_link(@src, @srcpad, @dst, @dstpad);
};
- vectors.avfilter_link_free = (AVFilterLink** @link) =>
+ vectors.avfilter_link_get_hw_frames_ctx = (AVFilterLink* @link) =>
{
- vectors.avfilter_link_free = FunctionResolver.GetFunctionDelegate("avfilter", "avfilter_link_free", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- vectors.avfilter_link_free(@link);
+ vectors.avfilter_link_get_hw_frames_ctx = FunctionResolver.GetFunctionDelegate("avfilter", "avfilter_link_get_hw_frames_ctx", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.avfilter_link_get_hw_frames_ctx(@link);
};
vectors.avfilter_pad_get_name = (AVFilterPad* @pads, int @pad_idx) =>
@@ -3559,6 +3541,24 @@ public unsafe static void Initialize()
return vectors.avformat_seek_file(@s, @stream_index, @min_ts, @ts, @max_ts, @flags);
};
+ vectors.avformat_stream_group_add_stream = (AVStreamGroup* @stg, AVStream* @st) =>
+ {
+ vectors.avformat_stream_group_add_stream = FunctionResolver.GetFunctionDelegate("avformat", "avformat_stream_group_add_stream", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.avformat_stream_group_add_stream(@stg, @st);
+ };
+
+ vectors.avformat_stream_group_create = (AVFormatContext* @s, AVStreamGroupParamsType @type, AVDictionary** @options) =>
+ {
+ vectors.avformat_stream_group_create = FunctionResolver.GetFunctionDelegate("avformat", "avformat_stream_group_create", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.avformat_stream_group_create(@s, @type, @options);
+ };
+
+ vectors.avformat_stream_group_name = (AVStreamGroupParamsType @type) =>
+ {
+ vectors.avformat_stream_group_name = FunctionResolver.GetFunctionDelegate("avformat", "avformat_stream_group_name", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.avformat_stream_group_name(@type);
+ };
+
vectors.avformat_transfer_internal_stream_timing_info = (AVOutputFormat* @ofmt, AVStream* @ost, AVStream* @ist, AVTimebaseSource @copy_tb) =>
{
vectors.avformat_transfer_internal_stream_timing_info = FunctionResolver.GetFunctionDelegate("avformat", "avformat_transfer_internal_stream_timing_info", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
@@ -3949,78 +3949,18 @@ public unsafe static void Initialize()
return vectors.avutil_version();
};
- vectors.postproc_configuration = () =>
- {
- vectors.postproc_configuration = FunctionResolver.GetFunctionDelegate("postproc", "postproc_configuration", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.postproc_configuration();
- };
-
- vectors.postproc_license = () =>
- {
- vectors.postproc_license = FunctionResolver.GetFunctionDelegate("postproc", "postproc_license", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.postproc_license();
- };
-
- vectors.postproc_version = () =>
- {
- vectors.postproc_version = FunctionResolver.GetFunctionDelegate("postproc", "postproc_version", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.postproc_version();
- };
-
- vectors.pp_free_context = (void* @ppContext) =>
- {
- vectors.pp_free_context = FunctionResolver.GetFunctionDelegate("postproc", "pp_free_context", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- vectors.pp_free_context(@ppContext);
- };
-
- vectors.pp_free_mode = (void* @mode) =>
- {
- vectors.pp_free_mode = FunctionResolver.GetFunctionDelegate("postproc", "pp_free_mode", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- vectors.pp_free_mode(@mode);
- };
-
- vectors.pp_get_context = (int @width, int @height, int @flags) =>
- {
- vectors.pp_get_context = FunctionResolver.GetFunctionDelegate("postproc", "pp_get_context", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.pp_get_context(@width, @height, @flags);
- };
-
- vectors.pp_get_mode_by_name_and_quality = (string @name, int @quality) =>
- {
- vectors.pp_get_mode_by_name_and_quality = FunctionResolver.GetFunctionDelegate("postproc", "pp_get_mode_by_name_and_quality", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.pp_get_mode_by_name_and_quality(@name, @quality);
- };
-
- vectors.pp_postprocess = (in byte_ptr3 @src, in int3 @srcStride, ref byte_ptr3 @dst, in int3 @dstStride, int @horizontalSize, int @verticalSize, sbyte* @QP_store, int @QP_stride, void* @mode, void* @ppContext, int @pict_type) =>
- {
- vectors.pp_postprocess = FunctionResolver.GetFunctionDelegate("postproc", "pp_postprocess", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- vectors.pp_postprocess(@src, @srcStride, ref @dst, @dstStride, @horizontalSize, @verticalSize, @QP_store, @QP_stride, @mode, @ppContext, @pict_type);
- };
-
vectors.swr_alloc = () =>
{
vectors.swr_alloc = FunctionResolver.GetFunctionDelegate("swresample", "swr_alloc", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
return vectors.swr_alloc();
};
- vectors.swr_alloc_set_opts = (SwrContext* @s, long @out_ch_layout, AVSampleFormat @out_sample_fmt, int @out_sample_rate, long @in_ch_layout, AVSampleFormat @in_sample_fmt, int @in_sample_rate, int @log_offset, void* @log_ctx) =>
- {
- vectors.swr_alloc_set_opts = FunctionResolver.GetFunctionDelegate("swresample", "swr_alloc_set_opts", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.swr_alloc_set_opts(@s, @out_ch_layout, @out_sample_fmt, @out_sample_rate, @in_ch_layout, @in_sample_fmt, @in_sample_rate, @log_offset, @log_ctx);
- };
-
vectors.swr_alloc_set_opts2 = (SwrContext** @ps, AVChannelLayout* @out_ch_layout, AVSampleFormat @out_sample_fmt, int @out_sample_rate, AVChannelLayout* @in_ch_layout, AVSampleFormat @in_sample_fmt, int @in_sample_rate, int @log_offset, void* @log_ctx) =>
{
vectors.swr_alloc_set_opts2 = FunctionResolver.GetFunctionDelegate("swresample", "swr_alloc_set_opts2", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
return vectors.swr_alloc_set_opts2(@ps, @out_ch_layout, @out_sample_fmt, @out_sample_rate, @in_ch_layout, @in_sample_fmt, @in_sample_rate, @log_offset, @log_ctx);
};
- vectors.swr_build_matrix = (ulong @in_layout, ulong @out_layout, double @center_mix_level, double @surround_mix_level, double @lfe_mix_level, double @rematrix_maxval, double @rematrix_volume, double* @matrix, int @stride, AVMatrixEncoding @matrix_encoding, void* @log_ctx) =>
- {
- vectors.swr_build_matrix = FunctionResolver.GetFunctionDelegate("swresample", "swr_build_matrix", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
- return vectors.swr_build_matrix(@in_layout, @out_layout, @center_mix_level, @surround_mix_level, @lfe_mix_level, @rematrix_maxval, @rematrix_volume, @matrix, @stride, @matrix_encoding, @log_ctx);
- };
-
vectors.swr_build_matrix2 = (AVChannelLayout* @in_layout, AVChannelLayout* @out_layout, double @center_mix_level, double @surround_mix_level, double @lfe_mix_level, double @maxval, double @rematrix_volume, double* @matrix, long @stride, AVMatrixEncoding @matrix_encoding, void* @log_context) =>
{
vectors.swr_build_matrix2 = FunctionResolver.GetFunctionDelegate("swresample", "swr_build_matrix2", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
@@ -4171,12 +4111,24 @@ public unsafe static void Initialize()
vectors.sws_frame_end(@c);
};
+ vectors.sws_frame_setup = (SwsContext* @ctx, AVFrame* @dst, AVFrame* @src) =>
+ {
+ vectors.sws_frame_setup = FunctionResolver.GetFunctionDelegate("swscale", "sws_frame_setup", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.sws_frame_setup(@ctx, @dst, @src);
+ };
+
vectors.sws_frame_start = (SwsContext* @c, AVFrame* @dst, AVFrame* @src) =>
{
vectors.sws_frame_start = FunctionResolver.GetFunctionDelegate("swscale", "sws_frame_start", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
return vectors.sws_frame_start(@c, @dst, @src);
};
+ vectors.sws_free_context = (SwsContext** @ctx) =>
+ {
+ vectors.sws_free_context = FunctionResolver.GetFunctionDelegate("swscale", "sws_free_context", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ vectors.sws_free_context(@ctx);
+ };
+
vectors.sws_freeContext = (SwsContext* @swsContext) =>
{
vectors.sws_freeContext = FunctionResolver.GetFunctionDelegate("swscale", "sws_freeContext", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
@@ -4243,6 +4195,12 @@ public unsafe static void Initialize()
return vectors.sws_init_context(@sws_context, @srcFilter, @dstFilter);
};
+ vectors.sws_is_noop = (AVFrame* @dst, AVFrame* @src) =>
+ {
+ vectors.sws_is_noop = FunctionResolver.GetFunctionDelegate("swscale", "sws_is_noop", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.sws_is_noop(@dst, @src);
+ };
+
vectors.sws_isSupportedEndiannessConversion = (AVPixelFormat @pix_fmt) =>
{
vectors.sws_isSupportedEndiannessConversion = FunctionResolver.GetFunctionDelegate("swscale", "sws_isSupportedEndiannessConversion", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
@@ -4309,6 +4267,36 @@ public unsafe static void Initialize()
return vectors.sws_setColorspaceDetails(@c, @inv_table, @srcRange, @table, @dstRange, @brightness, @contrast, @saturation);
};
+ vectors.sws_test_colorspace = (AVColorSpace @colorspace, int @output) =>
+ {
+ vectors.sws_test_colorspace = FunctionResolver.GetFunctionDelegate("swscale", "sws_test_colorspace", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.sws_test_colorspace(@colorspace, @output);
+ };
+
+ vectors.sws_test_format = (AVPixelFormat @format, int @output) =>
+ {
+ vectors.sws_test_format = FunctionResolver.GetFunctionDelegate("swscale", "sws_test_format", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.sws_test_format(@format, @output);
+ };
+
+ vectors.sws_test_frame = (AVFrame* @frame, int @output) =>
+ {
+ vectors.sws_test_frame = FunctionResolver.GetFunctionDelegate("swscale", "sws_test_frame", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.sws_test_frame(@frame, @output);
+ };
+
+ vectors.sws_test_primaries = (AVColorPrimaries @primaries, int @output) =>
+ {
+ vectors.sws_test_primaries = FunctionResolver.GetFunctionDelegate("swscale", "sws_test_primaries", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.sws_test_primaries(@primaries, @output);
+ };
+
+ vectors.sws_test_transfer = (AVColorTransferCharacteristic @trc, int @output) =>
+ {
+ vectors.sws_test_transfer = FunctionResolver.GetFunctionDelegate("swscale", "sws_test_transfer", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
+ return vectors.sws_test_transfer(@trc, @output);
+ };
+
vectors.swscale_configuration = () =>
{
vectors.swscale_configuration = FunctionResolver.GetFunctionDelegate("swscale", "swscale_configuration", ThrowErrorIfFunctionNotFound) ?? delegate { throw new NotSupportedException(); };
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/generated/DynamicallyLoadedBindings.g.cs.meta b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/generated/DynamicallyLoadedBindings.g.cs.meta
index 55ce2c7..0b22c06 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/generated/DynamicallyLoadedBindings.g.cs.meta
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/generated/DynamicallyLoadedBindings.g.cs.meta
@@ -1,11 +1,2 @@
fileFormatVersion: 2
-guid: 0e21edb0c4adf096689f9b4b5794269d
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
+guid: 0e21edb0c4adf096689f9b4b5794269d
\ No newline at end of file
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/generated/DynamicallyLoadedBindings.libraries.g.cs b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/generated/DynamicallyLoadedBindings.libraries.g.cs
index 3d4f092..1ece625 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/generated/DynamicallyLoadedBindings.libraries.g.cs
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/generated/DynamicallyLoadedBindings.libraries.g.cs
@@ -6,13 +6,12 @@ public static unsafe partial class DynamicallyLoadedBindings
{
public static Dictionary LibraryVersionMap = new Dictionary
{
- {"avcodec", 60},
- {"avdevice", 60},
- {"avfilter", 9},
- {"avformat", 60},
- {"avutil", 58},
- {"postproc", 57},
- {"swresample", 4},
- {"swscale", 7},
+ {"avcodec", 62},
+ {"avdevice", 62},
+ {"avfilter", 11},
+ {"avformat", 62},
+ {"avutil", 60},
+ {"swresample", 6},
+ {"swscale", 9},
};
}
diff --git a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/generated/DynamicallyLoadedBindings.libraries.g.cs.meta b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/generated/DynamicallyLoadedBindings.libraries.g.cs.meta
index 70272f9..8b71a1d 100644
--- a/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/generated/DynamicallyLoadedBindings.libraries.g.cs.meta
+++ b/Packages/FFmpeg.Unity/FFmpeg.AutoGen.Bindings.DynamicallyLoaded/generated/DynamicallyLoadedBindings.libraries.g.cs.meta
@@ -1,11 +1,2 @@
fileFormatVersion: 2
-guid: ba900d2270a6a153ba0d41e4db116f58
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
+guid: ba900d2270a6a153ba0d41e4db116f58
\ No newline at end of file
diff --git a/Packages/FFmpeg.Unity/Runtime/Helpers/FFmpegCtx.cs b/Packages/FFmpeg.Unity/Runtime/Helpers/FFmpegCtx.cs
index 364e35b..1a77ed9 100644
--- a/Packages/FFmpeg.Unity/Runtime/Helpers/FFmpegCtx.cs
+++ b/Packages/FFmpeg.Unity/Runtime/Helpers/FFmpegCtx.cs
@@ -32,7 +32,6 @@ public FFmpegCtx(Stream stream, uint bufferSize = 16_000_000)
_pIOContext = ffmpeg.avio_alloc_context(bufferPtr, (int)bufferSize, 0, GCHandle.ToIntPtr(streamHandle).ToPointer(), read, null, seek);
_pFormatContext = ffmpeg.avformat_alloc_context();
- _pFormatContext->flags |= ffmpeg.AVFMT_FLAG_SHORTEST;// | ffmpeg.AVFMT_FLAG_SORT_DTS | ffmpeg.AVFMT_FLAG_DISCARD_CORRUPT;
_pFormatContext->max_interleave_delta = 100_000_000;
_pFormatContext->pb = _pIOContext;
_pFormatContext->flags |= ffmpeg.AVFMT_FLAG_CUSTOM_IO;
@@ -53,7 +52,6 @@ public FFmpegCtx(string url)
if (string.IsNullOrWhiteSpace(url))
return;
_pFormatContext = ffmpeg.avformat_alloc_context();
- _pFormatContext->flags |= ffmpeg.AVFMT_FLAG_SHORTEST;// | ffmpeg.AVFMT_FLAG_SORT_DTS | ffmpeg.AVFMT_FLAG_DISCARD_CORRUPT;
_pFormatContext->max_interleave_delta = 100_000_000;
_pFormatContext->avio_flags = ffmpeg.AVIO_FLAG_READ | ffmpeg.AVIO_FLAG_NONBLOCK;
diff --git a/Packages/FFmpeg.Unity/Runtime/Helpers/MediaDecoder.cs b/Packages/FFmpeg.Unity/Runtime/Helpers/MediaDecoder.cs
index e35d741..5980097 100644
--- a/Packages/FFmpeg.Unity/Runtime/Helpers/MediaDecoder.cs
+++ b/Packages/FFmpeg.Unity/Runtime/Helpers/MediaDecoder.cs
@@ -18,7 +18,7 @@ public VideoConverter(Size sourceSize, AVPixelFormat sourcePixelFormat,
destinationSize.Width,
destinationSize.Height,
destinationPixelFormat,
- ffmpeg.SWS_FAST_BILINEAR,
+ (int)SwsFlags.SWS_FAST_BILINEAR,
null,
null,
null);
diff --git a/Packages/FFmpeg.Unity/Runtime/Helpers/VideoFrameConverter.cs b/Packages/FFmpeg.Unity/Runtime/Helpers/VideoFrameConverter.cs
index 3c4055c..5f54e22 100644
--- a/Packages/FFmpeg.Unity/Runtime/Helpers/VideoFrameConverter.cs
+++ b/Packages/FFmpeg.Unity/Runtime/Helpers/VideoFrameConverter.cs
@@ -27,7 +27,7 @@ public VideoFrameConverter(Size sourceSize, AVPixelFormat sourcePixelFormat,
destinationSize.Width,
destinationSize.Height,
destinationPixelFormat,
- ffmpeg.SWS_POINT,
+ (int)SwsFlags.SWS_POINT,
// ffmpeg.SWS_FAST_BILINEAR,
null,
null,
diff --git a/Packages/FFmpeg.Unity/Runtime/Helpers/VideoStreamDecoder.cs b/Packages/FFmpeg.Unity/Runtime/Helpers/VideoStreamDecoder.cs
index c10baba..9846b60 100644
--- a/Packages/FFmpeg.Unity/Runtime/Helpers/VideoStreamDecoder.cs
+++ b/Packages/FFmpeg.Unity/Runtime/Helpers/VideoStreamDecoder.cs
@@ -129,7 +129,12 @@ public void Dispose()
ffmpeg.av_frame_free(&receivedFrame);
if (_pCodecContext != null)
- ffmpeg.avcodec_close(_pCodecContext);
+ {
+ fixed (AVCodecContext** ctx = &_pCodecContext)
+ {
+ ffmpeg.avcodec_free_context(ctx);
+ }
+ }
}
public bool CanDecode()
diff --git a/Packages/manifest.json b/Packages/manifest.json
index 3c375bd..c152d11 100644
--- a/Packages/manifest.json
+++ b/Packages/manifest.json
@@ -1,14 +1,15 @@
{
"dependencies": {
- "com.unity.collab-proxy": "2.3.1",
+ "com.unity.collab-proxy": "2.10.2",
"com.unity.feature.development": "1.0.2",
- "com.unity.ide.visualstudio": "2.0.22",
- "com.unity.memoryprofiler": "1.1.0",
- "com.unity.timeline": "1.8.6",
- "com.unity.toolchain.win-x86_64-linux-x86_64": "2.0.10",
+ "com.unity.ide.visualstudio": "2.0.25",
+ "com.unity.memoryprofiler": "1.1.9",
+ "com.unity.multiplayer.center": "1.0.1",
+ "com.unity.timeline": "1.8.9",
"com.unity.ugui": "2.0.0",
- "com.unity.visualscripting": "1.8.0",
+ "com.unity.visualscripting": "1.9.9",
"com.unity.modules.accessibility": "1.0.0",
+ "com.unity.modules.adaptiveperformance": "1.0.0",
"com.unity.modules.ai": "1.0.0",
"com.unity.modules.androidjni": "1.0.0",
"com.unity.modules.animation": "1.0.0",
@@ -35,6 +36,7 @@
"com.unity.modules.unitywebrequestaudio": "1.0.0",
"com.unity.modules.unitywebrequesttexture": "1.0.0",
"com.unity.modules.unitywebrequestwww": "1.0.0",
+ "com.unity.modules.vectorgraphics": "1.0.0",
"com.unity.modules.vehicles": "1.0.0",
"com.unity.modules.video": "1.0.0",
"com.unity.modules.vr": "1.0.0",
diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json
index ba92138..282a571 100644
--- a/Packages/packages-lock.json
+++ b/Packages/packages-lock.json
@@ -1,14 +1,37 @@
{
"dependencies": {
+ "com.unity.burst": {
+ "version": "1.8.26",
+ "depth": 1,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.mathematics": "1.2.1",
+ "com.unity.modules.jsonserialize": "1.0.0"
+ },
+ "url": "https://packages.unity.com"
+ },
"com.unity.collab-proxy": {
- "version": "2.3.1",
+ "version": "2.10.2",
"depth": 0,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
+ "com.unity.collections": {
+ "version": "2.6.2",
+ "depth": 1,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.burst": "1.8.23",
+ "com.unity.mathematics": "1.3.2",
+ "com.unity.test-framework": "1.4.6",
+ "com.unity.nuget.mono-cecil": "1.11.5",
+ "com.unity.test-framework.performance": "3.0.3"
+ },
+ "url": "https://packages.unity.com"
+ },
"com.unity.editorcoroutines": {
- "version": "1.0.0",
+ "version": "1.0.1",
"depth": 1,
"source": "registry",
"dependencies": {},
@@ -17,25 +40,24 @@
"com.unity.ext.nunit": {
"version": "2.0.5",
"depth": 2,
- "source": "registry",
- "dependencies": {},
- "url": "https://packages.unity.com"
+ "source": "builtin",
+ "dependencies": {}
},
"com.unity.feature.development": {
"version": "1.0.2",
"depth": 0,
"source": "builtin",
"dependencies": {
- "com.unity.ide.visualstudio": "2.0.22",
- "com.unity.ide.rider": "3.0.28",
- "com.unity.editorcoroutines": "1.0.0",
- "com.unity.performance.profile-analyzer": "1.2.2",
- "com.unity.test-framework": "1.3.9",
- "com.unity.testtools.codecoverage": "1.2.5"
+ "com.unity.ide.visualstudio": "2.0.25",
+ "com.unity.ide.rider": "3.0.38",
+ "com.unity.editorcoroutines": "1.0.1",
+ "com.unity.performance.profile-analyzer": "1.2.4",
+ "com.unity.test-framework": "1.6.0",
+ "com.unity.testtools.codecoverage": "1.2.7"
}
},
"com.unity.ide.rider": {
- "version": "3.0.28",
+ "version": "3.0.38",
"depth": 1,
"source": "registry",
"dependencies": {
@@ -44,66 +66,92 @@
"url": "https://packages.unity.com"
},
"com.unity.ide.visualstudio": {
- "version": "2.0.22",
+ "version": "2.0.25",
"depth": 0,
"source": "registry",
"dependencies": {
- "com.unity.test-framework": "1.1.9"
+ "com.unity.test-framework": "1.1.31"
},
"url": "https://packages.unity.com"
},
+ "com.unity.mathematics": {
+ "version": "1.3.3",
+ "depth": 1,
+ "source": "registry",
+ "dependencies": {},
+ "url": "https://packages.unity.com"
+ },
"com.unity.memoryprofiler": {
- "version": "1.1.0",
+ "version": "1.1.9",
"depth": 0,
"source": "registry",
"dependencies": {
+ "com.unity.burst": "1.8.0",
+ "com.unity.collections": "1.2.3",
+ "com.unity.mathematics": "1.2.1",
+ "com.unity.profiling.core": "1.0.0",
"com.unity.editorcoroutines": "1.0.0"
},
"url": "https://packages.unity.com"
},
- "com.unity.performance.profile-analyzer": {
- "version": "1.2.2",
- "depth": 1,
+ "com.unity.multiplayer.center": {
+ "version": "1.0.1",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.uielements": "1.0.0"
+ }
+ },
+ "com.unity.nuget.mono-cecil": {
+ "version": "1.11.6",
+ "depth": 2,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
- "com.unity.settings-manager": {
- "version": "2.0.1",
- "depth": 2,
+ "com.unity.performance.profile-analyzer": {
+ "version": "1.2.4",
+ "depth": 1,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
- "com.unity.sysroot": {
- "version": "2.0.10",
+ "com.unity.profiling.core": {
+ "version": "1.0.3",
"depth": 1,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
- "com.unity.sysroot.linux-x86_64": {
- "version": "2.0.9",
- "depth": 1,
+ "com.unity.settings-manager": {
+ "version": "2.1.1",
+ "depth": 2,
"source": "registry",
- "dependencies": {
- "com.unity.sysroot": "2.0.10"
- },
+ "dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.test-framework": {
- "version": "1.3.9",
+ "version": "1.6.0",
"depth": 1,
- "source": "registry",
+ "source": "builtin",
"dependencies": {
"com.unity.ext.nunit": "2.0.3",
"com.unity.modules.imgui": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0"
+ }
+ },
+ "com.unity.test-framework.performance": {
+ "version": "3.2.0",
+ "depth": 2,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.test-framework": "1.1.33",
+ "com.unity.modules.jsonserialize": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.testtools.codecoverage": {
- "version": "1.2.5",
+ "version": "1.2.7",
"depth": 1,
"source": "registry",
"dependencies": {
@@ -113,7 +161,7 @@
"url": "https://packages.unity.com"
},
"com.unity.timeline": {
- "version": "1.8.6",
+ "version": "1.8.9",
"depth": 0,
"source": "registry",
"dependencies": {
@@ -124,16 +172,6 @@
},
"url": "https://packages.unity.com"
},
- "com.unity.toolchain.win-x86_64-linux-x86_64": {
- "version": "2.0.10",
- "depth": 0,
- "source": "registry",
- "dependencies": {
- "com.unity.sysroot": "2.0.10",
- "com.unity.sysroot.linux-x86_64": "2.0.9"
- },
- "url": "https://packages.unity.com"
- },
"com.unity.ugui": {
"version": "2.0.0",
"depth": 0,
@@ -144,7 +182,7 @@
}
},
"com.unity.visualscripting": {
- "version": "1.8.0",
+ "version": "1.9.9",
"depth": 0,
"source": "registry",
"dependencies": {
@@ -165,6 +203,14 @@
"source": "builtin",
"dependencies": {}
},
+ "com.unity.modules.adaptiveperformance": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.subsystems": "1.0.0"
+ }
+ },
"com.unity.modules.ai": {
"version": "1.0.0",
"depth": 0,
@@ -307,7 +353,8 @@
"com.unity.modules.ui": "1.0.0",
"com.unity.modules.imgui": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0",
- "com.unity.modules.hierarchycore": "1.0.0"
+ "com.unity.modules.hierarchycore": "1.0.0",
+ "com.unity.modules.physics": "1.0.0"
}
},
"com.unity.modules.umbra": {
@@ -371,6 +418,16 @@
"com.unity.modules.imageconversion": "1.0.0"
}
},
+ "com.unity.modules.vectorgraphics": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.uielements": "1.0.0",
+ "com.unity.modules.imageconversion": "1.0.0",
+ "com.unity.modules.imgui": "1.0.0"
+ }
+ },
"com.unity.modules.vehicles": {
"version": "1.0.0",
"depth": 0,
diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset
index bfa08d3..d357f6f 100644
--- a/ProjectSettings/ProjectSettings.asset
+++ b/ProjectSettings/ProjectSettings.asset
@@ -3,7 +3,7 @@
--- !u!129 &1
PlayerSettings:
m_ObjectHideFlags: 0
- serializedVersion: 27
+ serializedVersion: 28
productGUID: 1d6fe422ee3f3ce4f8384677e3c041ae
AndroidProfiler: 0
AndroidFilterTouchesWhenObscured: 0
@@ -48,6 +48,8 @@ PlayerSettings:
defaultScreenHeightWeb: 600
m_StereoRenderingPath: 0
m_ActiveColorSpace: 1
+ unsupportedMSAAFallback: 0
+ m_SpriteBatchMaxVertexCount: 65535
m_SpriteBatchVertexThreshold: 300
m_MTRendering: 1
mipStripping: 0
@@ -68,21 +70,24 @@ PlayerSettings:
androidStartInFullscreen: 1
androidRenderOutsideSafeArea: 1
androidUseSwappy: 1
+ androidDisplayOptions: 1
androidBlitType: 0
- androidResizableWindow: 0
+ androidResizeableActivity: 0
androidDefaultWindowWidth: 1920
androidDefaultWindowHeight: 1080
androidMinimumWindowWidth: 400
androidMinimumWindowHeight: 300
androidFullscreenMode: 1
+ androidAutoRotationBehavior: 1
+ androidPredictiveBackSupport: 1
androidApplicationEntry: 1
defaultIsNativeResolution: 1
macRetinaSupport: 1
runInBackground: 1
- captureSingleScreen: 0
muteOtherAudioSources: 0
Prepare IOS For Recording: 0
Force IOS Speakers When Recording: 0
+ audioSpatialExperience: 0
deferSystemGesturesMode: 0
hideHomeButton: 0
submitAnalytics: 1
@@ -129,12 +134,15 @@ PlayerSettings:
switchNVNMaxPublicSamplerIDCount: 0
switchMaxWorkerMultiple: 8
switchNVNGraphicsFirmwareMemory: 32
+ switchGraphicsJobsSyncAfterKick: 1
vulkanNumSwapchainBuffers: 3
vulkanEnableSetSRGBWrite: 0
vulkanEnablePreTransform: 1
vulkanEnableLateAcquireNextImage: 0
vulkanEnableCommandBufferRecycling: 1
loadStoreDebugModeEnabled: 0
+ visionOSBundleVersion: 1.0
+ tvOSBundleVersion: 1.0
bundleVersion: 0.1
preloadedAssets: []
metroInputSource: 0
@@ -147,6 +155,7 @@ PlayerSettings:
isWsaHolographicRemotingEnabled: 0
enableFrameTimingStats: 0
enableOpenGLProfilerGPURecorders: 1
+ allowHDRDisplaySupport: 0
useHDRDisplay: 0
hdrBitDepth: 0
m_ColorGamuts: 00000000
@@ -155,17 +164,20 @@ PlayerSettings:
resetResolutionOnWindowResize: 0
androidSupportedAspectRatio: 1
androidMaxAspectRatio: 2.1
+ androidMinAspectRatio: 1
applicationIdentifier:
Standalone: com.DefaultCompany.FFMpeg.Unity
buildNumber:
Standalone: 0
+ VisionOS: 0
iPhone: 0
tvOS: 0
overrideDefaultApplicationIdentifier: 0
AndroidBundleVersionCode: 1
- AndroidMinSdkVersion: 22
+ AndroidMinSdkVersion: 25
AndroidTargetSdkVersion: 0
AndroidPreferredInstallLocation: 1
+ AndroidPreferredDataLocation: 1
aotOptions:
stripEngineCode: 1
iPhoneStrippingLevel: 0
@@ -179,10 +191,14 @@ PlayerSettings:
strictShaderVariantMatching: 0
VertexChannelCompressionMask: 4054
iPhoneSdkVersion: 988
- iOSTargetOSVersionString: 13.0
+ iOSSimulatorArchitecture: 0
+ iOSTargetOSVersionString: 15.0
tvOSSdkVersion: 0
+ tvOSSimulatorArchitecture: 0
tvOSRequireExtendedGameController: 0
- tvOSTargetOSVersionString: 13.0
+ tvOSTargetOSVersionString: 15.0
+ VisionOSSdkVersion: 0
+ VisionOSTargetOSVersionString: 1.0
uIPrerenderedIcon: 0
uIRequiresPersistentWiFi: 0
uIRequiresFullScreen: 1
@@ -207,7 +223,6 @@ PlayerSettings:
rgba: 0
iOSLaunchScreenFillPct: 100
iOSLaunchScreenSize: 100
- iOSLaunchScreenCustomXibPath:
iOSLaunchScreeniPadType: 0
iOSLaunchScreeniPadImage: {fileID: 0}
iOSLaunchScreeniPadBackgroundColor:
@@ -215,7 +230,6 @@ PlayerSettings:
rgba: 0
iOSLaunchScreeniPadFillPct: 100
iOSLaunchScreeniPadSize: 100
- iOSLaunchScreeniPadCustomXibPath:
iOSLaunchScreenCustomStoryboardPath:
iOSLaunchScreeniPadCustomStoryboardPath:
iOSDeviceRequirements: []
@@ -225,13 +239,16 @@ PlayerSettings:
iOSMetalForceHardShadows: 0
metalEditorSupport: 1
metalAPIValidation: 1
+ metalCompileShaderBinary: 0
iOSRenderExtraFrameOnPause: 0
iosCopyPluginsCodeInsteadOfSymlink: 0
appleDeveloperTeamID:
iOSManualSigningProvisioningProfileID:
tvOSManualSigningProvisioningProfileID:
+ VisionOSManualSigningProvisioningProfileID:
iOSManualSigningProvisioningProfileType: 0
tvOSManualSigningProvisioningProfileType: 0
+ VisionOSManualSigningProvisioningProfileType: 0
appleEnableAutomaticSigning: 0
iOSRequireARKit: 0
iOSAutomaticallyDetectAndAddCapabilities: 1
@@ -249,15 +266,19 @@ PlayerSettings:
useCustomGradleSettingsTemplate: 0
useCustomProguardFile: 0
AndroidTargetArchitectures: 2
- AndroidTargetDevices: 0
+ AndroidAllowedArchitectures: -1
AndroidSplashScreenScale: 0
androidSplashScreen: {fileID: 0}
AndroidKeystoreName:
AndroidKeyaliasName:
AndroidEnableArmv9SecurityFeatures: 0
+ AndroidEnableArm64MTE: 0
AndroidBuildApkPerCpuArchitecture: 0
AndroidTVCompatibility: 0
AndroidIsGame: 1
+ androidAppCategory: 3
+ useAndroidAppCategory: 1
+ androidAppCategoryOther:
AndroidEnableTango: 0
androidEnableBanner: 1
androidUseLowAccuracyLocation: 0
@@ -267,12 +288,12 @@ PlayerSettings:
height: 180
banner: {fileID: 0}
androidGamepadSupportLevel: 0
- chromeosInputEmulation: 1
AndroidMinifyRelease: 0
AndroidMinifyDebug: 0
AndroidValidateAppBundleSize: 1
AndroidAppBundleSizeToValidate: 150
AndroidReportGooglePlayAppDependencies: 1
+ androidSymbolsSizeThreshold: 800
m_BuildTargetIcons: []
m_BuildTargetPlatformIcons:
- m_BuildTarget: Android
@@ -429,6 +450,9 @@ PlayerSettings:
- m_BuildTarget: WebGLSupport
m_APIs: 0b000000
m_Automatic: 1
+ - m_BuildTarget: WindowsStandaloneSupport
+ m_APIs: 1200000002000000
+ m_Automatic: 1
m_BuildTargetVRSettings:
- m_BuildTarget: Standalone
m_Enabled: 0
@@ -446,18 +470,24 @@ PlayerSettings:
iPhone: 1
tvOS: 1
m_BuildTargetGroupLightmapEncodingQuality:
- - m_BuildTarget: Android
+ - serializedVersion: 2
+ m_BuildTarget: Android
m_EncodingQuality: 1
- - m_BuildTarget: iPhone
+ - serializedVersion: 2
+ m_BuildTarget: iOS
m_EncodingQuality: 1
- - m_BuildTarget: tvOS
+ - serializedVersion: 2
+ m_BuildTarget: tvOS
m_EncodingQuality: 1
m_BuildTargetGroupHDRCubemapEncodingQuality:
- - m_BuildTarget: Android
+ - serializedVersion: 2
+ m_BuildTarget: Android
m_EncodingQuality: 1
- - m_BuildTarget: iPhone
+ - serializedVersion: 2
+ m_BuildTarget: iOS
m_EncodingQuality: 1
- - m_BuildTarget: tvOS
+ - serializedVersion: 2
+ m_BuildTarget: tvOS
m_EncodingQuality: 1
m_BuildTargetGroupLightmapSettings: []
m_BuildTargetGroupLoadStoreDebugModeSettings: []
@@ -469,12 +499,13 @@ PlayerSettings:
- m_BuildTarget: tvOS
m_Encoding: 1
m_BuildTargetDefaultTextureCompressionFormat:
- - serializedVersion: 2
+ - serializedVersion: 3
m_BuildTarget: Android
m_Formats: 03000000
playModeTestRunnerEnabled: 0
runPlayModeTestAsEditModeTest: 0
actionOnDotNetUnhandledException: 1
+ editorGfxJobOverride: 1
enableInternalProfiler: 0
logObjCUncaughtExceptions: 1
enableCrashReportAPI: 0
@@ -482,7 +513,7 @@ PlayerSettings:
locationUsageDescription:
microphoneUsageDescription:
bluetoothUsageDescription:
- macOSTargetOSVersion: 10.13.0
+ macOSTargetOSVersion: 12.0
switchNMETAOverride:
switchNetLibKey:
switchSocketMemoryPoolSize: 6144
@@ -490,7 +521,7 @@ PlayerSettings:
switchSocketConcurrencyLimit: 14
switchScreenResolutionBehavior: 2
switchUseCPUProfiler: 0
- switchUseGOLDLinker: 0
+ switchEnableFileSystemTrace: 0
switchLTOSetting: 0
switchApplicationID: 0x01004b9000490000
switchNSODependencies:
@@ -620,13 +651,14 @@ PlayerSettings:
switchSocketBufferEfficiency: 4
switchSocketInitializeEnabled: 1
switchNetworkInterfaceManagerInitializeEnabled: 1
- switchPlayerConnectionEnabled: 1
+ switchDisableHTCSPlayerConnection: 0
switchUseNewStyleFilepaths: 1
switchUseLegacyFmodPriorities: 0
switchUseMicroSleepForYield: 1
switchEnableRamDiskSupport: 0
switchMicroSleepForYieldTime: 25
switchRamDiskSpaceSize: 12
+ switchUpgradedPlayerSettingsToNMETA: 0
ps4NPAgeRating: 12
ps4NPTitleSecret:
ps4NPTrophyPackPath:
@@ -730,6 +762,11 @@ PlayerSettings:
webGLMemoryGeometricGrowthStep: 0.2
webGLMemoryGeometricGrowthCap: 96
webGLPowerPreference: 2
+ webGLWebAssemblyTable: 0
+ webGLWebAssemblyBigInt: 0
+ webGLCloseOnQuit: 0
+ webWasm2023: 0
+ webEnableSubmoduleStrippingCompatibility: 0
scriptingDefineSymbols: {}
additionalCompilerArguments: {}
platformArchitecture: {}
@@ -762,7 +799,7 @@ PlayerSettings:
gcIncremental: 1
gcWBarrierValidation: 0
apiCompatibilityLevelPerPlatform: {}
- editorAssembliesCompatibilityLevel: 1
+ editorAssembliesCompatibilityLevel: 2
m_RenderingPath: 1
m_MobileRenderingPath: 1
metroPackageName: FFMpeg.Unity
@@ -786,6 +823,7 @@ PlayerSettings:
metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0}
metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, a: 1}
metroSplashScreenUseBackgroundColor: 0
+ syncCapabilities: 0
platformCapabilities: {}
metroTargetDeviceFamilies: {}
metroFTAName:
@@ -836,9 +874,11 @@ PlayerSettings:
hmiPlayerDataPath:
hmiForceSRGBBlit: 1
embeddedLinuxEnableGamepadInput: 1
- hmiLogStartupTiming: 0
hmiCpuConfiguration:
+ hmiLogStartupTiming: 0
+ qnxGraphicConfPath:
apiCompatibilityLevel: 3
+ captureStartupLogs: {}
activeInputHandler: 0
windowsGamepadBackendHint: 0
cloudProjectId:
@@ -849,5 +889,11 @@ PlayerSettings:
cloudEnabled: 0
legacyClampBlendShapeWeights: 0
hmiLoadingImage: {fileID: 0}
+ platformRequiresReadableAssets: 0
virtualTexturingSupportEnabled: 0
insecureHttpOption: 0
+ androidVulkanDenyFilterList: []
+ androidVulkanAllowFilterList: []
+ androidVulkanDeviceFilterListAsset: {fileID: 0}
+ d3d12DeviceFilterListAsset: {fileID: 0}
+ allowedHttpConnections: 3
diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt
index 2ffa451..879b68f 100644
--- a/ProjectSettings/ProjectVersion.txt
+++ b/ProjectSettings/ProjectVersion.txt
@@ -1,2 +1,2 @@
-m_EditorVersion: 2023.2.20f1
-m_EditorVersionWithRevision: 2023.2.20f1 (0e25a174756c)
+m_EditorVersion: 6000.3.2f1
+m_EditorVersionWithRevision: 6000.3.2f1 (a9779f353c9b)