1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

Reduce MAKE_ACCESSORS code duplication via a new header.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
This commit is contained in:
Reimar Döffinger 2013-08-08 20:02:46 +02:00
parent 55a88daf6f
commit a48979d715
4 changed files with 6 additions and 11 deletions

View File

@ -26,6 +26,7 @@
*/
#include "config.h"
#include "libavutil/accessors.h"
#include "libavutil/atomic.h"
#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
@ -1029,10 +1030,6 @@ void avcodec_free_frame(AVFrame **frame)
av_freep(frame);
}
#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; }
MAKE_ACCESSORS(AVCodecContext, codec, AVRational, pkt_timebase)
MAKE_ACCESSORS(AVCodecContext, codec, const AVCodecDescriptor *, codec_descriptor)
MAKE_ACCESSORS(AVCodecContext, codec, int, lowres)

View File

@ -25,6 +25,7 @@
#include "libavcodec/internal.h"
#include "libavcodec/raw.h"
#include "libavcodec/bytestream.h"
#include "libavutil/accessors.h"
#include "libavutil/avassert.h"
#include "libavutil/opt.h"
#include "libavutil/dict.h"
@ -98,10 +99,6 @@ static int64_t wrap_timestamp(AVStream *st, int64_t timestamp)
return 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; }
MAKE_ACCESSORS(AVStream, stream, AVRational, r_frame_rate)
/* an arbitrarily chosen "sane" max packet size -- 50M */

3
libavutil/accessors.h Normal file
View File

@ -0,0 +1,3 @@
#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; }

View File

@ -27,9 +27,7 @@
#include "mem.h"
#include "samplefmt.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; }
#include "accessors.h"
MAKE_ACCESSORS(AVFrame, frame, int64_t, best_effort_timestamp)
MAKE_ACCESSORS(AVFrame, frame, int64_t, pkt_duration)