[FFmpeg-cvslog] lavu/avframe: add a time_base field

Lynne git at videolan.org
Fri Dec 3 23:41:34 EET 2021


ffmpeg | branch: master | Lynne <dev at lynne.ee> | Thu Nov 25 18:26:20 2021 +0100| [b236ef0a594e20038b4045e2fecd414f1886d212] | committer: Lynne

lavu/avframe: add a time_base field

This adds a time_base field to AVFrame, as an analogue to the
AVPacket.time_base field.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b236ef0a594e20038b4045e2fecd414f1886d212
---

 doc/APIchanges      | 3 +++
 libavutil/frame.c   | 2 ++
 libavutil/frame.h   | 8 ++++++++
 libavutil/version.h | 2 +-
 4 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/doc/APIchanges b/doc/APIchanges
index bc9f4e38da..4788dd576d 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -14,6 +14,9 @@ libavutil:     2021-04-27
 
 API changes, most recent first:
 
+2021-12-03 - xxxxxxxxxx - lavu 57.10.100 - frame.h
+  Add AVFrame.time_base
+
 2021-11-22 - xxxxxxxxxx - lavu 57.9.100 - pixfmt.h
   Add AV_PIX_FMT_P210, AV_PIX_FMT_P410, AV_PIX_FMT_P216, and AV_PIX_FMT_P416.
 
diff --git a/libavutil/frame.c b/libavutil/frame.c
index d4d3ad6988..64eed5b0dd 100644
--- a/libavutil/frame.c
+++ b/libavutil/frame.c
@@ -63,6 +63,7 @@ static void get_frame_defaults(AVFrame *frame)
     frame->pkt_duration        = 0;
     frame->pkt_pos             = -1;
     frame->pkt_size            = -1;
+    frame->time_base           = (AVRational){ 0, 1 };
     frame->key_frame           = 1;
     frame->sample_aspect_ratio = (AVRational){ 0, 1 };
     frame->format              = -1; /* unknown */
@@ -278,6 +279,7 @@ static int frame_copy_props(AVFrame *dst, const AVFrame *src, int force_copy)
     dst->pkt_pos                = src->pkt_pos;
     dst->pkt_size               = src->pkt_size;
     dst->pkt_duration           = src->pkt_duration;
+    dst->time_base              = src->time_base;
     dst->reordered_opaque       = src->reordered_opaque;
     dst->quality                = src->quality;
     dst->best_effort_timestamp  = src->best_effort_timestamp;
diff --git a/libavutil/frame.h b/libavutil/frame.h
index 753234792e..882b5afbde 100644
--- a/libavutil/frame.h
+++ b/libavutil/frame.h
@@ -421,6 +421,14 @@ typedef struct AVFrame {
      */
     int64_t pkt_dts;
 
+    /**
+     * Time base for the timestamps in this frame.
+     * In the future, this field may be set on frames output by decoders or
+     * filters, but its value will be by default ignored on input to encoders
+     * or filters.
+     */
+    AVRational time_base;
+
     /**
      * picture number in bitstream order
      */
diff --git a/libavutil/version.h b/libavutil/version.h
index a2615cd299..017fc277a6 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -79,7 +79,7 @@
  */
 
 #define LIBAVUTIL_VERSION_MAJOR  57
-#define LIBAVUTIL_VERSION_MINOR   9
+#define LIBAVUTIL_VERSION_MINOR  10
 #define LIBAVUTIL_VERSION_MICRO 101
 
 #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \



More information about the ffmpeg-cvslog mailing list