mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-01-17 12:51:36 +00:00
Merge commit '1f8eb69079880ef1f394c498dfdf471f91222a06'
* commit '1f8eb69079880ef1f394c498dfdf471f91222a06': mpegvideo: move encoding-only initialization from common_init() to encode_init() Conflicts: libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
20b28fc7b0
@ -1048,30 +1048,6 @@ av_cold int ff_MPV_common_init(MpegEncContext *s)
|
|||||||
|
|
||||||
s->stream_codec_tag = avpriv_toupper4(s->avctx->stream_codec_tag);
|
s->stream_codec_tag = avpriv_toupper4(s->avctx->stream_codec_tag);
|
||||||
|
|
||||||
s->avctx->coded_frame = &s->current_picture.f;
|
|
||||||
|
|
||||||
if (s->encoding) {
|
|
||||||
if (s->msmpeg4_version) {
|
|
||||||
FF_ALLOCZ_OR_GOTO(s->avctx, s->ac_stats,
|
|
||||||
2 * 2 * (MAX_LEVEL + 1) *
|
|
||||||
(MAX_RUN + 1) * 2 * sizeof(int), fail);
|
|
||||||
}
|
|
||||||
FF_ALLOCZ_OR_GOTO(s->avctx, s->avctx->stats_out, 256, fail);
|
|
||||||
|
|
||||||
FF_ALLOCZ_OR_GOTO(s->avctx, s->q_intra_matrix, 64 * 32 * sizeof(int), fail)
|
|
||||||
FF_ALLOCZ_OR_GOTO(s->avctx, s->q_chroma_intra_matrix, 64 * 32 * sizeof(int), fail)
|
|
||||||
FF_ALLOCZ_OR_GOTO(s->avctx, s->q_inter_matrix, 64 * 32 * sizeof(int), fail)
|
|
||||||
FF_ALLOCZ_OR_GOTO(s->avctx, s->q_intra_matrix16, 64 * 32 * 2 * sizeof(uint16_t), fail)
|
|
||||||
FF_ALLOCZ_OR_GOTO(s->avctx, s->q_chroma_intra_matrix16, 64 * 32 * 2 * sizeof(uint16_t), fail)
|
|
||||||
FF_ALLOCZ_OR_GOTO(s->avctx, s->q_inter_matrix16, 64 * 32 * 2 * sizeof(uint16_t), fail)
|
|
||||||
FF_ALLOCZ_OR_GOTO(s->avctx, s->input_picture, MAX_PICTURE_COUNT * sizeof(Picture *), fail)
|
|
||||||
FF_ALLOCZ_OR_GOTO(s->avctx, s->reordered_input_picture, MAX_PICTURE_COUNT * sizeof(Picture *), fail)
|
|
||||||
|
|
||||||
if (s->avctx->noise_reduction) {
|
|
||||||
FF_ALLOCZ_OR_GOTO(s->avctx, s->dct_offset, 2 * 64 * sizeof(uint16_t), fail);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
FF_ALLOCZ_OR_GOTO(s->avctx, s->picture,
|
FF_ALLOCZ_OR_GOTO(s->avctx, s->picture,
|
||||||
MAX_PICTURE_COUNT * sizeof(Picture), fail);
|
MAX_PICTURE_COUNT * sizeof(Picture), fail);
|
||||||
for (i = 0; i < MAX_PICTURE_COUNT; i++) {
|
for (i = 0; i < MAX_PICTURE_COUNT; i++) {
|
||||||
|
@ -837,6 +837,31 @@ av_cold int ff_MPV_encode_init(AVCodecContext *avctx)
|
|||||||
if (ff_MPV_common_init(s) < 0)
|
if (ff_MPV_common_init(s) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
s->avctx->coded_frame = &s->current_picture.f;
|
||||||
|
|
||||||
|
if (s->msmpeg4_version) {
|
||||||
|
FF_ALLOCZ_OR_GOTO(s->avctx, s->ac_stats,
|
||||||
|
2 * 2 * (MAX_LEVEL + 1) *
|
||||||
|
(MAX_RUN + 1) * 2 * sizeof(int), fail);
|
||||||
|
}
|
||||||
|
FF_ALLOCZ_OR_GOTO(s->avctx, s->avctx->stats_out, 256, fail);
|
||||||
|
|
||||||
|
FF_ALLOCZ_OR_GOTO(s->avctx, s->q_intra_matrix, 64 * 32 * sizeof(int), fail);
|
||||||
|
FF_ALLOCZ_OR_GOTO(s->avctx, s->q_chroma_intra_matrix, 64 * 32 * sizeof(int), fail);
|
||||||
|
FF_ALLOCZ_OR_GOTO(s->avctx, s->q_inter_matrix, 64 * 32 * sizeof(int), fail);
|
||||||
|
FF_ALLOCZ_OR_GOTO(s->avctx, s->q_intra_matrix16, 64 * 32 * 2 * sizeof(uint16_t), fail);
|
||||||
|
FF_ALLOCZ_OR_GOTO(s->avctx, s->q_chroma_intra_matrix16, 64 * 32 * 2 * sizeof(uint16_t), fail);
|
||||||
|
FF_ALLOCZ_OR_GOTO(s->avctx, s->q_inter_matrix16, 64 * 32 * 2 * sizeof(uint16_t), fail);
|
||||||
|
FF_ALLOCZ_OR_GOTO(s->avctx, s->input_picture,
|
||||||
|
MAX_PICTURE_COUNT * sizeof(Picture *), fail);
|
||||||
|
FF_ALLOCZ_OR_GOTO(s->avctx, s->reordered_input_picture,
|
||||||
|
MAX_PICTURE_COUNT * sizeof(Picture *), fail);
|
||||||
|
|
||||||
|
if (s->avctx->noise_reduction) {
|
||||||
|
FF_ALLOCZ_OR_GOTO(s->avctx, s->dct_offset,
|
||||||
|
2 * 64 * sizeof(uint16_t), fail);
|
||||||
|
}
|
||||||
|
|
||||||
ff_dct_encode_init(s);
|
ff_dct_encode_init(s);
|
||||||
|
|
||||||
if ((CONFIG_H263P_ENCODER || CONFIG_RV20_ENCODER) && s->modified_quant)
|
if ((CONFIG_H263P_ENCODER || CONFIG_RV20_ENCODER) && s->modified_quant)
|
||||||
@ -916,6 +941,9 @@ av_cold int ff_MPV_encode_init(AVCodecContext *avctx)
|
|||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
fail:
|
||||||
|
ff_MPV_encode_end(avctx);
|
||||||
|
return AVERROR_UNKNOWN;
|
||||||
}
|
}
|
||||||
|
|
||||||
av_cold int ff_MPV_encode_end(AVCodecContext *avctx)
|
av_cold int ff_MPV_encode_end(AVCodecContext *avctx)
|
||||||
|
Loading…
Reference in New Issue
Block a user