ffmpeg_function: av_frame_get_best_effort_timestamp


在ffmpeg-2.7.1\libavutil\frame.h里面有

/**
 * Accessors for some AVFrame fields.
 * The position of these field in the structure is not part of the ABI,
 * they should not be accessed directly outside libavcodec.
 */
int64_t av_frame_get_best_effort_timestamp(const AVFrame *frame);
void    av_frame_set_best_effort_timestamp(AVFrame *frame, int64_t val);


这2个函数是由宏定义的,搜索实现是搜索不到的。



在ffmpeg-2.7.1\libavutil\internal.h里面有

#define MAKE_ACCESSORS(str, name, type, field) \
    type av_##name##_get_##field(const str *s) { return s->field; } \
    void av_##name##_set_##field(str *s, type v) { s->field = v; }

在ffmpeg-2.7.1\libavutil\frame.h里面有

MAKE_ACCESSORS(AVFrame, frame, int64_t, best_effort_timestamp)

根据上面几个定义可得:



void    av_frame_get_best_effort_timestamp(AVFrame *frame);
void    av_frame_set_best_effort_timestamp(AVFrame *frame, int64_t val);

MAKE_ACCESSORS(AVFrame, frame, int64_t, best_effort_timestamp)

#define MAKE_ACCESSORS(str, name, type, field) \
    type av_##name##_get_##field(const str *s) { return s->field; } \
    void av_##name##_set_##field(str *s, type v) { s->field = v; }
	
	
type av_frame_get_best_effort_timestamp(const AVFrame *s) { return s->best_effort_timestamp; }
void av_frame_set_best_effort_timestamp(AVFrame *s, int64_t v) { s->best_effort_timestamp = v; }

这样我们就可以知道了。。。


你可能感兴趣的:(ffmpeg_function: av_frame_get_best_effort_timestamp)