[FFmpeg-devel] [PATCH] avutil/frame: deprecate getters and setters for AVFrame fields
James Almer
jamrial at gmail.com
Mon Oct 23 17:13:52 EEST 2017
The fields can be accessed directly, so these are not needed anymore.
Signed-off-by: James Almer <jamrial at gmail.com>
---
libavutil/frame.c | 2 ++
libavutil/frame.h | 26 ++++++++++++++++++++++++++
libavutil/version.h | 3 +++
3 files changed, 31 insertions(+)
diff --git a/libavutil/frame.c b/libavutil/frame.c
index 09dd98a6b5..982fbb5c81 100644
--- a/libavutil/frame.c
+++ b/libavutil/frame.c
@@ -31,6 +31,7 @@ static AVFrameSideData *frame_new_side_data(AVFrame *frame,
enum AVFrameSideDataType type,
AVBufferRef *buf);
+#if FF_API_FRAME_GET_SET
MAKE_ACCESSORS(AVFrame, frame, int64_t, best_effort_timestamp)
MAKE_ACCESSORS(AVFrame, frame, int64_t, pkt_duration)
MAKE_ACCESSORS(AVFrame, frame, int64_t, pkt_pos)
@@ -42,6 +43,7 @@ MAKE_ACCESSORS(AVFrame, frame, int, decode_error_flags)
MAKE_ACCESSORS(AVFrame, frame, int, pkt_size)
MAKE_ACCESSORS(AVFrame, frame, enum AVColorSpace, colorspace)
MAKE_ACCESSORS(AVFrame, frame, enum AVColorRange, color_range)
+#endif
#define CHECK_CHANNELS_CONSISTENCY(frame) \
av_assert2(!(frame)->channel_layout || \
diff --git a/libavutil/frame.h b/libavutil/frame.h
index fef558ea2f..0c6aab1c02 100644
--- a/libavutil/frame.h
+++ b/libavutil/frame.h
@@ -565,36 +565,62 @@ typedef struct AVFrame {
*/
} AVFrame;
+#if FF_API_FRAME_GET_SET
/**
* Accessors for some AVFrame fields. These used to be provided for ABI
* compatibility, and do not need to be used anymore.
*/
+attribute_deprecated
int64_t av_frame_get_best_effort_timestamp(const AVFrame *frame);
+attribute_deprecated
void av_frame_set_best_effort_timestamp(AVFrame *frame, int64_t val);
+attribute_deprecated
int64_t av_frame_get_pkt_duration (const AVFrame *frame);
+attribute_deprecated
void av_frame_set_pkt_duration (AVFrame *frame, int64_t val);
+attribute_deprecated
int64_t av_frame_get_pkt_pos (const AVFrame *frame);
+attribute_deprecated
void av_frame_set_pkt_pos (AVFrame *frame, int64_t val);
+attribute_deprecated
int64_t av_frame_get_channel_layout (const AVFrame *frame);
+attribute_deprecated
void av_frame_set_channel_layout (AVFrame *frame, int64_t val);
+attribute_deprecated
int av_frame_get_channels (const AVFrame *frame);
+attribute_deprecated
void av_frame_set_channels (AVFrame *frame, int val);
+attribute_deprecated
int av_frame_get_sample_rate (const AVFrame *frame);
+attribute_deprecated
void av_frame_set_sample_rate (AVFrame *frame, int val);
+attribute_deprecated
AVDictionary *av_frame_get_metadata (const AVFrame *frame);
+attribute_deprecated
void av_frame_set_metadata (AVFrame *frame, AVDictionary *val);
+attribute_deprecated
int av_frame_get_decode_error_flags (const AVFrame *frame);
+attribute_deprecated
void av_frame_set_decode_error_flags (AVFrame *frame, int val);
+attribute_deprecated
int av_frame_get_pkt_size(const AVFrame *frame);
+attribute_deprecated
void av_frame_set_pkt_size(AVFrame *frame, int val);
#if FF_API_FRAME_QP
+attribute_deprecated
int8_t *av_frame_get_qp_table(AVFrame *f, int *stride, int *type);
+attribute_deprecated
int av_frame_set_qp_table(AVFrame *f, AVBufferRef *buf, int stride, int type);
#endif
+attribute_deprecated
enum AVColorSpace av_frame_get_colorspace(const AVFrame *frame);
+attribute_deprecated
void av_frame_set_colorspace(AVFrame *frame, enum AVColorSpace val);
+attribute_deprecated
enum AVColorRange av_frame_get_color_range(const AVFrame *frame);
+attribute_deprecated
void av_frame_set_color_range(AVFrame *frame, enum AVColorRange val);
+#endif
/**
* Get the name of a colorspace.
diff --git a/libavutil/version.h b/libavutil/version.h
index aa56ad2fbd..7b4ae9beab 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -136,6 +136,9 @@
#ifndef FF_API_CRYPTO_SIZE_T
#define FF_API_CRYPTO_SIZE_T (LIBAVUTIL_VERSION_MAJOR < 57)
#endif
+#ifndef FF_API_FRAME_GET_SET
+#define FF_API_FRAME_GET_SET (LIBAVUTIL_VERSION_MAJOR < 57)
+#endif
/**
--
2.14.2
More information about the ffmpeg-devel
mailing list