On Tue, Jul 12, 2011 at 05:16:44PM +0200, Ronald S. Bultje wrote:
> Module: libav
> Branch: master
> Commit: c90a2538a0bb4937cdecb852fadc3f98899624a9
>
> Author: Ronald S. Bultje <[email protected]>
> Committer: Ronald S. Bultje <[email protected]>
> Date: Tue Jul 12 08:15:55 2011 -0700
>
> h264: move h264_mvpred.h include.
>
> Fixes the following compile error with darwin/gcc-4.2.1:
> In file included from libavcodec/error_resilience.c:33:
> libavcodec/h264.h: In function ‘decode_mb_skip’:
> libavcodec/h264.h:773: error: ‘always_inline’ function could not be
> inlined in call to ‘pred_pskip_motion’: the function body must appear
> before caller
> libavcodec/h264.h:1334: error: called from here
I'm afraid it's not quite so easy ...
> --- a/libavcodec/h264.h
> +++ b/libavcodec/h264.h
> @@ -770,7 +770,7 @@ static av_always_inline int get_chroma_qp(H264Context *h,
> int t, int qscale){
> return h->pps.chroma_qp_table[t][qscale];
> }
>
> -static av_always_inline void pred_pskip_motion(H264Context * const h);
> +#include "h264_mvpred.h" //For pred_pskip_motion()
>
> static void fill_decode_neighbors(H264Context *h, int mb_type){
> MpegEncContext * const s = &h->s;
> @@ -1341,6 +1341,4 @@ static void av_unused decode_mb_skip(H264Context *h){
> h->prev_mb_skipped= 1;
> }
>
> -#include "h264_mvpred.h" //For pred_pskip_motion()
> -
> #endif /* AVCODEC_H264_H */
... since now 'make checkheaders' is broken:
biurrun@passion:~/src/libav $ make checkheaders
CC libavcodec/h264_mvpred.ho
In file included from libavcodec/h264_mvpred.h:33:0:
libavcodec/h264.h: In function ‘decode_mb_skip’:
libavcodec/h264.h:1334:9: error: implicit declaration of function
‘pred_pskip_motion’ [-Werror=implicit-function-declaration]
libavcodec/h264_mvpred.h: At top level:
libavcodec/h264_mvpred.h:235:30: warning: conflicting types for
‘pred_pskip_motion’ [enabled by default]
libavcodec/h264_mvpred.h:235:30: error: static declaration of
‘pred_pskip_motion’ follows non-static declaration
libavcodec/h264.h:1334:9: note: previous implicit declaration of
‘pred_pskip_motion’ was here
cc1: some warnings being treated as errors
make: *** [libavcodec/h264_mvpred.ho] Error 1
Diego
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel