summaryrefslogtreecommitdiff
path: root/libavcodec/encode.h
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/encode.h')
-rw-r--r--libavcodec/encode.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/libavcodec/encode.h b/libavcodec/encode.h
index bc77918d8f..d660a81d87 100644
--- a/libavcodec/encode.h
+++ b/libavcodec/encode.h
@@ -21,7 +21,10 @@
#ifndef AVCODEC_ENCODE_H
#define AVCODEC_ENCODE_H
+#include "libavutil/attributes.h"
+#include "libavutil/avutil.h"
#include "libavutil/frame.h"
+#include "libavutil/mathematics.h"
#include "avcodec.h"
#include "packet.h"
@@ -75,4 +78,16 @@ int ff_alloc_packet(AVCodecContext *avctx, AVPacket *avpkt, int64_t size);
*/
int ff_encode_preinit(AVCodecContext *avctx);
+/**
+ * Rescale from sample rate to AVCodecContext.time_base.
+ */
+static av_always_inline int64_t ff_samples_to_time_base(AVCodecContext *avctx,
+ int64_t samples)
+{
+ if(samples == AV_NOPTS_VALUE)
+ return AV_NOPTS_VALUE;
+ return av_rescale_q(samples, (AVRational){ 1, avctx->sample_rate },
+ avctx->time_base);
+}
+
#endif /* AVCODEC_ENCODE_H */