From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id CF2854079B for ; Fri, 24 Dec 2021 02:13:46 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CAE9368B1CE; Fri, 24 Dec 2021 04:13:43 +0200 (EET) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9EE5968B0C6 for ; Fri, 24 Dec 2021 04:13:36 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1640312021; x=1671848021; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=JOCeAjWyuUKsgTL4cqiWV3ztlHHq3LuGNvJqiczZOmQ=; b=R7OyJtytK59zjtQ2LxNs07+JZ8EYzfdU+Ac03ldSZj7adT2aat28L8tk q69oLC0fNlv9waUdCHx0fHLzyLbuSPURxAX7kpUM8AtRKYvyPsKVleksZ //6lTS+d0lmM7Zt0h/lDDHQCU+A/4Y8mZnDHoGdJEYf82VyjTEwspZbs+ Qid2SDy8CVdfBKg8LdsoJQB5Nuzv5lqypV+UJ4zZ6JU4ybosoLWtUaqaD y/JqX4zedzgWVJX3+5VIxBfE7bO43TufSorE1OYjTahyPpyDYcg2moXIK kWL+2oI6mDXBUnD+9EbCXaVe2/5fIAeUAMi0uPM3sYer332jDvELunjhy A==; X-IronPort-AV: E=McAfee;i="6200,9189,10207"; a="265127626" X-IronPort-AV: E=Sophos;i="5.88,231,1635231600"; d="scan'208";a="265127626" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Dec 2021 18:13:32 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,231,1635231600"; d="scan'208";a="551343402" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by orsmga001.jf.intel.com with ESMTP; 23 Dec 2021 18:13:32 -0800 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Thu, 23 Dec 2021 18:13:32 -0800 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Thu, 23 Dec 2021 18:13:31 -0800 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20 via Frontend Transport; Thu, 23 Dec 2021 18:13:31 -0800 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.44) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.20; Thu, 23 Dec 2021 18:13:31 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kTNLAFsF/w0Ex6RAw/jNJgYIYvb9vRbHYvEU8iJkIQhAQAN1vq9+IuPPCZJ/Y5J3ivCm8c4k+jCfuRoUBiHKwCruYBqzrv84ILl2S6V8dNzy2evSkaqyKCdaYv28yDGu1Xs3xTaJL+OiqfQuAEL9ICo2CU0KeZi+KogpZTWyz2if52bekpwria/A9EDDMZ5t1tIQj96+XiA9+fackGPQVwu5os9WUyEEBhrapJM3c/FSD4FJ2nrXDlWzNeSFyEkZ0enRuvNAXHuJvwKE+rG2MmTiIBypINAMcL6E+ukiwY2b0ZrInpZKxO3OqyF/7BcR9WQy6+qE16XavOvZnFRDBA== 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=JOCeAjWyuUKsgTL4cqiWV3ztlHHq3LuGNvJqiczZOmQ=; b=mKqOzymo/pxCtSi2R1kPyHDp+KCzzX7HNa8f+wornoXTidDS2XVw6MOtDrVFmpWL9kvq6DkXc/YMY/aijsfNRjY638UUz9GjY3FfQlfQGBBbNFPy3GnnOaFQmTl3ipZzkO8ZvFyi/ZyR9wGgWA8gF9X02tvLqz+Qyk/bpE5+2TBw5grMb0ACLG2s0lfQpz3khZPN9ZeLVgmPDh5tdpE3Ag0q7ymsmdlF6jpBvtjjwFJggnycLuc3+Qvi6Dn4QRKuDX+fJ+XP5X2Fk8B11MTU8xxZlP7lFiHGme5eFNVhS6FGzEpNJPtPWJshkDlNb6QWDAxwLlNoO1N6sGpfCOZcNg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from BN9PR11MB5515.namprd11.prod.outlook.com (2603:10b6:408:104::8) by BN6PR11MB1587.namprd11.prod.outlook.com (2603:10b6:405:10::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.17; Fri, 24 Dec 2021 02:13:29 +0000 Received: from BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::bcfc:ceef:cd03:dd16]) by BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::bcfc:ceef:cd03:dd16%3]) with mapi id 15.20.4801.023; Fri, 24 Dec 2021 02:13:29 +0000 From: "Xiang, Haihao" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel] [PATCH 08/11] avcodec/tests/avcodec: Check codec caps for consistency Thread-Index: AQHXsWKqYCSqRgfOLUGG2ozi7GqhY6xBdOgA Date: Fri, 24 Dec 2021 02:13:29 +0000 Message-ID: <420d12e0288d42515f1f8dae75c2a70e561084da.camel@intel.com> References: In-Reply-To: Accept-Language: en-AS, zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Evolution 3.28.5-0ubuntu0.18.04.2 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ba243dc0-e4c7-4d2a-64a6-08d9c682fa0d x-ms-traffictypediagnostic: BN6PR11MB1587:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1923; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: b1zyOIP0hYsZt+pdPLUuqThdI2ChjVI/0A9CN7R7kxgEw7Ry2nu6u+3eXin1m0ZQtRWzJL0CKgxJpvzF4PavlPiTNL2MkWS20t1o1OQOiqiCWB5eSwoXK93UtuL0Sjr5Mmd/j/TCe5zL10cn2kv40kDRveEfpZXl64FfJ086x45FXDKzisAnaik3UjgkoBz4HW+Ne3+kJuhD0hWu+Rr/mEo9pNkJQOYFwXxMnaBo8/1iO99xFuxiySJsy0E+UmrnAFTjzVsH8sDKbthsnDJdnG/ZNhXv/mtX8LrN9RvHZQETzQDoQK0X2HrZNaDmphVCIakW5HicOP6g+9idQjtvitcliynJAUOud6V9F0n9NWktAMLerMUtT4aEh9nw1j2tKLNvlgVUpLgsUCkFdN9Dr/fZDOfLbFW7C7REuYu4qYL9CJZnPxhnzVFR7Ioswt4DtY0dTdR+/pHuvgDlQFRBLx8wEW+GyawqKfztGxm5L4tVUnmtuXVKsSPtbtSXQqNcDfCgKbb/NSHSceeY+RgcpLI9+p21Wi5uiitpg0fqpDSIo8FvuNNVZyiwhVfcYd9favToqMafpuP6aYjCVR2pRdmf+AlmD1ziSzvjwISAXnCNJNgLdPmKZU5CjL62QHvmBkuGi3j09r7ots5gA1enY4AjejmNVY/DBORHHIhwgPhs0JJB7r46dd9I7kwlZQkRtYpBqIaxyip9IaDr2PIkQA5QFnocniOQUXGqP0AHWzl3xQ5Enq6Hq0axNsu1LiWULxQZSRgRloIm4ovwr9IWJw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN9PR11MB5515.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(36756003)(66946007)(82960400001)(64756008)(66556008)(6916009)(66476007)(2906002)(66446008)(38100700002)(122000001)(316002)(6486002)(71200400001)(86362001)(8676002)(6512007)(6506007)(8936002)(38070700005)(2616005)(508600001)(4326008)(83380400001)(91956017)(76116006)(186003)(26005)(5660300002)(99106002)(309714004); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?em93b0E1OEhra3RIVTVhdEVWS1VLeWE2bHZtMzF1Vi9uUnVZWm9WVzJiZEhJ?= =?utf-8?B?YlVrcXR6djllY1VhbGJlS0NQZG9UcTh0cWU1QlVWNktNSFoxVGMzR2cwdEE0?= =?utf-8?B?RjdHUE5IdG9yblhKRkZ2VGlWSVBhVEtiaVoydFZ4Q2xIbEpvZEYxMEg0ZjRV?= =?utf-8?B?RDBCcWN2RmlTQ1NtbGNuem9VSWdCVDZRdlZubERTTFRJNTN1MXhQTjY0ZmMv?= =?utf-8?B?TitONFpYSW5vODNsR1MwREd5UnIrRGhlVVVrUXlJd0g2RTFiMFZoSWpTQXhX?= =?utf-8?B?SjRUa21VdWM0K2YvRVJRM0w4ZzRLdWFWNWhSb3pidzZmbUpIYTRKbXRyMm13?= =?utf-8?B?N3NEQjBiU0pWRHR5ZXFRNk5qdlFQbHVRS0hyRUYxanpQN3gxcVphZnBXQzRL?= =?utf-8?B?L1BLUk1HY0xJYmljRCtMbHBMRC9nSHZQUHVFVlBlNmhKSFdPbmlVSWlsRDl0?= =?utf-8?B?eFkwRlFGR0lHSEFUaDQ3dzhOTFdTSlhYT0QyN1ZqU244SkQ2TU9rbk1ja3Rx?= =?utf-8?B?Yk5EVG12QmFLd3d5ZEN0eGl0ZlZMOEx0RFBlYXZKbjNvbGZxYklORzFVY0s3?= =?utf-8?B?SEovWit1QXlnbjR4WkhmQzB6VFR6TUR3USt2bzNvN096K0JLckovTllsNjZG?= =?utf-8?B?ZUpJOFRhYi9TNmZKa1ROeUhRc3lKWGt0OXNON2QvVzVnSk5qalZ3elh2MnlK?= =?utf-8?B?SlE1a2lXVUxhaHp5V25kVzdNelNGT1hIRmcrVEdoYmJnTXlEd0RpMWhTdlJj?= =?utf-8?B?MDFMWldHcVFRUVBDWjF1aEg5Mmx2aHg2R0dwb05OYkRQSVdoRzFRVGJnc2VW?= =?utf-8?B?SnBvTG8xRE9HQTdZVTNxNzR5NWZUd2M0TzVnM3hMKy9oendTbmU5bVRxWitD?= =?utf-8?B?bE1TNENaTGk4MHhneGVKWlVMaTF1aU03SjQ5V0pXVFhFY3p0TjBacDkwMkpU?= =?utf-8?B?M1BxZVRrU3BUd1lBd3BxOTJIZUViNGhCNG9sRGpMT21MRmlSSFpQUERYWC9M?= =?utf-8?B?TTJPWEZLSjhxVnNWSEZGUzlGOTBSNGFPZXBnc1VwcFBPMTcxTUorczN3Z00z?= =?utf-8?B?QTh0WkdGa0pqVnl5d3pPUlNPTy9GNzRCVlpZY2ZTb2h1Y1VPN2h0MDZ3R2N6?= =?utf-8?B?UGV6T0NCcXNkemdaL0x4U1lEVUZZcWozdW05OXN1d2dpTzBWZ3NtZng2TWc1?= =?utf-8?B?KzkzQU1XeUdvL3VvcmU0SGc4S2V6aU1yZzZjdG1LN0JaeG9NWlEwTXNwS0Ji?= =?utf-8?B?T24zeVFyNS9WQ3BjNmp5b0U1dGE3WVNGRVJibGNCZnJCTUZyakFpeWVIU3N6?= =?utf-8?B?cGhrbkhNY3RVUE1uRWJ1aUZDOWtRcTFaUlJMWjV2VTlNMExvTHU0YkZGNlEy?= =?utf-8?B?SVUwSmJtZ3FmR3dsTklPZjBnL0JXa1FHbnd3aHBPdTRhVk0vdGhFNjgyTU9H?= =?utf-8?B?K05maUpGcUdMdTNkUG5ja2EwYldSVVlaZVhLVGpQaDRPVUx0b2VGdlVSL3M0?= =?utf-8?B?UUFEV3hrOXUwTE1JZkw2bWgzempmNGlwdHRVK3N5dW11ZEJLNFVYb0M4b3JE?= =?utf-8?B?OURYdE84NTBlMUhBRmFSbEROd3dnRXIyZXV1Zlg1UnByakxGZTZXSllIS1ZG?= =?utf-8?B?SlFKVkFkcjZJb1JYU2c2amNyTzNQQnNzKzR1d0lsNm1KN2owREZRN0xoMk1I?= =?utf-8?B?OWcxbmQwTU1QR0dDSFh2ZExQcWRMUDArMzZtN2xwRzFxaDlzZDlIWEZSaFNZ?= =?utf-8?B?eEpmNDRMQ1MvOXIrVUlaNkp0YlI0S21hTGJpdUZBMURueml4M3NwSldtclor?= =?utf-8?B?MmFvZEFnVVdwRVBoVldlWk52cThpenNUOFllYVFOWDM0WmpBSDV6RlhENHJj?= =?utf-8?B?eSt1NGNUS1hvSXRWQXA2LzZOS3MwMEV5cEFNY215RGowUDZ4M2FhSzZ4ajVQ?= =?utf-8?B?RmpzYUhDb0JJdzM3ajR6MDVsMUhsRWlpV2VIMjV6dnliS3pwTlNSdHVha1li?= =?utf-8?B?WXhMMngyMmJ3RkhGcElSQjBaL2d3aUNJMzZXWlhqSHgzOEthS1ZiZTIzZlRl?= =?utf-8?B?R0hPMXFya01IdnJJRzJxeE5xT09kMCtPUEg4dnE0T1QvOUZranJlcjRaNk5y?= =?utf-8?B?dkZYL3NxTDRtcWdSSURHeWVzcVo2bUZLckRxSWhyZ21KNVFaVjVtL1ltVUZn?= =?utf-8?Q?QROZwCtyIF0H9/GKtldRlVI=3D?= Content-ID: <346C17CF838ED04082A9B38200D0E08B@namprd11.prod.outlook.com> MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5515.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ba243dc0-e4c7-4d2a-64a6-08d9c682fa0d X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Dec 2021 02:13:29.1302 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: oqzgBHD5dXwfVEvduj8RK87td+ng1DMPM+luFAog7GUSe36BYugWSiAiVaMMmMNWvbyv0zqRenirPZ5PFgNaBw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1587 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH 08/11] avcodec/tests/avcodec: Check codec caps for consistency 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@outlook.com" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On Fri, 2021-09-24 at 18:37 +0200, Andreas Rheinhardt wrote: > Signed-off-by: Andreas Rheinhardt > --- > libavcodec/tests/avcodec.c | 38 ++++++++++++++++++++++++++++++++++++++ > 1 file changed, 38 insertions(+) > > diff --git a/libavcodec/tests/avcodec.c b/libavcodec/tests/avcodec.c > index 5512ae99f7..e26315c368 100644 > --- a/libavcodec/tests/avcodec.c > +++ b/libavcodec/tests/avcodec.c > @@ -19,6 +19,7 @@ > #include "libavutil/opt.h" > #include "libavcodec/codec.h" > #include "libavcodec/codec_desc.h" > +#include "libavcodec/internal.h" > > static const char *get_type_string(enum AVMediaType type) > { > @@ -78,11 +79,26 @@ int main(void){ > if (codec->channel_layouts || codec->sample_fmts || > codec->supported_samplerates) > ERR("Non-audio codec %s has audio-only fields set\n"); > + if (codec->capabilities & (AV_CODEC_CAP_SMALL_LAST_FRAME | > + AV_CODEC_CAP_CHANNEL_CONF | > + AV_CODEC_CAP_VARIABLE_FRAME_SIZE)) > + ERR("Non-audio codec %s has audio-only capabilities set\n"); > } > if (codec->type != AVMEDIA_TYPE_VIDEO) { > if (codec->pix_fmts || codec->supported_framerates) > ERR("Non-video codec %s has audio-only fields set\n"); > + if (codec->caps_internal & FF_CODEC_CAP_EXPORTS_CROPPING) > + ERR("Non-video codec %s exports cropping\n"); > } > + if (codec->caps_internal & FF_CODEC_CAP_SLICE_THREAD_HAS_MF && > + !(codec->capabilities & AV_CODEC_CAP_SLICE_THREADS)) > + ERR("Codec %s wants mainfunction despite not being " > + "slice-threading capable"); > + if (codec->caps_internal & FF_CODEC_CAP_AUTO_THREADS && > + !(codec->capabilities & (AV_CODEC_CAP_FRAME_THREADS | > + AV_CODEC_CAP_SLICE_THREADS | > + AV_CODEC_CAP_OTHER_THREADS))) > + ERR("Codec %s has private-only threading support\n"); > > is_decoder = av_codec_is_decoder(codec); > is_encoder = av_codec_is_encoder(codec); > @@ -103,6 +119,19 @@ int main(void){ > ret = 1; > } > } > + if (codec->caps_internal & (FF_CODEC_CAP_ALLOCATE_PROGRESS | > + FF_CODEC_CAP_SETS_PKT_DTS | > + FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM | > + FF_CODEC_CAP_EXPORTS_CROPPING | > + FF_CODEC_CAP_SETS_FRAME_PROPS) || > + codec->capabilities & (AV_CODEC_CAP_AVOID_PROBING | > + AV_CODEC_CAP_CHANNEL_CONF | > + AV_CODEC_CAP_DRAW_HORIZ_BAND | > + AV_CODEC_CAP_SUBFRAMES)) > + ERR("Encoder %s has decoder-only capabilities set\n"); > + if (codec->capabilities & AV_CODEC_CAP_FRAME_THREADS && > + codec->capabilities & AV_CODEC_CAP_ENCODER_FLUSH) > + ERR("Frame-threaded encoder %s claims to support > flushing\n"); I didn't see such requirement in codec.h and wonder why the two flags can't coexist, could you please provide a little more explanation ? Thanks Haihao > } else { > if (codec->type == AVMEDIA_TYPE_SUBTITLE && !codec->decode) > ERR("Subtitle decoder %s does not implement decode > callback\n"); > @@ -111,6 +140,15 @@ int main(void){ > "yet decoder %s has it set\n"); > if (!!codec->decode + !!codec->receive_frame != 1) > ERR("Decoder %s does not implement exactly one decode > API.\n"); > + if (codec->capabilities & (AV_CODEC_CAP_SMALL_LAST_FRAME | > + AV_CODEC_CAP_VARIABLE_FRAME_SIZE | > + AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE > | > + AV_CODEC_CAP_ENCODER_FLUSH)) > + ERR("Decoder %s has encoder-only capabilities\n"); > + if (codec->caps_internal & FF_CODEC_CAP_ALLOCATE_PROGRESS && > + !(codec->capabilities & AV_CODEC_CAP_FRAME_THREADS)) > + ERR("Decoder %s wants allocated progress without supporting" > + "frame threads\n"); > } > if (priv_data_size_wrong(codec)) > ERR_EXT("Private context of codec %s is impossibly-sized (size > %d).", _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".