Andreas Rheinhardt
cb54eca41a
avcodec/svq3: Improve returned error codes
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2025-05-21 03:10:52 +02:00
Andreas Rheinhardt
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
Andreas Rheinhardt
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
Andreas Rheinhardt
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
Andreas Rheinhardt
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
Andreas Rheinhardt
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
Andreas Rheinhardt
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
Andreas Rheinhardt
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
Andreas Rheinhardt
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
Andreas Rheinhardt
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
Andreas Rheinhardt
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
Timo Rothenpieler
d5a9f7bdd4
avcodec/cuviddec: only flush cuvid when output queue is empty
2025-05-21 01:16:19 +02:00
Timo Rothenpieler
431e2cae87
avcodec/cuviddec: print error when queueing frames fails
2025-05-21 01:15:29 +02:00
Lynne
7b45d9c5fd
vulkan_ffv1: pipe through slice decoding status
2025-05-20 19:53:02 +09:00
Lynne
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
Lynne
7576410af7
ffv1enc_vulkan: implement RCT search for level >= 4
2025-05-20 19:53:01 +09:00
Lynne
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
Lynne
a24ea37228
vulkan_ffv1: fix PCM + cached symbol reader
...
writeout_rgb requires that all subgroups are active.
2025-05-20 19:53:01 +09:00
Lynne
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
Lynne
8a2d921627
ffv1_common: minor RGB optimization
2025-05-20 19:53:01 +09:00
Lynne
bd41838b60
ffv1enc_vulkan: switch to 2-line cache, unify prediction code
2025-05-20 19:53:01 +09:00
Lynne
52595025c5
ffv1enc_vulkan: minor EC optimizations
2025-05-20 19:53:01 +09:00
Lynne
7c0a8c07ce
ffv1enc_vulkan: unify EC code between setup and encode
2025-05-20 19:53:00 +09:00
Lynne
69f83bafd1
ffv1enc_vulkan: get rid of temporary data for the setup shader
2025-05-20 19:53:00 +09:00
Lynne
a4078abd73
vulkan/ffv1: synchronize get_pred implementations between encoder and decoder
2025-05-20 19:53:00 +09:00
Lynne
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
Henrik Gramner
fd18ae88ae
avcodec/x86/vp9: Add AVX-512ICL for 16x16 and 32x32 8bpc inverse transforms
2025-05-19 15:56:27 +02:00
Kacper Michajłow
eb6dc952cb
avcodec/libzvbi-teletextdec: change new lines to \n in ASS header
...
Fixes remaining \r\n is ASS header after 57c545090d .
Fixes AVERROR_BUG error during init as this decoder expected `\r\n` in
default ASS header. strstr(..., "\r\n[Events]\r\n") failed after changes
in 57c545090d .
Fixes ticket #11545 .
Fixes: 57c545090d
Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2025-05-17 21:27:29 +02:00
Kacper Michajłow
597186b153
avcodec/libaribcaption: change new lines to \n in ASS header
...
Fixes remaining \r\n is ASS header after 57c545090d .
Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2025-05-17 21:27:29 +02:00
Kacper Michajłow
0105ff554b
avcodec/libaribb24: change new lines to \n in ASS header
...
Fixes remaining \r\n is ASS header after 57c545090d .
Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2025-05-17 21:27:29 +02:00
Andreas Rheinhardt
b5f26c4dd8
avcodec/utvideoenc: Don't advertise unsupported option
...
Also return an better error code if it is set numerically.
(This option was added in 2862b63783
when an AVCodecContext generic option was moved to
a codec private one without realizing that not every
generic one is valid for every encoder.)
Reviewed-by: Jan Ekström <jeebjp@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2025-05-17 15:06:00 +02:00
Mark Thompson
88f2ccdf16
cbs_apv: Fix memory leak on metadata parse failure
...
Buffers are allocated inside some metadata types, so we must ensure
that the object is visible to the free function before a parse failure.
Found by libFuzzer.
2025-05-17 11:23:36 +01:00
Wu Jianhua
fd5d754b2a
avcodec/vvc: add adaptive color transform support
...
passed files:
ACT_A_Kwai_3.bit
ACT_B_Kwai_3.bit
Signed-off-by: Wu Jianhua <toqsxw@outlook.com>
2025-05-17 09:22:40 +08:00
Wu Jianhua
0e4c0db317
avcodec/vvc/intra: refact out lmcs_scale_chroma and add_residual
...
prepare for adaptive color transform
Signed-off-by: Wu Jianhua <toqsxw@outlook.com>
2025-05-17 09:22:40 +08:00
Wu Jianhua
ff1ecc7eb3
avcodec/vvc/intra: make lmcs_scale_chroma inplace
...
prepare for adaptive color transform
Signed-off-by: Wu Jianhua <toqsxw@outlook.com>
2025-05-17 09:22:40 +08:00
Wu Jianhua
d2e7ca684c
avcodec/vvc/intra: refact, predict jcbcr to tb->coeffs
...
prepare for adaptive color transform
Signed-off-by: Wu Jianhua <toqsxw@outlook.com>
2025-05-17 09:22:40 +08:00
Wu Jianhua
86e96a1c02
avcodec/vvc/intra: fix scaling process for transform coefficients
...
See 8.7.3 Scaling process for transform coefficients
Signed-off-by: Wu Jianhua <toqsxw@outlook.com>
2025-05-17 09:22:40 +08:00
Wu Jianhua
fef573f30b
avcodec/vvc/dsp: add adaptive_color_transform
...
See 8.7.4.6 Residual modification process for blocks using colour space conversion
Signed-off-by: Wu Jianhua <toqsxw@outlook.com>
2025-05-17 09:22:40 +08:00
Wu Jianhua
8bdad76c00
avcodec/vvc/dsp: update the interface of pred_residual_joint for joint cbcr residual functionality
...
Signed-off-by: Wu Jianhua <toqsxw@outlook.com>
2025-05-17 09:22:40 +08:00
Wu Jianhua
d00a249dbf
avcodec/vvc/ctu: fix derive_chroma_intra_pred_mode
...
See 8.4.3 Derivation process for chroma intra prediction mode
Signed-off-by: Wu Jianhua <toqsxw@outlook.com>
2025-05-17 09:22:40 +08:00
Wu Jianhua
c58357edc2
avcodec/vvc/ctu: read act_enabled_flag for adaptive color transform
...
Signed-off-by: Wu Jianhua <toqsxw@outlook.com>
2025-05-17 09:22:40 +08:00
Wu Jianhua
b9c5fb0d00
avcodec/vvc/cabac: add ff_vvc_cu_act_enabled_flag
...
Signed-off-by: Wu Jianhua <toqsxw@outlook.com>
2025-05-17 09:22:40 +08:00
Wu Jianhua
70a2d0d756
avcodec/vvc/intra: add palette coding decoder
...
Introduction at https://ieeexplore.ieee.org/document/9408666
passed files:
10b422_G_Sony_5.bit
10b422_H_Sony_5.bit
10b422_I_Sony_5.bit
10b422_J_Sony_5.bit
10b422_K_Sony_5.bit
10b422_L_Sony_5.bit
8b422_G_Sony_5.bit
8b422_H_Sony_5.bit
8b422_I_Sony_5.bit
8b422_J_Sony_5.bit
8b422_K_Sony_5.bit
8b422_L_Sony_5.bit
8b444_A_Kwai_2.bit
8b444_B_Kwai_2.bit
PALETTE_A_Alibaba_2.bit
PALETTE_B_Alibaba_2.bit
PALETTE_C_Alibaba_2.bit
PALETTE_D_Alibaba_2.bit
PALETTE_E_Alibaba_2.bit
Signed-off-by: Wu Jianhua <toqsxw@outlook.com>
2025-05-17 09:22:40 +08:00
Wu Jianhua
95473fae9b
avcodec/vvc/filter: skip deblocking filter for palette
...
Signed-off-by: Wu Jianhua <toqsxw@outlook.com>
2025-05-17 09:22:40 +08:00
Wu Jianhua
26215b8c83
avcodec/vvc/ctu: add palette support
...
Signed-off-by: Wu Jianhua <toqsxw@outlook.com>
2025-05-17 09:22:40 +08:00
Wu Jianhua
fd85f83608
avcodec/vvc/intra: add ff_vvc_palette_derive_scale
...
Signed-off-by: Wu Jianhua <toqsxw@outlook.com>
2025-05-17 09:22:40 +08:00
Wu Jianhua
3ecf8f8766
avcodec/vvc/ctu: refact out intra_data
...
Signed-off-by: Wu Jianhua <toqsxw@outlook.com>
2025-05-17 09:22:40 +08:00
Wu Jianhua
d0f9151eb0
avcodec/vvc: refact, save pf and ciip_flag in ff_vvc_set_intra_mvf
...
Signed-off-by: Wu Jianhua <toqsxw@outlook.com>
2025-05-17 09:22:40 +08:00
Wu Jianhua
75e5fb6e37
avcodec/vvc: refact out ep_init and ep_init_wpp
...
Signed-off-by: Wu Jianhua <toqsxw@outlook.com>
2025-05-17 09:22:40 +08:00
Wu Jianhua
cfea9b88a5
avcodec/vvc/ctu: refact out ff_vvc_channel_range
...
Signed-off-by: Wu Jianhua <toqsxw@outlook.com>
2025-05-17 09:22:40 +08:00