summaryrefslogtreecommitdiff
path: root/libavcodec/rangecoder.h
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2018-12-23 14:17:11 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2018-12-31 17:44:22 +0100
commitb6c2c589041cd99c5bf4117d13708ab010f97bd1 (patch)
treebd64ae8d37b041174c1c9eb42ca9d0fd11e855d6 /libavcodec/rangecoder.h
parent20b10ba83c46d1f2b381b0b3e70ce44195473815 (diff)
avcodec/rangecoder: Add and test ff_rac_check_termination()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/rangecoder.h')
-rw-r--r--libavcodec/rangecoder.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/libavcodec/rangecoder.h b/libavcodec/rangecoder.h
index 4495f6df1a..4d4ca4d526 100644
--- a/libavcodec/rangecoder.h
+++ b/libavcodec/rangecoder.h
@@ -57,6 +57,15 @@ void ff_init_range_decoder(RangeCoder *c, const uint8_t *buf, int buf_size);
*/
int ff_rac_terminate(RangeCoder *c, int version);
+/**
+ * Check if at the current position there is a valid looking termination
+ * @param version version 0 requires the decoder to know the data size in bytes
+ * version 1 needs about 1 bit more space but does not need to
+ * carry the size from encoder to decoder
+ * @returns negative AVERROR code on error or non negative.
+ */
+int ff_rac_check_termination(RangeCoder *c, int version);
+
void ff_build_rac_states(RangeCoder *c, int factor, int max_p);
static inline void renorm_encoder(RangeCoder *c)