configure: Add new mpegvideodec CONFIG_EXTRA

This allows to remove the spurious dependencies of mpegvideo encoders
on error_resilience; some other components that do not use mpegvideo
to its fullest turned out to not need it either.

Adding a new CONFIG_EXTRA needs a reconfigure to take effect.
In order to force this a few unnecessary headers from lavfi/allfilters.c
have been removed.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt 2021-12-24 02:13:41 +01:00
parent d83479bec1
commit ab54956edd
5 changed files with 19 additions and 18 deletions

26
configure vendored
View File

@ -2478,6 +2478,7 @@ CONFIG_EXTRA="
mpegaudioheader mpegaudioheader
mpeg4audio mpeg4audio
mpegvideo mpegvideo
mpegvideodec
mpegvideoenc mpegvideoenc
mss34dsp mss34dsp
pixblockdsp pixblockdsp
@ -2727,7 +2728,8 @@ me_cmp_select="fdctdsp idctdsp pixblockdsp"
mpeg_er_select="error_resilience" mpeg_er_select="error_resilience"
mpegaudio_select="mpegaudiodsp mpegaudioheader" mpegaudio_select="mpegaudiodsp mpegaudioheader"
mpegaudiodsp_select="dct" mpegaudiodsp_select="dct"
mpegvideo_select="blockdsp h264chroma hpeldsp idctdsp me_cmp mpeg_er videodsp" mpegvideo_select="blockdsp h264chroma hpeldsp idctdsp me_cmp videodsp"
mpegvideodec_select="mpegvideo mpeg_er"
mpegvideoenc_select="aandcttables me_cmp mpegvideo pixblockdsp qpeldsp" mpegvideoenc_select="aandcttables me_cmp mpegvideo pixblockdsp qpeldsp"
vc1dsp_select="h264chroma qpeldsp startcode" vc1dsp_select="h264chroma qpeldsp startcode"
rdft_select="fft" rdft_select="fft"
@ -2816,9 +2818,9 @@ fraps_decoder_select="bswapdsp huffman"
g2m_decoder_deps="zlib" g2m_decoder_deps="zlib"
g2m_decoder_select="blockdsp idctdsp jpegtables" g2m_decoder_select="blockdsp idctdsp jpegtables"
g729_decoder_select="audiodsp" g729_decoder_select="audiodsp"
h261_decoder_select="mpegvideo" h261_decoder_select="mpegvideodec"
h261_encoder_select="mpegvideoenc" h261_encoder_select="mpegvideoenc"
h263_decoder_select="h263_parser h263dsp mpegvideo qpeldsp" h263_decoder_select="h263_parser h263dsp mpegvideodec qpeldsp"
h263_encoder_select="h263dsp mpegvideoenc" h263_encoder_select="h263dsp mpegvideoenc"
h263i_decoder_select="h263_decoder" h263i_decoder_select="h263_decoder"
h263p_decoder_select="h263_decoder" h263p_decoder_select="h263_decoder"
@ -2840,7 +2842,7 @@ indeo3_decoder_select="hpeldsp"
indeo4_decoder_select="ividsp" indeo4_decoder_select="ividsp"
indeo5_decoder_select="ividsp" indeo5_decoder_select="ividsp"
interplay_video_decoder_select="hpeldsp" interplay_video_decoder_select="hpeldsp"
ipu_decoder_select="mpegvideo" ipu_decoder_select="mpegvideodec"
jpegls_decoder_select="mjpeg_decoder" jpegls_decoder_select="mjpeg_decoder"
jv_decoder_select="blockdsp" jv_decoder_select="blockdsp"
lagarith_decoder_select="llviddsp" lagarith_decoder_select="llviddsp"
@ -2870,10 +2872,10 @@ mp3on4_decoder_select="mpegaudio mpeg4audio"
mp3on4float_decoder_select="mpegaudio mpeg4audio" mp3on4float_decoder_select="mpegaudio mpeg4audio"
mpc7_decoder_select="bswapdsp mpegaudiodsp" mpc7_decoder_select="bswapdsp mpegaudiodsp"
mpc8_decoder_select="mpegaudiodsp" mpc8_decoder_select="mpegaudiodsp"
mpegvideo_decoder_select="mpegvideo" mpegvideo_decoder_select="mpegvideodec"
mpeg1video_decoder_select="mpegvideo" mpeg1video_decoder_select="mpegvideodec"
mpeg1video_encoder_select="mpegvideoenc h263dsp" mpeg1video_encoder_select="mpegvideoenc h263dsp"
mpeg2video_decoder_select="mpegvideo" mpeg2video_decoder_select="mpegvideodec"
mpeg2video_encoder_select="mpegvideoenc h263dsp" mpeg2video_encoder_select="mpegvideoenc h263dsp"
mpeg4_decoder_select="h263_decoder mpeg4video_parser" mpeg4_decoder_select="h263_decoder mpeg4video_parser"
mpeg4_encoder_select="h263_encoder" mpeg4_encoder_select="h263_encoder"
@ -2884,7 +2886,7 @@ msmpeg4v2_decoder_select="h263_decoder"
msmpeg4v2_encoder_select="h263_encoder" msmpeg4v2_encoder_select="h263_encoder"
msmpeg4v3_decoder_select="h263_decoder" msmpeg4v3_decoder_select="h263_decoder"
msmpeg4v3_encoder_select="h263_encoder" msmpeg4v3_encoder_select="h263_encoder"
mss2_decoder_select="mpegvideo qpeldsp vc1_decoder" mss2_decoder_select="mpegvideodec qpeldsp vc1_decoder"
mts2_decoder_select="jpegtables mss34dsp" mts2_decoder_select="jpegtables mss34dsp"
mv30_decoder_select="aandcttables blockdsp" mv30_decoder_select="aandcttables blockdsp"
mvha_decoder_deps="zlib" mvha_decoder_deps="zlib"
@ -2917,8 +2919,8 @@ rv10_decoder_select="h263_decoder"
rv10_encoder_select="h263_encoder" rv10_encoder_select="h263_encoder"
rv20_decoder_select="h263_decoder" rv20_decoder_select="h263_decoder"
rv20_encoder_select="h263_encoder" rv20_encoder_select="h263_encoder"
rv30_decoder_select="golomb h264pred h264qpel mpegvideo rv34dsp" rv30_decoder_select="golomb h264pred h264qpel mpegvideodec rv34dsp"
rv40_decoder_select="golomb h264pred h264qpel mpegvideo rv34dsp" rv40_decoder_select="golomb h264pred h264qpel mpegvideodec rv34dsp"
screenpresso_decoder_deps="zlib" screenpresso_decoder_deps="zlib"
shorten_decoder_select="bswapdsp" shorten_decoder_select="bswapdsp"
sipr_decoder_select="lsp" sipr_decoder_select="lsp"
@ -2954,7 +2956,7 @@ txd_decoder_select="texturedsp"
utvideo_decoder_select="bswapdsp llviddsp" utvideo_decoder_select="bswapdsp llviddsp"
utvideo_encoder_select="bswapdsp huffman llvidencdsp" utvideo_encoder_select="bswapdsp huffman llvidencdsp"
vble_decoder_select="llviddsp" vble_decoder_select="llviddsp"
vc1_decoder_select="blockdsp h263_decoder h264qpel intrax8 mpegvideo vc1dsp" vc1_decoder_select="blockdsp h263_decoder h264qpel intrax8 mpegvideodec vc1dsp"
vc1image_decoder_select="vc1_decoder" vc1image_decoder_select="vc1_decoder"
vorbis_decoder_select="mdct" vorbis_decoder_select="mdct"
vorbis_encoder_select="audio_frame_queue mdct" vorbis_encoder_select="audio_frame_queue mdct"
@ -3250,7 +3252,7 @@ h264_parser_select="atsc_a53 golomb h264dsp h264parse"
hevc_parser_select="hevcparse" hevc_parser_select="hevcparse"
mpegaudio_parser_select="mpegaudioheader" mpegaudio_parser_select="mpegaudioheader"
mpegvideo_parser_select="mpegvideo" mpegvideo_parser_select="mpegvideo"
mpeg4video_parser_select="h263dsp mpegvideo qpeldsp" mpeg4video_parser_select="h263dsp mpegvideodec qpeldsp"
vc1_parser_select="vc1dsp" vc1_parser_select="vc1dsp"
# bitstream_filters # bitstream_filters

View File

@ -125,10 +125,11 @@ OBJS-$(CONFIG_MPEGAUDIODSP) += mpegaudiodsp.o \
mpegaudiodsp_float.o mpegaudiodsp_float.o
OBJS-$(CONFIG_MPEGAUDIOHEADER) += mpegaudiodecheader.o mpegaudiotabs.o OBJS-$(CONFIG_MPEGAUDIOHEADER) += mpegaudiodecheader.o mpegaudiotabs.o
OBJS-$(CONFIG_MPEG4AUDIO) += mpeg4audio.o mpeg4audio_sample_rates.o OBJS-$(CONFIG_MPEG4AUDIO) += mpeg4audio.o mpeg4audio_sample_rates.o
OBJS-$(CONFIG_MPEGVIDEO) += mpegvideo.o mpegvideo_dec.o mpegvideodsp.o rl.o \ OBJS-$(CONFIG_MPEGVIDEO) += mpegvideo.o mpegvideodsp.o rl.o \
mpegvideo_motion.o mpegutils.o \ mpegvideo_motion.o \
mpegvideodata.o mpegpicture.o \ mpegvideodata.o mpegpicture.o \
to_upper4.o to_upper4.o
OBJS-$(CONFIG_MPEGVIDEODEC) += mpegvideo_dec.o mpegutils.o
OBJS-$(CONFIG_MPEGVIDEOENC) += mpegvideo_enc.o mpeg12data.o \ OBJS-$(CONFIG_MPEGVIDEOENC) += mpegvideo_enc.o mpeg12data.o \
motion_est.o ratecontrol.o \ motion_est.o ratecontrol.o \
mpegvideoencdsp.o mpegvideoencdsp.o

View File

@ -939,7 +939,7 @@ static int finalize_frame(H264Context *h, AVFrame *dst, H264Picture *out, int *g
*got_frame = 1; *got_frame = 1;
if (CONFIG_MPEGVIDEO) { if (CONFIG_MPEGVIDEODEC) {
ff_print_debug_info2(h->avctx, dst, NULL, ff_print_debug_info2(h->avctx, dst, NULL,
out->mb_type, out->mb_type,
out->qscale_table, out->qscale_table,

View File

@ -658,7 +658,7 @@ int ff_mpv_init_context_frame(MpegEncContext *s)
return AVERROR(ENOMEM); return AVERROR(ENOMEM);
memset(s->mbintra_table, 1, mb_array_size); memset(s->mbintra_table, 1, mb_array_size);
return s->encoding ? 0 : ff_mpeg_er_init(s); return !CONFIG_MPEGVIDEODEC || s->encoding ? 0 : ff_mpeg_er_init(s);
} }
static void clear_context(MpegEncContext *s) static void clear_context(MpegEncContext *s)

View File

@ -19,9 +19,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/ */
#include "libavutil/thread.h"
#include "avfilter.h" #include "avfilter.h"
#include "config.h"
extern const AVFilter ff_af_abench; extern const AVFilter ff_af_abench;
extern const AVFilter ff_af_acompressor; extern const AVFilter ff_af_acompressor;