[FFmpeg-devel,v2,2/5] swscale/swscale_unscaled: add missing gbrap10 on ff_get_unscaled_swscale

Submitted by Muhammad Faiz on Jan. 28, 2019, 10:07 a.m.

Details

Message ID 20190128100741.22923-2-mfcc64@gmail.com
State New
Headers show

Commit Message

Muhammad Faiz Jan. 28, 2019, 10:07 a.m.
Fix inconsistent checksums between gbrap10be and gbrap10le
on fate-filter-pixfmts.

Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
---
 libswscale/swscale_unscaled.c            | 3 +++
 tests/ref/fate/filter-pixfmts-copy       | 2 +-
 tests/ref/fate/filter-pixfmts-crop       | 2 +-
 tests/ref/fate/filter-pixfmts-field      | 2 +-
 tests/ref/fate/filter-pixfmts-fieldorder | 2 +-
 tests/ref/fate/filter-pixfmts-hflip      | 2 +-
 tests/ref/fate/filter-pixfmts-il         | 2 +-
 tests/ref/fate/filter-pixfmts-null       | 2 +-
 tests/ref/fate/filter-pixfmts-scale      | 2 +-
 tests/ref/fate/filter-pixfmts-transpose  | 2 +-
 tests/ref/fate/filter-pixfmts-vflip      | 2 +-
 11 files changed, 13 insertions(+), 10 deletions(-)

Comments

Michael Niedermayer Jan. 28, 2019, 10:14 p.m.
On Mon, Jan 28, 2019 at 05:07:38PM +0700, Muhammad Faiz wrote:
> Fix inconsistent checksums between gbrap10be and gbrap10le
> on fate-filter-pixfmts.
> 
> Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
> ---
>  libswscale/swscale_unscaled.c            | 3 +++
>  tests/ref/fate/filter-pixfmts-copy       | 2 +-
>  tests/ref/fate/filter-pixfmts-crop       | 2 +-
>  tests/ref/fate/filter-pixfmts-field      | 2 +-
>  tests/ref/fate/filter-pixfmts-fieldorder | 2 +-
>  tests/ref/fate/filter-pixfmts-hflip      | 2 +-
>  tests/ref/fate/filter-pixfmts-il         | 2 +-
>  tests/ref/fate/filter-pixfmts-null       | 2 +-
>  tests/ref/fate/filter-pixfmts-scale      | 2 +-
>  tests/ref/fate/filter-pixfmts-transpose  | 2 +-
>  tests/ref/fate/filter-pixfmts-vflip      | 2 +-
>  11 files changed, 13 insertions(+), 10 deletions(-)
> 
> diff --git a/libswscale/swscale_unscaled.c b/libswscale/swscale_unscaled.c
> index 058f2b94db..734a527e68 100644
> --- a/libswscale/swscale_unscaled.c
> +++ b/libswscale/swscale_unscaled.c
> @@ -1942,6 +1942,7 @@ void ff_get_unscaled_swscale(SwsContext *c)
>           dstFormat == AV_PIX_FMT_GBRP12LE || dstFormat == AV_PIX_FMT_GBRP12BE ||
>           dstFormat == AV_PIX_FMT_GBRP14LE || dstFormat == AV_PIX_FMT_GBRP14BE ||
>           dstFormat == AV_PIX_FMT_GBRP16LE || dstFormat == AV_PIX_FMT_GBRP16BE ||
> +         dstFormat == AV_PIX_FMT_GBRAP10LE || dstFormat == AV_PIX_FMT_GBRAP10BE ||
>           dstFormat == AV_PIX_FMT_GBRAP12LE || dstFormat == AV_PIX_FMT_GBRAP12BE ||
>           dstFormat == AV_PIX_FMT_GBRAP16LE || dstFormat == AV_PIX_FMT_GBRAP16BE ))
>          c->swscale = Rgb16ToPlanarRgb16Wrapper;
> @@ -1951,6 +1952,7 @@ void ff_get_unscaled_swscale(SwsContext *c)
>           srcFormat == AV_PIX_FMT_GBRP10LE || srcFormat == AV_PIX_FMT_GBRP10BE ||
>           srcFormat == AV_PIX_FMT_GBRP12LE || srcFormat == AV_PIX_FMT_GBRP12BE ||
>           srcFormat == AV_PIX_FMT_GBRP14LE || srcFormat == AV_PIX_FMT_GBRP14BE ||
> +         srcFormat == AV_PIX_FMT_GBRAP10LE || srcFormat == AV_PIX_FMT_GBRAP10BE ||
>           srcFormat == AV_PIX_FMT_GBRAP12LE || srcFormat == AV_PIX_FMT_GBRAP12BE ||
>           srcFormat == AV_PIX_FMT_GBRAP16LE || srcFormat == AV_PIX_FMT_GBRAP16BE) &&
>          (dstFormat == AV_PIX_FMT_RGB48LE  || dstFormat == AV_PIX_FMT_RGB48BE  ||
> @@ -1997,6 +1999,7 @@ void ff_get_unscaled_swscale(SwsContext *c)
>          IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GBRP12) ||
>          IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GBRP14) ||
>          IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GBRP16) ||
> +        IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GBRAP10) ||
>          IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GBRAP12) ||
>          IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GBRAP16) ||
>          IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_RGB444) ||

have you tested these ?
iam asking as the previous iteration had a bug which was missed in testing
also adding a test or tests to fate which would cover that codepath that was
missed could be a good idea

the change itself looks fine i think but i have not tested it beyond seeing
that it changes the output for some files

Thanks

[...]
Muhammad Faiz Jan. 29, 2019, 6:08 a.m.
On Tue, Jan 29, 2019 at 5:14 AM Michael Niedermayer
<michael@niedermayer.cc> wrote:
>
> On Mon, Jan 28, 2019 at 05:07:38PM +0700, Muhammad Faiz wrote:
> > Fix inconsistent checksums between gbrap10be and gbrap10le
> > on fate-filter-pixfmts.
> >
> > Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
> > ---
> >  libswscale/swscale_unscaled.c            | 3 +++
> >  tests/ref/fate/filter-pixfmts-copy       | 2 +-
> >  tests/ref/fate/filter-pixfmts-crop       | 2 +-
> >  tests/ref/fate/filter-pixfmts-field      | 2 +-
> >  tests/ref/fate/filter-pixfmts-fieldorder | 2 +-
> >  tests/ref/fate/filter-pixfmts-hflip      | 2 +-
> >  tests/ref/fate/filter-pixfmts-il         | 2 +-
> >  tests/ref/fate/filter-pixfmts-null       | 2 +-
> >  tests/ref/fate/filter-pixfmts-scale      | 2 +-
> >  tests/ref/fate/filter-pixfmts-transpose  | 2 +-
> >  tests/ref/fate/filter-pixfmts-vflip      | 2 +-
> >  11 files changed, 13 insertions(+), 10 deletions(-)
> >
> > diff --git a/libswscale/swscale_unscaled.c b/libswscale/swscale_unscaled.c
> > index 058f2b94db..734a527e68 100644
> > --- a/libswscale/swscale_unscaled.c
> > +++ b/libswscale/swscale_unscaled.c
> > @@ -1942,6 +1942,7 @@ void ff_get_unscaled_swscale(SwsContext *c)
> >           dstFormat == AV_PIX_FMT_GBRP12LE || dstFormat == AV_PIX_FMT_GBRP12BE ||
> >           dstFormat == AV_PIX_FMT_GBRP14LE || dstFormat == AV_PIX_FMT_GBRP14BE ||
> >           dstFormat == AV_PIX_FMT_GBRP16LE || dstFormat == AV_PIX_FMT_GBRP16BE ||
> > +         dstFormat == AV_PIX_FMT_GBRAP10LE || dstFormat == AV_PIX_FMT_GBRAP10BE ||
> >           dstFormat == AV_PIX_FMT_GBRAP12LE || dstFormat == AV_PIX_FMT_GBRAP12BE ||
> >           dstFormat == AV_PIX_FMT_GBRAP16LE || dstFormat == AV_PIX_FMT_GBRAP16BE ))
> >          c->swscale = Rgb16ToPlanarRgb16Wrapper;
> > @@ -1951,6 +1952,7 @@ void ff_get_unscaled_swscale(SwsContext *c)
> >           srcFormat == AV_PIX_FMT_GBRP10LE || srcFormat == AV_PIX_FMT_GBRP10BE ||
> >           srcFormat == AV_PIX_FMT_GBRP12LE || srcFormat == AV_PIX_FMT_GBRP12BE ||
> >           srcFormat == AV_PIX_FMT_GBRP14LE || srcFormat == AV_PIX_FMT_GBRP14BE ||
> > +         srcFormat == AV_PIX_FMT_GBRAP10LE || srcFormat == AV_PIX_FMT_GBRAP10BE ||
> >           srcFormat == AV_PIX_FMT_GBRAP12LE || srcFormat == AV_PIX_FMT_GBRAP12BE ||
> >           srcFormat == AV_PIX_FMT_GBRAP16LE || srcFormat == AV_PIX_FMT_GBRAP16BE) &&
> >          (dstFormat == AV_PIX_FMT_RGB48LE  || dstFormat == AV_PIX_FMT_RGB48BE  ||
> > @@ -1997,6 +1999,7 @@ void ff_get_unscaled_swscale(SwsContext *c)
> >          IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GBRP12) ||
> >          IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GBRP14) ||
> >          IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GBRP16) ||
> > +        IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GBRAP10) ||
> >          IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GBRAP12) ||
> >          IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GBRAP16) ||
> >          IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_RGB444) ||
>
> have you tested these ?
> iam asking as the previous iteration had a bug which was missed in testing

fate-filter-pixfmts only covers gbrap10le <-> gbrap10be conversion.
Actually the first two changes fix gbrap10 <-> rgb(a)(64/48) conversions.

This is a simple test:
FFMPEG=./ffmpeg

$FFMPEG -loglevel quiet -filter_complex "allyuv=d=0.01" -pix_fmt
gbrap10le -f rawvideo -y in.rgb

for fmt in rgba64be bgra64be rgba64le bgra64be gbrap10be; do
    $FFMPEG -loglevel quiet -s 4096x4096 -pix_fmt gbrap10le -f
rawvideo -i in.rgb -vf format=$fmt -pix_fmt gbrap10le -f rawvideo -y
out-$fmt.rgb
    if cmp in.rgb out-$fmt.rgb; then
        echo "in.rgb out-$fmt.rgb are equal"
    fi
done

> also adding a test or tests to fate which would cover that codepath that was
> missed could be a good idea

As I suggested in 1/5, adding a test that covers all lossless
conversions (not only gbrap10 case) is a good idea.
But that is beyond of this patch.

(Also note that p010 and p016 problems haven't yet been fixed.)

>
> the change itself looks fine i think but i have not tested it beyond seeing
> that it changes the output for some files
>
> Thanks
Michael Niedermayer Jan. 30, 2019, 8:13 p.m.
On Tue, Jan 29, 2019 at 01:08:38PM +0700, Muhammad Faiz wrote:
> On Tue, Jan 29, 2019 at 5:14 AM Michael Niedermayer
> <michael@niedermayer.cc> wrote:
> >
> > On Mon, Jan 28, 2019 at 05:07:38PM +0700, Muhammad Faiz wrote:
> > > Fix inconsistent checksums between gbrap10be and gbrap10le
> > > on fate-filter-pixfmts.
> > >
> > > Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
> > > ---
> > >  libswscale/swscale_unscaled.c            | 3 +++
> > >  tests/ref/fate/filter-pixfmts-copy       | 2 +-
> > >  tests/ref/fate/filter-pixfmts-crop       | 2 +-
> > >  tests/ref/fate/filter-pixfmts-field      | 2 +-
> > >  tests/ref/fate/filter-pixfmts-fieldorder | 2 +-
> > >  tests/ref/fate/filter-pixfmts-hflip      | 2 +-
> > >  tests/ref/fate/filter-pixfmts-il         | 2 +-
> > >  tests/ref/fate/filter-pixfmts-null       | 2 +-
> > >  tests/ref/fate/filter-pixfmts-scale      | 2 +-
> > >  tests/ref/fate/filter-pixfmts-transpose  | 2 +-
> > >  tests/ref/fate/filter-pixfmts-vflip      | 2 +-
> > >  11 files changed, 13 insertions(+), 10 deletions(-)
> > >
> > > diff --git a/libswscale/swscale_unscaled.c b/libswscale/swscale_unscaled.c
> > > index 058f2b94db..734a527e68 100644
> > > --- a/libswscale/swscale_unscaled.c
> > > +++ b/libswscale/swscale_unscaled.c
> > > @@ -1942,6 +1942,7 @@ void ff_get_unscaled_swscale(SwsContext *c)
> > >           dstFormat == AV_PIX_FMT_GBRP12LE || dstFormat == AV_PIX_FMT_GBRP12BE ||
> > >           dstFormat == AV_PIX_FMT_GBRP14LE || dstFormat == AV_PIX_FMT_GBRP14BE ||
> > >           dstFormat == AV_PIX_FMT_GBRP16LE || dstFormat == AV_PIX_FMT_GBRP16BE ||
> > > +         dstFormat == AV_PIX_FMT_GBRAP10LE || dstFormat == AV_PIX_FMT_GBRAP10BE ||
> > >           dstFormat == AV_PIX_FMT_GBRAP12LE || dstFormat == AV_PIX_FMT_GBRAP12BE ||
> > >           dstFormat == AV_PIX_FMT_GBRAP16LE || dstFormat == AV_PIX_FMT_GBRAP16BE ))
> > >          c->swscale = Rgb16ToPlanarRgb16Wrapper;
> > > @@ -1951,6 +1952,7 @@ void ff_get_unscaled_swscale(SwsContext *c)
> > >           srcFormat == AV_PIX_FMT_GBRP10LE || srcFormat == AV_PIX_FMT_GBRP10BE ||
> > >           srcFormat == AV_PIX_FMT_GBRP12LE || srcFormat == AV_PIX_FMT_GBRP12BE ||
> > >           srcFormat == AV_PIX_FMT_GBRP14LE || srcFormat == AV_PIX_FMT_GBRP14BE ||
> > > +         srcFormat == AV_PIX_FMT_GBRAP10LE || srcFormat == AV_PIX_FMT_GBRAP10BE ||
> > >           srcFormat == AV_PIX_FMT_GBRAP12LE || srcFormat == AV_PIX_FMT_GBRAP12BE ||
> > >           srcFormat == AV_PIX_FMT_GBRAP16LE || srcFormat == AV_PIX_FMT_GBRAP16BE) &&
> > >          (dstFormat == AV_PIX_FMT_RGB48LE  || dstFormat == AV_PIX_FMT_RGB48BE  ||
> > > @@ -1997,6 +1999,7 @@ void ff_get_unscaled_swscale(SwsContext *c)
> > >          IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GBRP12) ||
> > >          IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GBRP14) ||
> > >          IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GBRP16) ||
> > > +        IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GBRAP10) ||
> > >          IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GBRAP12) ||
> > >          IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GBRAP16) ||
> > >          IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_RGB444) ||
> >
> > have you tested these ?
> > iam asking as the previous iteration had a bug which was missed in testing
> 
> fate-filter-pixfmts only covers gbrap10le <-> gbrap10be conversion.
> Actually the first two changes fix gbrap10 <-> rgb(a)(64/48) conversions.
> 
> This is a simple test:
> FFMPEG=./ffmpeg
> 
> $FFMPEG -loglevel quiet -filter_complex "allyuv=d=0.01" -pix_fmt
> gbrap10le -f rawvideo -y in.rgb
> 
> for fmt in rgba64be bgra64be rgba64le bgra64be gbrap10be; do
>     $FFMPEG -loglevel quiet -s 4096x4096 -pix_fmt gbrap10le -f
> rawvideo -i in.rgb -vf format=$fmt -pix_fmt gbrap10le -f rawvideo -y
> out-$fmt.rgb
>     if cmp in.rgb out-$fmt.rgb; then
>         echo "in.rgb out-$fmt.rgb are equal"
>     fi
> done

passes on x86 & mips qemu with this (and prev) patch

thanks!



> 
> > also adding a test or tests to fate which would cover that codepath that was
> > missed could be a good idea
> 
> As I suggested in 1/5, adding a test that covers all lossless
> conversions (not only gbrap10 case) is a good idea.
> But that is beyond of this patch.
> 
> (Also note that p010 and p016 problems haven't yet been fixed.)
> 
> >
> > the change itself looks fine i think but i have not tested it beyond seeing
> > that it changes the output for some files
> >
> > Thanks
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Patch hide | download patch | download mbox

diff --git a/libswscale/swscale_unscaled.c b/libswscale/swscale_unscaled.c
index 058f2b94db..734a527e68 100644
--- a/libswscale/swscale_unscaled.c
+++ b/libswscale/swscale_unscaled.c
@@ -1942,6 +1942,7 @@  void ff_get_unscaled_swscale(SwsContext *c)
          dstFormat == AV_PIX_FMT_GBRP12LE || dstFormat == AV_PIX_FMT_GBRP12BE ||
          dstFormat == AV_PIX_FMT_GBRP14LE || dstFormat == AV_PIX_FMT_GBRP14BE ||
          dstFormat == AV_PIX_FMT_GBRP16LE || dstFormat == AV_PIX_FMT_GBRP16BE ||
+         dstFormat == AV_PIX_FMT_GBRAP10LE || dstFormat == AV_PIX_FMT_GBRAP10BE ||
          dstFormat == AV_PIX_FMT_GBRAP12LE || dstFormat == AV_PIX_FMT_GBRAP12BE ||
          dstFormat == AV_PIX_FMT_GBRAP16LE || dstFormat == AV_PIX_FMT_GBRAP16BE ))
         c->swscale = Rgb16ToPlanarRgb16Wrapper;
@@ -1951,6 +1952,7 @@  void ff_get_unscaled_swscale(SwsContext *c)
          srcFormat == AV_PIX_FMT_GBRP10LE || srcFormat == AV_PIX_FMT_GBRP10BE ||
          srcFormat == AV_PIX_FMT_GBRP12LE || srcFormat == AV_PIX_FMT_GBRP12BE ||
          srcFormat == AV_PIX_FMT_GBRP14LE || srcFormat == AV_PIX_FMT_GBRP14BE ||
+         srcFormat == AV_PIX_FMT_GBRAP10LE || srcFormat == AV_PIX_FMT_GBRAP10BE ||
          srcFormat == AV_PIX_FMT_GBRAP12LE || srcFormat == AV_PIX_FMT_GBRAP12BE ||
          srcFormat == AV_PIX_FMT_GBRAP16LE || srcFormat == AV_PIX_FMT_GBRAP16BE) &&
         (dstFormat == AV_PIX_FMT_RGB48LE  || dstFormat == AV_PIX_FMT_RGB48BE  ||
@@ -1997,6 +1999,7 @@  void ff_get_unscaled_swscale(SwsContext *c)
         IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GBRP12) ||
         IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GBRP14) ||
         IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GBRP16) ||
+        IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GBRAP10) ||
         IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GBRAP12) ||
         IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_GBRAP16) ||
         IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_RGB444) ||
diff --git a/tests/ref/fate/filter-pixfmts-copy b/tests/ref/fate/filter-pixfmts-copy
index 2417c577bd..82b8f28c31 100644
--- a/tests/ref/fate/filter-pixfmts-copy
+++ b/tests/ref/fate/filter-pixfmts-copy
@@ -25,7 +25,7 @@  bgra64be(le)        b71d75a928aac14cb768403e6f6a9910
 bgra64le            b71d75a928aac14cb768403e6f6a9910
 gbrap               98d30987407c51e5620921e11d40a4ff
 gbrap10be           edcffb185e44b6dae5c2ead5505b7125
-gbrap10be(le)       3a046be0d38289dda5d8fdbd0f34aaf5
+gbrap10be(le)       2a7392e14b21b1f9457526a071236a6d
 gbrap10le           2a7392e14b21b1f9457526a071236a6d
 gbrap12be           0c4c1f8af361571265ca259d5f70f026
 gbrap12be(le)       5f1d8c663d4c28863e687192433b34a4
diff --git a/tests/ref/fate/filter-pixfmts-crop b/tests/ref/fate/filter-pixfmts-crop
index a0e1d9584f..cc32f2c99c 100644
--- a/tests/ref/fate/filter-pixfmts-crop
+++ b/tests/ref/fate/filter-pixfmts-crop
@@ -25,7 +25,7 @@  bgra64be(le)        dd29ec9aba43aa3e8f9f5b9a93ca8831
 bgra64le            dd29ec9aba43aa3e8f9f5b9a93ca8831
 gbrap               188cd467fe7ae7d85ae9ca8bdfa07739
 gbrap10be           1880c4856d9cc6492b8b859f2711aaf1
-gbrap10be(le)       c8505df07f9eeb413f943b5f4d686c0b
+gbrap10be(le)       c2b6e35f8b7ca363a7ec021ccdf31d1f
 gbrap10le           c2b6e35f8b7ca363a7ec021ccdf31d1f
 gbrap12be           c9769d18733cdc2664d8b9af09a03f6d
 gbrap12be(le)       3f80453c1ac6c5d1b2febf3ef141b476
diff --git a/tests/ref/fate/filter-pixfmts-field b/tests/ref/fate/filter-pixfmts-field
index 210fa97e48..3ae7144e26 100644
--- a/tests/ref/fate/filter-pixfmts-field
+++ b/tests/ref/fate/filter-pixfmts-field
@@ -25,7 +25,7 @@  bgra64be(le)        9e2def541e51bc6e77fbffbff7fa146a
 bgra64le            9e2def541e51bc6e77fbffbff7fa146a
 gbrap               08a28b79dbd19246d1a94e3466af3624
 gbrap10be           29d46cbf021b233f5f1886e5d5fe21b4
-gbrap10be(le)       a5cfc53fbd96fcdf83b8b655fe25bf67
+gbrap10be(le)       4017c5d8c124438eb9aefa107db58d3b
 gbrap10le           4017c5d8c124438eb9aefa107db58d3b
 gbrap12be           e7f471132628b1c034199cc109b84bc2
 gbrap12be(le)       886207e5aa379a0312485b94e5fd5edd
diff --git a/tests/ref/fate/filter-pixfmts-fieldorder b/tests/ref/fate/filter-pixfmts-fieldorder
index 83ee4f40cc..4c66f61303 100644
--- a/tests/ref/fate/filter-pixfmts-fieldorder
+++ b/tests/ref/fate/filter-pixfmts-fieldorder
@@ -25,7 +25,7 @@  bgra64be(le)        5029192d0f32383c9f25f8e7da7cb5a0
 bgra64le            5029192d0f32383c9f25f8e7da7cb5a0
 gbrap               00afb65d44bea99c31b318fdbeb3be10
 gbrap10be           8b27254a69cd0e25fa55262a743f95e6
-gbrap10be(le)       7ddbc3ffb7cb6b7e59c866ff99ca5a16
+gbrap10be(le)       52278021718ec370903dccc923dc8bf6
 gbrap10le           52278021718ec370903dccc923dc8bf6
 gbrap12be           302b353dff696ec9fd0d85a0cc14802b
 gbrap12be(le)       ae2d6db2c9c825f06d92389de21263d2
diff --git a/tests/ref/fate/filter-pixfmts-hflip b/tests/ref/fate/filter-pixfmts-hflip
index a6e1e889e5..c953e51fec 100644
--- a/tests/ref/fate/filter-pixfmts-hflip
+++ b/tests/ref/fate/filter-pixfmts-hflip
@@ -25,7 +25,7 @@  bgra64be(le)        1b15c01c94cf9af89273da1d1f994cff
 bgra64le            1b15c01c94cf9af89273da1d1f994cff
 gbrap               bf6a2b2f206fbbb332a718fb570d7cb7
 gbrap10be           f188dc23756469cbdd172fe97ad58121
-gbrap10be(le)       927aa36653525bc3d9e9add84d52d7a3
+gbrap10be(le)       262f0501633ea4670020fae8ac6835e2
 gbrap10le           262f0501633ea4670020fae8ac6835e2
 gbrap12be           ffe9aa4cbcc42f71757efe18826764ac
 gbrap12be(le)       88a85c1b3c5e19e299fdd209b73ac1ba
diff --git a/tests/ref/fate/filter-pixfmts-il b/tests/ref/fate/filter-pixfmts-il
index cec73b7f6d..0396f87d4c 100644
--- a/tests/ref/fate/filter-pixfmts-il
+++ b/tests/ref/fate/filter-pixfmts-il
@@ -25,7 +25,7 @@  bgra64be(le)        d1aa975fa03ce226008396b30a653420
 bgra64le            d1aa975fa03ce226008396b30a653420
 gbrap               575ff1fe5d7585ed82da1db35f106e4c
 gbrap10be           bafa57a2e4331d8a39f6f0087c85d4b1
-gbrap10be(le)       522cf76fa2253286ddede13a6b91397a
+gbrap10be(le)       553a1f439d8184dc400432d3f786fbce
 gbrap10le           553a1f439d8184dc400432d3f786fbce
 gbrap12be           48609d6b61ff6313939fa2d9c3ebb6d9
 gbrap12be(le)       e3b5342c8e47820f2de7e2dd61872312
diff --git a/tests/ref/fate/filter-pixfmts-null b/tests/ref/fate/filter-pixfmts-null
index 2417c577bd..82b8f28c31 100644
--- a/tests/ref/fate/filter-pixfmts-null
+++ b/tests/ref/fate/filter-pixfmts-null
@@ -25,7 +25,7 @@  bgra64be(le)        b71d75a928aac14cb768403e6f6a9910
 bgra64le            b71d75a928aac14cb768403e6f6a9910
 gbrap               98d30987407c51e5620921e11d40a4ff
 gbrap10be           edcffb185e44b6dae5c2ead5505b7125
-gbrap10be(le)       3a046be0d38289dda5d8fdbd0f34aaf5
+gbrap10be(le)       2a7392e14b21b1f9457526a071236a6d
 gbrap10le           2a7392e14b21b1f9457526a071236a6d
 gbrap12be           0c4c1f8af361571265ca259d5f70f026
 gbrap12be(le)       5f1d8c663d4c28863e687192433b34a4
diff --git a/tests/ref/fate/filter-pixfmts-scale b/tests/ref/fate/filter-pixfmts-scale
index 358ffd0a15..fd1eef1e83 100644
--- a/tests/ref/fate/filter-pixfmts-scale
+++ b/tests/ref/fate/filter-pixfmts-scale
@@ -25,7 +25,7 @@  bgra64be(le)        efeee0abcc658ebcff049d5e74d74943
 bgra64le            efeee0abcc658ebcff049d5e74d74943
 gbrap               4a100f750ac846b34bfeef0d6893c3de
 gbrap10be           6d89abb9248006c3e9017545e9474654
-gbrap10be(le)       d20132be2042709ead904d0e56bb8d53
+gbrap10be(le)       c1765f3d46ad1c254882bae146074bea
 gbrap10le           cf974e23f485a10740f5de74a5c8c3df
 gbrap12be           1d9b57766ba9c2192403f43967cb9af0
 gbrap12be(le)       22c1b73c2fa900ae9b7ba35ae93d887b
diff --git a/tests/ref/fate/filter-pixfmts-transpose b/tests/ref/fate/filter-pixfmts-transpose
index 57a599b004..761b144603 100644
--- a/tests/ref/fate/filter-pixfmts-transpose
+++ b/tests/ref/fate/filter-pixfmts-transpose
@@ -25,7 +25,7 @@  bgra64be(le)        faaef6d280f92e7e8abdd9fa4a61f7b5
 bgra64le            faaef6d280f92e7e8abdd9fa4a61f7b5
 gbrap               0899b3af50d35a63bfecb419a5b29968
 gbrap10be           3e3be2d8f9aa5f449a1df404e27d0054
-gbrap10be(le)       1e7a177186c222e1d885ea9ae109bb81
+gbrap10be(le)       db4e4861010cbbf726492fad282d5813
 gbrap10le           db4e4861010cbbf726492fad282d5813
 gbrap12be           1518c9a565d1ba1a45dd369acc1aa75e
 gbrap12be(le)       714fe318af81a46f83655c6e7e13351e
diff --git a/tests/ref/fate/filter-pixfmts-vflip b/tests/ref/fate/filter-pixfmts-vflip
index 6bf33e6b93..e66e1acadc 100644
--- a/tests/ref/fate/filter-pixfmts-vflip
+++ b/tests/ref/fate/filter-pixfmts-vflip
@@ -25,7 +25,7 @@  bgra64be(le)        45feb93863055282447d1ff89c5158bf
 bgra64le            45feb93863055282447d1ff89c5158bf
 gbrap               421c56a25f88d58b9361f5c7bb368e21
 gbrap10be           e8134b72acc090b093b4d9b4d4703c7e
-gbrap10be(le)       cc927d069d03410f828b35c5db1000b1
+gbrap10be(le)       43bde7bd6a676c6ac33dbcc4c72762f3
 gbrap10le           43bde7bd6a676c6ac33dbcc4c72762f3
 gbrap12be           16a3d105ba852a9fa23ea5232db51b48
 gbrap12be(le)       6ef8a3ac4129ec23c34aec14ac41f249