Commit Graph

1380 Commits

Author SHA1 Message Date
openvela-robot db600b2cf7 vf_format: rework format list parsing
Avoid using AV_PIX_FMT_NB, since that hardcodes the number of pixel
formats into lavfi and will break when a shared lavu is updated, adding
new pixel formats.
2026-04-20 15:54:29 +08:00
Nicolas George 27214b0ce4 lavu: add thread message API. 2026-04-20 15:54:25 +08:00
Michael Niedermayer 7d409b5593 doc/APIchanges: fix typo in date 2026-04-20 15:54:25 +08:00
Michael Niedermayer 655b723f70 update APIchanges & version for c37d179
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:54:25 +08:00
openvela-robot cb5ffdb3d5 avcodec/webvttenc: do not use EOVERFLOW.
According to doc/errno.txt EOVERFLOW is not available everywhere. The
use of -1 is consistent with avcodec/srtenc.c.
2026-04-20 15:54:23 +08:00
openvela-robot c91f6dae48 imgutils: make systematic palette opaque.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2026-04-20 15:54:21 +08:00
openvela-robot ca8ce86602 Merge commit '21f68c2489cba2a1a4a41d0c5c828266e6162800'
* commit '21f68c2489cba2a1a4a41d0c5c828266e6162800':
  avcodec: bump version after rotation api

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:54:15 +08:00
openvela-robot 61f38a5315 Merge commit '6b7b8585d73548f08b98959df39d80b97677662f'
* commit '6b7b8585d73548f08b98959df39d80b97677662f':
  dca: Convert dca_dmixtable to integers

Conflicts:
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:54:13 +08:00
openvela-robot cb3e54d5ce avcodec: bump version after rotation api
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2026-04-20 15:54:11 +08:00
Michael Niedermayer 3ebcb9c8ed avformat: add av_stream_get_end_pts()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:54:07 +08:00
openvela-robot 7c6fb35c4f Merge commit 'c23c96b638cbf6c489fd301e6b3d5555632fba37'
* commit 'c23c96b638cbf6c489fd301e6b3d5555632fba37':
  lavf: add av_stream_get_side_data

Conflicts:
	doc/APIchanges
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:54:06 +08:00
openvela-robot e20a94ec05 avcodec: remove no longer needed ff_codec_close_recursive()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:54:02 +08:00
Janne Grunau 5505ff8595 lavf: add av_stream_get_side_data 2026-04-20 15:54:00 +08:00
openvela-robot b4a0ada59e check: add libavcodec/vda_internal.h to SKIPHEADERS-$(CONFIG_VDA) 2026-04-20 15:54:00 +08:00
Lukasz Marek d40932f484 lavu/fifo: add av_fifo_alloc_array function
Allows to alloc fifo buffer by passing
number of elements and size of element.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2026-04-20 15:53:56 +08:00
openvela-robot e047722249 Merge commit 'bddd8cbf68551f6405b2bf77cc3e212af9fbe834'
* commit 'bddd8cbf68551f6405b2bf77cc3e212af9fbe834':
  Add transformation matrix API.

Conflicts:
	libavcodec/avcodec.h
	libavcodec/utils.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:53:54 +08:00
openvela-robot 6896d6c056 Merge commit 'a312f71090ee620ee252f2034aef6b13e2dafe9c'
* commit 'a312f71090ee620ee252f2034aef6b13e2dafe9c':
  lavf: deprecate now unused AVStream.pts

Conflicts:
	libavformat/mux.c
	libavformat/version.h

mostly not merged as the code is needed for a/vsync drop handling
and what the code does is what is needed, it could maybe be moved
elsewhere or factored somehow but simply removing it would be droping
these features.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:53:51 +08:00
openvela-robot ba94b680bf Merge commit 'ed7922faac4ea4c893efc3cdf8102ebc49fcc011'
* commit 'ed7922faac4ea4c893efc3cdf8102ebc49fcc011':
  mux: drop one of the hacks comprising compute_pkt_fields2()

Conflicts:
	libavformat/mux.c

Not merged as -async drop / -vsync drop depends on this code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:53:49 +08:00
openvela-robot ca50a9d6d7 display: Include mathematics.h for fallback definition of NAN
This fixes compilation with MSVC.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 15:53:47 +08:00
openvela-robot 38726e89b6 Merge commit '04db5794cd97e4b33ec2f963ef7f967722a456eb'
* commit '04db5794cd97e4b33ec2f963ef7f967722a456eb':
  hevc: templatize pred_planar

Conflicts:
	libavcodec/hevcpred_template.c

See: 053fdacde7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:53:39 +08:00
Vittorio Giovara bb7404ea47 Add transformation matrix API.
Add AV_PKT_DATA_DISPLAYMATRIX and AV_FRAME_DATA_DISPLAYMATRIX as stream and
frame side data (respectively) to describe a display transformation matrix
for linear transformation operations on the decoded video.

Add functions to easily extract a rotation angle from a matrix and
conversely to setup a matrix for a given rotation angle.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2026-04-20 15:53:37 +08:00
Anton Khirnov 2f10ca2aef lavf: deprecate now unused AVStream.pts 2026-04-20 15:53:37 +08:00
openvela-robot 1af0f28047 hevc: templatize pred_planar
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2026-04-20 15:53:33 +08:00
openvela-robot fa6d0d705d Merge commit '33082af7560a18179b52734665ef66f812902d33'
* commit '33082af7560a18179b52734665ef66f812902d33':
  doc/APIchanges: fill in missing hashes and dates

Conflicts:
	doc/APIchanges

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:53:16 +08:00
openvela-robot 46f8d1ac7a wavenc: use codec descriptors to get the codec name
Also, return a proper error code.
2026-04-20 15:53:14 +08:00
openvela-robot b080afeeb3 Merge commit 'fd056029f45a9f6d213d9fce8165632042511d4f'
* commit 'fd056029f45a9f6d213d9fce8165632042511d4f':
  lavc: add avcodec_free_context().

Conflicts:
	doc/APIchanges
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:53:02 +08:00
openvela-robot 7922997d82 Merge commit 'e1b66778b6ee82a192b5895e23c4e135f7269326'
* commit 'e1b66778b6ee82a192b5895e23c4e135f7269326':
  lavc: remove the locking code in avcodec_close()

Conflicts:
	libavcodec/utils.c

Note, if someone knows of a external codec lib/API, hwaccel or other that requires
locking on its close/free side, please contact ffmpeg-devel.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:53:00 +08:00
Anton Khirnov 029d94a4f4 doc/APIchanges: mark the release 10 branch point 2026-04-20 15:52:59 +08:00
Anton Khirnov 6267f9ede6 doc/APIchanges: fill in missing hashes and dates 2026-04-20 15:52:58 +08:00
Anton Khirnov f0df27ff2f lavc: add avcodec_free_context().
Right now, the caller has to manually manage some allocated
AVCodecContext fields, like extradata or subtitle_header. This is
fragile and prone to leaks, especially if we want to add more such
fields in the future.

The only reason for this behaviour is so that the AVStream codec context
can be reused for decoding. Such reuse is discouraged anyway, so this
commit is the first step to deprecating it.
2026-04-20 15:52:58 +08:00
openvela-robot d21777d8dc lavc: remove the locking code in avcodec_close()
This function should not modify any global state, so there should be no
reason for any locking.
2026-04-20 15:52:57 +08:00
Olivier Langlois f6b9a49cb1 lavu: add av_gettime_relative()
These functions are using the POSIX clock_gettime() function with the
CLOCK_MONOTONIC clock id. If these are not present on the targeted
platform, the new functions will fallback on using the original realtime functions
av_gettime() and av_usleep().

Monotonic support can be added on other platforms with their
equivalent native system API eventually if possible.

Whenever time is requested to measure relative time, the monotonic clock,
when available, is superior to the system realtime clock because it is
not affected by discontinuous jumps in the system time

In a future step, offering the flexibility to let the user choose between
rt and monotonic clock for avdevices packets will be investigated.

It is very easy to experience the issues that this patch attempt to address
by rewinding back in the past the system time while ffmpeg is running.

this is breaking the ffmpeg report printing (ffmepg.c:print_report()) and
the the rate emulator functionality (-re) without the patch.

Signed-off-by: Olivier Langlois <olivier@trillion01.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:52:54 +08:00
openvela-robot 7c42b0862a avcodec/x86/hevc: added DBF assembly functions
Reviewed-by: James Almer <jamrial@gmail.com>
Reviewed-by: Ronald S. Bultje
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:52:46 +08:00
openvela-robot 8756ea52d1 avisynth: set duration of audio streams
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2026-04-20 15:52:43 +08:00
openvela-robot a0ffec6dfd Merge commit '0c1959b056f6ccaa2eee2c824352ba93c8e36d52'
* commit '0c1959b056f6ccaa2eee2c824352ba93c8e36d52':
  lavf: add AVFMT_FLAG_BITEXACT.

Conflicts:
	doc/APIchanges
	libavformat/avformat.h
	libavformat/flacenc.c
	libavformat/movenc.c
	libavformat/oggenc.c
	libavformat/options_table.h
	libavformat/version.h
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:52:34 +08:00
Michael Niedermayer 890c7c9476 swresample: swr_close()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:52:32 +08:00
openvela-robot 1e32b5c312 Merge commit 'b70d7a4ac72d23f3448f3b08b770fdf5f57de222'
* commit 'b70d7a4ac72d23f3448f3b08b770fdf5f57de222':
  lavc: add a native Opus decoder.

Conflicts:
	Changelog
	configure
	libavcodec/version.h

Fate tests pass with both avresample as well as swresample based opus decoder, but
are disabled (reference files are very large so i want to think a day or 2 about
if theres an alternative or if they could be avoided, they also dont match the
official samples)

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:52:32 +08:00
Anton Khirnov 3b06c4f9bb lavf: add AVFMT_FLAG_BITEXACT.
Use it instead of checking CODEC_FLAG_BITEXACT in the first stream's
codec context.

Using codec options inside lavf is fragile and can easily break when the
muxing codec context is not the encoding context.
2026-04-20 15:52:30 +08:00
openvela-robot bd49d90df0 lavc: add a native Opus decoder.
Initial implementation by Andrew D'Addesio <modchipv12@gmail.com> during
GSoC 2012.

Completion by Anton Khirnov <anton@khirnov.net>, sponsored by the
Mozilla Corporation.

Further contributions by:
Christophe Gisquet <christophe.gisquet@gmail.com>
Janne Grunau <janne-libav@jannau.net>
Luca Barbato <lu_zero@gentoo.org>
2026-04-20 15:52:29 +08:00
openvela-robot f49ed8bd69 Merge commit 'a738540366c9b114949b7914c0d08e2c28982cfb'
* commit 'a738540366c9b114949b7914c0d08e2c28982cfb':
  lavf: properly document the distinction between flags and ctx_flags

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:52:25 +08:00
openvela-robot 68abbda1d7 build: do not append $(FFLIBS-) to $(FFLIBS) if $(NAME) is not defined
Avoids including disabled library Makefiles.
2026-04-20 15:52:23 +08:00
openvela-robot f8ddfa5002 Merge commit '9aa4592076d4dbb29d1198b0e258f9f85c0c00b5'
* commit '9aa4592076d4dbb29d1198b0e258f9f85c0c00b5':
  aarch64: assembler in clang-3.4 ignores the division by two

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:52:17 +08:00
openvela-robot 4df930445f build: handle library dependencies in configure
Instead of setting FFLIBS in each library Makefile configure
exports FFLIBS-$library in config.mak.
2026-04-20 15:52:05 +08:00
openvela-robot 353594fb61 Merge commit '66e6c8a7b4e3ac926302529606bd3e323c28b20f'
* commit '66e6c8a7b4e3ac926302529606bd3e323c28b20f':
  lavu: Add a pixel format for new VDA hwaccel

Conflicts:
	doc/APIchanges
	libavutil/pixfmt.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:51:59 +08:00
openvela-robot dfecdb533b avcodec/cinepakenc: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:51:51 +08:00
Anton Khirnov d6bb785b3e lavu: Add a pixel format for new VDA hwaccel
The current hwaccel is broken and cannot be fixed in a compatible
way. It will be deprecated and replaced with a new one.
2026-04-20 15:51:49 +08:00
openvela-robot 9a0eb92579 lavc: Add an internal wrapper around get_format()
It will be useful in the following commits.
2026-04-20 15:51:48 +08:00
openvela-robot 2e8a19b8d0 Merge commit '9880a0d4b131ef36694d62f78060350a81f08b80'
* commit '9880a0d4b131ef36694d62f78060350a81f08b80':
  pcm-dvd: Fix 20bit decoding

See: 5db49fc38d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:51:44 +08:00
openvela-robot d48b773c3a pcm-dvd: Fix 20bit decoding
Increment the pointer as needed.

Bug-Id: 592

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2026-04-20 15:51:42 +08:00
Lukasz Marek 5525433960 lavu/fifo: add av_fifo_freep function
Function allows to free fifo and reset freed pointer.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2026-04-20 15:51:37 +08:00