diff options
author | David Bryant <david@wavpack.com> | 2020-03-09 15:23:53 -0700 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2020-03-11 21:11:36 +0100 |
commit | 9a13ed522f361cdc3fa424922d59aca214d55a15 (patch) | |
tree | f5927db329e22a880cdb05575ebf3d1f8793e367 /libavcodec/wavpack.h | |
parent | 34d7c8d942c370965d3823e017c79b58f18285ca (diff) |
avcodec/wavpack: add support for DSD files
Add support for WavPack DSD files to the existing WavPack decoder using
avcodec/dsd to perform the 8:1 decimation to 32-bit float samples. We must
serialize the dsd2pcm operation (cross-boundary filtering) but would like
to use frame-level multithreading for the CPU-intensive DSD decompression,
and this is accomplished with ff_thread_report/await_progress(). Because
the dsd2pcm operation is independent across channels we use slice-based
multithreading for that part.
Also a few things were removed from the existing WavPack decoder that
weren't being used (primarily the SavedContext stuff) and the WavPack
demuxer was enhanced to correctly determine the sampling rate of DSD
files (and of course to no longer reject them).
Signed-off-by: David Bryant <david@wavpack.com>
Diffstat (limited to 'libavcodec/wavpack.h')
-rw-r--r-- | libavcodec/wavpack.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libavcodec/wavpack.h b/libavcodec/wavpack.h index 6caad038e9..43aaac815f 100644 --- a/libavcodec/wavpack.h +++ b/libavcodec/wavpack.h @@ -35,6 +35,7 @@ #define WV_FLOAT_DATA 0x00000080 #define WV_INT32_DATA 0x00000100 #define WV_FALSE_STEREO 0x40000000 +#define WV_DSD_DATA 0x80000000 #define WV_HYBRID_MODE 0x00000008 #define WV_HYBRID_SHAPE 0x00000008 @@ -77,6 +78,7 @@ enum WP_ID { WP_ID_CORR, WP_ID_EXTRABITS, WP_ID_CHANINFO, + WP_ID_DSD_DATA, WP_ID_SAMPLE_RATE = 0x27, }; |