[FFmpeg-devel] libavcodec/pthread.c:138: error: no previous prototype for 'avcodec_thread_execute2'
Måns Rullgård
mans
Tue Mar 9 14:05:24 CET 2010
Benoit Fouet <benoit.fouet at free.fr> writes:
>> > Index: libavcodec/w32thread.c
>> > ===================================================================
>> > --- libavcodec/w32thread.c (revision 22379)
>> > +++ libavcodec/w32thread.c (working copy)
>> > @@ -93,7 +93,7 @@ void avcodec_thread_free(AVCodecContext
>> > av_freep(&s->thread_opaque);
>> > }
>> >
>> > -int avcodec_thread_execute(AVCodecContext *s, int (*func)(AVCodecContext *c2, void *arg2),void *arg, int *ret, int count, int size){
>> > +static int avcodec_thread_execute(AVCodecContext *s, int (*func)(AVCodecContext *c2, void *arg2),void *arg, int *ret, int count, int size){
>> > ThreadContext *c= s->thread_opaque;
>> > int i;
>> > int jobnr = 0;
>> > Index: libavcodec/options.c
>> > ===================================================================
>> > --- libavcodec/options.c (revision 22379)
>> > +++ libavcodec/options.c (working copy)
>> > @@ -26,6 +26,7 @@
>> >
>> > #include "avcodec.h"
>> > #include "opt.h"
>> > +#include "internal.h"
>> > #include <float.h> /* FLT_MIN, FLT_MAX */
>> >
>> > static const char* context_to_name(void* ptr) {
>>
>> Why?
>>
>
> because of the needed definition of avcodec_default_execute and
> avcodec_default_execute2 which are now there.
>
>> > Index: libavcodec/internal.h
>> > ===================================================================
>> > --- libavcodec/internal.h (revision 22379)
>> > +++ libavcodec/internal.h (working copy)
>> > @@ -48,4 +48,7 @@ AVHWAccel *ff_find_hwaccel(enum CodecID
>> > */
>> > int ff_match_2uint16(const uint16_t (*tab)[2], int size, int a, int b);
>> >
>> > +int avcodec_default_execute(AVCodecContext *c, int (*func)(AVCodecContext *c2, void *arg2),void *arg, int *ret, int count, int size);
>> > +int avcodec_default_execute2(AVCodecContext *c, int (*func)(AVCodecContext *c2, void *arg2, int, int),void *arg, int *ret, int count);
>> > +
>>
>> This looks wrong. You're making the functions definitions static, so
>> there should be no prototypes in headers. This shouldn't even compile.
>>
>
> No, I am not. I think you are mixing avcodec_default_execute* and
> avcodec_thread_execute* definitions, aren't you ?
You're right. I confused the two.
--
M?ns Rullg?rd
mans at mansr.com
More information about the ffmpeg-devel
mailing list