Commit Graph

9262 Commits

Author SHA1 Message Date
James Almer 20af68b63a avutil/channel_layout: add Binaural channels and layout
Signed-off-by: James Almer <jamrial@gmail.com>
2024-11-13 12:38:04 -03:00
compn e35587250c doc/infra: add reddit sub, facebook page and wikipedia 2024-11-13 08:04:13 +10:00
compn b16102ab1c doc/infra: add more information and accounts 2024-11-11 10:26:35 +10:00
Marth64 6d5a0998b6 doc/bitstream_filters: elaborate on h264_redundant_pps
Signed-off-by: Marth64 <marth64@proxyid.net>
2024-11-09 10:02:34 -06:00
Anton Khirnov 9e68b26765 Document stream specifier syntax change from 46cbe4ab5c
Fixes #11248.
2024-11-09 02:45:58 +01:00
compn f4ba5b083c doc/git-howto: remove outdated line about gitolite 2024-11-08 15:59:13 +10:00
Peter Ross 33802e7c32 avcodec/rv60: RealVideo 6.0 decoder
Reviewed-by: Anton Khirnov <anton@khirnov.net>
Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Signed-off-by: Peter Ross <pross@xvid.org>
2024-11-03 10:53:15 +11:00
James Almer e02a3b40a5 avutil/pixfmt: add XV48 pixel format
Much like XV30 and XV36 in d75c4693fe,
XV48 is added to support 16bit 4:4:4 as defined by Microsoft.

Signed-off-by: James Almer <jamrial@gmail.com>
2024-10-26 00:04:23 -03:00
Soma Lucz 153a6dc8fa doc/ffmpeg: improve -disposition, -stats, and -progress documentation
-disposition:
Clarify the meaning of the default value, and how the '+' and '-'
prefixes work. Add more examples.

-stats:
Clarify that it appears as an "info"-level log.

-progress:
Add info about the "progress" key's value being "continue" or "end".
Add an example of logging to stdout.

Signed-off-by: Soma Lucz <luczsoma@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2024-10-24 10:45:04 +02:00
Niklas Haas b03c758600 swscale: add sws_is_noop()
Exactly what it says on the tin.

Sponsored-by: Sovereign Tech Fund
Signed-off-by: Niklas Haas <git@haasn.dev>
2024-10-23 23:06:55 +02:00
Niklas Haas 5e50a56b9c swscale: add new frame testing API
Replacing the old sws_isSupported* API with a more consistent family
of functions that follows the same signature and naming convention,
including a placeholder for testing the color space parameters that
we don't currently implement conversions for.

These functions also perform some extra basic sanity checking.

Sponsored-by: Sovereign Tech Fund
Signed-off-by: Niklas Haas <git@haasn.dev>
2024-10-23 23:06:16 +02:00
Niklas Haas 87baf9ab2c swscale: add sws_free_context()
Merely a convenience wrapper around sws_freeContext(). The name change is for
parity with the other sws_* functions.

Sponsored-by: Sovereign Tech Fund
Signed-off-by: Niklas Haas <git@haasn.dev>
2024-10-23 23:04:04 +02:00
James Almer f462ba05f5 avutil/pixfmt: add Y216 pixel format
Signed-off-by: James Almer <jamrial@gmail.com>
2024-10-23 14:11:16 -03:00
Lynne 2336e68565
lavu: bump minor and add APIChanges entries for new 32bpc pixfmts 2024-10-15 17:45:18 +02:00
Martin Schitter c50f79a0dc doc/APIchanges: add missing entry for adding RGBF16
The missing APIchanges entry requested by A.Khirnov.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2024-10-15 10:36:54 +02:00
Jonathan Baecker e6e9cb3ce7 libavformat/hlsplaylist: add subtitle_varname for naming subtitle streams
If 'sname:*' is set in the var_stream_map variable, use it as
the NAME attribute for subtitles. This improves the naming of
subtitle streams in HTML players, providing clearer and more
descriptive labels for users.

Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
2024-10-13 23:01:59 +08:00
James Almer 29ea34728f avutil/pixfmt: add V30X pixel format
This maps to the 444YpCbCr10 pixel format as defined by Apple.

Signed-off-by: James Almer <jamrial@gmail.com>
2024-10-08 19:45:10 -03:00
Anton Khirnov a2881814b8 doc/ffmpeg.texi: add a diagram for the loopback decoder example 2024-10-07 10:45:10 +02:00
Anton Khirnov 794308c61b doc/ffmpeg: rewrite the detailed description chapter
Split it into sections that describe in detail
* the components of the transcoding pipeline
* the main features it handles, in order of complexity
    * streamcopy
    * transcoding
    * filtering

Replace the current confusing/misleading diagrams with new ones that
actually reflect the program components and data flow between them.
2024-10-07 10:45:07 +02:00
Lynne 2f888fb99e
configure: drop yasm support
We started defauling to nasm 8 years ago.
We are still compatible with yasm 0.8.0, released in 2009. **15 years ago**.
The time has more than come to remove support for it.

Maintaining compatibility started cutting into writing new code long ago.
We still can't have 2-argument instructions, preprocessor booleans, and all
AVX2 code must still be wrapped in ifdefs. Newly added code often breaks this.
2024-10-06 01:32:47 +02:00
Anton Khirnov 0548ab2e42 lavu/log,opt: detect setting non-runtime options post-init
Add a mechanism to AVClass to allow objects to signal their state to
generic code. When an object flags itself with the 'initialized' state,
print an error (and fail, after the next major bump) if the caller
attempts to set non-runtime options.
2024-10-01 09:57:57 +02:00
James Almer 50d1b89fa0 avformat/avformat: add side data to AVStreamGroupTileGrid
Will be used to export certain information present in HEIF samples, like
rotation metadata, ICC profiles, and potentially others.

Signed-off-by: James Almer <jamrial@gmail.com>
2024-09-30 14:36:24 -03:00
Anton Khirnov df9b80d21a lavu: deprecate av_opt_set_int_list() and related infrastructure
It has no more users and is replaced by array-type options.
2024-09-30 09:14:04 +02:00
Anton Khirnov b150fdd500 doc/examples/decode_filter_video: switch to new buffersink options 2024-09-30 09:10:20 +02:00
Anton Khirnov 0dbd59242a doc/examples/decode_filter_audio: switch to new buffersink options
Use a mix of av_opt_set() and av_opt_set_array() to demonstrate
different ways the options can be set.
2024-09-30 09:10:20 +02:00
Anton Khirnov 1efcdbc54d lavfi/buffersink: add array-type options to replace "int-list" ones
"int-list" options are a hack that provides rudimentary support for
array-type options by treating them as byte arrays (i.e.
AV_OPT_TYPE_BINARY). Since we now have proper array-type options, they
should replace "int-list" everywhere (which happens to be just
buffersink).
2024-09-30 09:10:19 +02:00
Anton Khirnov f6f0e05815 doc/examples/transcode: handle audio encoder frame size restrictions 2024-09-28 17:04:33 +02:00
Anton Khirnov cde307c783 doc/examples/transcode: switch to avcodec_get_supported_config() 2024-09-28 17:04:33 +02:00
Anton Khirnov d18d119b8f doc/examples/transcode: stop using avfilter_graph_create_filter() incorrectly
See previous commits for details.
2024-09-28 17:04:33 +02:00
Anton Khirnov 87faa8aeba doc/examples/decode_filter_video: stop using avfilter_graph_create_filter() incorrectly
See previous commits for details.
2024-09-28 17:04:33 +02:00
Anton Khirnov 27564f9020 doc/examples/decode_filter_audio: stop using avfilter_graph_create_filter() incorrectly
See previous commit for details.
2024-09-28 17:04:33 +02:00
Anton Khirnov 78170120ca doc/ffmpeg: improve wording in the description section 2024-09-26 18:25:21 +02:00
Michael Niedermayer f7d709fed8
doc/APIchanges: Add 7.1 Cut line
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2024-09-24 17:49:29 +02:00
Michael Niedermayer 10d8b6f17c
doc/APIchanges: update
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2024-09-24 17:05:28 +02:00
James Almer cc73bf02ba doc/general_contents: add missing reference to LCEVC
Signed-off-by: James Almer <jamrial@gmail.com>
2024-09-23 13:42:19 -03:00
Anton Khirnov da420ac6e1 fftools/ffmpeg: add support for multiview video
This extends the syntax for specifying input streams in -map and complex
filtergraph labels, to allow selecting a view by view ID, index, or
position. The corresponding decoder is then set up to decode the
appropriate view and send frames for that view to the correct
filtergraph input(s).
2024-09-23 17:15:02 +02:00
Anton Khirnov 14746871e1 lavc/hevcdec: implement decoding MV-HEVC
At most two layers are supported.

Aspects of this work were sponsored by Vimeo and Meta.
2024-09-23 17:15:02 +02:00
Anton Khirnov 299d9115d4 lavfi/f_select: allow selection based on view ID
Can be used together with the split filter to decompose multiview video
into individual views.
2024-09-23 17:11:40 +02:00
Anton Khirnov 6940a6de2f lavu/frame: add side data storing view ID for multi-view video 2024-09-23 17:11:38 +02:00
James Almer 6147385393 avcodec: add an export_side_data flag to export picture enhancement layers
Signed-off-by: James Almer <jamrial@gmail.com>
2024-09-23 10:07:37 -03:00
James Almer dc11c12b64 avfilter: add an LCEVC decoding filter
Signed-off-by: James Almer <jamrial@gmail.com>
2024-09-19 10:06:05 -03:00
James Almer df609af8e4 avcodec/packet: add an LCEVC enhancement data payload side data type
Signed-off-by: James Almer <jamrial@gmail.com>
2024-09-19 10:01:26 -03:00
James Almer ba0ef0860f avformat: add an LCEVC stream group
Signed-off-by: James Almer <jamrial@gmail.com>
2024-09-19 10:01:02 -03:00
James Almer 5896318229 avcodec/codec_id: add an LCEVC codec id for raw LCEVC data
Signed-off-by: James Almer <jamrial@gmail.com>
2024-09-19 10:01:02 -03:00
James Almer 90d12c24c5 avutil/frame: add an LCEVC enhancement data payload side data type
Signed-off-by: James Almer <jamrial@gmail.com>
2024-09-19 08:45:48 -03:00
Anton Khirnov 0c9fe2b232 fftools/cmdutils: extend stream specifiers to match by disposition 2024-09-18 11:01:02 +02:00
Michael Riedl 9bcb86b0fa avdevice/decklink_dec: extend available actions on signal loss
Deprecate the option 'draw_bars' in favor of the new option 'signal_loss_action',
which controls the behavior when the input signal is not available
(including the behavior previously available through draw_bars).
The default behavior remains unchanged to be backwards compatible.
The new option is more flexible for extending now and in the future.

The new value 'repeat' repeats the last video frame.
This is useful for very short dropouts and was not available before.

Signed-off-by: Michael Riedl <michael.riedl@nativewaves.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2024-09-09 23:47:49 +02:00
Niklas Haas b4e918221c doc/APIchanges: mention correct version number
Missed while rebasing
2024-09-08 18:07:30 +02:00
Christian Helmrich 865cd3c056
avfilter: add XPSNR filter
Add XPSNR video filter
Register new filter xpsnr.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2024-09-08 17:51:37 +02:00
Niklas Haas 3305767560 avcodec: add avcodec_get_supported_config()
This replaces the myriad of existing lists in AVCodec by a unified API
call, allowing us to (ultimately) trim down the sizeof(AVCodec) quite
substantially, while also making this more trivially extensible.

In addition to the already covered lists, add two new entries for color
space and color range, mirroring the newly added negotiable fields in
libavfilter.

Once the deprecation period passes for the existing public fields, the
rough plan is to move the commonly used fields (such as
pix_fmt/sample_fmt) into FFCodec, possibly as a union of audio and video
configuration types, and then implement the rarely used fields with
custom callbacks.
2024-09-08 13:59:25 +02:00