From patchwork Wed Apr 29 03:02:34 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Reid X-Patchwork-Id: 19358 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 02ABE44B6E0 for ; Wed, 29 Apr 2020 06:02:51 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id DBB8168BE79; Wed, 29 Apr 2020 06:02:50 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7605068BE62 for ; Wed, 29 Apr 2020 06:02:47 +0300 (EEST) Received: by mail-pf1-f174.google.com with SMTP id x15so415351pfa.1 for ; Tue, 28 Apr 2020 20:02:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=VNXCBDQF2ckqLCZq1M271a+bgCmsjjbqeKsP6GXUrZU=; b=uEHeWX6xW9uxXAGl7mJJ9vliJp9Q0z4r2MEDd+Qqrn8I6UAJdHSxO6p2YN/vEykkmx uJkJ6ZbqttxGHR53zDnYxZ9R+Vimbbpyy24fM7l1awnMGdRIeGduIdwWgUTtRvIh0o19 Hvnql1E5I56ydQ/158dmbFSI3zYhSDqfZYpXO8WeGmXxNRKRu45HGYDV1YaVmVyqEwcn qS6Hv9bDEq0i0vLteKy1PQyQTTa6LhBbcSvptYN020HDYv2ijKiGnF8XJNNgcTQb5eTT j+kv7jrHTwPJn4zPplZWS9NISnB5/VBulDbcftacnUS7x4tTPPu6R0RkUiXwmQWBDUzR S1lA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=VNXCBDQF2ckqLCZq1M271a+bgCmsjjbqeKsP6GXUrZU=; b=mTVPbdCrPHyfYop+mpk/VYHsOjFwONP2QiXmV+CkPezxCH/l4+o8TI00WdFT1+4EpS CnxVsqevqdDyQWYT7Jy0t+T5013P/WUTp3/lhTrYlVItmEbZBvxWAjLnBqBlevRXOige srhiTqLGXNItrezqCQDF7zVEaxnKF2vdcBDlxlbWrXs5SVHCnKkrNfpxuy1iAMp4tMMB uFiZfzb9u8wMv+NDO8fJ/fb+mppWvX8J6Ra8ILM8Jz5rvOlrnsah7p9rcYAOD5MFHZim OsdyWgghkjazxC5vQcmWNujxpAE0qFv3A7eTMPv2FtMZ329eCw3v1HsGd7UyicXy2U6j FXdQ== X-Gm-Message-State: AGi0PuZOLatutfQgf8rNtS0D+ce2t4LKKr+9MjD8HKwuSS+nbj7g54bi Q90PjqmRSt1Y3f5FFhKgNA+UZh45 X-Google-Smtp-Source: APiQypJGndCiWhpslH8wz5Dz4E15GFdKQGOf40n+THZy2OXOYT7yorn8Jv3fR2b8qS1wWLOr9LR9GQ== X-Received: by 2002:a63:e54a:: with SMTP id z10mr30634908pgj.346.1588129364908; Tue, 28 Apr 2020 20:02:44 -0700 (PDT) Received: from localhost.localdomain (S01069050ca607903.vc.shawcable.net. [174.7.236.190]) by smtp.gmail.com with ESMTPSA id i9sm16335401pfk.199.2020.04.28.20.02.44 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 28 Apr 2020 20:02:44 -0700 (PDT) From: mindmark@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 28 Apr 2020 20:02:34 -0700 Message-Id: <20200429030235.37074-3-mindmark@gmail.com> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20200429030235.37074-1-mindmark@gmail.com> References: <20200429030235.37074-1-mindmark@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/3] libswscale: add output support for AV_PIX_FMT_GBRAPF32 X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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: Mark Reid Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Mark Reid --- libswscale/output.c | 82 ++++++++++++++++++++++++ libswscale/slice.c | 28 ++++---- libswscale/swscale_unscaled.c | 33 ++++++++++ libswscale/utils.c | 8 +-- tests/ref/fate/filter-pixdesc-gbrapf32be | 1 + tests/ref/fate/filter-pixdesc-gbrapf32le | 1 + tests/ref/fate/filter-pixdesc-gbrpf32be | 1 + tests/ref/fate/filter-pixdesc-gbrpf32le | 1 + tests/ref/fate/filter-pixfmts-copy | 4 ++ tests/ref/fate/filter-pixfmts-crop | 4 ++ tests/ref/fate/filter-pixfmts-field | 4 ++ tests/ref/fate/filter-pixfmts-fieldorder | 4 ++ tests/ref/fate/filter-pixfmts-hflip | 4 ++ tests/ref/fate/filter-pixfmts-il | 4 ++ tests/ref/fate/filter-pixfmts-null | 4 ++ tests/ref/fate/filter-pixfmts-scale | 4 ++ tests/ref/fate/filter-pixfmts-transpose | 4 ++ tests/ref/fate/filter-pixfmts-vflip | 4 ++ 18 files changed, 180 insertions(+), 15 deletions(-) create mode 100644 tests/ref/fate/filter-pixdesc-gbrapf32be create mode 100644 tests/ref/fate/filter-pixdesc-gbrapf32le create mode 100644 tests/ref/fate/filter-pixdesc-gbrpf32be create mode 100644 tests/ref/fate/filter-pixdesc-gbrpf32le diff --git a/libswscale/output.c b/libswscale/output.c index 68f43ffba3..e864e515d0 100644 --- a/libswscale/output.c +++ b/libswscale/output.c @@ -2312,6 +2312,82 @@ yuv2gbrp16_full_X_c(SwsContext *c, const int16_t *lumFilter, } } +static void +yuv2gbrpf32_full_X_c(SwsContext *c, const int16_t *lumFilter, + const int16_t **lumSrcx, int lumFilterSize, + const int16_t *chrFilter, const int16_t **chrUSrcx, + const int16_t **chrVSrcx, int chrFilterSize, + const int16_t **alpSrcx, uint8_t **dest, + int dstW, int y) +{ + const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(c->dstFormat); + int i; + int hasAlpha = (desc->flags & AV_PIX_FMT_FLAG_ALPHA) && alpSrcx; + uint32_t **dest32 = (uint32_t**)dest; + const int32_t **lumSrc = (const int32_t**)lumSrcx; + const int32_t **chrUSrc = (const int32_t**)chrUSrcx; + const int32_t **chrVSrc = (const int32_t**)chrVSrcx; + const int32_t **alpSrc = (const int32_t**)alpSrcx; + static const float float_mult = 1.0f / 65535.0f; + + for (i = 0; i < dstW; i++) { + int j; + int Y = -0x40000000; + int U = -(128 << 23); + int V = -(128 << 23); + int R, G, B, A; + + for (j = 0; j < lumFilterSize; j++) + Y += lumSrc[j][i] * (unsigned)lumFilter[j]; + + for (j = 0; j < chrFilterSize; j++) { + U += chrUSrc[j][i] * (unsigned)chrFilter[j]; + V += chrVSrc[j][i] * (unsigned)chrFilter[j]; + } + + Y >>= 14; + Y += 0x10000; + U >>= 14; + V >>= 14; + + if (hasAlpha) { + A = -0x40000000; + + for (j = 0; j < lumFilterSize; j++) + A += alpSrc[j][i] * (unsigned)lumFilter[j]; + + A >>= 1; + A += 0x20002000; + } + + Y -= c->yuv2rgb_y_offset; + Y *= c->yuv2rgb_y_coeff; + Y += 1 << 13; + R = V * c->yuv2rgb_v2r_coeff; + G = V * c->yuv2rgb_v2g_coeff + U * c->yuv2rgb_u2g_coeff; + B = U * c->yuv2rgb_u2b_coeff; + + R = av_clip_uintp2(Y + R, 30); + G = av_clip_uintp2(Y + G, 30); + B = av_clip_uintp2(Y + B, 30); + + dest32[0][i] = av_float2int(float_mult * (float)(G >> 14)); + dest32[1][i] = av_float2int(float_mult * (float)(B >> 14)); + dest32[2][i] = av_float2int(float_mult * (float)(R >> 14)); + if (hasAlpha) + dest32[3][i] = av_float2int(float_mult * (float)(av_clip_uintp2(A, 30) >> 14)); + } + if ((!isBE(c->dstFormat)) != (!HAVE_BIGENDIAN)) { + for (i = 0; i < dstW; i++) { + dest32[0][i] = av_bswap32(dest32[0][i]); + dest32[1][i] = av_bswap32(dest32[1][i]); + dest32[2][i] = av_bswap32(dest32[2][i]); + if (hasAlpha) + dest32[3][i] = av_bswap32(dest32[3][i]); + } + } +} + static void yuv2ya8_1_c(SwsContext *c, const int16_t *buf0, const int16_t *ubuf[2], const int16_t *vbuf[2], @@ -2716,6 +2792,12 @@ av_cold void ff_sws_init_output_funcs(SwsContext *c, case AV_PIX_FMT_GBRAP16LE: *yuv2anyX = yuv2gbrp16_full_X_c; break; + case AV_PIX_FMT_GBRPF32BE: + case AV_PIX_FMT_GBRPF32LE: + case AV_PIX_FMT_GBRAPF32BE: + case AV_PIX_FMT_GBRAPF32LE: + *yuv2anyX = yuv2gbrpf32_full_X_c; + break; } if (!*yuv2packedX && !*yuv2anyX) goto YUV_PACKED; diff --git a/libswscale/slice.c b/libswscale/slice.c index db4fa874ff..83b2bba443 100644 --- a/libswscale/slice.c +++ b/libswscale/slice.c @@ -189,23 +189,26 @@ int ff_init_slice_from_src(SwsSlice * s, uint8_t *src[4], int stride[4], int src return 0; } -static void fill_ones(SwsSlice *s, int n, int is16bit) +static void fill_ones(SwsSlice *s, int n, int bpc) { - int i; + int i, j, k, size, end; + for (i = 0; i < 4; ++i) { - int j; - int size = s->plane[i].available_lines; + size = s->plane[i].available_lines; for (j = 0; j < size; ++j) { - int k; - int end = is16bit ? n>>1: n; - // fill also one extra element - end += 1; - if (is16bit) + if (bpc == 16) { + end = (n>>1) + 1; for (k = 0; k < end; ++k) ((int32_t*)(s->plane[i].line[j]))[k] = 1<<18; - else + } else if (bpc == 32) { + end = (n>>2) + 1; + for (k = 0; k < end; ++k) + ((int64_t*)(s->plane[i].line[j]))[k] = 1<<34; + } else { + end = n + 1; for (k = 0; k < end; ++k) ((int16_t*)(s->plane[i].line[j]))[k] = 1<<14; + } } } } @@ -272,6 +275,9 @@ int ff_init_filters(SwsContext * c) if (c->dstBpc == 16) dst_stride <<= 1; + if (c->dstBpc == 32) + dst_stride <<= 2; + num_ydesc = need_lum_conv ? 2 : 1; num_cdesc = need_chr_conv ? 2 : 1; @@ -302,7 +308,7 @@ int ff_init_filters(SwsContext * c) res = alloc_lines(&c->slice[i], dst_stride, c->dstW); if (res < 0) goto cleanup; - fill_ones(&c->slice[i], dst_stride>>1, c->dstBpc == 16); + fill_ones(&c->slice[i], dst_stride>>1, c->dstBpc); // vertical scaler output ++i; diff --git a/libswscale/swscale_unscaled.c b/libswscale/swscale_unscaled.c index 67440cdb4a..5fb572b51a 100644 --- a/libswscale/swscale_unscaled.c +++ b/libswscale/swscale_unscaled.c @@ -491,6 +491,34 @@ static int bswap_16bpc(SwsContext *c, const uint8_t *src[], return srcSliceH; } +static int bswap_32bpc(SwsContext *c, const uint8_t *src[], + int srcStride[], int srcSliceY, int srcSliceH, + uint8_t *dst[], int dstStride[]) +{ + int i, j, p; + + for (p = 0; p < 4; p++) { + int srcstr = srcStride[p] / 4; + int dststr = dstStride[p] / 4; + uint32_t *dstPtr = (uint32_t *) dst[p]; + const uint32_t *srcPtr = (const uint32_t *) src[p]; + int min_stride = FFMIN(FFABS(srcstr), FFABS(dststr)); + if(!dstPtr || !srcPtr) + continue; + dstPtr += (srcSliceY >> c->chrDstVSubSample) * dststr; + for (i = 0; i < (srcSliceH >> c->chrDstVSubSample); i++) { + for (j = 0; j < min_stride; j++) { + dstPtr[j] = av_bswap32(srcPtr[j]); + } + srcPtr += srcstr; + dstPtr += dststr; + } + } + + return srcSliceH; +} + + static int palToRgbWrapper(SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) @@ -2077,6 +2105,11 @@ void ff_get_unscaled_swscale(SwsContext *c) IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_YUV444P16)) c->swscale = bswap_16bpc; + /* bswap 32 bits per pixel/component formats */ + if (IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GBRPF32) || + IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GBRAPF32)) + c->swscale = bswap_32bpc; + if (usePal(srcFormat) && isByteRGB(dstFormat)) c->swscale = palToRgbWrapper; diff --git a/libswscale/utils.c b/libswscale/utils.c index 193efdd881..15c0a19afa 100644 --- a/libswscale/utils.c +++ b/libswscale/utils.c @@ -236,10 +236,10 @@ static const FormatEntry format_entries[] = { [AV_PIX_FMT_GBRP14BE] = { 1, 1 }, [AV_PIX_FMT_GBRP16LE] = { 1, 1 }, [AV_PIX_FMT_GBRP16BE] = { 1, 1 }, - [AV_PIX_FMT_GBRPF32LE] = { 1, 0 }, - [AV_PIX_FMT_GBRPF32BE] = { 1, 0 }, - [AV_PIX_FMT_GBRAPF32LE] = { 1, 0 }, - [AV_PIX_FMT_GBRAPF32BE] = { 1, 0 }, + [AV_PIX_FMT_GBRPF32LE] = { 1, 1 }, + [AV_PIX_FMT_GBRPF32BE] = { 1, 1 }, + [AV_PIX_FMT_GBRAPF32LE] = { 1, 1 }, + [AV_PIX_FMT_GBRAPF32BE] = { 1, 1 }, [AV_PIX_FMT_GBRAP] = { 1, 1 }, [AV_PIX_FMT_GBRAP16LE] = { 1, 1 }, [AV_PIX_FMT_GBRAP16BE] = { 1, 1 }, diff --git a/tests/ref/fate/filter-pixdesc-gbrapf32be b/tests/ref/fate/filter-pixdesc-gbrapf32be new file mode 100644 index 0000000000..017f266828 --- /dev/null +++ b/tests/ref/fate/filter-pixdesc-gbrapf32be @@ -0,0 +1 @@ +pixdesc-gbrapf32be 4e476b8f81ebe574e85e58708190bba6 diff --git a/tests/ref/fate/filter-pixdesc-gbrapf32le b/tests/ref/fate/filter-pixdesc-gbrapf32le new file mode 100644 index 0000000000..825f2021ba --- /dev/null +++ b/tests/ref/fate/filter-pixdesc-gbrapf32le @@ -0,0 +1 @@ +pixdesc-gbrapf32le 096aab22bcf8c3cf6ee19c70e037ca2e diff --git a/tests/ref/fate/filter-pixdesc-gbrpf32be b/tests/ref/fate/filter-pixdesc-gbrpf32be new file mode 100644 index 0000000000..71033771c1 --- /dev/null +++ b/tests/ref/fate/filter-pixdesc-gbrpf32be @@ -0,0 +1 @@ +pixdesc-gbrpf32be 3ee0b82f5aaea48ca3c01f4294505d73 diff --git a/tests/ref/fate/filter-pixdesc-gbrpf32le b/tests/ref/fate/filter-pixdesc-gbrpf32le new file mode 100644 index 0000000000..1715415999 --- /dev/null +++ b/tests/ref/fate/filter-pixdesc-gbrpf32le @@ -0,0 +1 @@ +pixdesc-gbrpf32le 0e6b20215ac9b475e917c7bb4cbee349 diff --git a/tests/ref/fate/filter-pixfmts-copy b/tests/ref/fate/filter-pixfmts-copy index d19314bae9..dbf9ede156 100644 --- a/tests/ref/fate/filter-pixfmts-copy +++ b/tests/ref/fate/filter-pixfmts-copy @@ -25,6 +25,8 @@ gbrap12be 0c4c1f8af361571265ca259d5f70f026 gbrap12le 5f1d8c663d4c28863e687192433b34a4 gbrap16be e4edca4361d643794034e5aa9ef290b1 gbrap16le 9a95b389d2bf556179e8f4b27fb550ab +gbrapf32be 7f84fdbe911aa1982b3dc72d47c23544 +gbrapf32le 0a73b48c0fd3cc1c92dc37ed7290b706 gbrp 5fbc319e30110d19d539f5b274eddb6d gbrp10be 703a17591a2a5c236675c5101c349bcc gbrp10le ee014153f55c011918df5b2394815780 @@ -36,6 +38,8 @@ gbrp16be 7b6764a504c853b09f5c7d0b2223c5a4 gbrp16le fb9323a5bd060282bec7bfd7d38dc230 gbrp9be a4dc6f6f9bb051de2dc348b592ad4282 gbrp9le 699da3a3b324f3fd001a56aee9683384 +gbrpf32be ae33c2d738af01ae66a5d2b08a7a60b7 +gbrpf32le 4e3305c619337beeeacc5e6b2f42c793 gray 188590b1231afd231ea910815aef2b25 gray10be d486558ecd2e27afc17930be861f0e4c gray10le 917d687103b2adcca7132bfc070ca54a diff --git a/tests/ref/fate/filter-pixfmts-crop b/tests/ref/fate/filter-pixfmts-crop index ab89d06142..28075f4205 100644 --- a/tests/ref/fate/filter-pixfmts-crop +++ b/tests/ref/fate/filter-pixfmts-crop @@ -25,6 +25,8 @@ gbrap12be c9769d18733cdc2664d8b9af09a03f6d gbrap12le 3f80453c1ac6c5d1b2febf3ef141b476 gbrap16be 21c98d0d7e7de2a93f9f095e5bb5c227 gbrap16le ea9a96870c1b742dd9f065c5db568184 +gbrapf32be 0edb7e727f113236a69499acb7f8deed +gbrapf32le 938e12133f3e83af8e7dae25e0436176 gbrp ec671f573c2105072ab68a1933c58fee gbrp10be 6f0130a41f01e58593d3840446dd94b7 gbrp10le 9c152b7dfb7ad7bc477518d97316d04f @@ -36,6 +38,8 @@ gbrp16be 59e4c27ee33520e23dbceafbec27aa9b gbrp16le 0768a2462783829f63ed0bfd53d01222 gbrp9be 4af43999e5e9742992b6550ea5ad9b23 gbrp9le b4cbfa7878706a14295f09212e41f7fe +gbrpf32be 4f06588a3de6ed0f30436f814eda0909 +gbrpf32le b2a9df783d8c2156c5aafc561989918d gray 0d70b54b4b888ec4dbd89713620ac1ee gray10be 18ed76cab145ab9058cc353fcec6d3c4 gray10le fd83f7489880160783ddb125615b4638 diff --git a/tests/ref/fate/filter-pixfmts-field b/tests/ref/fate/filter-pixfmts-field index 994026dd7c..c1a965f02d 100644 --- a/tests/ref/fate/filter-pixfmts-field +++ b/tests/ref/fate/filter-pixfmts-field @@ -25,6 +25,8 @@ gbrap12be e7f471132628b1c034199cc109b84bc2 gbrap12le 886207e5aa379a0312485b94e5fd5edd gbrap16be eaa0158f27ebc40cde9e3d6eef1e2ba1 gbrap16le 6cf68992d4fcac2aa025d1014b669d24 +gbrapf32be 59bc246ff72abdfd24e75b721b2bb0a4 +gbrapf32le d4a0e151b68306ae90d1ecf18155fae1 gbrp 838025a3062f7f31e99196ce66961ad7 gbrp10be f63c2555ea19fc78b00fd5b3e2b48e8c gbrp10le be64c374ab318235d912372e99a0516a @@ -36,6 +38,8 @@ gbrp16be 020eff1626415ea726c55b23162ce59a gbrp16le 0ab77b498d4a39905515b6e1f0329ed2 gbrp9be 170da3a8644cbea61c3caeadc45354c5 gbrp9le da5d80e6f12cabaa7081bb85d3b7fd30 +gbrpf32be cd5b0edd510652a0bcfd7e36935e3cb0 +gbrpf32le 9d42fc5331376b5307268498a06613ce gray 57fd8e6e00f6be8752726005974cce1b gray10be 437713f3d081238cddb738e106e5a27d gray10le c749b80049b152f4ba3e66a72c0c5acc diff --git a/tests/ref/fate/filter-pixfmts-fieldorder b/tests/ref/fate/filter-pixfmts-fieldorder index 3d3eef3f3e..6ad3874fce 100644 --- a/tests/ref/fate/filter-pixfmts-fieldorder +++ b/tests/ref/fate/filter-pixfmts-fieldorder @@ -25,6 +25,8 @@ gbrap12be 302b353dff696ec9fd0d85a0cc14802b gbrap12le ae2d6db2c9c825f06d92389de21263d2 gbrap16be 52c10d8046d123dfc4a478276906467c gbrap16le 2317737b8f5140add27d121de8f5ba95 +gbrapf32be f71162b1f65d308d91bf84420e68f568 +gbrapf32le d060f68e7bba2e1a88627e533d2bd55f gbrp 506dea2fe492e985a396d1b11ccd8db3 gbrp10be 55bbfe2d472780dcbadf3027778caa0e gbrp10le 13a39077ab1b2c3b49afd3e250b84a77 @@ -36,6 +38,8 @@ gbrp16be f82e4bda468275f51becf70f3880be52 gbrp16le c7813a905f94aabb2bcade79c9b7e39e gbrp9be b8d294d4bc81ceef1fb529e917c02e48 gbrp9le 0d42cc9e222d806c33172781b45cb3e3 +gbrpf32be cef1384ac5c95cf4b3ea2e49133dbef0 +gbrpf32le c053b8bf8314196099b1e2e1d0617b75 gray d96e0f1c73d3f0b9506d691b5cd36c73 gray10be c26c73de96b630f1207ff589b6553ebd gray10le 16e4db1d611ec3fa5c9fd8fbdbf1ffcc diff --git a/tests/ref/fate/filter-pixfmts-hflip b/tests/ref/fate/filter-pixfmts-hflip index 87120747c7..570b69188c 100644 --- a/tests/ref/fate/filter-pixfmts-hflip +++ b/tests/ref/fate/filter-pixfmts-hflip @@ -25,6 +25,8 @@ gbrap12be ffe9aa4cbcc42f71757efe18826764ac gbrap12le 88a85c1b3c5e19e299fdd209b73ac1ba gbrap16be 3117e84b258433a7efb9288bbb8815d4 gbrap16le 3ad08cf8b49d8eb31a1b356ec4b7b88b +gbrapf32be 11e3dee65d66a5b7fecfdce48d5382a8 +gbrapf32le 4f641daa1f21b0c8ac5629d3849ca912 gbrp 0ecfeca171ba3a1a2ff4e92f572b71cf gbrp10be 774398c2f81757a536c094f16cfc541a gbrp10le e9a6434d691be541f789f850963da181 @@ -36,6 +38,8 @@ gbrp16be 46cf9473646a4b9dbcb05661ade658ec gbrp16le 6ce6093b24d09c0edcd55b2d6fec89a0 gbrp9be 174de037c2a9f2b6fb4d9444ae0ff82f gbrp9le ba7c2631fb2967aa909c66509bd243fe +gbrpf32be a53fc24a298bf419051fb57c63cc4cef +gbrpf32le b44dae0881043398bfd704a944094737 gray 8bd4ece1dbf89b20ee785e0515356e07 gray10be 160dd03e30d33379de92c70ee52c01fd gray10le 6baac1da6be3789409b67cd506afe7da diff --git a/tests/ref/fate/filter-pixfmts-il b/tests/ref/fate/filter-pixfmts-il index 7f1c339de4..40014bd5ca 100644 --- a/tests/ref/fate/filter-pixfmts-il +++ b/tests/ref/fate/filter-pixfmts-il @@ -25,6 +25,8 @@ gbrap12be 48609d6b61ff6313939fa2d9c3ebb6d9 gbrap12le e3b5342c8e47820f2de7e2dd61872312 gbrap16be 696c84c8b009c7320cad7f3847bb35da gbrap16le 9bacb81fbbe9cdfd04d71eb55a9719d2 +gbrapf32be b2998416637c2431cd79f63a8e54cc85 +gbrapf32le 9cac54ad2664f89f6f036a198788be6d gbrp dc06edb62e70024a216c8e303b79b328 gbrp10be 321e7f061d8b9b5801221b6cf3c99666 gbrp10le 799ed3afca01076439a0b6785b3dc4bb @@ -36,6 +38,8 @@ gbrp16be c8c95027703c680ed8f8f91c725db40a gbrp16le c95c9d7c2b19826b73ff1811d9fe6bdb gbrp9be f029d87fa642f4261160471ad27fd53f gbrp9le b310d3cf37f7b41d706155993f8f0584 +gbrpf32be 83722ee41b4397e19bb075ab305147b5 +gbrpf32le 82210a8f9e8708968fa13cf8cf64afe4 gray 52ae18648161ac43144f5c9cd2127786 gray10be 8400dec0eefb172849b785d35fc55674 gray10le b7d6e49e8d1291f2b0a57d55e9478ef1 diff --git a/tests/ref/fate/filter-pixfmts-null b/tests/ref/fate/filter-pixfmts-null index d19314bae9..dbf9ede156 100644 --- a/tests/ref/fate/filter-pixfmts-null +++ b/tests/ref/fate/filter-pixfmts-null @@ -25,6 +25,8 @@ gbrap12be 0c4c1f8af361571265ca259d5f70f026 gbrap12le 5f1d8c663d4c28863e687192433b34a4 gbrap16be e4edca4361d643794034e5aa9ef290b1 gbrap16le 9a95b389d2bf556179e8f4b27fb550ab +gbrapf32be 7f84fdbe911aa1982b3dc72d47c23544 +gbrapf32le 0a73b48c0fd3cc1c92dc37ed7290b706 gbrp 5fbc319e30110d19d539f5b274eddb6d gbrp10be 703a17591a2a5c236675c5101c349bcc gbrp10le ee014153f55c011918df5b2394815780 @@ -36,6 +38,8 @@ gbrp16be 7b6764a504c853b09f5c7d0b2223c5a4 gbrp16le fb9323a5bd060282bec7bfd7d38dc230 gbrp9be a4dc6f6f9bb051de2dc348b592ad4282 gbrp9le 699da3a3b324f3fd001a56aee9683384 +gbrpf32be ae33c2d738af01ae66a5d2b08a7a60b7 +gbrpf32le 4e3305c619337beeeacc5e6b2f42c793 gray 188590b1231afd231ea910815aef2b25 gray10be d486558ecd2e27afc17930be861f0e4c gray10le 917d687103b2adcca7132bfc070ca54a diff --git a/tests/ref/fate/filter-pixfmts-scale b/tests/ref/fate/filter-pixfmts-scale index 89d3f58eb6..21528f1dc5 100644 --- a/tests/ref/fate/filter-pixfmts-scale +++ b/tests/ref/fate/filter-pixfmts-scale @@ -25,6 +25,8 @@ gbrap12be 1d9b57766ba9c2192403f43967cb9af0 gbrap12le bb1ba1c157717db3dd612a76d38a018e gbrap16be c72b935a6e57a8e1c37bff08c2db55b1 gbrap16le 13eb0e62b1ac9c1c86c81521eaefab5f +gbrapf32be e6abe67df7fdd5f5dc5db7d852e50954 +gbrapf32le 4d3043b206f7053f7d8d5672f430d680 gbrp dc3387f925f972c61aae7eb23cdc19f0 gbrp10be 0277d4c3a8498d75e2783fb81379e481 gbrp10le f3d70f8ab845c3c9b8f7452e4a6e285a @@ -36,6 +38,8 @@ gbrp16be 5fc826cfabebfc1442cb793c4b6303e2 gbrp16le 1b3e0b63d47a3e1b6b20931316883bf2 gbrp9be d9c88968001e1452ff31fbc8d16b18a0 gbrp9le 2ccfed0816bf6bd4bb3a5b7591d9603a +gbrpf32be 4614d32e4417f80e0adcc1bdcf6cde42 +gbrpf32le 1366ee77e5559672260bbe51040e28b2 gray 221201cc7cfc4964eacd8b3e426fd276 gray10be 9452756d0b37f4f5c7cae7635e22d747 gray10le 37fd2e1ec6b66410212d39a342e864df diff --git a/tests/ref/fate/filter-pixfmts-transpose b/tests/ref/fate/filter-pixfmts-transpose index e4a170f722..ddecc40d88 100644 --- a/tests/ref/fate/filter-pixfmts-transpose +++ b/tests/ref/fate/filter-pixfmts-transpose @@ -25,6 +25,8 @@ gbrap12be 1518c9a565d1ba1a45dd369acc1aa75e gbrap12le 714fe318af81a46f83655c6e7e13351e gbrap16be 39d488528aacff466aac7539c9b948a8 gbrap16le 5426ac9457289927bfe2ec03038a8780 +gbrapf32be f35a9e10bf5953d0b6acd1d3a000e0e8 +gbrapf32le 6e7e90bea957eab3c417c51b4be7f434 gbrp 7b4b6a2f1cdc51455b25515c3ecea944 gbrp10be d7401725699b2ddf954caa16a0878a1e gbrp10le 6036711969eae1979be6358f688bd9c8 @@ -36,6 +38,8 @@ gbrp16be 0d003b88d4f446ae9ba12cab1cbb359a gbrp16le a1c09038fa4636c9843ab8dd2b7601ea gbrp9be df381b4b27be25d172fa556434478807 gbrp9le a5301e978f68b29bfc613b2462ec4888 +gbrpf32be b90d6189e71afd6ec1f379489884cc8e +gbrpf32le 48dee2c9cee8ac6582492fd1c7acb183 gray c5f8bc6636fd15dbc57deb4bba1e7379 gray10be 48b421da79c195fd91dffb8fca79a8a2 gray10le 7774e3296916b896afa46f626334a280 diff --git a/tests/ref/fate/filter-pixfmts-vflip b/tests/ref/fate/filter-pixfmts-vflip index 2522c840f3..6be6fc68fa 100644 --- a/tests/ref/fate/filter-pixfmts-vflip +++ b/tests/ref/fate/filter-pixfmts-vflip @@ -25,6 +25,8 @@ gbrap12be 16a3d105ba852a9fa23ea5232db51b48 gbrap12le 6ef8a3ac4129ec23c34aec14ac41f249 gbrap16be 70b020b6b9e1896b72f890de3570ffda gbrap16le e0cf341cdbaf1f5c40016f181bc9d7d4 +gbrapf32be f7cbc3bb2100109dbf12d547b7fbaf34 +gbrapf32le 5cd7d298664c238b084e1a8384e8cf8c gbrp 413b0f6ea51588d4be5f0c76d43d8796 gbrp10be d02bd50db83213667808f5bacefe667c gbrp10le 2d4a5ebc773ffc3d857a6ef24afbe10e @@ -36,6 +38,8 @@ gbrp16be 3fef87fe67bf1fd0e2f5056dc0db2ef4 gbrp16le f3b2b76fe707f77eb1376640759f5168 gbrp9be 99c694dd47d12ae48fc8f47a0c410333 gbrp9le 26e103a4ab99fb3f58667df490997a36 +gbrpf32be 3eaa2d475754c2b4ae3c59dbdb7ccd84 +gbrpf32le 0267e215c3d11ae22414c3e29e665896 gray 41811422d5819ed69389357294384c10 gray10be 52710b3ab3ccf6101d28109f58cd48c4 gray10le 9c432a163f0cfe9ee2a4b72ae8a7c307