1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-08-10 06:10:52 +02:00

configure: Add (h264|hevc)_sei subsystems

Currently, several components select atsc_a53, despite
not using anything from it themselves. They only select
it because parsing SEI messages adds an indirect dependency.
But using direct dependencies is more natural, so add
dedicated subsystems for them.

It already allows to remove a superfluous dependency of
the HEVC QSV encoder on hevc_sei and atsc_a53.

Adding new subsystems only becomes effective after a reconfiguration.
In order to force this, some needed headers (which are only included
implicitly before this commit) were included explicitly in
libavformat/allformats.c.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt
2022-06-27 17:41:34 +02:00
parent adf3b01158
commit 4d9c0b3efa
3 changed files with 17 additions and 9 deletions

14
configure vendored
View File

@@ -2450,7 +2450,9 @@ CONFIG_EXTRA="
h264parse h264parse
h264pred h264pred
h264qpel h264qpel
h264_sei
hevcparse hevcparse
hevc_sei
hpeldsp hpeldsp
huffman huffman
huffyuvdsp huffyuvdsp
@@ -2722,7 +2724,9 @@ faandct_select="fdctdsp"
faanidct_deps="faan" faanidct_deps="faan"
faanidct_select="idctdsp" faanidct_select="idctdsp"
h264dsp_select="startcode" h264dsp_select="startcode"
hevcparse_select="atsc_a53 golomb" h264_sei_select="atsc_a53 golomb"
hevcparse_select="golomb"
hevc_sei_select="atsc_a53 golomb"
frame_thread_encoder_deps="encoders threads" frame_thread_encoder_deps="encoders threads"
inflate_wrapper_deps="zlib" inflate_wrapper_deps="zlib"
intrax8_select="blockdsp wmv2dsp" intrax8_select="blockdsp wmv2dsp"
@@ -2820,12 +2824,12 @@ 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"
h263p_encoder_select="h263_encoder" h263p_encoder_select="h263_encoder"
h264_decoder_select="atsc_a53 cabac golomb h264chroma h264dsp h264parse h264pred h264qpel videodsp" h264_decoder_select="cabac golomb h264chroma h264dsp h264parse h264pred h264qpel h264_sei videodsp"
h264_decoder_suggest="error_resilience" h264_decoder_suggest="error_resilience"
hap_decoder_select="snappy texturedsp" hap_decoder_select="snappy texturedsp"
hap_encoder_deps="libsnappy" hap_encoder_deps="libsnappy"
hap_encoder_select="texturedspenc" hap_encoder_select="texturedspenc"
hevc_decoder_select="atsc_a53 bswapdsp cabac dovi_rpu golomb hevcparse videodsp" hevc_decoder_select="bswapdsp cabac dovi_rpu golomb hevcparse hevc_sei videodsp"
huffyuv_decoder_select="bswapdsp huffyuvdsp llviddsp" huffyuv_decoder_select="bswapdsp huffyuvdsp llviddsp"
huffyuv_encoder_select="bswapdsp huffman huffyuvencdsp llvidencdsp" huffyuv_encoder_select="bswapdsp huffman huffyuvencdsp llvidencdsp"
hymt_decoder_select="huffyuv_decoder" hymt_decoder_select="huffyuv_decoder"
@@ -3253,8 +3257,8 @@ av1_qsv_encoder_deps="libvpl"
# parsers # parsers
aac_parser_select="adts_header mpeg4audio" aac_parser_select="adts_header mpeg4audio"
av1_parser_select="cbs_av1" av1_parser_select="cbs_av1"
h264_parser_select="atsc_a53 golomb h264dsp h264parse" h264_parser_select="golomb h264dsp h264parse h264_sei"
hevc_parser_select="hevcparse" hevc_parser_select="hevcparse hevc_sei"
mpegaudio_parser_select="mpegaudioheader" mpegaudio_parser_select="mpegaudioheader"
mpeg4video_parser_select="h263dsp mpegvideodec qpeldsp" mpeg4video_parser_select="h263dsp mpegvideodec qpeldsp"
vc1_parser_select="vc1dsp" vc1_parser_select="vc1dsp"

View File

@@ -99,8 +99,9 @@ OBJS-$(CONFIG_H264DSP) += h264dsp.o h264idct.o
OBJS-$(CONFIG_H264PARSE) += h264_parse.o h2645_parse.o h264_ps.o OBJS-$(CONFIG_H264PARSE) += h264_parse.o h2645_parse.o h264_ps.o
OBJS-$(CONFIG_H264PRED) += h264pred.o OBJS-$(CONFIG_H264PRED) += h264pred.o
OBJS-$(CONFIG_H264QPEL) += h264qpel.o OBJS-$(CONFIG_H264QPEL) += h264qpel.o
OBJS-$(CONFIG_HEVCPARSE) += hevc_parse.o h2645_parse.o hevc_ps.o hevc_sei.o hevc_data.o \ OBJS-$(CONFIG_H264_SEI) += h264_sei.o
dynamic_hdr10_plus.o dynamic_hdr_vivid.o OBJS-$(CONFIG_HEVCPARSE) += hevc_parse.o h2645_parse.o hevc_ps.o hevc_data.o
OBJS-$(CONFIG_HEVC_SEI) += hevc_sei.o dynamic_hdr10_plus.o dynamic_hdr_vivid.o
OBJS-$(CONFIG_HPELDSP) += hpeldsp.o OBJS-$(CONFIG_HPELDSP) += hpeldsp.o
OBJS-$(CONFIG_HUFFMAN) += huffman.o OBJS-$(CONFIG_HUFFMAN) += huffman.o
OBJS-$(CONFIG_HUFFYUVDSP) += huffyuvdsp.o OBJS-$(CONFIG_HUFFYUVDSP) += huffyuvdsp.o
@@ -391,7 +392,7 @@ OBJS-$(CONFIG_H263_V4L2M2M_ENCODER) += v4l2_m2m_enc.o
OBJS-$(CONFIG_H264_DECODER) += h264dec.o h264_cabac.o h264_cavlc.o \ OBJS-$(CONFIG_H264_DECODER) += h264dec.o h264_cabac.o h264_cavlc.o \
h264_direct.o h264_loopfilter.o \ h264_direct.o h264_loopfilter.o \
h264_mb.o h264_picture.o \ h264_mb.o h264_picture.o \
h264_refs.o h264_sei.o \ h264_refs.o \
h264_slice.o h264data.o h274.o h264_slice.o h264data.o h274.o
OBJS-$(CONFIG_H264_AMF_ENCODER) += amfenc_h264.o OBJS-$(CONFIG_H264_AMF_ENCODER) += amfenc_h264.o
OBJS-$(CONFIG_H264_CUVID_DECODER) += cuviddec.o OBJS-$(CONFIG_H264_CUVID_DECODER) += cuviddec.o
@@ -1148,7 +1149,7 @@ OBJS-$(CONFIG_GIF_PARSER) += gif_parser.o
OBJS-$(CONFIG_GSM_PARSER) += gsm_parser.o OBJS-$(CONFIG_GSM_PARSER) += gsm_parser.o
OBJS-$(CONFIG_H261_PARSER) += h261_parser.o OBJS-$(CONFIG_H261_PARSER) += h261_parser.o
OBJS-$(CONFIG_H263_PARSER) += h263_parser.o OBJS-$(CONFIG_H263_PARSER) += h263_parser.o
OBJS-$(CONFIG_H264_PARSER) += h264_parser.o h264_sei.o h264data.o OBJS-$(CONFIG_H264_PARSER) += h264_parser.o h264data.o
OBJS-$(CONFIG_HEVC_PARSER) += hevc_parser.o hevc_data.o OBJS-$(CONFIG_HEVC_PARSER) += hevc_parser.o hevc_data.o
OBJS-$(CONFIG_HDR_PARSER) += hdr_parser.o OBJS-$(CONFIG_HDR_PARSER) += hdr_parser.o
OBJS-$(CONFIG_IPU_PARSER) += ipu_parser.o OBJS-$(CONFIG_IPU_PARSER) += ipu_parser.o

View File

@@ -20,6 +20,9 @@
*/ */
#include <stdatomic.h> #include <stdatomic.h>
#include <stddef.h>
#include <stdint.h>
#include "libavformat/internal.h" #include "libavformat/internal.h"
#include "avformat.h" #include "avformat.h"