Hi,

On Tue, Jul 12, 2011 at 10:39 AM, Diego Biurrun <[email protected]> wrote:
> 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

Don't include h264_mvpred.h directly, instead include h264.h?

Ronald
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to