Skip to content

Commit ebfabda

Browse files
committed
Merge remote-tracking branch 'upstream/master' into shio/master
* upstream/master: (687 commits) riscv/cpu: add V subset feature detection vf_colorspace: allow for extended primaries and colorspace swscale: allow extended primaries Revert "Re-initialize stream on new metadata." fftools/ffmpeg_sched: prevent demuxers from getting stuck tests/fate/hevc: add a mv-hevc sample using long term ref avcodec/hevc: reset long_term_rps.nb_refs for IDR avcodec/hevc: remove an always true condition avfilter/vf_libopencv: bump to opencv4 avcodec/rv60dec: Clear blk_info avformat/whip: Fix rtp_ctx->streams access Re-initialize stream on new metadata. avformat/mp3enc: Avoid av_unused swresample/swresample: Avoid av_unused Don't reset last{pts,dts} on new sequentialized ogg streams. avcodec/utvideodec: Set B for the width= 1 case in restore_median_planar_il() avcodec/osq: Fix 32bit sample overflow vulkan/prores: forward quantization parameter to the IDCT shader libavutil: fix memory leak of drmVersion avformat: Make ff_make_codec_str output to an AVBPrint object ...
2 parents bc07512 + 9b348aa commit ebfabda

File tree

879 files changed

+27836
-11648
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

879 files changed

+27836
-11648
lines changed

.forgejo/CODEOWNERS

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ libavcodec/.*aac.* @lynne
1414
libavcodec/.*ac3.* @lynne
1515
libavcodec/.*adpcm.* @zane @pross
1616
libavcodec/anm.* @pross
17-
libavcodec/amf.* @OvchinnikovDmitrii
17+
libavcodec/amf.* @OvchinnikovDmitrii @ArazIusubov
1818
libavcodec/ansi.* @pross
1919
libavcodec/aom_film_grain.* @haasn
2020
libavcodec/.*atrac9.* @lynne
@@ -82,6 +82,7 @@ libavcodec/bsf/smpte436m_to_eia608.* @programmerjake
8282
libavcodec/aarch64/.* @lynne @mstorsjo
8383
libavcodec/arm/.* @mstorsjo
8484
libavcodec/ppc/.* @sean_mcg
85+
libavcodec/riscv/.* @Courmisch
8586
libavcodec/wasm/hevc/.* @quink
8687
libavcodec/x86/.* @lynne
8788
libavcodec/x86/vp8.* @rbultje
@@ -91,14 +92,15 @@ libavcodec/x86/vpx.* @rbultje
9192
# avfilter
9293
# =======
9394
libavfilter/af_whisper.* @vpalmisano
94-
libavfilter/.*_amf* @OvchinnikovDmitrii
95+
libavfilter/.*_amf* @OvchinnikovDmitrii @ArazIusubov
9596
libavfilter/avfiltergraph.* @haasn
9697
libavfilter/colorspace.* @rbultje
9798
libavfilter/formats.* @haasn
9899
libavfilter/.*f_ebur128.* @haasn
99100
libavfilter/vf_blackdetect.* @haasn
100101
libavfilter/vf_colordetect.* @haasn
101102
libavfilter/vf_colorspace.* @rbultje
103+
libavfilter/.*drawvg.* @ayosec
102104
libavfilter/vf_icc.* @haasn
103105
libavfilter/vf_libplacebo.* @haasn
104106
libavfilter/vf_premultiply.* @haasn
@@ -110,6 +112,7 @@ libavfilter/vf_yadif.* @michaelni
110112
libavfilter/vsrc_mandelbrot.* @michaelni
111113

112114
libavfilter/aarch64/.* @mstorsjo
115+
libavfilter/riscv/.* @Courmisch
113116
libavfilter/x86/colorspace.* @rbultje
114117
libavfilter/x86/scene_sad.* @haasn
115118

@@ -153,7 +156,7 @@ libavformat/wtv.* @pross
153156

154157
# avutil
155158
# ======
156-
libavutil/.*_amf* @OvchinnikovDmitrii
159+
libavutil/.*_amf* @OvchinnikovDmitrii @ArazIusubov
157160
libavutil/.*crc.* @lynne @michaelni
158161
libavutil/.*d3d12va.* @jianhuaw @tong1wu
159162
libavutil/csp.* @rbultje @haasn
@@ -180,6 +183,7 @@ libavutil/tx.* @lynne
180183
libavutil/aarch64/.* @lynne @mstorsjo
181184
libavutil/arm/.* @mstorsjo
182185
libavutil/ppc/.* @sean_mcg
186+
libavutil/riscv/.* @Courmisch
183187
libavutil/x86/.* @lynne
184188

185189
# swresample
@@ -193,6 +197,7 @@ libswresample/.* @michaelni
193197
libswscale/aarch64/.* @mstorsjo
194198
libswscale/arm/.* @mstorsjo
195199
libswscale/ppc/.* @sean_mcg
200+
libswscale/riscv/.* @Courmisch
196201
libswscale/.* @haasn
197202

198203
# tools
@@ -210,4 +215,6 @@ doc/.* @GyanD
210215

211216
# tests
212217
# =====
218+
tests/checkasm/riscv/.* @Courmisch
219+
tests/ref/.*drawvg.* @ayosec
213220
tests/ref/fate/sub-mcc.* @programmerjake

.forgejo/workflows/test.yml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,16 @@ jobs:
99
strategy:
1010
fail-fast: false
1111
matrix:
12-
runner: [linux-amd64,linux-aarch64]
12+
runner: [linux-aarch64]
13+
shared: ['false']
1314
bits: ['64']
1415
include:
1516
- runner: linux-amd64
17+
shared: 'false'
1618
bits: '32'
19+
- runner: linux-amd64
20+
shared: 'true'
21+
bits: '64'
1722
runs-on: ${{ matrix.runner }}
1823
steps:
1924
- name: Checkout
@@ -22,6 +27,7 @@ jobs:
2227
run: |
2328
./configure --enable-gpl --enable-nonfree --enable-memory-poisoning --assert-level=2 \
2429
$([ "${{ matrix.bits }}" != "32" ] || echo --arch=x86_32 --extra-cflags=-m32 --extra-cxxflags=-m32 --extra-ldflags=-m32) \
30+
$([ "${{ matrix.shared }}" != "true" ] || echo --enable-shared --disable-static) \
2531
|| CFGRES=$? && CFGRES=$?
2632
cat ffbuild/config.log
2733
exit $CFGRES
@@ -39,15 +45,15 @@ jobs:
3945
id: fate
4046
run: |
4147
make fate-rsync SAMPLES=$PWD/fate-suite
42-
echo "hash=$(find fate-suite -type f | sort | sha256sum | cut -d' ' -f1)" >> $FORGEJO_OUTPUT
48+
echo "hash=$(find fate-suite -type f -printf "%P %s %T@\n" | sort | sha256sum | cut -d' ' -f1)" >> $FORGEJO_OUTPUT
4349
- name: Cache Fate-Suite
4450
uses: actions/cache/save@v4
4551
if: ${{ format('fate-suite-{0}', steps.fate.outputs.hash) != steps.cache.outputs.cache-matched-key }}
4652
with:
4753
path: fate-suite
4854
key: fate-suite-${{ steps.fate.outputs.hash }}
4955
- name: Run Fate
50-
run: make fate SAMPLES=$PWD/fate-suite -j$(nproc)
56+
run: LD_LIBRARY_PATH="$(printf "%s:" "$PWD"/lib*)$PWD" make fate fate-build SAMPLES=$PWD/fate-suite -j$(nproc)
5157
compile_only:
5258
strategy:
5359
fail-fast: false
@@ -66,3 +72,5 @@ jobs:
6672
--extra-libs="$FF_LIBS" --extra-ldflags="$FF_LDFLAGS" --extra-ldexeflags="$FF_LDEXEFLAGS"
6773
- name: Build
6874
run: make -j$(nproc)
75+
- name: Run Fate
76+
run: make -j$(nproc) fate-build

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
/ffprobe
3737
/config.asm
3838
/config.h
39+
/config_components.asm
3940
/config_components.h
4041
/coverage.info
4142
/lcov/

Changelog

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@ releases are sorted from youngest to oldest.
44
version <next>:
55
- ffprobe -codec option
66
- EXIF Metadata Parsing
7+
- gfxcapture: Windows.Graphics.Capture based window/monitor capture
8+
- hxvs demuxer for HXVS/HXVT IP camera format
9+
- MPEG-H 3D Audio decoding via mpeghdec
10+
- D3D12 H.264 encoder
11+
- drawvg filter via libcairo
12+
- ffmpeg CLI tiled HEIF support
713

814

915
version 8.0:

MAINTAINERS

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ Codecs:
152152
adpcm.c Zane van Iperen
153153
alacenc.c Jaikrishnan Menon
154154
alsdec.c Thilo Borgmann, Umair Khan
155-
amfdec*,amfenc* [2] Dmitrii Ovchinnikov
155+
amfdec*,amfenc* [2] Dmitrii Ovchinnikov, Araz Iusubov
156156
aptx.c Aurelien Jacobs
157157
ass* Aurelien Jacobs
158158
asv* Michael Niedermayer
@@ -211,7 +211,7 @@ Codecs:
211211
libkvazaar.c Arttu Ylä-Outinen
212212
libopenh264enc.c Martin Storsjo, Linjie Fu
213213
libopenjpegenc.c Michael Bradshaw
214-
libtheoraenc.c David Conrad
214+
libtheoraenc.c [0]
215215
libvorbis.c David Conrad
216216
libvpx* James Zern
217217
libxavs.c Stefan Gehrer
@@ -278,7 +278,7 @@ Codecs:
278278
xface Stefano Sabatini
279279

280280
Hardware acceleration:
281-
amf* [2] Dmitrii Ovchinnikov
281+
amf* [2] Dmitrii Ovchinnikov, Araz Iusubov
282282
dxva2* Hendrik Leppkes, Laurent Aimar, Steve Lhomme
283283
d3d11va* Steve Lhomme
284284
d3d12va* Wu Jianhua
@@ -522,7 +522,7 @@ LoongArch [2] Shiyou Yin
522522
Darwin (macOS, iOS) [2] Marvin Scholz
523523
Mac OS X / PowerPC [0]
524524
Amiga / PowerPC Colin Ward
525-
Linux / PowerPC [1] Lauri Kasanen
525+
Linux / PowerPC [2] Sean McGovern (CC <[email protected]>), Lauri Kasanen
526526
RISC-V [2] Rémi Denis-Courmont
527527
Windows MinGW Alex Beregszaszi, Ramiro Polla
528528
Windows Cygwin Victor Paesa
@@ -618,6 +618,7 @@ Reinhard Tartler 9300 5DC2 7E87 6C37 ED7B CA9A 9808 3544 9453 48A4
618618
Reynaldo H. Verdejo Pinochet 6E27 CD34 170C C78E 4D4F 5F40 C18E 077F 3114 452A
619619
Robert Swain EE7A 56EA 4A81 A7B5 2001 A521 67FA 362D A2FC 3E71
620620
Sascha Sommer 38A0 F88B 868E 9D3A 97D4 D6A0 E823 706F 1E07 0D3C
621+
Sean McGovern (Sean_McG) 6D03 BC60 3A33 E615 6E2E 06AD 8C06 8175 6F59 8684
621622
Stefano Sabatini 0D0B AD6B 5330 BBAD D3D6 6A0C 719C 2839 FC43 2D5F
622623
Steinar H. Gunderson C2E9 004F F028 C18E 4EAD DB83 7F61 7561 7797 8F76
623624
Stephan Hilb 4F38 0B3A 5F39 B99B F505 E562 8D5C 5554 4E17 8863

Makefile

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -53,31 +53,31 @@ FF_DEP_LIBS := $(DEP_LIBS)
5353
FF_STATIC_DEP_LIBS := $(STATIC_DEP_LIBS)
5454

5555
$(TOOLS): %$(EXESUF): %.o
56-
$(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $(filter-out $(FF_DEP_LIBS), $^) $(EXTRALIBS-$(*F)) $(EXTRALIBS) $(ELIBS)
56+
$(call LINK,$(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $(filter-out $(FF_DEP_LIBS), $^) $(EXTRALIBS-$(*F)) $(EXTRALIBS) $(ELIBS))
5757

5858
target_dec_%_fuzzer$(EXESUF): target_dec_%_fuzzer.o $(FF_DEP_LIBS)
59-
$(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) $(FF_EXTRALIBS) $(LIBFUZZER_PATH)
59+
$(call LINK,$(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) $(FF_EXTRALIBS) $(LIBFUZZER_PATH))
6060

6161
target_enc_%_fuzzer$(EXESUF): target_enc_%_fuzzer.o $(FF_DEP_LIBS)
62-
$(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) $(FF_EXTRALIBS) $(LIBFUZZER_PATH)
62+
$(call LINK,$(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) $(FF_EXTRALIBS) $(LIBFUZZER_PATH))
6363

6464
tools/target_bsf_%_fuzzer$(EXESUF): tools/target_bsf_%_fuzzer.o $(FF_DEP_LIBS)
65-
$(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) $(FF_EXTRALIBS) $(LIBFUZZER_PATH)
65+
$(call LINK,$(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) $(FF_EXTRALIBS) $(LIBFUZZER_PATH))
6666

6767
target_dem_%_fuzzer$(EXESUF): target_dem_%_fuzzer.o $(FF_DEP_LIBS)
68-
$(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) $(FF_EXTRALIBS) $(LIBFUZZER_PATH)
68+
$(call LINK,$(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) $(FF_EXTRALIBS) $(LIBFUZZER_PATH))
6969

7070
tools/target_dem_fuzzer$(EXESUF): tools/target_dem_fuzzer.o $(FF_DEP_LIBS)
71-
$(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) $(FF_EXTRALIBS) $(LIBFUZZER_PATH)
71+
$(call LINK,$(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) $(FF_EXTRALIBS) $(LIBFUZZER_PATH))
7272

7373
tools/target_io_dem_fuzzer$(EXESUF): tools/target_io_dem_fuzzer.o $(FF_DEP_LIBS)
74-
$(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) $(FF_EXTRALIBS) $(LIBFUZZER_PATH)
74+
$(call LINK,$(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) $(FF_EXTRALIBS) $(LIBFUZZER_PATH))
7575

7676
tools/target_sws_fuzzer$(EXESUF): tools/target_sws_fuzzer.o $(FF_DEP_LIBS)
77-
$(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) $(FF_EXTRALIBS) $(LIBFUZZER_PATH)
77+
$(call LINK,$(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) $(FF_EXTRALIBS) $(LIBFUZZER_PATH))
7878

7979
tools/target_swr_fuzzer$(EXESUF): tools/target_swr_fuzzer.o $(FF_DEP_LIBS)
80-
$(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) $(FF_EXTRALIBS) $(LIBFUZZER_PATH)
80+
$(call LINK,$(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) $(FF_EXTRALIBS) $(LIBFUZZER_PATH))
8181

8282
tools/enum_options$(EXESUF): ELIBS = $(FF_EXTRALIBS)
8383
tools/enum_options$(EXESUF): $(FF_DEP_LIBS)
@@ -144,7 +144,7 @@ else
144144
endif
145145

146146
%$(PROGSSUF)_g$(EXESUF): $(FF_DEP_LIBS)
147-
$(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $(OBJS-$*) $(FF_EXTRALIBS)
147+
$(call LINK,$(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $(OBJS-$*) $(FF_EXTRALIBS))
148148

149149
VERSION_SH = $(SRC_PATH)/ffbuild/version.sh
150150
ifeq ($(VERSION_TRACKING),yes)

compat/w32pthreads.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
#include "libavutil/time.h"
4747
#include "libavutil/wchar_filename.h"
4848

49-
typedef struct pthread_t {
49+
typedef struct w32pthread_t {
5050
void *handle;
5151
void *(*func)(void* arg);
5252
void *arg;
@@ -72,20 +72,20 @@ typedef CONDITION_VARIABLE pthread_cond_t;
7272
#define THREADFUNC_RETTYPE unsigned
7373
#endif
7474

75-
static av_unused THREADFUNC_RETTYPE
75+
av_unused static THREADFUNC_RETTYPE
7676
__stdcall attribute_align_arg win32thread_worker(void *arg)
7777
{
7878
pthread_t h = (pthread_t)arg;
7979
h->ret = h->func(h->arg);
8080
return 0;
8181
}
8282

83-
static av_unused int pthread_create(pthread_t *thread, const void *unused_attr,
83+
av_unused static int pthread_create(pthread_t *thread, const void *unused_attr,
8484
void *(*start_routine)(void*), void *arg)
8585
{
8686
pthread_t ret;
8787

88-
ret = av_mallocz(sizeof(*ret));
88+
ret = (pthread_t)av_mallocz(sizeof(*ret));
8989
if (!ret)
9090
return EAGAIN;
9191

@@ -109,7 +109,7 @@ static av_unused int pthread_create(pthread_t *thread, const void *unused_attr,
109109
return 0;
110110
}
111111

112-
static av_unused int pthread_join(pthread_t thread, void **value_ptr)
112+
av_unused static int pthread_join(pthread_t thread, void **value_ptr)
113113
{
114114
DWORD ret = WaitForSingleObject(thread->handle, INFINITE);
115115
if (ret != WAIT_OBJECT_0) {
@@ -149,7 +149,7 @@ static inline int pthread_mutex_unlock(pthread_mutex_t *m)
149149
typedef INIT_ONCE pthread_once_t;
150150
#define PTHREAD_ONCE_INIT INIT_ONCE_STATIC_INIT
151151

152-
static av_unused int pthread_once(pthread_once_t *once_control, void (*init_routine)(void))
152+
av_unused static int pthread_once(pthread_once_t *once_control, void (*init_routine)(void))
153153
{
154154
BOOL pending = FALSE;
155155
InitOnceBeginInitialize(once_control, 0, &pending, NULL);

0 commit comments

Comments
 (0)