mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2026-10-28 15:19:38 +03:00
Convert DSD to PCM with the same 96-tap symmetric lowpass filter the libavcodec DSD decoders use. The implementation is copied from libavcodec/dsd.c, minus the LSBF table variants, since AV_SAMPLE_FMT_DSD is defined as MSBF. The libavcodec copy will be removed in future commits as decoders are transitioned to SWR. The conversion is stateful (per-channel filter history), so the audio conversion functions gain a per-channel state argument. DSD silence is the 0x69 bit pattern instead of the 0x80 used for PCM. Only a direct DSD to float conversion function is provided. For format pairs without a direct conversion function (e.g. DSD to s16 with equal rates), swr_init() now falls back from the full_convert shortcut to the generic two-stage path instead of failing, and reports unsupported conversions with a proper error message instead of ENOMEM. Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
36 lines
970 B
Plaintext
36 lines
970 B
Plaintext
Files without standard license headers:
|
|
libavcodec/file_open.c
|
|
libavcodec/interplayacm.c
|
|
libavcodec/log2_tab.c
|
|
libavcodec/reverse.c
|
|
libavcodec/riscv/cpu_common.c
|
|
libavdevice/file_open.c
|
|
libavdevice/reverse.c
|
|
libavdevice/riscv/cpu_common.c
|
|
libavfilter/file_open.c
|
|
libavfilter/log2_tab.c
|
|
libavfilter/riscv/cpu_common.c
|
|
libavformat/file_open.c
|
|
libavformat/golomb_tab.c
|
|
libavformat/log2_tab.c
|
|
libavformat/rangecoder_dec.c
|
|
libavformat/riscv/cpu_common.c
|
|
libswresample/log2_tab.c
|
|
libswresample/reverse.c
|
|
libswscale/aarch64/ops_entries.c
|
|
libswscale/log2_tab.c
|
|
libswscale/riscv/cpu_common.c
|
|
libswscale/uops_macros.h
|
|
tools/uncoded_frame.c
|
|
tools/yuvcmp.c
|
|
Headers without standard inclusion guards:
|
|
compat/djgpp/math.h
|
|
compat/float/float.h
|
|
compat/float/limits.h
|
|
compat/stdbit/stdbit.h
|
|
libavcodec/bitstream_template.h
|
|
libswscale/x86/uops_macros.asm.h
|
|
tools/decode_simple.h
|
|
Use of av_clip() where av_clip_uintp2() could be used:
|
|
Use of av_clip() where av_clip_intp2() could be used:
|