From 4d9c0b3efa4199cf05ad2404d23ca4a8c2e6668a Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Mon, 27 Jun 2022 17:41:34 +0200 Subject: [PATCH] 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 --- configure | 14 +++++++++----- libavcodec/Makefile | 9 +++++---- libavformat/allformats.c | 3 +++ 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/configure b/configure index 5cb80bf1ea..0d754e7ae9 100755 --- a/configure +++ b/configure @@ -2450,7 +2450,9 @@ CONFIG_EXTRA=" h264parse h264pred h264qpel + h264_sei hevcparse + hevc_sei hpeldsp huffman huffyuvdsp @@ -2722,7 +2724,9 @@ faandct_select="fdctdsp" faanidct_deps="faan" faanidct_select="idctdsp" 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" inflate_wrapper_deps="zlib" intrax8_select="blockdsp wmv2dsp" @@ -2820,12 +2824,12 @@ h263_encoder_select="h263dsp mpegvideoenc" h263i_decoder_select="h263_decoder" h263p_decoder_select="h263_decoder" 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" hap_decoder_select="snappy texturedsp" hap_encoder_deps="libsnappy" 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_encoder_select="bswapdsp huffman huffyuvencdsp llvidencdsp" hymt_decoder_select="huffyuv_decoder" @@ -3253,8 +3257,8 @@ av1_qsv_encoder_deps="libvpl" # parsers aac_parser_select="adts_header mpeg4audio" av1_parser_select="cbs_av1" -h264_parser_select="atsc_a53 golomb h264dsp h264parse" -hevc_parser_select="hevcparse" +h264_parser_select="golomb h264dsp h264parse h264_sei" +hevc_parser_select="hevcparse hevc_sei" mpegaudio_parser_select="mpegaudioheader" mpeg4video_parser_select="h263dsp mpegvideodec qpeldsp" vc1_parser_select="vc1dsp" diff --git a/libavcodec/Makefile b/libavcodec/Makefile index 0bc7943d16..8b2d85168c 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -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_H264PRED) += h264pred.o OBJS-$(CONFIG_H264QPEL) += h264qpel.o -OBJS-$(CONFIG_HEVCPARSE) += hevc_parse.o h2645_parse.o hevc_ps.o hevc_sei.o hevc_data.o \ - dynamic_hdr10_plus.o dynamic_hdr_vivid.o +OBJS-$(CONFIG_H264_SEI) += h264_sei.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_HUFFMAN) += huffman.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 \ h264_direct.o h264_loopfilter.o \ h264_mb.o h264_picture.o \ - h264_refs.o h264_sei.o \ + h264_refs.o \ h264_slice.o h264data.o h274.o OBJS-$(CONFIG_H264_AMF_ENCODER) += amfenc_h264.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_H261_PARSER) += h261_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_HDR_PARSER) += hdr_parser.o OBJS-$(CONFIG_IPU_PARSER) += ipu_parser.o diff --git a/libavformat/allformats.c b/libavformat/allformats.c index 47c419a009..62262ae935 100644 --- a/libavformat/allformats.c +++ b/libavformat/allformats.c @@ -20,6 +20,9 @@ */ #include +#include +#include + #include "libavformat/internal.h" #include "avformat.h"