From 5fdaf312c5541b77b6364db8b49d6abb416a25c0 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Mon, 26 May 2014 09:43:50 +0200 Subject: flac: make avpriv_flac_parse_block_header() inline This avoids all the ABI troubles associated with avpriv_. Since this function is very small and does not depend on any tables, making it inline should have no adverse effects. --- libavcodec/flac.h | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) (limited to 'libavcodec/flac.h') diff --git a/libavcodec/flac.h b/libavcodec/flac.h index 63f41c25a4..fbd34a18b1 100644 --- a/libavcodec/flac.h +++ b/libavcodec/flac.h @@ -28,6 +28,7 @@ #define AVCODEC_FLAC_H #include "avcodec.h" +#include "bytestream.h" #include "get_bits.h" #define FLAC_STREAMINFO_SIZE 34 @@ -109,15 +110,10 @@ int avpriv_flac_is_extradata_valid(AVCodecContext *avctx, enum FLACExtradataFormat *format, uint8_t **streaminfo_start); -/** - * Parse the metadata block parameters from the header. - * @param[in] block_header header data, at least 4 bytes - * @param[out] last indicator for last metadata block - * @param[out] type metadata block type - * @param[out] size metadata block size - */ +#if LIBAVCODEC_VERSION_MAJOR < 56 void avpriv_flac_parse_block_header(const uint8_t *block_header, int *last, int *type, int *size); +#endif /** * Calculate an estimate for the maximum frame size based on verbatim mode. @@ -140,4 +136,23 @@ int ff_flac_decode_frame_header(AVCodecContext *avctx, GetBitContext *gb, void ff_flac_set_channel_layout(AVCodecContext *avctx); +/** + * Parse the metadata block parameters from the header. + * @param[in] block_header header data, at least 4 bytes + * @param[out] last indicator for last metadata block + * @param[out] type metadata block type + * @param[out] size metadata block size + */ +static av_always_inline void flac_parse_block_header(const uint8_t *block_header, + int *last, int *type, int *size) +{ + int tmp = bytestream_get_byte(&block_header); + if (last) + *last = tmp & 0x80; + if (type) + *type = tmp & 0x7F; + if (size) + *size = bytestream_get_be24(&block_header); +} + #endif /* AVCODEC_FLAC_H */ -- cgit v1.2.3