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 C6FF243DF9 for ; Mon, 15 Aug 2022 06:12:39 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 83C0868B744; Mon, 15 Aug 2022 09:12:36 +0300 (EEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EDC0A68B72B for ; Mon, 15 Aug 2022 09:12:27 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1660543953; x=1692079953; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=QAzuEpaaMKBzWWFJwbFrcWQ90UBygfBl+q5SETgkJEg=; b=LB5WaKbulHasfjDWbzz6T6IoYhowsMDEjKTFvMTjx0Bt4Qf5V6GYs4jS aChRo5nx+DkmlFJJ2PjouJ1h2Inp5XMDVFxc5YlBecyYyVMgK/gXpQx5s iiEAQXopRZVPKRQ6zBVLU3tGEuLR9IPPu4DJbJOpkRIMl4bIMg7C3eKb6 7EzASzSjFDdSoAB0/JAfUfF624S/02Qs5krySP/peNVQgheDRJ/Q3zb+M gaBtE+fZoj0ksrEb2BnEy2GpdyABlXHZNITd3LCP1u9NZ5mGvWfdl9M7T zT8BR0I19bz1IkUcHjFETvPAUgrtymcesn1ZHqOFaYNmY7DOdiuoSdfkq A==; X-IronPort-AV: E=McAfee;i="6400,9594,10439"; a="278857663" X-IronPort-AV: E=Sophos;i="5.93,237,1654585200"; d="scan'208";a="278857663" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Aug 2022 23:12:23 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,237,1654585200"; d="scan'208";a="782556832" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orsmga005.jf.intel.com with ESMTP; 14 Aug 2022 23:12:23 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Sun, 14 Aug 2022 23:12:23 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Sun, 14 Aug 2022 23:12:22 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28 via Frontend Transport; Sun, 14 Aug 2022 23:12:22 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.108) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.28; Sun, 14 Aug 2022 23:12:22 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HS6kWw92E+Qcar9yPHhJwW+kUFk5S8lW/gaR5gXB1UKfbrLpeX1xW0lvKvTVshV8/+QHW+3leiliqZwFQocDp2XenCX5NJTmeddW7zTGWDiBSvoNNc+s7rKMEpxoh2UQL8/zY1sd92SrohVweCIkiugGGE+3kNCxhHytLn1+C3YxBo6aOWuxNUiPlGA5trAVqNRyVuPepHVp3Jq0R26s6JnnTcx0UKxT2eC8Z4nWI+moxXY5O4Gj8Bhb4VF4pQ73GHWokwFop0xsw/JivUp+zAd3YboYuuUDqdGxs4giVclyQRAqwTeNNbahNGV+uJ+TFt1wpXHC22jkBgW6DoCJGA== 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=QAzuEpaaMKBzWWFJwbFrcWQ90UBygfBl+q5SETgkJEg=; b=dvX55a0dhNfqB3vHrxNMRPI6xkbLV++sPZEeUTzZzuTGAwsYWmTnlH5nrVNcvA5qEgxYPfVJ8eOa0Sev/708iOwV1q511iVQVZ+esDor1zAD/ZoLfWoCICOLL/uIVUcw8xd+gwbm+CTOT9+D13umfyCMBG7vVr+YOcWpzBYHY86OLKGX/TA58aMBLljXvQSXesOjF05RR050eNkaaAbd+eq+GFx7SN3DpLVigKJA+lyevKAcJ7Lq893FQl6bVI6QS09QqgQBfpRBu0KVVHbdA/svLGVfxuN/9le3dJc7dY6BSzzupzvIHD2Jo6BrudaWpxftrb4rjs00E2U9gpncpA== 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 DM4PR11MB6357.namprd11.prod.outlook.com (2603:10b6:8:b5::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.27; Mon, 15 Aug 2022 06:12:21 +0000 Received: from BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::8444:e015:794f:441b]) by BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::8444:e015:794f:441b%2]) with mapi id 15.20.5504.028; Mon, 15 Aug 2022 06:12:20 +0000 From: "Xiang, Haihao" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel] [PATCH 1/3] lavu/pixfmt: Add Y216, Y410, and Y416 formats Thread-Index: AQHYsCWYO27e3CSqGEqk5XrTaNvntK2ve6WA Date: Mon, 15 Aug 2022 06:12:20 +0000 Message-ID: <6df4920e8a38198bf293429b95d0fd30746f16d9.camel@intel.com> References: <20220814213313.37948-1-philipl@overt.org> <20220814213313.37948-2-philipl@overt.org> In-Reply-To: <20220814213313.37948-2-philipl@overt.org> 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: 243f4814-05b4-45e0-1836-08da7e851c8a x-ms-traffictypediagnostic: DM4PR11MB6357:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: P4UaMYQNIDEAQSuQN9S3DiryVtu2bPRT5vqbqC/pnUN5fO6uGFmqsjj066yA8TYKLYtVw9m2ehMl16tIsZUOE+xWqmyRVWi6qq7MmhKv0va8uUlxezpaELcpOMjiFLhGs6XyyAuHA/8HvL0WVtaMRbDjHCSMYq3Zp1ymk3czQYs3oE9Qui4HCgReYIYDEySmNYukbQabjk9D1DkPOJgCKNNPTSzyNfSg6p1O53FxqPtquHL9CdqB1n9QBai23NPIVWtnXZzlyxR9gFBZNW/cp7dIifDZTeQsK52Imi2Hg7CX4GND1nPfG7/cHb/3LDln5ISVg1g9xPNxC0CohbKjPc9VC6uWZWVVqORoL3kTF5U328SuocbYAQy7/1wZUVHD4cGG2tbZMGSNO/1tbBmWFTKbiBrZCTD3eLUUwW6s+/v9iNHcLEWl8WDElPSHdgmAscL6rlECj0GomgMN/JhezjIi62UnaBgsHLr40C4R3KknH6jLfrzbOjsdV5uxSXdjkwiD5cG0feoUo70nT3yUwb6yGElMTsdI8omN7KIR+ZUR+Y6GXNz6qHIwEsyDPn9fAidLzSWDouWwtvpq/xB9X5siDIDse2LlBX06WoOpayp4otgRR1eE4/W/8oKoDwxvCXrR7bz4nIJORhS4fUMMhgrN3ARLR9+PX0onGTPUK4qnArAsEVHphjVvxD6jaabpuWeiYgsZWCj0BDIVPB98XrJ0LMwltFkNgoF0OQgOCfGMGWruYZOKuoZdTufCkyoHqy9/dZ8Yczcd0ysiBfP43K7gFnWkyzYdVntHW5a8arKhnLvOMnQBrpV+mkOJ+SJPxQ/2R2Zx+5Gx/g9Bj2ircRtbpjF47P9neVXpuv1+YxE= 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:(13230016)(366004)(376002)(39860400002)(396003)(346002)(136003)(2616005)(4326008)(82960400001)(26005)(66556008)(316002)(122000001)(2906002)(8676002)(64756008)(66446008)(66476007)(41300700001)(71200400001)(6512007)(38070700005)(91956017)(76116006)(66946007)(6506007)(38100700002)(83380400001)(86362001)(5660300002)(186003)(45080400002)(8936002)(36756003)(6916009)(6486002)(966005)(478600001)(99106002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MjA0MG9mdjBWNlB1WGg5eFVIWFhjblZhUm1la2lmc1V0aWNlUnVFcmhCL0Vv?= =?utf-8?B?QzJvVWZ6aHZEVU8zdkVzd2ttN09IK1UrZ1VmVG4rTDdqZzB6UVQ1cm5VZWJT?= =?utf-8?B?VVN6cGVjeU8wTUFRMW1iRGFzbVh4b011dmJ5UEJJbEprVFdMVVZoaE04aVFE?= =?utf-8?B?UXpQdC9EMDNkNnRoSkpJU3pXcE1lSnU2UEJXN09HT3M2UGZXK1FIR3BnWDdk?= =?utf-8?B?Tms2MFBMZTUxZjk5MHgyRVB3eGxWdUpjdjZJYi9Ccy9kUDZ5MXBGYzBkTTl3?= =?utf-8?B?VFp0UWpFc21GUEVtWlJiak1rV1dlLzdrTEI5ejJoaXVyaVo4MWw2RUl0QW10?= =?utf-8?B?eFRVMFlvRThoSzNDY3B4d0NNZCtkK0w1cy9JalczUlNldGRMNXpidmdZTU54?= =?utf-8?B?MnVnbURzejZEcWxSK1VZenBvdWl4a1AwVVlTNGlNcDB0THJWb1ZZaUhKVWxa?= =?utf-8?B?cExYMzcrdEVkUmYzYUdtWmtrbWltTlkxdzVyNEpiMHhzZ3A3NWpxUVdBZXJh?= =?utf-8?B?TUJsTmo1Q3dFR25JUlY1blorZ0szMDlZVFllMWk3SEM2cCt0RHdoWVordEZp?= =?utf-8?B?OXc5VitiSzR5aG1UMDNvbkJLcmpSQ3FkSE1GRzRLK0JIMjhKbHh2RVk3cnNO?= =?utf-8?B?c01qWmIyTnVxZHQ1SlBWbGtHUmNkaE1JOGJzRiszWW5xSDUwZU1qaWhBdkd6?= =?utf-8?B?S3lnK3RMeTQ3Ky9XZk1KajFIdEd2MjVrUmZIS2c1cE1XdmtFeXpuWllNRXgz?= =?utf-8?B?MnR0OGRwckxCNVdHZndpWE1tUXREWGxrVy9ueTZBaDE3Zy9NUWhjNmF4bWg2?= =?utf-8?B?QjlVbExDUVNGVThOMzV0UnVzcGJKeGpZcWhVM2d6THhZa2cwRHNUMDFXcVhB?= =?utf-8?B?czlOL2hZOE1HRm45NmZWZHE5ZHVpbUdzQjV5ZlBKM1p5bVRhRDFGL3dOTTZD?= =?utf-8?B?QXFQcE9QSmtkVTZsQURwK2RVdWVkV1dVUWNsQUpvUE8xQnRyYXZ1QnpGUWNi?= =?utf-8?B?czlYV2RRakE1YWVadHdvbDNSZGtzTitnVktVOGN2UGRtSnAvaVJyUE8yNVNr?= =?utf-8?B?Wi95TGpuc1NpbU84ZWFvSXcrL2pkbDdiSkJRTHVPRzFQUlZwRENCdUcreXhk?= =?utf-8?B?RkkxVkNoeDRmbHpXY0RSUGUzUlp3blVoQWRHNThuSkMycXdMaU5EZkhPd0N0?= =?utf-8?B?T1M3SmN3a3RZR085ZEJ6QnI1dGIxRGFNYzJrTGxidkRWdUxUWTdHSktpclRF?= =?utf-8?B?WHVrWW43NFdYMS8xbGFqR1MvTmV6eGRXU2w0Z1hCQzFVLzJjMW1mUUtmVS8r?= =?utf-8?B?QTRZUkFQT0FnY3h4S1JrenNYOXBxYXN0RFYwNzBGYVFYaTZHeVNzTXYvYXBn?= =?utf-8?B?TC9SdyswRUNhZkV4ejNxYzhxVjZhelRDWjE5czhTVmhkdmgyem9UWHo2bUJC?= =?utf-8?B?Q3FtODU1bnhlMlB0SGFsb1lIZEwxRkhmTlF2ckNmWmI0Q1NsaDVVdmFma2tN?= =?utf-8?B?alZUZHVUd3ZzSEMxZVBTaTFuK1NicS9TY2toZ2F6cE5HR0tpcUMwNVNCbmhq?= =?utf-8?B?Wm1MUm5VVitxclp0Y2kwZEU0T0UzS3VibjZHY1F6TUxxUStYbEs5OGt2OERy?= =?utf-8?B?RE1Bbmtjc1pldFNiMEtyQkVNaFhndUZJTGx4MUZaZ0lYVUVlU21kZlVFRCtV?= =?utf-8?B?TWlEempFL2g0b25rU25tM1ZMQkk0cEpCVjBMRTA4RXNFbG9PU2dnMVRQT1FC?= =?utf-8?B?SE9UMDI4U1Jac1c5dDlMSDcycDFtVW9mUHNrczVvYzdKRWlCSVJOREFlaElu?= =?utf-8?B?SHBBZEZvRzZ6d1Y0SlovdDd4UFBtVGNkRldoRzlpYWRHcFZ1aTlTcWxpQVNX?= =?utf-8?B?Zm1WbzE1UG9pRVMrOXRkZ1FUV0pheGEwSlNqR2R4UXVBNlpNaXdZZGRNL0dQ?= =?utf-8?B?MlcyUWgvK0U1T2FLd3JDR0QvWkxZa3pQbVZ0OXBPQlBVaDdzdFY2N3VSUmpH?= =?utf-8?B?ZEFzeHBGQ0VsUkRJTGJKa3NzZENBZ1UvZ0FaeWc3VVFWVFdESTkxRnJwcXNq?= =?utf-8?B?NkZUb2x6dkpyelRsZGhsQU1FZzNsTVgva0FkcEZmRTlDd0VCbUdFNEhoNWdT?= =?utf-8?B?eWhXdVAyRk4vUXVNL1lIK2V2TkhrUXk0a1d3MWk4bmwzUnhqYzlzdEFtZnNn?= =?utf-8?B?T2c9PQ==?= Content-ID: <87CDF83B0A52714F87F1FE37EA594201@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: 243f4814-05b4-45e0-1836-08da7e851c8a X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Aug 2022 06:12:20.0752 (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: s/fvQkHjfNjHUc2la9SlOPCqAEvVoF0HVI5MAkoQcdptgYPD6Pes2yjJ5PSF2lZWQ6GkREYVA4XBIb2GMQNAfw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB6357 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH 1/3] lavu/pixfmt: Add Y216, Y410, and Y416 formats 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: "philipl@overt.org" 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 Sun, 2022-08-14 at 14:33 -0700, Philip Langdale wrote: > These are the formats returned by the Intel VAAPI decoder for 12bit > 4:2:2, 10bit 4:4:4, and 12bit 4:4:4 respectively. As with the already > supported Y210 and YUVA (AVUY) formats, they are the formats Microsoft > picked as their preferred 4:2:2 and 4:4:4 video formats, and Intel ran > with it. > > Y216 is simply an extension of Y210 to say all 16bits will be used, and > Y416 is a normal looking packed 4 channel format. Y410 is an annoying > format that packs three 10bit channels into 32bits with 2bits of alpha. > > As a result, I had to define Y410 as a bitstream format, even though > each pixel is byte-aligned. If it is in-fact possible to define as a > normal byte-aligned format, please let me know how. > > As with VUYA, I have kept the formal definition of Y410 and Y416 as > formats with alpha channels to maintain fidelity. The Intel folks say > they prefer this and they would rather explicitly use a format defined > as not having alpha than to silently drop it. The hardware decoder > does at least ensure the alpha channel is set to full opacity. > > Signed-off-by: Philip Langdale > --- > libavutil/pixdesc.c | 77 +++++++++++++++++++++++++++++++- > libavutil/pixfmt.h | 12 +++++ > tests/ref/fate/imgutils | 6 +++ > tests/ref/fate/sws-pixdesc-query | 25 +++++++++++ > 4 files changed, 119 insertions(+), 1 deletion(-) > > diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c > index f7558ff8b9..5dee3a95d3 100644 > --- a/libavutil/pixdesc.c > +++ b/libavutil/pixdesc.c > @@ -2532,6 +2532,81 @@ static const AVPixFmtDescriptor > av_pix_fmt_descriptors[AV_PIX_FMT_NB] = { > .flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA | > AV_PIX_FMT_FLAG_FLOAT, > }, > + [AV_PIX_FMT_Y216LE] = { > + .name = "y216le", > + .nb_components = 3, > + .log2_chroma_w = 1, > + .log2_chroma_h = 0, > + .comp = { > + { 0, 4, 0, 0, 16 }, /* Y */ > + { 0, 8, 2, 0, 16 }, /* U */ > + { 0, 8, 6, 0, 16 }, /* V */ > + }, > + }, > + [AV_PIX_FMT_Y216BE] = { > + .name = "y216be", > + .nb_components = 3, > + .log2_chroma_w = 1, > + .log2_chroma_h = 0, > + .comp = { > + { 0, 4, 0, 0, 16 }, /* Y */ > + { 0, 8, 2, 0, 16 }, /* U */ > + { 0, 8, 6, 0, 16 }, /* V */ > + }, > + .flags = AV_PIX_FMT_FLAG_BE, > + }, > + [AV_PIX_FMT_Y410LE] = { > + .name = "y410le", > + .nb_components= 4, > + .log2_chroma_w= 0, > + .log2_chroma_h= 0, > + .comp = { > + { 0, 32, 10, 0, 10 }, /* Y */ > + { 0, 32, 0, 0, 10 }, /* U */ > + { 0, 32, 20, 0, 10 }, /* V */ > + { 0, 32, 30, 0, 2 }, /* A */ > + }, > + .flags = AV_PIX_FMT_FLAG_ALPHA | AV_PIX_FMT_FLAG_BITSTREAM, > + }, > + [AV_PIX_FMT_Y410BE] = { > + .name = "y410be", > + .nb_components= 4, > + .log2_chroma_w= 0, > + .log2_chroma_h= 0, > + .comp = { > + { 0, 32, 10, 0, 10 }, /* Y */ > + { 0, 32, 0, 0, 10 }, /* U */ > + { 0, 32, 20, 0, 10 }, /* V */ > + { 0, 32, 30, 0, 2 }, /* A */ > + }, > + .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_ALPHA | > AV_PIX_FMT_FLAG_BITSTREAM, > + }, > + [AV_PIX_FMT_Y416LE] = { > + .name = "y416le", > + .nb_components= 4, > + .log2_chroma_w= 0, > + .log2_chroma_h= 0, > + .comp = { > + { 0, 8, 2, 0, 16 }, /* Y */ > + { 0, 8, 0, 0, 16 }, /* U */ > + { 0, 8, 4, 0, 16 }, /* V */ > + { 0, 8, 6, 0, 16 }, /* A */ > + }, > + .flags = AV_PIX_FMT_FLAG_ALPHA, > + }, > + [AV_PIX_FMT_Y416BE] = { > + .name = "y416be", > + .nb_components= 4, > + .log2_chroma_w= 0, > + .log2_chroma_h= 0, > + .comp = { > + { 0, 8, 2, 0, 16 }, /* Y */ > + { 0, 8, 0, 0, 16 }, /* U */ > + { 0, 8, 4, 0, 16 }, /* V */ > + { 0, 8, 6, 0, 16 }, /* A */ > + }, > + .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_ALPHA, > + }, > }; > > static const char * const color_range_names[] = { > @@ -2767,7 +2842,7 @@ void ff_check_pixfmt_descriptors(void){ > > if (!d->name && !d->nb_components && !d->log2_chroma_w && !d- > >log2_chroma_h && !d->flags) > continue; > -// av_log(NULL, AV_LOG_DEBUG, "Checking: %s\n", d->name); > + av_log(NULL, AV_LOG_INFO, "Checking: %s\n", d->name); > av_assert0(d->log2_chroma_w <= 3); > av_assert0(d->log2_chroma_h <= 3); > av_assert0(d->nb_components <= 4); > diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h > index 86c9bdefeb..485655f0c0 100644 > --- a/libavutil/pixfmt.h > +++ b/libavutil/pixfmt.h > @@ -372,6 +372,15 @@ enum AVPixelFormat { > AV_PIX_FMT_RGBAF16BE, ///< IEEE-754 half precision packed RGBA > 16:16:16:16, 64bpp, RGBARGBA..., big-endian > AV_PIX_FMT_RGBAF16LE, ///< IEEE-754 half precision packed RGBA > 16:16:16:16, 64bpp, RGBARGBA..., little-endian > > + AV_PIX_FMT_Y216BE, ///< packed YUV 4:2:2 like YUYV422, 32bpp, big- > endian > + AV_PIX_FMT_Y216LE, ///< packed YUV 4:2:2 like YUYV422, 32bpp, big- > endian > + > + AV_PIX_FMT_Y410BE, ///< packed AVYU 2:10:10:10, 32bpp, (msb)2A 10V > 10Y 10U(lsb), big-endian > + AV_PIX_FMT_Y410LE, ///< packed AVYU 2:10:10:10, 32bpp, (msb)2A 10V > 10Y 10U(lsb), little-endian > + > + AV_PIX_FMT_Y416BE, ///< packed AVYU 16:16:16:16, 64bpp, big-endian > + AV_PIX_FMT_Y416LE, ///< packed AVYU 16:16:16:16, 64bpp, little- > endian > + > AV_PIX_FMT_NB ///< number of pixel formats, DO NOT USE THIS if > you want to link with shared libav* because the number of formats might differ > between versions > }; > > @@ -461,6 +470,9 @@ enum AVPixelFormat { > #define AV_PIX_FMT_P016 AV_PIX_FMT_NE(P016BE, P016LE) > > #define AV_PIX_FMT_Y210 AV_PIX_FMT_NE(Y210BE, Y210LE) > +#define AV_PIX_FMT_Y216 AV_PIX_FMT_NE(Y216BE, Y216LE) > +#define AV_PIX_FMT_Y410 AV_PIX_FMT_NE(Y410BE, Y410LE) > +#define AV_PIX_FMT_Y416 AV_PIX_FMT_NE(Y416BE, Y416LE) > #define AV_PIX_FMT_X2RGB10 AV_PIX_FMT_NE(X2RGB10BE, X2RGB10LE) > #define AV_PIX_FMT_X2BGR10 AV_PIX_FMT_NE(X2BGR10BE, X2BGR10LE) > > diff --git a/tests/ref/fate/imgutils b/tests/ref/fate/imgutils > index 01c9877de5..ea959c26b1 100644 > --- a/tests/ref/fate/imgutils > +++ b/tests/ref/fate/imgutils > @@ -249,3 +249,9 @@ p416le planes: 2, linesizes: 128 256 0 0, > plane_sizes: 6144 12288 > vuya planes: 1, linesizes: 256 0 0 0, plane_sizes: > 12288 0 0 0, plane_offsets: 0 0 0, total_size: 12288 > rgbaf16be planes: 1, linesizes: 512 0 0 0, plane_sizes: > 24576 0 0 0, plane_offsets: 0 0 0, total_size: 24576 > rgbaf16le planes: 1, linesizes: 512 0 0 0, plane_sizes: > 24576 0 0 0, plane_offsets: 0 0 0, total_size: 24576 > +y216be planes: 1, linesizes: 256 0 0 0, plane_sizes: > 12288 0 0 0, plane_offsets: 0 0 0, total_size: 12288 > +y216le planes: 1, linesizes: 256 0 0 0, plane_sizes: > 12288 0 0 0, plane_offsets: 0 0 0, total_size: 12288 > +y410be planes: 1, linesizes: 256 0 0 0, plane_sizes: > 12288 0 0 0, plane_offsets: 0 0 0, total_size: 12288 > +y410le planes: 1, linesizes: 256 0 0 0, plane_sizes: > 12288 0 0 0, plane_offsets: 0 0 0, total_size: 12288 > +y416be planes: 1, linesizes: 512 0 0 0, plane_sizes: > 24576 0 0 0, plane_offsets: 0 0 0, total_size: 24576 > +y416le planes: 1, linesizes: 512 0 0 0, plane_sizes: > 24576 0 0 0, plane_offsets: 0 0 0, total_size: 24576 > diff --git a/tests/ref/fate/sws-pixdesc-query b/tests/ref/fate/sws-pixdesc- > query > index f79d99e513..2dea9c5a3c 100644 > --- a/tests/ref/fate/sws-pixdesc-query > +++ b/tests/ref/fate/sws-pixdesc-query > @@ -23,6 +23,10 @@ is16BPS: > rgba64le > rgbaf16be > rgbaf16le > + y216be > + y216le > + y416be > + y416le > ya16be > ya16le > yuv420p16be > @@ -75,6 +79,8 @@ isNBPS: > xyz12le > y210be > y210le > + y410be > + y410le > yuv420p10be > yuv420p10le > yuv420p12be > @@ -164,6 +170,9 @@ isBE: > x2rgb10be > xyz12be > y210be > + y216be > + y410be > + y416be > ya16be > yuv420p10be > yuv420p12be > @@ -223,6 +232,12 @@ isYUV: > xyz12le > y210be > y210le > + y216be > + y216le > + y410be > + y410le > + y416be > + y416le > ya16be > ya16le > ya8 > @@ -665,6 +680,10 @@ ALPHA: > rgbaf16be > rgbaf16le > vuya > + y410be > + y410le > + y416be > + y416le > ya16be > ya16le > ya8 > @@ -761,6 +780,12 @@ Packed: > xyz12le > y210be > y210le > + y216be > + y216le > + y410be > + y410le > + y416be > + y416le > ya16be > ya16le > ya8 Hi Philip, May we add new formats P012, Y212 and Y412 for 12bit contents ? I agree with Mark's comment in https://patchwork.ffmpeg.org/project/ffmpeg/patch/20200619015248.21873-1-fei.w.wang@intel.com/ " Tracking it separately does not seem fun - it looks to me like it would require adding a new bit depth field to AVFrame. FFmpeg has always used pixfmt as defining both the memory layout and which bits are used in that (so, for example, ARGB and 0RGB are not the same thing), unlike most of the graphics APIs which tend to define those two separately. " The bit depth is known if using p012 for 12bit contents in the command below: $ ffmpeg -init_hw_device vaapi=vaapi:/dev/dri/renderD128 -f lavfi -i yuvtestsrc -vf "format=p012,hwupload" -c:v hevc_vaapi -f null - If using p016 for 12bit contents, how do we know the bit depth is 12 when converting yuv444 to p016 in the command below ? $ ffmpeg -init_hw_device vaapi=vaapi:/dev/dri/renderD128 -f lavfi -i yuvtestsrc -vf "format=p016,hwupload" -c:v hevc_vaapi -f null - Thanks Haihao _______________________________________________ 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".