From patchwork Wed Jun 1 20:33:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthieu Bouron X-Patchwork-Id: 36036 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:6914:b0:82:6b11:2509 with SMTP id q20csp3647871pzj; Wed, 1 Jun 2022 13:34:09 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyKHgiDIdNlDelxUFJxBMAtSGXdihS3TbENdNQ8bPntsAxoH9OrWu8r17gUlz8+jYpIPyoH X-Received: by 2002:a05:6402:84c:b0:428:4cc4:8212 with SMTP id b12-20020a056402084c00b004284cc48212mr1710452edz.171.1654115649018; Wed, 01 Jun 2022 13:34:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1654115649; cv=none; d=google.com; s=arc-20160816; b=R0HxOvjnUF39eJxt23vV8E9arxDWuYN4zdy5ElliaWPDC8Jk8KxaaIE+j6XAzJ2583 2OAUim8IA4uKAuBKNHmBe701IBFuZbrnCHlsnkICvnp1w0IcwPyOaWZ1dEbemS5b4dPx 6WpVVMaCFpEpHbDqaPwZBQmPG4bUosOXJ5odPUjR+51W4634192iktTOC4jV80raFBKp OPaZ0939A/1FL07blmbWIJyISZ7O0Ud3f3WgEE4sJkgQ7w6Cef1diis8kjP2W6WM7yxw mndKQRXyj1Dph1zXR+sAk7G5xRwdntyyjRaxj2HvW0tdhkFpYfDwZISCSgOVQvxYdnoy Z5IQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=fpIXVnGo5DJSqQhWnzNcJhk0Orz4yw2OPdHbL8vjCPA=; b=oBTMlwvELyjE/9M4sAMwu2IBg0rgcKVsKbDNu9Rh8JJ67/zn04ctjt9zuHyc/+b2yD hbbI7Pyj+cRK2xOJfxYBpJB6XYYs7AWRiTRWfyRLYbLchKn7Ti7dFPbU36ucAPzsuWs+ q9QjNDvQafjcuuXlKTC1/DJ2Z772nQB3MGK3pC/5mqMqni4Bj6RSnrvXxZU9Va8RYgG6 S5DgqN1BiawKdJIE41/Rh4TaDM14Jk7MZTdbfKTxRalDICy1JMcggPFTrxNAyhl4suOe UYWBd+MPGeB5jgP4e0AinJxZyGuNpYTKuxzBE/Ncmrne/kSlYihaRgT+h7A9Zfjq1oy3 9FNA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=EWvjDE1p; 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=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id w16-20020a05640234d000b0042dfc1c0e97si2542838edc.500.2022.06.01.13.34.08; Wed, 01 Jun 2022 13:34:09 -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=@gmail.com header.s=20210112 header.b=EWvjDE1p; 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=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B856868B76F; Wed, 1 Jun 2022 23:34:05 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6950068B720 for ; Wed, 1 Jun 2022 23:33:59 +0300 (EEST) Received: by mail-wr1-f46.google.com with SMTP id e25so3841296wra.11 for ; Wed, 01 Jun 2022 13:33:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=P/8nRlK0iINxPwMoS65lxjhHz1436QPURT/bSLW8yR4=; b=EWvjDE1p+op2O/GYXq9rHsVQl+p/ZjWI1ZYv57MZuLSLGE4mV9yEKwT856cYTnEehb KOT8LHxv0sgGtB0WLIehaYokwAdCihG0K4dqcfvpeK40PEE09K3qWby0VfgjlV8fkUyU OaQQJvn+GRVEeUfV80f2hOYTClOQNzQqp5J9+y63QFj+XlKzcOx6kkDAiF6QG5TH1Tyh gl7b5DNqqPRtbxv8IuPmWAKnuHsIakiNFIZS2dqH9rNF7TvCkfRrKyPj8gJDwFK8JpC0 HZNGQ53KUEtXtcKOCgj/IFH2g/qt2k+Sr0HShYWxlyvyKbNpp17ZJoTCrMsZ5UcQA9aj LNWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=P/8nRlK0iINxPwMoS65lxjhHz1436QPURT/bSLW8yR4=; b=bX5HBIJE6seIDPgLH9UCQChvRpTFYbiadQx94xzhurKqlmFFKbi0UaVo9DzbbPkldT z12JUvMj1HZcMH4jjq8Qj2HrBY76W+4PxL4jdJGT6KoXc7S9BVdKUtAQrh6EaHXH41KN fxGp2dpC4QY4MMm70arYa5Bmf7vqnUQ7qs+Q55hqko8s0avJ6vJTw807jYKJbusmJnWo 0VQyXSnnhhKpko5uTndrHp07j7kkB2Qpd/Iob1Av5fsckcbm5qRZMhCPGiuZo8+v11E8 sBQp6LqloY34BceCQ0AHI8pkBGjPc44sI+8SNRJFWMMT96hL4t7HlqXLUEbj/mZBt3eR olzw== X-Gm-Message-State: AOAM532vwM9lkFHiPG47DpgD5kyhuGf9sAefasKjTeZJPE5nu1i3rvuT HuNM1K89wQT/oiKL/HK/tKPxi80xwBw= X-Received: by 2002:a05:6000:1d84:b0:20e:5fae:6e71 with SMTP id bk4-20020a0560001d8400b0020e5fae6e71mr991739wrb.224.1654115638652; Wed, 01 Jun 2022 13:33:58 -0700 (PDT) Received: from kusa.gopro.lcl (lputeaux-656-1-153-220.w217-128.abo.wanadoo.fr. [217.128.47.220]) by smtp.gmail.com with ESMTPSA id m14-20020adff38e000000b0021030c9d5c5sm2367898wro.91.2022.06.01.13.33.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Jun 2022 13:33:58 -0700 (PDT) From: Matthieu Bouron To: ffmpeg-devel@ffmpeg.org Date: Wed, 1 Jun 2022 22:33:37 +0200 Message-Id: <20220601203337.1116134-1-matthieu.bouron@gmail.com> X-Mailer: git-send-email 2.36.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] swscale: add NV16 input/output 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: Matthieu Bouron Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: LEh5bQCnBBit --- libswscale/input.c | 1 + libswscale/utils.c | 1 + libswscale/version.h | 2 +- tests/ref/fate/filter-pixdesc-nv16 | 1 + tests/ref/fate/filter-pixfmts-copy | 1 + tests/ref/fate/filter-pixfmts-crop | 1 + tests/ref/fate/filter-pixfmts-field | 1 + tests/ref/fate/filter-pixfmts-fieldorder | 1 + tests/ref/fate/filter-pixfmts-hflip | 1 + tests/ref/fate/filter-pixfmts-il | 1 + tests/ref/fate/filter-pixfmts-null | 1 + tests/ref/fate/filter-pixfmts-pad | 1 + tests/ref/fate/filter-pixfmts-scale | 1 + tests/ref/fate/filter-pixfmts-vflip | 1 + 14 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 tests/ref/fate/filter-pixdesc-nv16 diff --git a/libswscale/input.c b/libswscale/input.c index fe0c27d743..750367b28b 100644 --- a/libswscale/input.c +++ b/libswscale/input.c @@ -1101,6 +1101,7 @@ av_cold void ff_sws_init_input_funcs(SwsContext *c) c->chrToYV12 = uyvyToUV_c; break; case AV_PIX_FMT_NV12: + case AV_PIX_FMT_NV16: case AV_PIX_FMT_NV24: c->chrToYV12 = nv12ToUV_c; break; diff --git a/libswscale/utils.c b/libswscale/utils.c index 105781c4f4..8298ae8e10 100644 --- a/libswscale/utils.c +++ b/libswscale/utils.c @@ -257,6 +257,7 @@ static const FormatEntry format_entries[] = { [AV_PIX_FMT_P216LE] = { 1, 1 }, [AV_PIX_FMT_P416BE] = { 1, 1 }, [AV_PIX_FMT_P416LE] = { 1, 1 }, + [AV_PIX_FMT_NV16] = { 1, 1 }, }; int ff_shuffle_filter_coefficients(SwsContext *c, int *filterPos, diff --git a/libswscale/version.h b/libswscale/version.h index f573bef6fc..0fa41f77d2 100644 --- a/libswscale/version.h +++ b/libswscale/version.h @@ -29,7 +29,7 @@ #include "version_major.h" #define LIBSWSCALE_VERSION_MINOR 6 -#define LIBSWSCALE_VERSION_MICRO 100 +#define LIBSWSCALE_VERSION_MICRO 101 #define LIBSWSCALE_VERSION_INT AV_VERSION_INT(LIBSWSCALE_VERSION_MAJOR, \ LIBSWSCALE_VERSION_MINOR, \ diff --git a/tests/ref/fate/filter-pixdesc-nv16 b/tests/ref/fate/filter-pixdesc-nv16 new file mode 100644 index 0000000000..4c4587c833 --- /dev/null +++ b/tests/ref/fate/filter-pixdesc-nv16 @@ -0,0 +1 @@ +pixdesc-nv16 cbbc5d904b8eebad3705a325c3ec5734 diff --git a/tests/ref/fate/filter-pixfmts-copy b/tests/ref/fate/filter-pixfmts-copy index f06fa1574e..3cd0002e4e 100644 --- a/tests/ref/fate/filter-pixfmts-copy +++ b/tests/ref/fate/filter-pixfmts-copy @@ -56,6 +56,7 @@ grayf32le fb6ea85bfbc8cd21c51fc0e110197294 monob 8b04f859fee6a0be856be184acd7a0b5 monow 54d16d2c01abfd72ecdb5e51e283937c nv12 8e24feb2c544dc26a20047a71e4c27aa +nv16 22b1916c0694c4e2979bab8eb71f3d6b nv21 335d85c9af6110f26ae9e187a82ed2cf nv24 f30fc8d0ac40af69e119ea919a314572 nv42 29a212f70f8780fe0eb99abcae81894d diff --git a/tests/ref/fate/filter-pixfmts-crop b/tests/ref/fate/filter-pixfmts-crop index 8b26ab9c53..1a0f0c79ed 100644 --- a/tests/ref/fate/filter-pixfmts-crop +++ b/tests/ref/fate/filter-pixfmts-crop @@ -54,6 +54,7 @@ gray9le 4d1932d4968a248584f5e39c25f1dd43 grayf32be cf40ec06a8abe54852b7f85a00549eec grayf32le b672526c9da9c8959ab881f242f6890a nv12 92cda427f794374731ec0321ee00caac +nv16 3264b16aaae554c21f052102b491c13b nv21 1bcfc197f4fb95de85ba58182d8d2f69 nv24 514c8f12082f0737e558778cbe7de258 nv42 ece9baae1c5de579dac2c66a89e08ef3 diff --git a/tests/ref/fate/filter-pixfmts-field b/tests/ref/fate/filter-pixfmts-field index c4838d1446..27a74eaef3 100644 --- a/tests/ref/fate/filter-pixfmts-field +++ b/tests/ref/fate/filter-pixfmts-field @@ -56,6 +56,7 @@ grayf32le 6b856bdbf2a2bfcd2bc7d50f109daaf0 monob 2129cc72a484d7e10a44de9117aa9f80 monow 03d783611d265cae78293f88ea126ea1 nv12 16f7a46708ef25ebd0b72e47920cc11e +nv16 34f36b03f5fccf4eac147b26bbc0a5e5 nv21 7294574037cc7f9373ef5695d8ebe809 nv24 3b100fb527b64ee2b2d7120da573faf5 nv42 1841ce853152d86b27c130f319ea0db2 diff --git a/tests/ref/fate/filter-pixfmts-fieldorder b/tests/ref/fate/filter-pixfmts-fieldorder index 32c06bae4c..ab080d1a37 100644 --- a/tests/ref/fate/filter-pixfmts-fieldorder +++ b/tests/ref/fate/filter-pixfmts-fieldorder @@ -53,6 +53,7 @@ gray9be ec877f5bcf0ea275a6f36c12cc9adf11 gray9le fba944fde7923d5089f4f52d12988b9e grayf32be 1aa7960131f880c54fe3c77f13448674 grayf32le 4029ac9d197f255794c1b9e416520fc7 +nv16 085deb984ab986eb5cc961fe265e30c0 nv24 4fdbef26042c77f012df114e666efdb2 nv42 59608290fece913e6b7d61edf581a529 p210be ca2ce2c25db43dcd14729b2a72a7c604 diff --git a/tests/ref/fate/filter-pixfmts-hflip b/tests/ref/fate/filter-pixfmts-hflip index 4d3efe3cdc..8c7a9d83c9 100644 --- a/tests/ref/fate/filter-pixfmts-hflip +++ b/tests/ref/fate/filter-pixfmts-hflip @@ -54,6 +54,7 @@ gray9le 424fc581947bc8c357c9ec5e3c1c04d1 grayf32be a69add7bbf892a71fe81b3b75982dbe2 grayf32le 4563e176a35dc8a8a07e0829fad5eb88 nv12 801e58f1be5fd0b5bc4bf007c604b0b4 +nv16 06ba714cb8b220c203f5898ef39abf93 nv21 9f10dfff8963dc327d3395af21f0554f nv24 f0c5b2f42970f8d4003621d8857a872f nv42 4dcf9aec82b110712b396a8b365dcb13 diff --git a/tests/ref/fate/filter-pixfmts-il b/tests/ref/fate/filter-pixfmts-il index 4623f2420c..15dbe868a6 100644 --- a/tests/ref/fate/filter-pixfmts-il +++ b/tests/ref/fate/filter-pixfmts-il @@ -56,6 +56,7 @@ grayf32le 8bf3d295c3ffd53da0e06d0702e7c1ca monob faba75df28033ba7ce3d82ff2a99ee68 monow 6e9cfb8d3a344c5f0c3e1d5e1297e580 nv12 3c3ba9b1b4c4dfff09c26f71b51dd146 +nv16 355d055f91793a171302021b3fc486b0 nv21 ab586d8781246b5a32d8760a61db9797 nv24 554153c71d142e3fd8e40b7dcaaec229 nv42 d699724c8deaeb4f87faf2766512eec3 diff --git a/tests/ref/fate/filter-pixfmts-null b/tests/ref/fate/filter-pixfmts-null index f06fa1574e..3cd0002e4e 100644 --- a/tests/ref/fate/filter-pixfmts-null +++ b/tests/ref/fate/filter-pixfmts-null @@ -56,6 +56,7 @@ grayf32le fb6ea85bfbc8cd21c51fc0e110197294 monob 8b04f859fee6a0be856be184acd7a0b5 monow 54d16d2c01abfd72ecdb5e51e283937c nv12 8e24feb2c544dc26a20047a71e4c27aa +nv16 22b1916c0694c4e2979bab8eb71f3d6b nv21 335d85c9af6110f26ae9e187a82ed2cf nv24 f30fc8d0ac40af69e119ea919a314572 nv42 29a212f70f8780fe0eb99abcae81894d diff --git a/tests/ref/fate/filter-pixfmts-pad b/tests/ref/fate/filter-pixfmts-pad index 519473032e..e340a76389 100644 --- a/tests/ref/fate/filter-pixfmts-pad +++ b/tests/ref/fate/filter-pixfmts-pad @@ -22,6 +22,7 @@ gray14le af3f2f911c71cb34a8179a3291b5c90f gray16le 468bda6155bdc7a7a20c34d6e599fd16 gray9le f8f3dfe31ca5fcba828285bceefdab9a nv12 381574979cb04be10c9168540310afad +nv16 d3a50501d2ea8535489fd5ec49e7866d nv21 0fdeb2cdd56cf5a7147dc273456fa217 nv24 193b9eadcc06ad5081609f76249b3e47 nv42 1738ad3c31c6c16e17679f5b09ce4677 diff --git a/tests/ref/fate/filter-pixfmts-scale b/tests/ref/fate/filter-pixfmts-scale index 43074b84a7..95a3f071b8 100644 --- a/tests/ref/fate/filter-pixfmts-scale +++ b/tests/ref/fate/filter-pixfmts-scale @@ -56,6 +56,7 @@ grayf32le 2ff1b84023e820307b1ba7a9550115bc monob f01cb0b623357387827902d9d0963435 monow 35c68b86c226d6990b2dcb573a05ff6b nv12 b118d24a3653fe66e5d9e079033aef79 +nv16 68e757396b62b84aad657274b8f6ce15 nv21 c74bb1c10dbbdee8a1f682b194486c4d nv24 2aa6e805bf6d4179ed8d7dea37d75db3 nv42 80714d1eb2d8bcaeab3abc3124df1abd diff --git a/tests/ref/fate/filter-pixfmts-vflip b/tests/ref/fate/filter-pixfmts-vflip index 3a53bb5837..7af28d3a8f 100644 --- a/tests/ref/fate/filter-pixfmts-vflip +++ b/tests/ref/fate/filter-pixfmts-vflip @@ -56,6 +56,7 @@ grayf32le 8e6c048a5b3b8b26d3a5ddfce255f3f6 monob 7810c4857822ccfc844d78f5e803269a monow 90a947bfcd5f2261e83b577f48ec57b1 nv12 261ebe585ae2aa4e70d39a10c1679294 +nv16 f20f3448c900847aaff74429196f5a00 nv21 2909feacd27bebb080c8e0fa41795269 nv24 334420b9d3df84499d2ca16bb66eed2b nv42 ba4063e2795c17fea3c8a646b01fd1f5