mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-12 19:18:44 +02:00
avcodec/mpegvideo_enc: Initialize dct_unquantize_int(ra|er) only once
For encoders, mpeg_quant is an option of the MPEG-4 encoder and therefore constant. This implies that one can set the dct_unquantize_(intra|inter) function pointers during init. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
parent
5d5b87f688
commit
ed5a438f05
@ -880,6 +880,17 @@ av_cold int ff_mpv_encode_init(AVCodecContext *avctx)
|
||||
|
||||
ff_dct_encode_init(s);
|
||||
|
||||
if (s->mpeg_quant || s->codec_id == AV_CODEC_ID_MPEG2VIDEO) {
|
||||
s->dct_unquantize_intra = s->dct_unquantize_mpeg2_intra;
|
||||
s->dct_unquantize_inter = s->dct_unquantize_mpeg2_inter;
|
||||
} else if (s->out_format == FMT_H263 || s->out_format == FMT_H261) {
|
||||
s->dct_unquantize_intra = s->dct_unquantize_h263_intra;
|
||||
s->dct_unquantize_inter = s->dct_unquantize_h263_inter;
|
||||
} else {
|
||||
s->dct_unquantize_intra = s->dct_unquantize_mpeg1_intra;
|
||||
s->dct_unquantize_inter = s->dct_unquantize_mpeg1_inter;
|
||||
}
|
||||
|
||||
if ((CONFIG_H263P_ENCODER || CONFIG_RV20_ENCODER) && s->modified_quant)
|
||||
s->chroma_qscale_table = ff_h263_chroma_qscale_table;
|
||||
|
||||
@ -1723,17 +1734,6 @@ static int frame_start(MpegEncContext *s)
|
||||
}
|
||||
}
|
||||
|
||||
if (s->mpeg_quant || s->codec_id == AV_CODEC_ID_MPEG2VIDEO) {
|
||||
s->dct_unquantize_intra = s->dct_unquantize_mpeg2_intra;
|
||||
s->dct_unquantize_inter = s->dct_unquantize_mpeg2_inter;
|
||||
} else if (s->out_format == FMT_H263 || s->out_format == FMT_H261) {
|
||||
s->dct_unquantize_intra = s->dct_unquantize_h263_intra;
|
||||
s->dct_unquantize_inter = s->dct_unquantize_h263_inter;
|
||||
} else {
|
||||
s->dct_unquantize_intra = s->dct_unquantize_mpeg1_intra;
|
||||
s->dct_unquantize_inter = s->dct_unquantize_mpeg1_inter;
|
||||
}
|
||||
|
||||
if (s->dct_error_sum) {
|
||||
av_assert2(s->noise_reduction && s->encoding);
|
||||
update_noise_reduction(s);
|
||||
|
Loading…
Reference in New Issue
Block a user