[FFmpeg-devel] [PATCH v3 0/2] 32bps FLAC patches
Martijn van Beurden
mvanb1 at gmail.com
Fri Sep 2 17:20:26 EEST 2022
Recently libFLAC gained the ability (not in any released version yet
though) to create FLAC files containing 32-bit int PCM samples. To
keep complexity reasonable, the choice was made to limit residuals
to 32-bit integers, which the encoder must make sure of. In case
the encoder cannot find any predictor of which the residuals fit
this limit, it must default to using a verbatim subframe. Tests have
shown that this does not happen often (<0.1% of subframes on a
music corpus of various styles). See also discussion here:
https://github.com/ietf-wg-cellar/flac-specification/pull/148
These two patches implement decoding and encoding following this
format. The decoding patch has been send in for review earlier,
but didn't get any feedback yet, so I'm sending it in again,
unchanged, this time with a patch for encoding too.
Changes since v1:
fix copy-paste error in encoder, several invocations of
lpc_encode_choose_datapath used wrong parameters, making FATE fail as
compression was less than it should be
Changes since v2:
Rebased decoder part as it didn't apply anymore
Martijn van Beurden (2):
libavcodec/flacdec: Implement decoding of 32 bit-per-sample PCM
libavcodec/flacenc: Implement encoding of 32 bit-per-sample PCM
libavcodec/flac.c | 4 +-
libavcodec/flacdec.c | 248 ++++++++++++++++++--
libavcodec/flacenc.c | 499 ++++++++++++++++++++++++++++++++--------
libavcodec/get_bits.h | 12 +
libavcodec/mathops.h | 9 +
libavcodec/put_bits.h | 7 +
libavcodec/put_golomb.h | 19 +-
7 files changed, 668 insertions(+), 130 deletions(-)
--
2.30.2
More information about the ffmpeg-devel
mailing list