mirror of
https://gitee.com/openharmony/third_party_ffmpeg
synced 2024-11-23 19:30:05 +00:00
lavc: remove disabled FF_API_OLD_DECODE_AUDIO cruft
This commit is contained in:
parent
6327c10702
commit
5d606863c3
@ -487,11 +487,6 @@ typedef struct AVCodecDescriptor {
|
||||
*/
|
||||
#define AV_CODEC_PROP_LOSSLESS (1 << 2)
|
||||
|
||||
#if FF_API_OLD_DECODE_AUDIO
|
||||
/* in bytes */
|
||||
#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000 // 1 second of 48khz 32bit audio
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @ingroup lavc_decoding
|
||||
* Required number of additionally allocated bytes at the end of the input bitstream for decoding.
|
||||
@ -3360,66 +3355,6 @@ void avcodec_align_dimensions(AVCodecContext *s, int *width, int *height);
|
||||
void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height,
|
||||
int linesize_align[AV_NUM_DATA_POINTERS]);
|
||||
|
||||
#if FF_API_OLD_DECODE_AUDIO
|
||||
/**
|
||||
* Wrapper function which calls avcodec_decode_audio4.
|
||||
*
|
||||
* @deprecated Use avcodec_decode_audio4 instead.
|
||||
*
|
||||
* Decode the audio frame of size avpkt->size from avpkt->data into samples.
|
||||
* Some decoders may support multiple frames in a single AVPacket, such
|
||||
* decoders would then just decode the first frame. In this case,
|
||||
* avcodec_decode_audio3 has to be called again with an AVPacket that contains
|
||||
* the remaining data in order to decode the second frame etc.
|
||||
* If no frame
|
||||
* could be outputted, frame_size_ptr is zero. Otherwise, it is the
|
||||
* decompressed frame size in bytes.
|
||||
*
|
||||
* @warning You must set frame_size_ptr to the allocated size of the
|
||||
* output buffer before calling avcodec_decode_audio3().
|
||||
*
|
||||
* @warning The input buffer must be FF_INPUT_BUFFER_PADDING_SIZE larger than
|
||||
* the actual read bytes because some optimized bitstream readers read 32 or 64
|
||||
* bits at once and could read over the end.
|
||||
*
|
||||
* @warning The end of the input buffer avpkt->data should be set to 0 to ensure that
|
||||
* no overreading happens for damaged MPEG streams.
|
||||
*
|
||||
* @warning You must not provide a custom get_buffer() when using
|
||||
* avcodec_decode_audio3(). Doing so will override it with
|
||||
* avcodec_default_get_buffer. Use avcodec_decode_audio4() instead,
|
||||
* which does allow the application to provide a custom get_buffer().
|
||||
*
|
||||
* @note You might have to align the input buffer avpkt->data and output buffer
|
||||
* samples. The alignment requirements depend on the CPU: On some CPUs it isn't
|
||||
* necessary at all, on others it won't work at all if not aligned and on others
|
||||
* it will work but it will have an impact on performance.
|
||||
*
|
||||
* In practice, avpkt->data should have 4 byte alignment at minimum and
|
||||
* samples should be 16 byte aligned unless the CPU doesn't need it
|
||||
* (AltiVec and SSE do).
|
||||
*
|
||||
* @note Codecs which have the CODEC_CAP_DELAY capability set have a delay
|
||||
* between input and output, these need to be fed with avpkt->data=NULL,
|
||||
* avpkt->size=0 at the end to return the remaining frames.
|
||||
*
|
||||
* @param avctx the codec context
|
||||
* @param[out] samples the output buffer, sample type in avctx->sample_fmt
|
||||
* If the sample format is planar, each channel plane will
|
||||
* be the same size, with no padding between channels.
|
||||
* @param[in,out] frame_size_ptr the output buffer size in bytes
|
||||
* @param[in] avpkt The input AVPacket containing the input buffer.
|
||||
* You can create such packet with av_init_packet() and by then setting
|
||||
* data and size, some decoders might in addition need other fields.
|
||||
* All decoders are designed to use the least fields possible though.
|
||||
* @return On error a negative value is returned, otherwise the number of bytes
|
||||
* used or zero if no frame data was decompressed (used) from the input AVPacket.
|
||||
*/
|
||||
attribute_deprecated int avcodec_decode_audio3(AVCodecContext *avctx, int16_t *samples,
|
||||
int *frame_size_ptr,
|
||||
AVPacket *avpkt);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Decode the audio frame of size avpkt->size from avpkt->data into frame.
|
||||
*
|
||||
|
@ -1523,54 +1523,6 @@ int attribute_align_arg avcodec_decode_video2(AVCodecContext *avctx, AVFrame *pi
|
||||
return ret;
|
||||
}
|
||||
|
||||
#if FF_API_OLD_DECODE_AUDIO
|
||||
int attribute_align_arg avcodec_decode_audio3(AVCodecContext *avctx, int16_t *samples,
|
||||
int *frame_size_ptr,
|
||||
AVPacket *avpkt)
|
||||
{
|
||||
AVFrame frame = { { 0 } };
|
||||
int ret, got_frame = 0;
|
||||
|
||||
if (avctx->get_buffer != avcodec_default_get_buffer) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Custom get_buffer() for use with"
|
||||
"avcodec_decode_audio3() detected. Overriding with avcodec_default_get_buffer\n");
|
||||
av_log(avctx, AV_LOG_ERROR, "Please port your application to "
|
||||
"avcodec_decode_audio4()\n");
|
||||
avctx->get_buffer = avcodec_default_get_buffer;
|
||||
}
|
||||
|
||||
ret = avcodec_decode_audio4(avctx, &frame, &got_frame, avpkt);
|
||||
|
||||
if (ret >= 0 && got_frame) {
|
||||
int ch, plane_size;
|
||||
int planar = av_sample_fmt_is_planar(avctx->sample_fmt);
|
||||
int data_size = av_samples_get_buffer_size(&plane_size, avctx->channels,
|
||||
frame.nb_samples,
|
||||
avctx->sample_fmt, 1);
|
||||
if (*frame_size_ptr < data_size) {
|
||||
av_log(avctx, AV_LOG_ERROR, "output buffer size is too small for "
|
||||
"the current frame (%d < %d)\n", *frame_size_ptr, data_size);
|
||||
return AVERROR(EINVAL);
|
||||
}
|
||||
|
||||
memcpy(samples, frame.extended_data[0], plane_size);
|
||||
|
||||
if (planar && avctx->channels > 1) {
|
||||
uint8_t *out = ((uint8_t *)samples) + plane_size;
|
||||
for (ch = 1; ch < avctx->channels; ch++) {
|
||||
memcpy(out, frame.extended_data[ch], plane_size);
|
||||
out += plane_size;
|
||||
}
|
||||
}
|
||||
*frame_size_ptr = data_size;
|
||||
} else {
|
||||
*frame_size_ptr = 0;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
int attribute_align_arg avcodec_decode_audio4(AVCodecContext *avctx,
|
||||
AVFrame *frame,
|
||||
int *got_frame_ptr,
|
||||
|
@ -49,9 +49,6 @@
|
||||
#ifndef FF_API_REQUEST_CHANNELS
|
||||
#define FF_API_REQUEST_CHANNELS (LIBAVCODEC_VERSION_MAJOR < 56)
|
||||
#endif
|
||||
#ifndef FF_API_OLD_DECODE_AUDIO
|
||||
#define FF_API_OLD_DECODE_AUDIO (LIBAVCODEC_VERSION_MAJOR < 55)
|
||||
#endif
|
||||
#ifndef FF_API_OLD_ENCODE_AUDIO
|
||||
#define FF_API_OLD_ENCODE_AUDIO (LIBAVCODEC_VERSION_MAJOR < 55)
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user