[FFmpeg-devel] [PATCH 1/8] avcodec/flac: document limitations of the LPC encoder

James Darnley james.darnley at gmail.com
Mon Nov 27 00:51:04 EET 2017


State that the maximum value of order is 32.  This limit is used in both
C and x86 assebly code.
---
 libavcodec/flacdsp.h | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/libavcodec/flacdsp.h b/libavcodec/flacdsp.h
index 7bb0dd0e9a..90fd3f04b5 100644
--- a/libavcodec/flacdsp.h
+++ b/libavcodec/flacdsp.h
@@ -30,6 +30,14 @@ typedef struct FLACDSPContext {
                   int qlevel, int len);
     void (*lpc32)(int32_t *samples, const int coeffs[32], int order,
                   int qlevel, int len);
+
+    /**
+     * These encoder functions support a maximum order of 32.
+     *
+     * This limit is used:
+     * - when CONFIG_SMALL is 0 to unroll a loop in the C template.
+     * - when SSE4 (or newer) is available on x86 to unroll a copy loop.
+     */
     void (*lpc16_encode)(int32_t *res, const int32_t *smp, int len, int order,
                          const int32_t coefs[32], int shift);
     void (*lpc32_encode)(int32_t *res, const int32_t *smp, int len, int order,
-- 
2.15.0



More information about the ffmpeg-devel mailing list