aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/utils.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-02-21 02:49:41 +0100
committerMichael Niedermayer <michaelni@gmx.at>2012-02-21 05:10:12 +0100
commiteadd4264ee4319abf9ec2f618ff925d7529f20ed (patch)
tree4251d4eb25af927cb290e24d1b6957d584638403 /libavcodec/utils.c
parenta923b6b8f4f90d09c7c39cc8bfab7ee9d30a2843 (diff)
parent770a5c6d025e9c8eb3f5aba9cf1d7d7938fb918a (diff)
downloadffmpeg-eadd4264ee4319abf9ec2f618ff925d7529f20ed.tar.gz
Merge remote-tracking branch 'qatar/master'
* qatar/master: (36 commits) adpcmenc: Use correct frame_size for Yamaha ADPCM. avcodec: add ff_samples_to_time_base() convenience function to internal.h adx parser: set duration mlp parser: set duration instead of frame_size gsm parser: set duration mpegaudio parser: set duration instead of frame_size (e)ac3 parser: set duration instead of frame_size flac parser: set duration instead of frame_size avcodec: add duration field to AVCodecParserContext avutil: add av_rescale_q_rnd() to allow different rounding pnmdec: remove useless .pix_fmts libmp3lame: support float and s32 sample formats libmp3lame: renaming, rearrangement, alignment, and comments libmp3lame: use the LAME default bit rate libmp3lame: use avpriv_mpegaudio_decode_header() for output frame parsing libmp3lame: cosmetics: remove some pointless comments libmp3lame: convert some debugging code to av_dlog() libmp3lame: remove outdated comment. libmp3lame: do not set coded_frame->key_frame. libmp3lame: improve error handling in MP3lame_encode_init() ... Conflicts: doc/APIchanges libavcodec/libmp3lame.c libavcodec/pcxenc.c libavcodec/pnmdec.c libavcodec/pnmenc.c libavcodec/sgienc.c libavcodec/utils.c libavformat/hls.c libavutil/avutil.h libswscale/x86/swscale_mmx.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/utils.c')
-rw-r--r--libavcodec/utils.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index c559fd7613..4c6823ea76 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -993,9 +993,8 @@ int attribute_align_arg avcodec_encode_audio2(AVCodecContext *avctx,
if (!ret && *got_packet_ptr) {
if (!(avctx->codec->capabilities & CODEC_CAP_DELAY)) {
avpkt->pts = frame->pts;
- avpkt->duration = av_rescale_q(frame->nb_samples,
- (AVRational){ 1, avctx->sample_rate },
- avctx->time_base);
+ avpkt->duration = ff_samples_to_time_base(avctx,
+ frame->nb_samples);
}
avpkt->dts = avpkt->pts;
} else {
@@ -1053,9 +1052,8 @@ int attribute_align_arg avcodec_encode_audio2(AVCodecContext *avctx,
once all encoders supporting CODEC_CAP_SMALL_LAST_FRAME use
encode2() */
if (fs_tmp) {
- avpkt->duration = av_rescale_q(avctx->frame_size,
- (AVRational){ 1, avctx->sample_rate },
- avctx->time_base);
+ avpkt->duration = ff_samples_to_time_base(avctx,
+ avctx->frame_size);
}
}
avpkt->size = ret;
@@ -1128,9 +1126,8 @@ int attribute_align_arg avcodec_encode_audio(AVCodecContext *avctx,
this is needed because the avcodec_encode_audio() API does not have
a way for the user to provide pts */
if(avctx->sample_rate && avctx->time_base.num)
- frame->pts = av_rescale_q(avctx->internal->sample_count,
- (AVRational){ 1, avctx->sample_rate },
- avctx->time_base);
+ frame->pts = ff_samples_to_time_base(avctx,
+ avctx->internal->sample_count);
else
frame->pts = AV_NOPTS_VALUE;
avctx->internal->sample_count += frame->nb_samples;