Michael Niedermayer
d0349c9929
avformat/ape: Check frames size
...
Fixes: signed integer overflow: 9223372036854775806 + 3 cannot be represented in type 'long'
Fixes: 50993/clusterfuzz-testcase-minimized-ffmpeg_dem_APE_fuzzer-6389264140599296
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2022-09-24 17:57:35 +02:00
James Almer
1b47190c94
avcodec/opusdec: stop setting deprecated swr options
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-09-24 12:17:22 -03:00
James Almer
aa79d13f51
avformat/cafenc: derive Opus frame size from the relevant stream parameters
...
Use the stream duration as last resort, as an off-by-one result of the
"st->duration / (caf->packets - 1)" calculation can break playback on some
devices.
Also, don't write the sample_rate value propagated by encoders like libopus.
The sample rate of the audio fed to it is irrelevant after being encoded.
Fixes ticket #9930 .
Signed-off-by: James Almer <jamrial@gmail.com >
2022-09-24 12:16:15 -03:00
Paul B Mahol
257eea3db4
doc: mention new audio formats
2022-09-24 14:03:59 +02:00
Paul B Mahol
a166b8a19b
avcodec: add FTR audio decoder and parser
2022-09-24 14:03:59 +02:00
Andreas Rheinhardt
2f9fa7e3e9
avcodec/mjpegbdec: Don't create unnecessary AVFrame reference
...
MJPEG-B is an intra-codec, so it makes no sense to keep the reference.
It is unused lateron anyway.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-09-24 12:23:33 +02:00
Paul B Mahol
a54da0831c
avcodec/photocd: implement FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM
2022-09-24 12:23:33 +02:00
Paul B Mahol
a44a540ed1
avcodec/cri: implement FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM
2022-09-24 12:23:33 +02:00
Paul B Mahol
3e49c1e07a
avcodec/xpmdec: implement FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM
2022-09-24 12:23:33 +02:00
Paul B Mahol
08f6b1e5b3
avcodec/xbmdec: implement FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM
2022-09-24 12:23:33 +02:00
Paul B Mahol
eb9045455d
avcodec/hdrdec: implement FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM
2022-09-24 12:23:33 +02:00
Paul B Mahol
1e079525d5
avcodec/xwddec: implement FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM
2022-09-24 12:23:33 +02:00
Paul B Mahol
cea1e1f261
avcodec/exr: implement FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM
2022-09-24 12:23:32 +02:00
Paul B Mahol
3c16f9eb0d
avcodec/qoidec: implement FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM
2022-09-24 12:23:32 +02:00
Lynne
f21899db7d
x86/tx_float: enable AVX-only split-radix FFT codelets
...
Sandy Bridge, Ivy Bridge and Bulldozer cores don't support FMA3.
2022-09-24 04:16:55 +02:00
James Almer
d2f482965f
x86/tx_float: fix some symbol names
...
Should fix compilation on MacOS
Signed-off-by: James Almer <jamrial@gmail.com >
2022-09-23 18:53:05 -03:00
Chema Gonzalez
7adf7502b8
doc/examples/extract_mvs: add motion information
...
Note that the motion information includes subpel motion information
This was likely forgotten in 56bdf61baa
.
Tested:
```
$ make examples -j
...
$ doc/examples/extract_mvs in.264 | head -40 | \
csvcut -C framenum,source,flags |csvlook
| blockw | blockh | srcx | srcy | dstx | dsty | motion_x | motion_y | motion_scale |
| ------ | ------ | ----- | ---- | ----- | ---- | -------- | -------- | ------------ |
| 16 | 16 | 20 | 26 | 8 | 8 | 49 | 72 | 4 |
| 16 | 16 | 152 | 15 | 136 | 8 | 65 | 28 | 4 |
| 16 | 8 | 360 | 3 | 360 | 4 | 1 | -6 | 4 |
| 16 | 8 | 360 | 13 | 360 | 12 | -1 | 4 | 4 |
| 16 | 16 | 440 | 10 | 440 | 8 | 3 | 10 | 4 |
| 8 | 16 | 829 | 7 | 836 | 8 | -31 | -6 | 4 |
| 8 | 16 | 844 | 7 | 844 | 8 | -1 | -4 | 4 |
| 16 | 16 | 1,004 | 14 | 1,048 | 8 | -177 | 24 | 4 |
| 16 | 16 | 1,096 | 8 | 1,096 | 8 | -1 | 0 | 4 |
| 16 | 8 | 1,417 | 24 | 1,416 | 4 | 7 | 82 | 4 |
| 16 | 8 | 1,416 | 13 | 1,416 | 12 | 0 | 6 | 4 |
| 16 | 8 | 87 | 20 | 88 | 20 | -7 | 0 | 4 |
| 16 | 8 | 99 | 44 | 88 | 28 | 45 | 66 | 4 |
...
```
Also:
```
$ make fate -j
...
```
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2022-09-23 22:42:19 +02:00
Andreas Rheinhardt
793282adc2
avcodec/jpeg2000dec: Implement FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM
...
This could be improved further by not allocating the buffers
that won't be needed lateron in the first place.
Reviewed-by: Tomas Härdin <tjoppen@acc.umu.se >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-09-23 22:17:10 +02:00
Andreas Rheinhardt
d5a0dc037d
avcodec/jpeg2000dec: Set sample aspect ratio before getting buffer
...
That way the SAR will be automatically set on the AVFrame.
Reviewed-by: Tomas Härdin <tjoppen@acc.umu.se >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-09-23 21:58:18 +02:00
James Almer
0d8f43c74d
x86/tx_float: change a condition in a preprocessor check
...
Fixes compilation with yasm.
Signed-off-by: James Almer <jamrial@gmail.com >
2022-09-23 16:05:07 -03:00
Paul B Mahol
ec8be8a913
avcodec/tiff: improve lut handling for DNG
2022-09-23 20:28:31 +02:00
Paul B Mahol
6c23391064
avformat: add APAC demuxer
2022-09-23 20:27:35 +02:00
Paul B Mahol
84f467454b
avcodec: add APAC decoder
2022-09-23 20:26:28 +02:00
James Almer
750f378bec
x86/tx_float: add missing preprocessor wrapper for AVX2 functions
...
Fixes compilation with old assemblers.
Signed-off-by: James Almer <jamrial@gmail.com >
2022-09-23 15:15:20 -03:00
Anton Khirnov
c504fb8692
lavc/pthread_frame: always transfer stashed hwaccel state
...
Fixes assertion failures after avcodec_flush_buffers(), where
stashed hwaccel state is present, but prev_thread is NULL.
Found-by: Wang Bin <wbsecg1@gmail.com >
2022-09-23 16:06:27 +02:00
Tristan Matthews
e301143f96
opus_silk: reset midonly flag after skipping LBRR
...
Fix suggested by Mark Harris. Fixes ticket #9890
Simplified after feedback from Anton Khirnov.
Signed-off-by: Anton Khirnov <anton@khirnov.net >
2022-09-23 16:06:11 +02:00
Anton Khirnov
07d930014d
MAINTAINERS: remove the project leader section
...
The position does not exist anymore.
2022-09-23 16:06:11 +02:00
Anton Khirnov
10137d9d63
MAINTAINERS: add myself as a ffmpeg.c maintainer
...
Michael has not been doing much work on it in the last few years and I
have by far the most commits.
2022-09-23 16:06:11 +02:00
Lynne
e7a987d7c9
lavu/tx: remove special -1 inverted lookup mode
...
It was somewhat hacky and unnecessary.
2022-09-23 12:35:28 +02:00
Lynne
74e8541bab
x86/tx_float: generalize iMDCT
...
To support non-aligned buffers during the post-transform step, just iterate
backwards over the array.
This allows using the 15xN-point FFT, with which the speed is 2.1 times
faster than our old libavcodec implementation.
2022-09-23 12:35:28 +02:00
Lynne
ace42cf581
x86/tx_float: add 15xN PFA FFT AVX SIMD
...
~4x faster than the C version.
The shuffles in the 15pt dim1 are seriously expensive. Not happy with it,
but I'm contempt.
Can be easily converted to pure AVX by removing all vpermpd/vpermps
instructions.
2022-09-23 12:35:27 +02:00
Lynne
3241e9225c
x86/tx_float: adjust internal ASM call ABI again
...
There are many ways to go about it, and this one seems optimal for both
MDCTs and PFA FFTs without requiring excessive instructions or stack usage.
2022-09-23 12:33:35 +02:00
Lynne
7e7baf8ab8
lavu/tx: do not steal lookup tables of subcontexts in the iMDCT
...
As it happens, some still need their contexts.
2022-09-23 12:33:31 +02:00
Zhao Zhili
686096739b
fftools/ffmpeg_filter: configure min_hard_comp unconditionally
...
There are two issues here. Firstly, the floating-point comparison
is always true. Seconly, the code depends on the default value of
min_hard_comp implicitly, which can be dangerous.
Partially fixes ticket 9859.
Reviewed-by: Anton Khirnov <anton@khirnov.net >
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com >
2022-09-23 19:58:08 +08:00
Lynne
668f43af20
tests/checkasm/lpc: correct arithmetic when randomizing buffers
...
Results weren't signed.
2022-09-23 01:50:59 +02:00
Lynne
6ad39f01df
tests/checkasm/lpc: reduce range and use signed values
...
This is more similar to its regular use, and prevents inaccuracies
of huge float*float multiplications from failing the tests.
2022-09-23 01:42:34 +02:00
James Almer
9cbfffa0d4
tests/checkasm/lpc: print mismatching values
...
Will help debugging.
Signed-off-by: James Almer <jamrial@gmail.com >
2022-09-22 18:18:52 -03:00
James Almer
0922c6b01b
x86/lpc: use fused negative multiply-add instructions where useful
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-09-22 18:17:26 -03:00
James Almer
a1c6f4b653
tests/checkasm/lpc: randomize buffer length
...
Simplifies the test, while trying more values and preventing pointlessly
running benchmarks in a loop.
Signed-off-by: James Almer <jamrial@gmail.com >
2022-09-22 18:17:26 -03:00
James Almer
0627e6d74c
avcodec/lpc: zero the middle odd sample in the output
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-09-22 18:17:26 -03:00
James Almer
c8c4a162fc
avcodec/lpc: use ptrdiff_t for length parameters
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-09-22 18:17:26 -03:00
Vignesh Venkatasubramanian
a2d95928c3
avformat/movenc: Write auxi box for animated AVIF with alpha
...
According to the HEIF specification (ISO/IEC 23008-12) Section
7.5.3.1, tracks with handler_type 'auxv' must contain a 'auxi' box
in its SampleEntry to notify the nature of the auxiliary track to the
decoder.
The content is the same as the 'auxC' box. So parameterize and re-use
the existing function.
Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com >
Signed-off-by: James Zern <jzern@google.com >
2022-09-22 14:10:22 -07:00
James Zern
bd7d69fe35
avcodec/libvpxenc: add -min-gf-interval
...
this maps to the vpxenc argument with the same name and the
VP9E_SET_MIN_GF_INTERVAL codec control
Signed-off-by: James Zern <jzern@google.com >
Reviewed-by: Vignesh Venkatasubramanian <vigneshv@google.com >
2022-09-22 11:52:16 -07:00
James Almer
48615f0a78
x86/aacpsdsp: add ps_hybrid_analysis_fma3
...
This replace the sse3 version, which was not really faster than the sse one.
Signed-off-by: James Almer <jamrial@gmail.com >
2022-09-22 13:27:43 -03:00
James Almer
2bcf86d53d
x86/aacpsdsp: precompute constant factors
...
Inspired by the optimization done to the C version by Rémi Denis-Courmont.
Signed-off-by: James Almer <jamrial@gmail.com >
2022-09-22 13:27:43 -03:00
Rémi Denis-Courmont
08edacc248
lavc/aacpsdsp: precompute constant factors
...
The input complex factors are constant for each iterations. This
substitudes 4 loads, 2 additions and 2 subtractions per iteration of
the inner-loop with another 4 loads. Thus effectively 4 arithmetic
operations per iteration of the inner loop are avoided, i.e. 24
operations per iteration of the outer loop, or 24 * (n - 1) operations
in total.
If the inner loop is not unrolled by the compiler, this also might
also save some pointer arithmetic as most instruction sets do not
have addressing modes with negated register offsets (12 - j). Unless
the compiler is optimising for code size, this is unlikely though.
2022-09-22 13:27:43 -03:00
Michael Niedermayer
db73ae0dc1
avformat/icodec: Check nb_pal
...
Fixes: signed integer overflow: 538976288 * 4 cannot be represented in type 'int'
Fixes: 50993/clusterfuzz-testcase-minimized-ffmpeg_dem_ICO_fuzzer-6690068904935424
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Peter Ross <pross@xvid.org >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2022-09-22 17:44:05 +02:00
Michael Niedermayer
9303ba272e
avformat/aiffdec: Use 64bit for block_duration use
...
Fixes: signed integer overflow: 3 * -2147483648 cannot be represented in type 'int'
Fixes: 50993/clusterfuzz-testcase-minimized-ffmpeg_dem_AIFF_fuzzer-6668935979728896
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2022-09-22 17:44:05 +02:00
Michael Niedermayer
1c2b6265c8
avformat/aiffdec: Check block_duration
...
Fixes: signed integer overflow: 3 * -2147483648 cannot be represented in type 'int'
Fixes: 50993/clusterfuzz-testcase-minimized-ffmpeg_dem_AIFF_fuzzer-6668935979728896
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2022-09-22 17:44:04 +02:00
Michael Niedermayer
c5bd689655
avformat/mxfdec: Avoid some redundant writing to tables in mxf_compute_ptses_fake_index()
...
offsets suggested by Tomas Härdin
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2022-09-22 17:44:04 +02:00