[FFmpeg-devel] [PATCH] sbcdec: do not unnecessarily set frame properties
Anton Khirnov
anton at khirnov.net
Wed Jan 29 19:00:16 EET 2020
Decoders are supposed to export stream properties in AVCodecContext, the
AVFrame properties are set from those in ff_get_buffer().
---
libavcodec/sbcdec.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/libavcodec/sbcdec.c b/libavcodec/sbcdec.c
index d8ea6855fe..2ebde46627 100644
--- a/libavcodec/sbcdec.c
+++ b/libavcodec/sbcdec.c
@@ -324,6 +324,8 @@ static int sbc_decode_init(AVCodecContext *avctx)
SBCDecContext *sbc = avctx->priv_data;
int i, ch;
+ avctx->sample_fmt = AV_SAMPLE_FMT_S16P;
+
sbc->frame.crc_ctx = av_crc_get_table(AV_CRC_8_EBU);
memset(sbc->dsp.V, 0, sizeof(sbc->dsp.V));
@@ -348,9 +350,8 @@ static int sbc_decode_frame(AVCodecContext *avctx,
if (frame_length <= 0)
return frame_length;
- avctx->channels =
- frame->channels = sbc->frame.channels;
- frame->format = AV_SAMPLE_FMT_S16P;
+ avctx->channels = sbc->frame.channels;
+
frame->nb_samples = sbc->frame.blocks * sbc->frame.subbands;
if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
return ret;
--
2.24.1
More information about the ffmpeg-devel
mailing list