diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2025-06-23 02:02:54 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2025-07-03 18:17:56 +0200 |
commit | 589f1e5cc7286e76f196d27fb55dec94e83ff3ab (patch) | |
tree | e4b1a3e538826621b5cf06984f2824146b5d3b0e /tests/api/api-dump-stream-meta-test.c | |
parent | bdb4cd44e24c69ca8a0ad1cd8b3772c43a225e7f (diff) | |
download | ffmpeg-589f1e5cc7286e76f196d27fb55dec94e83ff3ab.tar.gz |
swresample/rematrix: Use correct function pointer types for calls
Calling a function via a different function pointer type is
undefined behavior (C11, 6.3.2.3 8); two pointer parameters
of different type are not equivalent in this regard, although
it happens to work in practice; the current code relies on this.
This patch brings the code in line with the spec. This fixes the
following FATE-tests when run with Clang-UBSan:
ac3-fixed-encode-2 audiomatch-afconvert-{16000,44100}-mono-he-{adts,m4a}
audiomatch-dolby-44100-mono-he-mp4 filter-metadata-avf-aphase-meter-mono
filter-pan-{downmix1,downmix2,mono2,stereo2,stereo3,stereo4,upmix1,upmix2}
lavf-dv_{pal,ntsc} matroska-encoding-delay
The error was something like
src/libswresample/rematrix.c:621:17: runtime error: call to function sum2_float through pointer to incorrect function type 'void (*)(void *, const void *, const void *, void *, int, int, int)
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'tests/api/api-dump-stream-meta-test.c')
0 files changed, 0 insertions, 0 deletions