1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-08-04 22:03:09 +02:00
Commit Graph

119630 Commits

Author SHA1 Message Date
0468b866ca avcodec/svq3: Factor out decoding extradata
Reduces indentation and avoids an extra variable for whether
a sequence header has been found.
It also fixes potential undefined behaviour:
NULL + 0 is undefined and happens when no extradata is available.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2025-05-21 03:10:52 +02:00
0b3dae6c63 avcodec/mpeg12enc: Combine put_bits()
This is a 16bit field in the spec, so using a single
put_bits() to write it is more natural.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2025-05-21 03:10:22 +02:00
f5f890fee4 avcodec/mpeg12dec: Remove nonsense comment
Everything in mpeg12dec.c is about decoding.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2025-05-21 03:10:05 +02:00
562192e283 avcodec/mpeg12dec: Remove redundant save_width/height
These have been added in 29644cb504
in 2007 at a time when the MPEG-1/2 parser just set
the AVCodecContext's dimensions when encountering a sequence header,
so that the checks for the coded dimensions didn't trigger.
Yet this is no more and so we can simply remove these redundant checks.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2025-05-21 03:09:55 +02:00
56497671dd avcodec/mpeg12dec: Set save_chroma_format also for VCR2
Otherwise the MpegEncContext would be unnecessarily reinitialized
once (this does not affect the output for an intra-only variant
like VCR2) in mpeg_decode_postinit().

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2025-05-21 03:09:45 +02:00
a1e4be5740 avcodec/mpegvideo_dec: Move ff_mpv_report_decode_progress() to h263dec.c
It is its only user. Also make it static and call it
before ff_mpeg_draw_horiz_band().

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2025-05-21 02:54:22 +02:00
e12cbf6095 avcodec/tests/avcodec: Check only frame-mt decoders set update_thread_ctx
Possible since 554b52b1b3.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2025-05-21 02:44:15 +02:00
a6f7b32085 avcodec/ratecontrol: Fix wrong sizeof expression
Fixes Coverity issue #1644200.
Introduced in 89a8033fc9.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2025-05-21 02:44:06 +02:00
36af32f9e5 avcodec/tests/.gitignore: Add apv test tool
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2025-05-21 02:43:22 +02:00
bd63c374d2 avformat/avformat: Remove outdated io_close2 documentation
The io_close callback has been removed in
d6799ee0e4.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2025-05-21 02:43:08 +02:00
66f5323652 avcodec/rv60dec: Avoid branch when decoding cbp16
Reviewed-by: Peter Ross <pross@xvid.org>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2025-05-21 02:41:55 +02:00
d5a9f7bdd4 avcodec/cuviddec: only flush cuvid when output queue is empty 2025-05-21 01:16:19 +02:00
431e2cae87 avcodec/cuviddec: print error when queueing frames fails 2025-05-21 01:15:29 +02:00
842fa198e9 hwcontext_vulkan: fix build with old Vulkan header versions 2025-05-21 03:11:07 +09:00
f414038779 configure: identify loong64 for loongarch
dpkg-architecture set DEB_HOST_ARCH_CPU as loong64 on loongarch.

Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
2025-05-20 21:19:53 +08:00
1249776641 Makefile: Remove postproc from ALLFFLIBS
Fix
ld: warning: search path 'libpostproc' not found

Reviewed-by: Ramiro Polla <ramiro.polla@gmail.com>
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
2025-05-20 21:17:43 +08:00
4f7bc62c66 avformat/allformats: Move avisynth and dvdvideo under external libraries group
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
2025-05-20 21:17:28 +08:00
eabb62813e hwcontext_vulkan: only try exporting DMABUF memory on !WIN32 and only for DMABUF tiling 2025-05-20 19:53:02 +09:00
7c3c5c8052 hwcontext_vulkan: correct image transfer usage flags
By pure coincidence, BUFFER and IMAGE flags were equal for those
two usage types.
2025-05-20 19:53:02 +09:00
435db9bb49 vulkan: enable VK_KHR_shader_subgroup_rotate
Yet another thing that should've been always present.
2025-05-20 19:53:02 +09:00
7b45d9c5fd vulkan_ffv1: pipe through slice decoding status 2025-05-20 19:53:02 +09:00
cb8f4b675d vulkan/ffv1: unify encode and decode get/put primitives
This simply makes a get_rac/put_rac_internal variant that can be
reused.
2025-05-20 19:53:02 +09:00
7576410af7 ffv1enc_vulkan: implement RCT search for level >= 4 2025-05-20 19:53:01 +09:00
0156680f09 ffv1enc_vulkan: implement the cached EC writer from the decoder
This gives a 35% speedup on AMD and 50% on Nvidia.
2025-05-20 19:53:01 +09:00
a24ea37228 vulkan_ffv1: fix PCM + cached symbol reader
writeout_rgb requires that all subgroups are active.
2025-05-20 19:53:01 +09:00
f69db914ce ffv1enc_vulkan: use ff_get_encode_buffer
We used to create our own buffer, but still used the DR1 flag,
which is not how it's supposed to work.

Instead, use ff_get_encode_buffer, and either host-map the buffer
before copying each slice via GPU transfers, or just copy each
slice manually if that fails or is unavailable.
2025-05-20 19:53:01 +09:00
8a2d921627 ffv1_common: minor RGB optimization 2025-05-20 19:53:01 +09:00
bd41838b60 ffv1enc_vulkan: switch to 2-line cache, unify prediction code 2025-05-20 19:53:01 +09:00
52595025c5 ffv1enc_vulkan: minor EC optimizations 2025-05-20 19:53:01 +09:00
7c0a8c07ce ffv1enc_vulkan: unify EC code between setup and encode 2025-05-20 19:53:00 +09:00
69f83bafd1 ffv1enc_vulkan: get rid of temporary data for the setup shader 2025-05-20 19:53:00 +09:00
a4078abd73 vulkan/ffv1: synchronize get_pred implementations between encoder and decoder 2025-05-20 19:53:00 +09:00
ebbc7ff650 ffv1enc_vulkan: merge all encoder variants into one file
Makes it easier to work with, despite the heavy ifdeffery.
2025-05-20 19:52:55 +09:00
fd18ae88ae avcodec/x86/vp9: Add AVX-512ICL for 16x16 and 32x32 8bpc inverse transforms 2025-05-19 15:56:27 +02:00
b6803bf104 aarch64: increase default alignment for functions and constants
Use 16-byte alignment (align=4) instead of 4-byte (align=2) in the function and
const macros. This improves instruction fetch and NEON load performance on
modern AArch64 CPUs.
2025-05-19 13:20:51 +02:00
c55d65ac0a configure: correct liboapv feature support
Only encoding support has been added for liboapv
2025-05-19 15:21:33 +05:30
9c5ed57f94 ogg/opus: implement header packet skip in chained ogg bitstreams. 2025-05-19 07:24:05 +02:00
2fb6416dd0 ogg/flac: implement header packet skip in chained ogg bitstreams. 2025-05-19 07:24:05 +02:00
bd2dcfaed4 tests/fate/matroska: Add container cropping test
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2025-05-19 03:21:27 +02:00
95c43c6d0e tests/fate/pixfmt: fix definition of 16bit tests
No effect as is, but without this change, new additions to FATE_PIXFMT_16-*
will not work.

Signed-off-by: James Almer <jamrial@gmail.com>
2025-05-18 19:54:32 -03:00
9fadd6ddad doc: add htmlxref.cnf
Silences warnings like

filters.texi:256: warning: no htmlxref.cnf entry found for `ffmpeg-utils'

Signed-off-by: James Almer <jamrial@gmail.com>
2025-05-18 19:54:09 -03:00
0021484d05 avformat/mpegts: update stream info when PMT ES stream_type changes
I have several .ts captures where video and audio codec changes even
though the PMT version does not change and the PIDs stay the same.
This happens during transition to/from slate (mpeg2 video and audio)
to network broadcast (hevc video and eac3 audio in private PES).

I've updated fate ts-demux expected results.
2025-05-18 08:57:31 -06:00
20502ba92a ffmpeg: Don't print graphs if there are no outputs yet
Avoids writing an empty json blob in setup error cases.
2025-05-18 15:17:41 +01:00
c18d1b63ab fftools/graphprint: Fix leak of graph section header string 2025-05-18 15:17:41 +01:00
2070cc138b fftools/graphprint: Fix leak of graphprint object 2025-05-18 15:17:41 +01:00
06cee0c681 doc: add swscale rewrite design document
This should hopefully serve as a better introduction to my new swscale
redesign than hunting down random commit message monologues.
2025-05-18 15:00:58 +02:00
6072e27e9a swscale/graph: prefer bools to ints
This is more consistent with the rest of the newly added code, which
universally switched to using bools for boolean values.
2025-05-18 15:00:45 +02:00
d95944786e swscale/graph: move vshift() and shift_img() to shared header
I need to reuse these inside `ops.c`.
2025-05-18 14:39:57 +02:00
bc9696bff8 swscale/graph: make noop loop more robust
The current loop only works if the input and output have the same number
of planes. However, with the new scaling logic, we can also optimize into a
noop the case where the input has extra unneeded planes.

For the memcpy fallback to work in these cases we have to instead check if
the *output* pointer is set, rather than the input pointer.
2025-05-18 14:37:33 +02:00
51e912466f swscale/graph: expose ff_sws_graph_add_pass
So we can move pass-adding business logic outside of graph.c.
2025-05-18 14:37:33 +02:00