From patchwork Sat Jul 2 22:21:43 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36600 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:8b27:b0:88:1bbf:7fd2 with SMTP id l39csp1883711pzh; Sat, 2 Jul 2022 15:22:31 -0700 (PDT) X-Google-Smtp-Source: AGRyM1thpL90dq9/osW9lTqANN2BLV2K6wKLdTZXHpivEnP8EeCuJxIVAgnuitUeargav3Yvddge X-Received: by 2002:a17:907:7288:b0:712:174:8745 with SMTP id dt8-20020a170907728800b0071201748745mr21731113ejc.268.1656800551240; Sat, 02 Jul 2022 15:22:31 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id ga39-20020a1709070c2700b00726b4dfce1esi6531629ejc.167.2022.07.02.15.22.30; Sat, 02 Jul 2022 15:22:31 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=MuXNnywQ; arc=fail (body hash mismatch); spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8354268B948; Sun, 3 Jul 2022 01:22:25 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2106.outbound.protection.outlook.com [40.92.89.106]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 28C5A68B92F for ; Sun, 3 Jul 2022 01:22:19 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ga1qXNQr55/eUC9JNWhLcMMDgURlBdbRbfYgPECRz0GNveIu9K5J38+HOV7xwkERGBLrtDdZnh7T7yDWtfxCyPTibwkHYLHKQgT1WPRsuaVTNH7TXBbFwwgMSqf/9tLCfWhzMRPLuZIEe4C834ExNMNOcOrnP6P5gvhRbelMr03So52IcNz7+uLiapaSELmcupWBHYDF5Z/2le1QXFWZ9XMBsQP9tDnmA8UpQpNJvGmc8frQC21UNxUiMiunSsLmGLm7cet6aG8PhfwhyqISPiw5o9c1yDtO6UDe5lx144JOixfJW39baQYU3PEAzluiQQwYgVP2beT8i5iWmBuRNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=MjeVr5fSXTIeJ1Zb/YLwc3c0Z4caKYeeIkkiOf98QpI=; b=iUPB0IMG4+56URLe9QIbiCc3GrJMfORxgpVRSKh7hIPrB6rDQ1UZV1i0pO/Uink83IJ23ijFoOfJRWhO5+baci8/BRsEBpHEPm7EzFku/50QSZYA9+boF/wTXKCBWFkwVOuwnNhuralr7xruY8ynUQnqS6VfrbCUgN0Ve8cv0NYGJMt0LENxAFxCvoDa3btSl6OUECJJSd7YgTCvdOj19Sw7PLo5CwRCe+AAPB/e9XbsN32BF1H9avNylZID6K7T9ZLjGDEzh3ZjcXzjGC0au5JbasD6b+y/GqUM1/ggV9CJbRk5ZQ1W/VNNNjRHawkaPaA4MMLyZwzNpW4DK3Os/w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MjeVr5fSXTIeJ1Zb/YLwc3c0Z4caKYeeIkkiOf98QpI=; b=MuXNnywQ3bE+dQafMPnx9ACZClGlfpij1EsY7wSxsT0ZfM6ko7sgDsIeE8Okt7HuG3nsQsPezKZbfPaDmn6FWAx7NhZrFp60Ek6ihJ/cbw43W4ls8O1os1vnBnG9p9DV7nUrts+uDM2duG3WygUer7V/1s9pzkxm4qppy4YecYgwZQMSW2kXxkpie5KbBC9e8L1mbfVe5ccAazX609hPSv7Sf6KATBa2l8u1rOB1+Zz6s9C2duBY2pfKJhYamZYX2Ii++hjLWfB2ohEDbKuR4DwnyIYQASIn7MTwOyvjwNV72iCIfdR6emACj6NnkEaiXoX+rQy45aE58ktXI+qIBg== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by VI1PR01MB4240.eurprd01.prod.exchangelabs.com (2603:10a6:803:6e::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.14; Sat, 2 Jul 2022 22:22:13 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c%10]) with mapi id 15.20.5395.018; Sat, 2 Jul 2022 22:22:13 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sun, 3 Jul 2022 00:21:43 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [KQ+CKvFZTbfW1xLdL29DKfflwimDtdLL] X-ClientProxiedBy: FR3P281CA0089.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1f::18) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <20220702222200.169681-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 92423f68-a5c8-4232-7a57-08da5c79500d X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiRfEAUNR0l8e+jWTbrQIj13wdduN0QOJfIjJW32WbKk0MtRY1zgJ7ceUiVUhXHpaC1yfX/FvBmZ0kK/QU493BZ7pD/vWCepb4vNY+Xq89Tev5qXhCwEHAOt7hnSPaWst5aKhKMJtneSRrO+ZZFSY4hIDpoKw9QmLJj9d9OKOQrumgiIRSMldx4zuwHkgX6v38k9Xd/zvpLsFVrv633uX4i/5m+Fps964A2/5JAW9EFmkKDjfKn3z9dDh1ecOEUmTkwxAOx6B/csV77AMpCVxI25etOU84lTwic6j5mLTQ7vGazkIznZK2KUrejgnPpqlm1X7iKRGeMQK30HEYLSGiNvcTqf7ajwXaBDjVO+LiW/mm3vSNC6xlU7yYNHooo5vgRIXJ5Q0pwzq1F04Ava/litk1artsxvdFsjMQDKhX9z1EjCcwqIOr1X8j78sKN1Hng2v3KBDOW92mk7d8nKmVfbJJ85ZgGmkyS3JpNAXawSVXzZxdwxzcJZjmIIlfgztZmPhK/5/eAhxOMosuv1mJbyRy7nfvP3RUEbJjYIJCDBN0eMlvr6RohEAYbJST3GI128XFVCz5pz/0HCWwyu/h7vYvRNwqJTlSM8ZOWDmHNX+gyrSn097CrMJm6TTRo0+ndI10McUKD5Dz9IiDtXkICTZz0vQVHC3CRkpMhoU5KX09tI37Lb8Mcrcxe5J8Z6Jv+5XyDrBlK8NYDTI843IbzmyW4c53nIZMApN3yL8koa3+GheWcbQ4EZafz28OfkZwQ= X-MS-TrafficTypeDiagnostic: VI1PR01MB4240:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zfAmwZs/s0gm7+kdNQaxwtKKyv2NAv8betihdFbGmrG9WEHa7vhK6MWT949KX3sIyuXx5eFDvh/pc1Uyg9R4ohBkJsaRBILR76LQw1Vq+jBIQ9tQynVD2TJ1vn5hmmcIRzIpfRbxSR5ae4zNtHQulaXAIrEyKxXN+V5V9p8cHuPuIQ1Ms+Z68aqc6wr+lJDBnrdjcRN6HewABKdgTrgT8w7+CsTbmB3bcdd4foV99tCqygERpEhQPNkiL98WOimen97Myyw6JfXiDPyHw7HK4aznuGxYRGe1jpDIgkprmQvneuq1xKettoZSaNg7YyIDh0qQYoT7PlPxoEuMgIEZynTvytVbqXdU1DoR7J42G0h/rEj3zC6u+tfuv9uWMbdUMqix8aiLmNc5ICH3u0SOxDZ/JyYKJPwQaHQTtSS8XxUfIS+TvQkEa8G2SFH6/fnG6OOqDQBabFqdRZG7bqEGphyBCiTY9xwePzbrLjDEQWGLfl0xNLjZV60kq0/+NwQrRrgiOT0eTRCAn82spUO6vg2VruwE9a2+3Ig1a0/Yy25Knlv9uEBxlYKJ7JNINNxRGjaaRUKQGIojgNKWvH68dkUJppYvqV0o5g0TD3jtTmbVZtdu1KwVqa9dqcfZsc7MDdaXaDVyEkDu4sqrAvfl+g== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 9P+mPfRiU4zGsTJDaceWNN8dbp6fA7vKKjNf3YOgVZmk2W1WqQq/cSim0Qqv3J/MJVvotY4zkqfO9I9a6RFFNJ7mE2JnQ2/sjI9AaWzTWsC87hmsBSj6KXUZynFz/kYmFXtIihPTBy4K6aAr9Awkiz3ZDZVcxcejy/yMhgRfU9fRi2ZtnFmyq+7NO0PF5/CuWOb69WHdkuwVqhauKY9HQ6RFEuQxBzke3Z/VPQ+5mWTZX7iO0I61JPNRxrQIQddp/vebvc73M4PQPZcoxT4Y/Bi3hdMkzrNgF3KuXCgGezKl2CEMy+KpzidKBWkixjkJeGxOc/LR0UrRnoSxBC3G2f80Yqa2NaZX299Co/gZFdTpktNbZ1gDzeTAyRlYmIuTfhkVEOuWdhz2tNkeGh+fO1P2o6KZeLe58Rt4Aphf8Eb1P7u4vLj4mghE6CW78tn6021Bx27f7tFn2ZbhGLFvDb+pc4DK8QjjSHGUnoyRruoNttWhGR+U1PB3uaXtTMUrgQ5b71QuE4JcS6bGbJuJAq227xDnpkBQ7R2ka72Djq7rueShJTAN9SJ36nNTYVCaJqFcnkxznoJXBraAp635h5E21ZAD3MHGt5IfTaxUMgaWi0Lu4etY1e8XXG2yk4+7K+p9zAdMBvlez0rsFeqJNpBAe+JZwpvCA6sjzPdK1gsvx9Uhsb0b9OyZUG+m07sIJR6UChzOpKq+U0Oi2XGvo4ZVziA0D8BnGCu/syk3j+CuW1wvkHdv6TmK8P0TwWoiOf47IQ70Exq73VozCo6dVCv0SIEWtnzW6e5vUErIH/Rmq0clJDD+TbRkiyaRGq8lfuVnZhlVDIFiDDW/fptpEwjaAGB+DlJEchLP6VBSp1roaikvJXJ27fGP8PTt5Qdc58cw1hjEoXAvWxYHpkPD5xFyoXxfsRi4qWlWNJIOZlOuIaOnBf1/eSp09h8rairqSEjcwR77Y9xnfmVcnsIYdaCnO9n/spDDuh+zJ3ho36JrAUZGPvmkHzjm8ndtUjNhFv9PIha6gLd9qflFnnW4bXL2bN6WSSgEUed+ZsXjAjb0DQ15fyQ/Yr/0elWE2MXydwxZsyKhxs9UPLwE2hRxEPkwVDjOfS6QLVzgAjHQBbzG00Tq78OLeDCskHfTj2elQJLUH2fvLx7KKsW1PpQcXk3szugMRUJGzdq+rZzlOClENzOLqCDEGr0hZKuu23TcQK+XPgxtJ3hE/HsR3I4V0axaCX561H2QZ/OJWvP/LqqPwebHTsUi27C0swtLouzg9KpNS/sO6PO+YrEflbyb+oW3KCKM77BeFb2wUBALSXY= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 92423f68-a5c8-4232-7a57-08da5c79500d X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jul 2022 22:22:13.2664 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB4240 Subject: [FFmpeg-devel] [PATCH 03/20] configure: Add (h264|hevc)_sei subsystems X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: +R3gftIvviik 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 fea512e8ef..65c368df8c 100755 --- a/configure +++ b/configure @@ -2459,7 +2459,9 @@ CONFIG_EXTRA=" h264parse h264pred h264qpel + h264_sei hevcparse + hevc_sei hpeldsp huffman huffyuvdsp @@ -2728,7 +2730,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 idctdsp" @@ -2835,12 +2839,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="atsc_a53 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" @@ -3252,8 +3256,8 @@ av1_qsv_decoder_select="qsvdec" # 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" mpegvideo_parser_select="mpegvideo" mpeg4video_parser_select="h263dsp mpegvideodec qpeldsp" diff --git a/libavcodec/Makefile b/libavcodec/Makefile index 050934101c..52ea46e645 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -100,8 +100,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 @@ -383,7 +384,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 @@ -1138,7 +1139,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_IPU_PARSER) += ipu_parser.o OBJS-$(CONFIG_JPEG2000_PARSER) += jpeg2000_parser.o diff --git a/libavformat/allformats.c b/libavformat/allformats.c index 8b84b52c64..20e0e06ca0 100644 --- a/libavformat/allformats.c +++ b/libavformat/allformats.c @@ -20,6 +20,9 @@ */ #include +#include +#include + #include "libavformat/internal.h" #include "avformat.h"