Niklas Haas
9aecd717ab
avcodec/dovi_rpu: implement support for profile 10
...
Instead of the nal_prefix, this profile inside wraps the RPU inside an
EMDF container, as specified in ETSI TS 102 366. However, this
DV-specific EMDF container is restricted (by the specification) to
a fixed set of hard-coded parameters, which we can effecitvely treat as
a magic byte sequence.
Validated and tested using official Dolby sample files, which
I unfortunately cannot share. However, there are public sample files
available at the merge request link below.
Relevant links:
- https://www.etsi.org/deliver/etsi_ts/102300_102399/102366/01.04.01_60/ts_102366v010401p.pdf
- 28294acaed/EP3588964A1.pdf
- https://www.etsi.org/deliver/etsi_ts/103500_103599/103572/01.03.01_60/ts_103572v010301p.pdf
- https://gitlab.com/mbunkus/mkvtoolnix/-/merge_requests/2254
2024-03-11 11:40:09 +01:00
Martin Storsjö
c31d232656
libavcodec: Don't include libavcodec/x86/vvc/Makefile on any architecture
...
This currently builds files in the libavcodec/x86/{vvc,h26x}
subdirectories, which is somewhat unexpected when building for
another architecture than x86.
The regular arch subdirectories are handled with
-include $(SRC_PATH)/$(1)/$(ARCH)/Makefile
in the toplevel Makefile. Switch this to a similar optional
inclusion, using $(ARCH).
Signed-off-by: Martin Storsjö <martin@martin.st>
2024-03-10 23:46:48 +02:00
Martin Storsjö
cd420c2949
makefile: Clean up missed object files with "make clean"
...
In some builds, the following object files could be left behind
after make clean:
./libavfilter/metal/utils.o
./libavfilter/metal/vf_yadif_videotoolbox.metallib.o
./libavcodec/x86/h26x/h2656dsp.o
./libavcodec/neon/mpegvideo.o
./ffbuild/bin2c_host.o
Fixes: http://trac.ffmpeg.org/ticket/10895
Signed-off-by: Martin Storsjö <martin@martin.st>
2024-03-10 23:45:51 +02:00
Michael Niedermayer
e0e30e07a1
avcodec/proresenc_kostya: Remove bug similarity text
...
According to kostya, it is not based on Wassermans encoder
CC: Kostya Shishkov <kostya.shishkov@gmail.com>
CC: Anatoliy Wasserman <anatoliy.wasserman@yandex.ru>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2024-03-10 19:49:05 +01:00
Michael Niedermayer
dc89cf804a
avcodec/vorbisdec: Check remaining data in vorbis_residue_decode_internal()
...
Fixes: timeout
Fixes: 66326/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_VORBIS_fuzzer-6295291863040000
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2024-03-10 19:49:04 +01:00
Michael Niedermayer
5db09574df
avcodec/8bps: Consider width in the minimal size check
...
Fixes: Timeout
Fixes: 64479/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_EIGHTBPS_fuzzer-5434435386081280
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2024-03-10 19:49:03 +01:00
Marth64
590b2d6517
avcodec/ccaption_dec: use consistent naming convention of Closed Captions
...
Signed-off-by: Marth64 <marth64@proxyid.net>
2024-03-10 15:21:23 +01:00
Marth64
8991cedd6a
avcodec/ccaption_dec: clarify log message when out-of-display columns are ignored
...
Signed-off-by: Marth64 <marth64@proxyid.net>
2024-03-10 15:21:23 +01:00
Andreas Rheinhardt
9e36e2fb7b
avcodec/xpmdec: Use LUT for hex char->number conversion
...
Speeds up decoding and also reduces binary size.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2024-03-10 13:51:37 +01:00
Andreas Rheinhardt
0b2ed7f6c7
avcodec/xbmdec: Use LUT for hex char->number conversion
...
Improves performance by about 30%.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2024-03-10 13:51:37 +01:00
Andreas Rheinhardt
8fb89790af
avcodec/h264_ps: Fix shadowing
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2024-03-10 13:51:37 +01:00
Andreas Rheinhardt
878f8cabe8
avcodec/xbmenc: Avoid snprintf() for data->hex conversion
...
Use a small LUT instead. Improves performance.
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2024-03-10 13:50:26 +01:00
Andreas Rheinhardt
357e339898
avcodec/xpmdec: Avoid unnecessary size_t->int conversion
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2024-03-10 13:50:26 +01:00
Anton Khirnov
6169bd0fea
lavc/*dec: use side data preference for mastering display/content light metadata
2024-03-08 07:38:38 +01:00
Niklas Haas
588c5c3d51
avcodec/dpx: respect side data preference
...
If the time code side data is overridden by the packet level, we also
make sure not to update `p->metadata` to a mismatched timecode.
2024-03-08 07:37:56 +01:00
Niklas Haas
0b7aefe698
avcodec/libdav1d: respect side data preference
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2024-03-08 07:37:56 +01:00
Niklas Haas
133cbbe31e
avcodec/webp: respect side data preference
2024-03-08 07:37:56 +01:00
Niklas Haas
276be6da9e
avcodec/tiff: respect side data preference
2024-03-08 07:37:56 +01:00
Niklas Haas
454691a2ec
avcodec/pngdec: respect side data preference
2024-03-08 07:37:56 +01:00
Niklas Haas
ffb8dc7be6
avcodec/mpeg12dec: respect side data preference
...
We only need to consider side data types that may possibly come from the
packet.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2024-03-08 07:37:56 +01:00
Niklas Haas
ed3cc8fc65
avcodec/mjpegdec: respect side data preference
2024-03-08 07:37:56 +01:00
Niklas Haas
62f40d0e38
avcodec/libjxldec: respect side data preference
...
Also fixes a memory leak where the side data was previously not properly
cleaned up on OOM.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2024-03-08 07:37:56 +01:00
Niklas Haas
b9565db9a0
avcodec/hevcdec: respect side data preference
...
If the time code side data is overridden by the packet level, we also
make sure not to update `out->metadata` to a mismatched timecode.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2024-03-08 07:37:56 +01:00
Anton Khirnov
d9f1b321cf
lavc/hevcdec: pass an actual codec context to ff_h2645_sei_to_frame()
...
Needed by following commit.
2024-03-08 07:37:56 +01:00
Niklas Haas
eec01ef65f
avcodec/h264_slice: respect side data preference
...
If the time code side data is overridden by the packet level, we also
make sure not to update `out->metadata` to a mismatched timecode.
2024-03-08 07:37:56 +01:00
Niklas Haas
2c2d3d5acb
avcodec/cri: respect side data preference
...
This function was already ignoring OOM errors.
2024-03-08 07:37:56 +01:00
Niklas Haas
01056078ed
avcodec/av1dec: respect side data preference
2024-03-08 07:37:56 +01:00
Anton Khirnov
6dd832673b
lavc: add content light/mastering display side data wrappers
2024-03-08 07:37:56 +01:00
Niklas Haas
8a70c5cb93
avcodec: add internal side data wrappers
...
The signature of these wrappers is more complicated due to a need to
distinguish between "failed allocating side data" and "side data was
already present".
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2024-03-08 07:37:56 +01:00
Anton Khirnov
68a8eca752
lavc: add a decoder option for configuring side data preference
...
This and the following commits fix #10857
2024-03-08 07:37:55 +01:00
Andreas Rheinhardt
ec1b6e0cd4
avcodec/ccaption_dec: Avoid relocations for strings
...
The longest string here takes four bytes, so using an array
of pointers is wasteful even when ignoring the cost of relocations;
the lack of relocations also implies that this array
will now be put into .rodata and not into .data.rel.ro.
Static asserts are used to ensure that all strings are always
properly zero-terminated.
Tested-by: Marth64 <marth64@proxyid.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2024-03-08 00:59:24 +01:00
Andreas Rheinhardt
c9f5cea9cc
avcodec/vdpau: Deprecate redundant allocators and getter/setter
...
The allocators have been superseded by av_vdpau_bind_context().
The latter have only been added "to allow multiple forks to add
fields to the structure without breaking ABI" [1], but libav
is no more, so this is not needed any longer.
[1]: https://ffmpeg.org/pipermail/ffmpeg-devel/2013-August/146954.html
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2024-03-08 00:58:40 +01:00
Andreas Rheinhardt
2a87345e69
avcodec/vdpau: Remove outdated comment
...
Forgotten in b773a8d8c1 .
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2024-03-08 00:57:09 +01:00
Andreas Rheinhardt
2dfdee3969
avcodec/xvmc: Remove header
...
Forgotten in a12cd3be98 .
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2024-03-07 16:33:23 +01:00
James Almer
783d00b203
libs: bump major version for all libraries
...
Signed-off-by: James Almer <jamrial@gmail.com>
2024-03-07 11:29:43 -03:00
Anton Khirnov
0757669629
lavc: move AVCodecContext.pts_correction* to DecodeContext
...
These fields are documented to be non-public and are only used in
decode.c
2024-03-07 08:53:32 -03:00
James Almer
823d60d55e
avcodec/codec_par: Reorder AVCodecParameters fields
...
Move related fields closer together.
Signed-off-by: James Almer <jamrial@gmail.com>
2024-03-07 08:53:31 -03:00
Andreas Rheinhardt
326c97dd38
avcodec/avcodec: Reorder AVCodecContext and AVSubtitleRect fields
...
Move related fields closer together and try to plug holes.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2024-03-07 08:53:31 -03:00
Andreas Rheinhardt
bb81c60927
Revert "avcodec: Rename ff_kbd_window_init() as it will be needed from outside libavcodec"
...
This reverts commits fd5aa93a37
and cf00f60bab
("avcodec/kbdwin: Support arbitrary sized windows").
The change in question has only been made for libavradio.
in anticipation of merging it into the main tree. This has
not happened, so this commit reverts the changes to kbdwin
that are not used for anything else. In particular, these
functions are no longer exported (as avpriv functions);
notice that the fixed-point function has been exported
despite having never been used outside of lavc.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2024-03-07 08:53:31 -03:00
James Almer
118948cbac
avcodec/version_major: postpone some deprecations until the next bump
...
They are either too recent, or can't be removed yet.
Signed-off-by: James Almer <jamrial@gmail.com>
2024-03-07 08:53:30 -03:00
James Almer
583cf2a869
avutil: remove deprecated FF_API_FRAME_PICTURE_NUMBER
...
Signed-off-by: James Almer <jamrial@gmail.com>
2024-03-07 08:53:30 -03:00
James Almer
67e7f0b05e
avutil: remove deprecated FF_API_REORDERED_OPAQUE
...
Signed-off-by: James Almer <jamrial@gmail.com>
2024-03-07 08:53:30 -03:00
James Almer
b8fef7e9c5
avutil: remove deprecated FF_API_PKT_DURATION
...
Signed-off-by: James Almer <jamrial@gmail.com>
2024-03-07 08:53:30 -03:00
James Almer
65ddc74988
avutil: remove deprecated FF_API_OLD_CHANNEL_LAYOUT
...
Signed-off-by: James Almer <jamrial@gmail.com>
2024-03-07 08:53:30 -03:00
James Almer
5b23b18d40
avcodec: remove deprecated FF_CODEC_CRYSTAL_HD
...
Signed-off-by: James Almer <jamrial@gmail.com>
2024-03-07 08:53:30 -03:00
James Almer
98e1eebef9
avcodec: remove deprecated FF_API_SLICE_OFFSET
...
Signed-off-by: James Almer <jamrial@gmail.com>
2024-03-07 08:53:30 -03:00
James Almer
2717dcfb85
avcodec: remove deprecated FF_API_AVCTX_FRAME_NUMBER
...
Signed-off-by: James Almer <jamrial@gmail.com>
2024-03-07 08:53:30 -03:00
James Almer
7bca8ce422
avcodec: remove deprecated FF_API_VT_HWACCEL_CONTEXT
...
Signed-off-by: James Almer <jamrial@gmail.com>
2024-03-07 08:53:30 -03:00
James Almer
c4498aae7c
avcodec: remove deprecated FF_API_AVCODEC_CHROMA_POS
...
Signed-off-by: James Almer <jamrial@gmail.com>
2024-03-07 08:53:30 -03:00
James Almer
f00f70c8f1
avcodec: remove deprecated FF_API_VT_OUTPUT_CALLBACK
...
Signed-off-by: James Almer <jamrial@gmail.com>
2024-03-07 08:53:30 -03:00