[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