On Thu, Mar 16, 2017 at 05:34:12PM +0100, Anton Khirnov wrote:
> The function currently accepts a PutBitContext and a GetBitContext,
> which hardcodes their sizes into the lavc ABI. Since the function is
> quite small and only called in a few places, the simplest solution is
> making it inline, thus avoiding a runtime dependency completely.
> ---
> To be applied on major bump, since it removes a public symbol from the ABI.
> ---
> libavcodec/mpeg4audio.c | 40 ----------------------------------------
> libavcodec/mpeg4audio.h | 40 +++++++++++++++++++++++++++++++++++++++-
> 2 files changed, 39 insertions(+), 41 deletions(-)
That pesky get_bits ABI issue :)
> --- a/libavcodec/mpeg4audio.h
> +++ b/libavcodec/mpeg4audio.h
> @@ -104,7 +104,45 @@ enum AudioObjectType {
>
> #define MAX_PCE_SIZE 304 ///<Maximum size of a PCE including the 3-bit ID_PCE
> ///<marker and the comment
> + //
> +static av_always_inline unsigned int avpriv_pce_copy_bits(PutBitContext *pb,
The // comment looks stray.
> +static av_always_inline unsigned int avpriv_pce_copy_bits(PutBitContext *pb,
> +static av_always_inline int avpriv_copy_pce_data(PutBitContext *pb,
> GetBitContext *gb)
Shouldn't you drop the avpriv_ prefix? Once inlined, these are no longer
semiprivate symbols available across library boundaries.
Diego
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel