[FFmpeg-devel] [PATCH] avcodec/tableprint_vlc: Fix building with hardcoded tables

James Almer jamrial at gmail.com
Fri Jul 23 15:36:04 EEST 2021


On 7/22/2021 8:38 PM, Andreas Rheinhardt wrote:
> This has been broken in 25c8507818d8559a6654a5b30a0f8aae11a48181,
> because the hacks for headers that are incompatible with building
> for the host in libavcodec/tableprint_vlc.h have not been adjusted.
> 
> Moving AV_INPUT_BUFFER_PADDING_SIZE to defs.h which is valid for
> both the target as well as the host allowed to remove some of the hacks.
> 
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> ---
> If we did not have monster headers (with lavu/internal.h forcing one to
> include libm.h if all one wants is ff_dlog and avpriv_request_sample()),
> one could include the headers normally; but one would still need to
> define both of them away, as the underlying functions are not available
> for the host.
> In particular, mem.h could be ridden of the avutil.h dependency to allow
> it to be included (albeit with the allocation functions overriden).
> 
>   libavcodec/tableprint_vlc.h | 4 +---
>   1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/libavcodec/tableprint_vlc.h b/libavcodec/tableprint_vlc.h
> index b3ff36562b..0cbd7a9d2b 100644
> --- a/libavcodec/tableprint_vlc.h
> +++ b/libavcodec/tableprint_vlc.h
> @@ -33,9 +33,7 @@
>   #define av_realloc_f(p, o, n) NULL
>   #define av_free(p) while(0)
>   #define av_freep(p) while(0)
> -#define AVCODEC_AVCODEC_H
> -#define AVCODEC_INTERNAL_H
> -#define AV_INPUT_BUFFER_PADDING_SIZE 64 // the value does not matter for this
> +#define AVUTIL_INTERNAL_H
>   #define avpriv_request_sample(...)
>   #include "tableprint.h"
>   #include "get_bits.h"
> 

Should be ok.


More information about the ffmpeg-devel mailing list