summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/avcodec.h22
-rw-r--r--libavcodec/utils.c9
-rw-r--r--libavcodec/version.h4
3 files changed, 29 insertions, 6 deletions
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index b2279ea9ef..2e56a021db 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -1244,7 +1244,7 @@ typedef struct AVFrame {
/**
* frame timestamp estimated using various heuristics, in stream time base
* Code outside libavcodec should access this field using:
- * av_opt_ptr(avcodec_get_frame_class(), frame, "best_effort_timestamp");
+ * av_frame_get_best_effort_timestamp(frame)
* - encoding: unused
* - decoding: set by libavcodec, read by user.
*/
@@ -1253,7 +1253,7 @@ typedef struct AVFrame {
/**
* reordered pos from the last AVPacket that has been input into the decoder
* Code outside libavcodec should access this field using:
- * av_opt_ptr(avcodec_get_frame_class(), frame, "pkt_pos");
+ * av_frame_get_pkt_pos(frame)
* - encoding: unused
* - decoding: Read by user.
*/
@@ -1264,7 +1264,7 @@ typedef struct AVFrame {
* - encoding: unused
* - decoding: read by user.
* Code outside libavcodec should access this field using:
- * av_opt_ptr(avcodec_get_frame_class(), frame, "channel_layout")
+ * av_frame_get_channel_layout(frame)
*/
int64_t channel_layout;
@@ -1273,12 +1273,26 @@ typedef struct AVFrame {
* - encoding: unused
* - decoding: read by user.
* Code outside libavcodec should access this field using:
- * av_opt_ptr(avcodec_get_frame_class(), frame, "sample_rate")
+ * av_frame_get_channel_layout(frame)
*/
int sample_rate;
} AVFrame;
+/**
+ * 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);
+int64_t av_frame_get_pkt_pos (const AVFrame *frame);
+int64_t av_frame_get_channel_layout (const AVFrame *frame);
+int av_frame_get_sample_rate (const AVFrame *frame);
+void av_frame_set_best_effort_timestamp(AVFrame *frame, int64_t val);
+void av_frame_set_pkt_pos (AVFrame *frame, int64_t val);
+void av_frame_set_channel_layout (AVFrame *frame, int64_t val);
+void av_frame_set_sample_rate (AVFrame *frame, int val);
+
struct AVCodecInternal;
enum AVFieldOrder {
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 4b6ddeae1c..71227e942a 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -672,6 +672,15 @@ AVFrame *avcodec_alloc_frame(void){
return pic;
}
+#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(AVFrame, frame, int64_t, best_effort_timestamp)
+MAKE_ACCESSORS(AVFrame, frame, int64_t, pkt_pos)
+MAKE_ACCESSORS(AVFrame, frame, int64_t, channel_layout)
+MAKE_ACCESSORS(AVFrame, frame, int, sample_rate)
+
static void avcodec_get_subtitle_defaults(AVSubtitle *sub)
{
memset(sub, 0, sizeof(*sub));
diff --git a/libavcodec/version.h b/libavcodec/version.h
index 23ce1db05f..3852e6b614 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -27,8 +27,8 @@
*/
#define LIBAVCODEC_VERSION_MAJOR 54
-#define LIBAVCODEC_VERSION_MINOR 17
-#define LIBAVCODEC_VERSION_MICRO 101
+#define LIBAVCODEC_VERSION_MINOR 18
+#define LIBAVCODEC_VERSION_MICRO 100
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
LIBAVCODEC_VERSION_MINOR, \