[FFmpeg-cvslog] avcodec: remove deprecated old audio encode API
Hendrik Leppkes
git at videolan.org
Sat Sep 5 21:28:31 CEST 2015
ffmpeg | branch: master | Hendrik Leppkes <h.leppkes at gmail.com> | Sat Sep 5 21:11:44 2015 +0200| [64c33f9624eeed375e7a73fba46700d7ba18adc8] | committer: Hendrik Leppkes
avcodec: remove deprecated old audio encode API
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=64c33f9624eeed375e7a73fba46700d7ba18adc8
---
libavcodec/avcodec.h | 30 -----------------
libavcodec/internal.h | 8 -----
libavcodec/utils.c | 89 -------------------------------------------------
libavcodec/version.h | 3 --
4 files changed, 130 deletions(-)
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index bc9db05..35e7e60 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -4558,36 +4558,6 @@ AVCodec *avcodec_find_encoder(enum AVCodecID id);
*/
AVCodec *avcodec_find_encoder_by_name(const char *name);
-#if FF_API_OLD_ENCODE_AUDIO
-/**
- * Encode an audio frame from samples into buf.
- *
- * @deprecated Use avcodec_encode_audio2 instead.
- *
- * @note The output buffer should be at least FF_MIN_BUFFER_SIZE bytes large.
- * However, for codecs with avctx->frame_size equal to 0 (e.g. PCM) the user
- * will know how much space is needed because it depends on the value passed
- * in buf_size as described below. In that case a lower value can be used.
- *
- * @param avctx the codec context
- * @param[out] buf the output buffer
- * @param[in] buf_size the output buffer size
- * @param[in] samples the input buffer containing the samples
- * The number of samples read from this buffer is frame_size*channels,
- * both of which are defined in avctx.
- * For codecs which have avctx->frame_size equal to 0 (e.g. PCM) the number of
- * samples read from samples is equal to:
- * buf_size * 8 / (avctx->channels * av_get_bits_per_sample(avctx->codec_id))
- * This also implies that av_get_bits_per_sample() must not return 0 for these
- * codecs.
- * @return On error a negative value is returned, on success zero or the number
- * of bytes used to encode the data read from the input buffer.
- */
-int attribute_deprecated avcodec_encode_audio(AVCodecContext *avctx,
- uint8_t *buf, int buf_size,
- const short *samples);
-#endif
-
/**
* Encode a frame of audio.
*
diff --git a/libavcodec/internal.h b/libavcodec/internal.h
index f93a196..ce4cf75 100644
--- a/libavcodec/internal.h
+++ b/libavcodec/internal.h
@@ -114,14 +114,6 @@ typedef struct AVCodecInternal {
*/
int allocate_progress;
-#if FF_API_OLD_ENCODE_AUDIO
- /**
- * Internal sample count used by avcodec_encode_audio() to fabricate pts.
- * Can be removed along with avcodec_encode_audio().
- */
- int64_t sample_count;
-#endif
-
/**
* An audio frame with less than required samples has been submitted and
* padded with silence. Reject all subsequent frames.
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index b6312b2..549e579 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -1813,95 +1813,6 @@ end:
return ret;
}
-#if FF_API_OLD_ENCODE_AUDIO
-int attribute_align_arg avcodec_encode_audio(AVCodecContext *avctx,
- uint8_t *buf, int buf_size,
- const short *samples)
-{
- AVPacket pkt;
- AVFrame *frame;
- int ret, samples_size, got_packet;
-
- av_init_packet(&pkt);
- pkt.data = buf;
- pkt.size = buf_size;
-
- if (samples) {
- frame = av_frame_alloc();
- if (!frame)
- return AVERROR(ENOMEM);
-
- if (avctx->frame_size) {
- frame->nb_samples = avctx->frame_size;
- } else {
- /* if frame_size is not set, the number of samples must be
- * calculated from the buffer size */
- int64_t nb_samples;
- if (!av_get_bits_per_sample(avctx->codec_id)) {
- av_log(avctx, AV_LOG_ERROR, "avcodec_encode_audio() does not "
- "support this codec\n");
- av_frame_free(&frame);
- return AVERROR(EINVAL);
- }
- nb_samples = (int64_t)buf_size * 8 /
- (av_get_bits_per_sample(avctx->codec_id) *
- avctx->channels);
- if (nb_samples >= INT_MAX) {
- av_frame_free(&frame);
- return AVERROR(EINVAL);
- }
- frame->nb_samples = nb_samples;
- }
-
- /* it is assumed that the samples buffer is large enough based on the
- * relevant parameters */
- samples_size = av_samples_get_buffer_size(NULL, avctx->channels,
- frame->nb_samples,
- avctx->sample_fmt, 1);
- if ((ret = avcodec_fill_audio_frame(frame, avctx->channels,
- avctx->sample_fmt,
- (const uint8_t *)samples,
- samples_size, 1)) < 0) {
- av_frame_free(&frame);
- return ret;
- }
-
- /* fabricate frame pts from sample count.
- * 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 = ff_samples_to_time_base(avctx,
- avctx->internal->sample_count);
- else
- frame->pts = AV_NOPTS_VALUE;
- avctx->internal->sample_count += frame->nb_samples;
- } else {
- frame = NULL;
- }
-
- got_packet = 0;
- ret = avcodec_encode_audio2(avctx, &pkt, frame, &got_packet);
-#if FF_API_CODED_FRAME
-FF_DISABLE_DEPRECATION_WARNINGS
- if (!ret && got_packet && avctx->coded_frame) {
- avctx->coded_frame->pts = pkt.pts;
- avctx->coded_frame->key_frame = !!(pkt.flags & AV_PKT_FLAG_KEY);
- }
-FF_ENABLE_DEPRECATION_WARNINGS
-#endif
-
- /* free any side data since we cannot return it */
- av_packet_free_side_data(&pkt);
-
- if (frame && frame->extended_data != frame->data)
- av_freep(&frame->extended_data);
-
- av_frame_free(&frame);
- return ret ? ret : pkt.size;
-}
-
-#endif
-
#if FF_API_OLD_ENCODE_VIDEO
int attribute_align_arg avcodec_encode_video(AVCodecContext *avctx, uint8_t *buf, int buf_size,
const AVFrame *pict)
diff --git a/libavcodec/version.h b/libavcodec/version.h
index 454ddcd..5a76b7f 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -55,9 +55,6 @@
#ifndef FF_API_VIMA_DECODER
#define FF_API_VIMA_DECODER (LIBAVCODEC_VERSION_MAJOR < 57)
#endif
-#ifndef FF_API_OLD_ENCODE_AUDIO
-#define FF_API_OLD_ENCODE_AUDIO (LIBAVCODEC_VERSION_MAJOR < 57)
-#endif
#ifndef FF_API_OLD_ENCODE_VIDEO
#define FF_API_OLD_ENCODE_VIDEO (LIBAVCODEC_VERSION_MAJOR < 57)
#endif
More information about the ffmpeg-cvslog
mailing list