diff mbox

[FFmpeg-devel] avformat/nut: fix duration estimation by writting EOR packets

Message ID CAPYw7P5RET+Ow_m1=tzpv+-6KSUwEjhn+Zu6SxknQs5BtBpKsw@mail.gmail.com
State New
Headers show

Commit Message

Paul B Mahol Dec. 17, 2018, 5:04 p.m. UTC
Hi,

patches attached.

Comments

Michael Niedermayer Dec. 17, 2018, 6:14 p.m. UTC | #1
On Mon, Dec 17, 2018 at 06:04:40PM +0100, Paul B Mahol wrote:
> Hi,
> 
> patches attached.

>  nut.h    |    2 +
>  nutdec.c |    3 ++
>  nutenc.c |   87 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
>  3 files changed, 88 insertions(+), 4 deletions(-)
> 870df19d733f29294a2cb2e3ea5ed1a09745f3a4  0001-avformat-nut-fix-duration-estimation-by-writing-EOR-.patch
> From 80d6805fdf386182341fe72035ab88e06a602752 Mon Sep 17 00:00:00 2001
> From: Paul B Mahol <onemda@gmail.com>
> Date: Mon, 17 Dec 2018 16:43:57 +0100
> Subject: [PATCH 1/2] avformat/nut: fix duration estimation by writing EOR
>  packets
> 
> Signed-off-by: Paul B Mahol <onemda@gmail.com>
> ---
>  libavformat/nut.h    |  2 +
>  libavformat/nutdec.c |  3 ++
>  libavformat/nutenc.c | 87 ++++++++++++++++++++++++++++++++++++++++++--
>  3 files changed, 88 insertions(+), 4 deletions(-)
> 
> diff --git a/libavformat/nut.h b/libavformat/nut.h
> index a4409ee23d..d7ba86b5e5 100644
> --- a/libavformat/nut.h
> +++ b/libavformat/nut.h
> @@ -76,6 +76,8 @@ typedef struct StreamContext {
>      int last_flags;
>      int skip_until_key_frame;
>      int64_t last_pts;
> +    int64_t last_dts;
> +    int64_t last_duration;
>      int time_base_id;
>      AVRational *time_base;
>      int msb_pts_shift;
> diff --git a/libavformat/nutdec.c b/libavformat/nutdec.c
> index 056ef59d00..f2490f9842 100644

> --- a/libavformat/nutdec.c
> +++ b/libavformat/nutdec.c
> @@ -1080,6 +1080,9 @@ static int decode_frame(NUTContext *nut, AVPacket *pkt, int frame_code)
>  
>      stc = &nut->stream[stream_id];
>  
> +    if (stc->last_flags & FLAG_EOR)
> +        return 1;

EOR can occur in the middle of subtitle streams. It would be used to mark
areas with no vissible subtitles.
(The point behind this is that it allows seeking to consider a subtitle stream
 if and only if there are actually any displayed subtitles at that time)

this code would break that

also demxuer and muxer changes should be in seperate patches


> +
>      if (stc->last_flags & FLAG_KEY)
>          stc->skip_until_key_frame = 0;
>  
> diff --git a/libavformat/nutenc.c b/libavformat/nutenc.c
> index e9a3bb49db..c12b4cc8cf 100644
> --- a/libavformat/nutenc.c
> +++ b/libavformat/nutenc.c
> @@ -940,6 +940,80 @@ fail:
>      return ret;
>  }
>  
> +static void nut_update_max_pts(AVFormatContext *s, int stream_index, int64_t pts)
> +{
> +    NUTContext *nut = s->priv_data;
> +    StreamContext *nus = &nut->stream[stream_index];
> +
> +    if (!nut->max_pts_tb || av_compare_ts(nut->max_pts, *nut->max_pts_tb, pts, *nus->time_base) < 0) {
> +        nut->max_pts = pts;
> +        nut->max_pts_tb = nus->time_base;
> +    }
> +}
> +
> +static int nut_write_eor(AVFormatContext *s, int stream_index)
> +{
> +    AVIOContext *bc = s->pb, *dyn_bc;
> +    NUTContext *nut = s->priv_data;
> +    StreamContext *nus = &nut->stream[stream_index];
> +    int ret, frame_code, flags, needed_flags;
> +    int64_t pts = nus->last_pts + nus->last_duration;
> +    int64_t coded_pts;
> +    FrameCode *fc;
> +
> +    coded_pts = pts & ((1 << nus->msb_pts_shift) - 1);
> +    if (ff_lsb2full(nus, coded_pts) != pts)
> +        coded_pts = pts + (1 << nus->msb_pts_shift);
> +
> +    nut->last_syncpoint_pos = avio_tell(bc);
> +    ret                     = avio_open_dyn_buf(&dyn_bc);
> +    if (ret < 0)
> +        return ret;
> +    put_tt(nut, nus->time_base, dyn_bc, nus->last_dts + nus->last_duration);
> +    ff_put_v(dyn_bc, 0);
> +
> +    if (nut->flags & NUT_BROADCAST) {
> +        put_tt(nut, nus->time_base, dyn_bc,
> +               av_rescale_q(av_gettime(), AV_TIME_BASE_Q, *nus->time_base));
> +    }
> +    put_packet(nut, bc, dyn_bc, 1, SYNCPOINT_STARTCODE);
> +
> +    frame_code  = -1;
> +    for (int i = 0; i < 256; i++) {
> +        FrameCode *fc = &nut->frame_code[i];
> +        int flags     = fc->flags;
> +
> +        if (flags & FLAG_INVALID)
> +            continue;
> +
> +        if (!(flags & FLAG_CODED)) {
> +            continue;
> +        }
> +
> +        frame_code = i;
> +        break;
> +    }
> +    av_assert0(frame_code != -1);
> +
> +    fc           = &nut->frame_code[frame_code];
> +    flags        = fc->flags;
> +    needed_flags = FLAG_KEY | FLAG_EOR | FLAG_CODED_PTS | FLAG_STREAM_ID;
> +
> +    ffio_init_checksum(bc, ff_crc04C11DB7_update, 0);
> +    avio_w8(bc, frame_code);
> +    if (flags & FLAG_CODED) {
> +        ff_put_v(bc, (flags ^ needed_flags) & ~(FLAG_CODED));
> +        flags = needed_flags;
> +    }
> +    if (flags & FLAG_STREAM_ID)  ff_put_v(bc, stream_index);
> +    if (flags & FLAG_CODED_PTS)  ff_put_v(bc, coded_pts);
> +    ffio_get_checksum(bc);
> +
> +    nut_update_max_pts(s, stream_index, nus->last_pts + nus->last_duration);
> +
> +    return 0;
> +}
> +
>  static int nut_write_packet(AVFormatContext *s, AVPacket *pkt)
>  {
>      NUTContext *nut    = s->priv_data;
> @@ -1136,6 +1210,8 @@ static int nut_write_packet(AVFormatContext *s, AVPacket *pkt)
>  
>      nus->last_flags = flags;
>      nus->last_pts   = pkt->pts;
> +    nus->last_dts   = pkt->dts;
> +    nus->last_duration = pkt->duration;
>  
>      //FIXME just store one per syncpoint
>      if (flags & FLAG_KEY && !(nut->flags & NUT_PIPE)) {
> @@ -1150,10 +1226,7 @@ static int nut_write_packet(AVFormatContext *s, AVPacket *pkt)
>              nus->keyframe_pts[nut->sp_count] = pkt->pts;
>      }
>  
> -    if (!nut->max_pts_tb || av_compare_ts(nut->max_pts, *nut->max_pts_tb, pkt->pts, *nus->time_base) < 0) {
> -        nut->max_pts = pkt->pts;
> -        nut->max_pts_tb = nus->time_base;
> -    }
> +    nut_update_max_pts(s, pkt->stream_index, pkt->pts);
>  
>  fail:
>      av_freep(&sm_buf);
> @@ -1167,6 +1240,12 @@ static int nut_write_trailer(AVFormatContext *s)
>      AVIOContext *bc = s->pb, *dyn_bc;
>      int ret;
>  
> +    for (int i = 0; i < s->nb_streams; i++) {
> +        ret = nut_write_eor(s, i);
> +        if (ret < 0)
> +            return ret;
> +    }
> +
>      while (nut->header_count < 3)
>          write_headers(s, bc);

This violates the packet interleaving requirements
if one stream ends. lets say at time 5sec and one continues with frames at
6,7,8 sec then the EOR frame for the stream ending at 5sec has to be written
before the later frames.

The best way to implement this will likely be with oformat->interleave_packet
because at this level you know when the last packet is reached and you can
also trivially inject an additional packet. That should then get interleaved
automatically.

also i suspect that index & syncpoint related code will need changes
to support EORs

[...]
Paul B Mahol Dec. 17, 2018, 6:32 p.m. UTC | #2
On 12/17/18, Michael Niedermayer <michael@niedermayer.cc> wrote:
> On Mon, Dec 17, 2018 at 06:04:40PM +0100, Paul B Mahol wrote:
>> Hi,
>>
>> patches attached.
>
>>  nut.h    |    2 +
>>  nutdec.c |    3 ++
>>  nutenc.c |   87
>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
>>  3 files changed, 88 insertions(+), 4 deletions(-)
>> 870df19d733f29294a2cb2e3ea5ed1a09745f3a4
>> 0001-avformat-nut-fix-duration-estimation-by-writing-EOR-.patch
>> From 80d6805fdf386182341fe72035ab88e06a602752 Mon Sep 17 00:00:00 2001
>> From: Paul B Mahol <onemda@gmail.com>
>> Date: Mon, 17 Dec 2018 16:43:57 +0100
>> Subject: [PATCH 1/2] avformat/nut: fix duration estimation by writing EOR
>>  packets
>>
>> Signed-off-by: Paul B Mahol <onemda@gmail.com>
>> ---
>>  libavformat/nut.h    |  2 +
>>  libavformat/nutdec.c |  3 ++
>>  libavformat/nutenc.c | 87 ++++++++++++++++++++++++++++++++++++++++++--
>>  3 files changed, 88 insertions(+), 4 deletions(-)
>>
>> diff --git a/libavformat/nut.h b/libavformat/nut.h
>> index a4409ee23d..d7ba86b5e5 100644
>> --- a/libavformat/nut.h
>> +++ b/libavformat/nut.h
>> @@ -76,6 +76,8 @@ typedef struct StreamContext {
>>      int last_flags;
>>      int skip_until_key_frame;
>>      int64_t last_pts;
>> +    int64_t last_dts;
>> +    int64_t last_duration;
>>      int time_base_id;
>>      AVRational *time_base;
>>      int msb_pts_shift;
>> diff --git a/libavformat/nutdec.c b/libavformat/nutdec.c
>> index 056ef59d00..f2490f9842 100644
>
>> --- a/libavformat/nutdec.c
>> +++ b/libavformat/nutdec.c
>> @@ -1080,6 +1080,9 @@ static int decode_frame(NUTContext *nut, AVPacket
>> *pkt, int frame_code)
>>
>>      stc = &nut->stream[stream_id];
>>
>> +    if (stc->last_flags & FLAG_EOR)
>> +        return 1;
>
> EOR can occur in the middle of subtitle streams. It would be used to mark
> areas with no vissible subtitles.
> (The point behind this is that it allows seeking to consider a subtitle
> stream
>  if and only if there are actually any displayed subtitles at that time)
>
> this code would break that
>
> also demxuer and muxer changes should be in seperate patches
>
>
>> +
>>      if (stc->last_flags & FLAG_KEY)
>>          stc->skip_until_key_frame = 0;
>>
>> diff --git a/libavformat/nutenc.c b/libavformat/nutenc.c
>> index e9a3bb49db..c12b4cc8cf 100644
>> --- a/libavformat/nutenc.c
>> +++ b/libavformat/nutenc.c
>> @@ -940,6 +940,80 @@ fail:
>>      return ret;
>>  }
>>
>> +static void nut_update_max_pts(AVFormatContext *s, int stream_index,
>> int64_t pts)
>> +{
>> +    NUTContext *nut = s->priv_data;
>> +    StreamContext *nus = &nut->stream[stream_index];
>> +
>> +    if (!nut->max_pts_tb || av_compare_ts(nut->max_pts, *nut->max_pts_tb,
>> pts, *nus->time_base) < 0) {
>> +        nut->max_pts = pts;
>> +        nut->max_pts_tb = nus->time_base;
>> +    }
>> +}
>> +
>> +static int nut_write_eor(AVFormatContext *s, int stream_index)
>> +{
>> +    AVIOContext *bc = s->pb, *dyn_bc;
>> +    NUTContext *nut = s->priv_data;
>> +    StreamContext *nus = &nut->stream[stream_index];
>> +    int ret, frame_code, flags, needed_flags;
>> +    int64_t pts = nus->last_pts + nus->last_duration;
>> +    int64_t coded_pts;
>> +    FrameCode *fc;
>> +
>> +    coded_pts = pts & ((1 << nus->msb_pts_shift) - 1);
>> +    if (ff_lsb2full(nus, coded_pts) != pts)
>> +        coded_pts = pts + (1 << nus->msb_pts_shift);
>> +
>> +    nut->last_syncpoint_pos = avio_tell(bc);
>> +    ret                     = avio_open_dyn_buf(&dyn_bc);
>> +    if (ret < 0)
>> +        return ret;
>> +    put_tt(nut, nus->time_base, dyn_bc, nus->last_dts +
>> nus->last_duration);
>> +    ff_put_v(dyn_bc, 0);
>> +
>> +    if (nut->flags & NUT_BROADCAST) {
>> +        put_tt(nut, nus->time_base, dyn_bc,
>> +               av_rescale_q(av_gettime(), AV_TIME_BASE_Q,
>> *nus->time_base));
>> +    }
>> +    put_packet(nut, bc, dyn_bc, 1, SYNCPOINT_STARTCODE);
>> +
>> +    frame_code  = -1;
>> +    for (int i = 0; i < 256; i++) {
>> +        FrameCode *fc = &nut->frame_code[i];
>> +        int flags     = fc->flags;
>> +
>> +        if (flags & FLAG_INVALID)
>> +            continue;
>> +
>> +        if (!(flags & FLAG_CODED)) {
>> +            continue;
>> +        }
>> +
>> +        frame_code = i;
>> +        break;
>> +    }
>> +    av_assert0(frame_code != -1);
>> +
>> +    fc           = &nut->frame_code[frame_code];
>> +    flags        = fc->flags;
>> +    needed_flags = FLAG_KEY | FLAG_EOR | FLAG_CODED_PTS |
>> FLAG_STREAM_ID;
>> +
>> +    ffio_init_checksum(bc, ff_crc04C11DB7_update, 0);
>> +    avio_w8(bc, frame_code);
>> +    if (flags & FLAG_CODED) {
>> +        ff_put_v(bc, (flags ^ needed_flags) & ~(FLAG_CODED));
>> +        flags = needed_flags;
>> +    }
>> +    if (flags & FLAG_STREAM_ID)  ff_put_v(bc, stream_index);
>> +    if (flags & FLAG_CODED_PTS)  ff_put_v(bc, coded_pts);
>> +    ffio_get_checksum(bc);
>> +
>> +    nut_update_max_pts(s, stream_index, nus->last_pts +
>> nus->last_duration);
>> +
>> +    return 0;
>> +}
>> +
>>  static int nut_write_packet(AVFormatContext *s, AVPacket *pkt)
>>  {
>>      NUTContext *nut    = s->priv_data;
>> @@ -1136,6 +1210,8 @@ static int nut_write_packet(AVFormatContext *s,
>> AVPacket *pkt)
>>
>>      nus->last_flags = flags;
>>      nus->last_pts   = pkt->pts;
>> +    nus->last_dts   = pkt->dts;
>> +    nus->last_duration = pkt->duration;
>>
>>      //FIXME just store one per syncpoint
>>      if (flags & FLAG_KEY && !(nut->flags & NUT_PIPE)) {
>> @@ -1150,10 +1226,7 @@ static int nut_write_packet(AVFormatContext *s,
>> AVPacket *pkt)
>>              nus->keyframe_pts[nut->sp_count] = pkt->pts;
>>      }
>>
>> -    if (!nut->max_pts_tb || av_compare_ts(nut->max_pts, *nut->max_pts_tb,
>> pkt->pts, *nus->time_base) < 0) {
>> -        nut->max_pts = pkt->pts;
>> -        nut->max_pts_tb = nus->time_base;
>> -    }
>> +    nut_update_max_pts(s, pkt->stream_index, pkt->pts);
>>
>>  fail:
>>      av_freep(&sm_buf);
>> @@ -1167,6 +1240,12 @@ static int nut_write_trailer(AVFormatContext *s)
>>      AVIOContext *bc = s->pb, *dyn_bc;
>>      int ret;
>>
>> +    for (int i = 0; i < s->nb_streams; i++) {
>> +        ret = nut_write_eor(s, i);
>> +        if (ret < 0)
>> +            return ret;
>> +    }
>> +
>>      while (nut->header_count < 3)
>>          write_headers(s, bc);
>
> This violates the packet interleaving requirements
> if one stream ends. lets say at time 5sec and one continues with frames at
> 6,7,8 sec then the EOR frame for the stream ending at 5sec has to be
> written
> before the later frames.

How this violates it? It writes it at end. After end there is nothing.

>
> The best way to implement this will likely be with
> oformat->interleave_packet
> because at this level you know when the last packet is reached and you can
> also trivially inject an additional packet. That should then get
> interleaved
> automatically.

That function is no documented at all.

>
> also i suspect that index & syncpoint related code will need changes
> to support EORs
Michael Niedermayer Dec. 17, 2018, 6:52 p.m. UTC | #3
On Mon, Dec 17, 2018 at 07:32:49PM +0100, Paul B Mahol wrote:
> On 12/17/18, Michael Niedermayer <michael@niedermayer.cc> wrote:
> > On Mon, Dec 17, 2018 at 06:04:40PM +0100, Paul B Mahol wrote:
> >> Hi,
> >>
> >> patches attached.
> >
> >>  nut.h    |    2 +
> >>  nutdec.c |    3 ++
> >>  nutenc.c |   87
> >> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
> >>  3 files changed, 88 insertions(+), 4 deletions(-)
> >> 870df19d733f29294a2cb2e3ea5ed1a09745f3a4
> >> 0001-avformat-nut-fix-duration-estimation-by-writing-EOR-.patch
> >> From 80d6805fdf386182341fe72035ab88e06a602752 Mon Sep 17 00:00:00 2001
> >> From: Paul B Mahol <onemda@gmail.com>
> >> Date: Mon, 17 Dec 2018 16:43:57 +0100
> >> Subject: [PATCH 1/2] avformat/nut: fix duration estimation by writing EOR
> >>  packets
> >>
> >> Signed-off-by: Paul B Mahol <onemda@gmail.com>
> >> ---
> >>  libavformat/nut.h    |  2 +
> >>  libavformat/nutdec.c |  3 ++
> >>  libavformat/nutenc.c | 87 ++++++++++++++++++++++++++++++++++++++++++--
> >>  3 files changed, 88 insertions(+), 4 deletions(-)
> >>
> >> diff --git a/libavformat/nut.h b/libavformat/nut.h
> >> index a4409ee23d..d7ba86b5e5 100644
> >> --- a/libavformat/nut.h
> >> +++ b/libavformat/nut.h
> >> @@ -76,6 +76,8 @@ typedef struct StreamContext {
> >>      int last_flags;
> >>      int skip_until_key_frame;
> >>      int64_t last_pts;
> >> +    int64_t last_dts;
> >> +    int64_t last_duration;
> >>      int time_base_id;
> >>      AVRational *time_base;
> >>      int msb_pts_shift;
> >> diff --git a/libavformat/nutdec.c b/libavformat/nutdec.c
> >> index 056ef59d00..f2490f9842 100644
> >
> >> --- a/libavformat/nutdec.c
> >> +++ b/libavformat/nutdec.c
> >> @@ -1080,6 +1080,9 @@ static int decode_frame(NUTContext *nut, AVPacket
> >> *pkt, int frame_code)
> >>
> >>      stc = &nut->stream[stream_id];
> >>
> >> +    if (stc->last_flags & FLAG_EOR)
> >> +        return 1;
> >
> > EOR can occur in the middle of subtitle streams. It would be used to mark
> > areas with no vissible subtitles.
> > (The point behind this is that it allows seeking to consider a subtitle
> > stream
> >  if and only if there are actually any displayed subtitles at that time)
> >
> > this code would break that
> >
> > also demxuer and muxer changes should be in seperate patches
> >
> >
> >> +
> >>      if (stc->last_flags & FLAG_KEY)
> >>          stc->skip_until_key_frame = 0;
> >>
> >> diff --git a/libavformat/nutenc.c b/libavformat/nutenc.c
> >> index e9a3bb49db..c12b4cc8cf 100644
> >> --- a/libavformat/nutenc.c
> >> +++ b/libavformat/nutenc.c
> >> @@ -940,6 +940,80 @@ fail:
> >>      return ret;
> >>  }
> >>
> >> +static void nut_update_max_pts(AVFormatContext *s, int stream_index,
> >> int64_t pts)
> >> +{
> >> +    NUTContext *nut = s->priv_data;
> >> +    StreamContext *nus = &nut->stream[stream_index];
> >> +
> >> +    if (!nut->max_pts_tb || av_compare_ts(nut->max_pts, *nut->max_pts_tb,
> >> pts, *nus->time_base) < 0) {
> >> +        nut->max_pts = pts;
> >> +        nut->max_pts_tb = nus->time_base;
> >> +    }
> >> +}
> >> +
> >> +static int nut_write_eor(AVFormatContext *s, int stream_index)
> >> +{
> >> +    AVIOContext *bc = s->pb, *dyn_bc;
> >> +    NUTContext *nut = s->priv_data;
> >> +    StreamContext *nus = &nut->stream[stream_index];
> >> +    int ret, frame_code, flags, needed_flags;
> >> +    int64_t pts = nus->last_pts + nus->last_duration;
> >> +    int64_t coded_pts;
> >> +    FrameCode *fc;
> >> +
> >> +    coded_pts = pts & ((1 << nus->msb_pts_shift) - 1);
> >> +    if (ff_lsb2full(nus, coded_pts) != pts)
> >> +        coded_pts = pts + (1 << nus->msb_pts_shift);
> >> +
> >> +    nut->last_syncpoint_pos = avio_tell(bc);
> >> +    ret                     = avio_open_dyn_buf(&dyn_bc);
> >> +    if (ret < 0)
> >> +        return ret;
> >> +    put_tt(nut, nus->time_base, dyn_bc, nus->last_dts +
> >> nus->last_duration);
> >> +    ff_put_v(dyn_bc, 0);
> >> +
> >> +    if (nut->flags & NUT_BROADCAST) {
> >> +        put_tt(nut, nus->time_base, dyn_bc,
> >> +               av_rescale_q(av_gettime(), AV_TIME_BASE_Q,
> >> *nus->time_base));
> >> +    }
> >> +    put_packet(nut, bc, dyn_bc, 1, SYNCPOINT_STARTCODE);
> >> +
> >> +    frame_code  = -1;
> >> +    for (int i = 0; i < 256; i++) {
> >> +        FrameCode *fc = &nut->frame_code[i];
> >> +        int flags     = fc->flags;
> >> +
> >> +        if (flags & FLAG_INVALID)
> >> +            continue;
> >> +
> >> +        if (!(flags & FLAG_CODED)) {
> >> +            continue;
> >> +        }
> >> +
> >> +        frame_code = i;
> >> +        break;
> >> +    }
> >> +    av_assert0(frame_code != -1);
> >> +
> >> +    fc           = &nut->frame_code[frame_code];
> >> +    flags        = fc->flags;
> >> +    needed_flags = FLAG_KEY | FLAG_EOR | FLAG_CODED_PTS |
> >> FLAG_STREAM_ID;
> >> +
> >> +    ffio_init_checksum(bc, ff_crc04C11DB7_update, 0);
> >> +    avio_w8(bc, frame_code);
> >> +    if (flags & FLAG_CODED) {
> >> +        ff_put_v(bc, (flags ^ needed_flags) & ~(FLAG_CODED));
> >> +        flags = needed_flags;
> >> +    }
> >> +    if (flags & FLAG_STREAM_ID)  ff_put_v(bc, stream_index);
> >> +    if (flags & FLAG_CODED_PTS)  ff_put_v(bc, coded_pts);
> >> +    ffio_get_checksum(bc);
> >> +
> >> +    nut_update_max_pts(s, stream_index, nus->last_pts +
> >> nus->last_duration);
> >> +
> >> +    return 0;
> >> +}
> >> +
> >>  static int nut_write_packet(AVFormatContext *s, AVPacket *pkt)
> >>  {
> >>      NUTContext *nut    = s->priv_data;
> >> @@ -1136,6 +1210,8 @@ static int nut_write_packet(AVFormatContext *s,
> >> AVPacket *pkt)
> >>
> >>      nus->last_flags = flags;
> >>      nus->last_pts   = pkt->pts;
> >> +    nus->last_dts   = pkt->dts;
> >> +    nus->last_duration = pkt->duration;
> >>
> >>      //FIXME just store one per syncpoint
> >>      if (flags & FLAG_KEY && !(nut->flags & NUT_PIPE)) {
> >> @@ -1150,10 +1226,7 @@ static int nut_write_packet(AVFormatContext *s,
> >> AVPacket *pkt)
> >>              nus->keyframe_pts[nut->sp_count] = pkt->pts;
> >>      }
> >>
> >> -    if (!nut->max_pts_tb || av_compare_ts(nut->max_pts, *nut->max_pts_tb,
> >> pkt->pts, *nus->time_base) < 0) {
> >> -        nut->max_pts = pkt->pts;
> >> -        nut->max_pts_tb = nus->time_base;
> >> -    }
> >> +    nut_update_max_pts(s, pkt->stream_index, pkt->pts);
> >>
> >>  fail:
> >>      av_freep(&sm_buf);
> >> @@ -1167,6 +1240,12 @@ static int nut_write_trailer(AVFormatContext *s)
> >>      AVIOContext *bc = s->pb, *dyn_bc;
> >>      int ret;
> >>
> >> +    for (int i = 0; i < s->nb_streams; i++) {
> >> +        ret = nut_write_eor(s, i);
> >> +        if (ret < 0)
> >> +            return ret;
> >> +    }
> >> +
> >>      while (nut->header_count < 3)
> >>          write_headers(s, bc);
> >
> > This violates the packet interleaving requirements
> > if one stream ends. lets say at time 5sec and one continues with frames at
> > 6,7,8 sec then the EOR frame for the stream ending at 5sec has to be
> > written
> > before the later frames.
> 
> How this violates it? It writes it at end. After end there is nothing.

from nut.txt:
"pts of all frames in all streams MUST be bigger or equal to dts of all
 previous frames in all streams, compared in common timebase. (EOR
 frames are NOT exempt from this rule.)"

so if you have 2 streams (i assume for simplicity they have dts=pts)
with a pts=dts assumtation the above rule requires all frames to be
simply ordered by timestamp

A Time: 1 2 4 5
A len : 1 2 1 1

B Time: 1 2 3 5 6 7 8
B len : 1 1 2 1 1 1 1

Now the EOR frame for A would have timestamp 6 (5 + length(1)) and 
the last frame for B has timestamp 8, the EOR for it would be 9
that means the EOR of A would have to be stored around the place where
the frame for B with timestamp 6 is. If its stored later then there
would be a frame in stream B stored with a timestamp larger than the
later EOR for A violating the rule

thx

[...]
Paul B Mahol Dec. 17, 2018, 7:29 p.m. UTC | #4
On 12/17/18, Michael Niedermayer <michael@niedermayer.cc> wrote:
> On Mon, Dec 17, 2018 at 07:32:49PM +0100, Paul B Mahol wrote:
>> On 12/17/18, Michael Niedermayer <michael@niedermayer.cc> wrote:
>> > On Mon, Dec 17, 2018 at 06:04:40PM +0100, Paul B Mahol wrote:
>> >> Hi,
>> >>
>> >> patches attached.
>> >
>> >>  nut.h    |    2 +
>> >>  nutdec.c |    3 ++
>> >>  nutenc.c |   87
>> >> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
>> >>  3 files changed, 88 insertions(+), 4 deletions(-)
>> >> 870df19d733f29294a2cb2e3ea5ed1a09745f3a4
>> >> 0001-avformat-nut-fix-duration-estimation-by-writing-EOR-.patch
>> >> From 80d6805fdf386182341fe72035ab88e06a602752 Mon Sep 17 00:00:00 2001
>> >> From: Paul B Mahol <onemda@gmail.com>
>> >> Date: Mon, 17 Dec 2018 16:43:57 +0100
>> >> Subject: [PATCH 1/2] avformat/nut: fix duration estimation by writing
>> >> EOR
>> >>  packets
>> >>
>> >> Signed-off-by: Paul B Mahol <onemda@gmail.com>
>> >> ---
>> >>  libavformat/nut.h    |  2 +
>> >>  libavformat/nutdec.c |  3 ++
>> >>  libavformat/nutenc.c | 87
>> >> ++++++++++++++++++++++++++++++++++++++++++--
>> >>  3 files changed, 88 insertions(+), 4 deletions(-)
>> >>
>> >> diff --git a/libavformat/nut.h b/libavformat/nut.h
>> >> index a4409ee23d..d7ba86b5e5 100644
>> >> --- a/libavformat/nut.h
>> >> +++ b/libavformat/nut.h
>> >> @@ -76,6 +76,8 @@ typedef struct StreamContext {
>> >>      int last_flags;
>> >>      int skip_until_key_frame;
>> >>      int64_t last_pts;
>> >> +    int64_t last_dts;
>> >> +    int64_t last_duration;
>> >>      int time_base_id;
>> >>      AVRational *time_base;
>> >>      int msb_pts_shift;
>> >> diff --git a/libavformat/nutdec.c b/libavformat/nutdec.c
>> >> index 056ef59d00..f2490f9842 100644
>> >
>> >> --- a/libavformat/nutdec.c
>> >> +++ b/libavformat/nutdec.c
>> >> @@ -1080,6 +1080,9 @@ static int decode_frame(NUTContext *nut,
>> >> AVPacket
>> >> *pkt, int frame_code)
>> >>
>> >>      stc = &nut->stream[stream_id];
>> >>
>> >> +    if (stc->last_flags & FLAG_EOR)
>> >> +        return 1;
>> >
>> > EOR can occur in the middle of subtitle streams. It would be used to
>> > mark
>> > areas with no vissible subtitles.
>> > (The point behind this is that it allows seeking to consider a subtitle
>> > stream
>> >  if and only if there are actually any displayed subtitles at that
>> > time)
>> >
>> > this code would break that
>> >
>> > also demxuer and muxer changes should be in seperate patches
>> >
>> >
>> >> +
>> >>      if (stc->last_flags & FLAG_KEY)
>> >>          stc->skip_until_key_frame = 0;
>> >>
>> >> diff --git a/libavformat/nutenc.c b/libavformat/nutenc.c
>> >> index e9a3bb49db..c12b4cc8cf 100644
>> >> --- a/libavformat/nutenc.c
>> >> +++ b/libavformat/nutenc.c
>> >> @@ -940,6 +940,80 @@ fail:
>> >>      return ret;
>> >>  }
>> >>
>> >> +static void nut_update_max_pts(AVFormatContext *s, int stream_index,
>> >> int64_t pts)
>> >> +{
>> >> +    NUTContext *nut = s->priv_data;
>> >> +    StreamContext *nus = &nut->stream[stream_index];
>> >> +
>> >> +    if (!nut->max_pts_tb || av_compare_ts(nut->max_pts,
>> >> *nut->max_pts_tb,
>> >> pts, *nus->time_base) < 0) {
>> >> +        nut->max_pts = pts;
>> >> +        nut->max_pts_tb = nus->time_base;
>> >> +    }
>> >> +}
>> >> +
>> >> +static int nut_write_eor(AVFormatContext *s, int stream_index)
>> >> +{
>> >> +    AVIOContext *bc = s->pb, *dyn_bc;
>> >> +    NUTContext *nut = s->priv_data;
>> >> +    StreamContext *nus = &nut->stream[stream_index];
>> >> +    int ret, frame_code, flags, needed_flags;
>> >> +    int64_t pts = nus->last_pts + nus->last_duration;
>> >> +    int64_t coded_pts;
>> >> +    FrameCode *fc;
>> >> +
>> >> +    coded_pts = pts & ((1 << nus->msb_pts_shift) - 1);
>> >> +    if (ff_lsb2full(nus, coded_pts) != pts)
>> >> +        coded_pts = pts + (1 << nus->msb_pts_shift);
>> >> +
>> >> +    nut->last_syncpoint_pos = avio_tell(bc);
>> >> +    ret                     = avio_open_dyn_buf(&dyn_bc);
>> >> +    if (ret < 0)
>> >> +        return ret;
>> >> +    put_tt(nut, nus->time_base, dyn_bc, nus->last_dts +
>> >> nus->last_duration);
>> >> +    ff_put_v(dyn_bc, 0);
>> >> +
>> >> +    if (nut->flags & NUT_BROADCAST) {
>> >> +        put_tt(nut, nus->time_base, dyn_bc,
>> >> +               av_rescale_q(av_gettime(), AV_TIME_BASE_Q,
>> >> *nus->time_base));
>> >> +    }
>> >> +    put_packet(nut, bc, dyn_bc, 1, SYNCPOINT_STARTCODE);
>> >> +
>> >> +    frame_code  = -1;
>> >> +    for (int i = 0; i < 256; i++) {
>> >> +        FrameCode *fc = &nut->frame_code[i];
>> >> +        int flags     = fc->flags;
>> >> +
>> >> +        if (flags & FLAG_INVALID)
>> >> +            continue;
>> >> +
>> >> +        if (!(flags & FLAG_CODED)) {
>> >> +            continue;
>> >> +        }
>> >> +
>> >> +        frame_code = i;
>> >> +        break;
>> >> +    }
>> >> +    av_assert0(frame_code != -1);
>> >> +
>> >> +    fc           = &nut->frame_code[frame_code];
>> >> +    flags        = fc->flags;
>> >> +    needed_flags = FLAG_KEY | FLAG_EOR | FLAG_CODED_PTS |
>> >> FLAG_STREAM_ID;
>> >> +
>> >> +    ffio_init_checksum(bc, ff_crc04C11DB7_update, 0);
>> >> +    avio_w8(bc, frame_code);
>> >> +    if (flags & FLAG_CODED) {
>> >> +        ff_put_v(bc, (flags ^ needed_flags) & ~(FLAG_CODED));
>> >> +        flags = needed_flags;
>> >> +    }
>> >> +    if (flags & FLAG_STREAM_ID)  ff_put_v(bc, stream_index);
>> >> +    if (flags & FLAG_CODED_PTS)  ff_put_v(bc, coded_pts);
>> >> +    ffio_get_checksum(bc);
>> >> +
>> >> +    nut_update_max_pts(s, stream_index, nus->last_pts +
>> >> nus->last_duration);
>> >> +
>> >> +    return 0;
>> >> +}
>> >> +
>> >>  static int nut_write_packet(AVFormatContext *s, AVPacket *pkt)
>> >>  {
>> >>      NUTContext *nut    = s->priv_data;
>> >> @@ -1136,6 +1210,8 @@ static int nut_write_packet(AVFormatContext *s,
>> >> AVPacket *pkt)
>> >>
>> >>      nus->last_flags = flags;
>> >>      nus->last_pts   = pkt->pts;
>> >> +    nus->last_dts   = pkt->dts;
>> >> +    nus->last_duration = pkt->duration;
>> >>
>> >>      //FIXME just store one per syncpoint
>> >>      if (flags & FLAG_KEY && !(nut->flags & NUT_PIPE)) {
>> >> @@ -1150,10 +1226,7 @@ static int nut_write_packet(AVFormatContext *s,
>> >> AVPacket *pkt)
>> >>              nus->keyframe_pts[nut->sp_count] = pkt->pts;
>> >>      }
>> >>
>> >> -    if (!nut->max_pts_tb || av_compare_ts(nut->max_pts,
>> >> *nut->max_pts_tb,
>> >> pkt->pts, *nus->time_base) < 0) {
>> >> -        nut->max_pts = pkt->pts;
>> >> -        nut->max_pts_tb = nus->time_base;
>> >> -    }
>> >> +    nut_update_max_pts(s, pkt->stream_index, pkt->pts);
>> >>
>> >>  fail:
>> >>      av_freep(&sm_buf);
>> >> @@ -1167,6 +1240,12 @@ static int nut_write_trailer(AVFormatContext
>> >> *s)
>> >>      AVIOContext *bc = s->pb, *dyn_bc;
>> >>      int ret;
>> >>
>> >> +    for (int i = 0; i < s->nb_streams; i++) {
>> >> +        ret = nut_write_eor(s, i);
>> >> +        if (ret < 0)
>> >> +            return ret;
>> >> +    }
>> >> +
>> >>      while (nut->header_count < 3)
>> >>          write_headers(s, bc);
>> >
>> > This violates the packet interleaving requirements
>> > if one stream ends. lets say at time 5sec and one continues with frames
>> > at
>> > 6,7,8 sec then the EOR frame for the stream ending at 5sec has to be
>> > written
>> > before the later frames.
>>
>> How this violates it? It writes it at end. After end there is nothing.
>
> from nut.txt:
> "pts of all frames in all streams MUST be bigger or equal to dts of all
>  previous frames in all streams, compared in common timebase. (EOR
>  frames are NOT exempt from this rule.)"
>
> so if you have 2 streams (i assume for simplicity they have dts=pts)
> with a pts=dts assumtation the above rule requires all frames to be
> simply ordered by timestamp
>
> A Time: 1 2 4 5
> A len : 1 2 1 1
>
> B Time: 1 2 3 5 6 7 8
> B len : 1 1 2 1 1 1 1
>
> Now the EOR frame for A would have timestamp 6 (5 + length(1)) and
> the last frame for B has timestamp 8, the EOR for it would be 9
> that means the EOR of A would have to be stored around the place where
> the frame for B with timestamp 6 is. If its stored later then there
> would be a frame in stream B stored with a timestamp larger than the
> later EOR for A violating the rule

But how to do that with that interleaving function.
You are basically saying that EOR should be right after last stream
packet, does that
function know anything about stream EOF?
What about buffering of packets? If it is required than this design is flawed.
Michael Niedermayer Dec. 18, 2018, 11:22 a.m. UTC | #5
On Mon, Dec 17, 2018 at 08:29:35PM +0100, Paul B Mahol wrote:
> On 12/17/18, Michael Niedermayer <michael@niedermayer.cc> wrote:
> > On Mon, Dec 17, 2018 at 07:32:49PM +0100, Paul B Mahol wrote:
> >> On 12/17/18, Michael Niedermayer <michael@niedermayer.cc> wrote:
> >> > On Mon, Dec 17, 2018 at 06:04:40PM +0100, Paul B Mahol wrote:
> >> >> Hi,
> >> >>
> >> >> patches attached.
> >> >
> >> >>  nut.h    |    2 +
> >> >>  nutdec.c |    3 ++
> >> >>  nutenc.c |   87
> >> >> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
> >> >>  3 files changed, 88 insertions(+), 4 deletions(-)
> >> >> 870df19d733f29294a2cb2e3ea5ed1a09745f3a4
> >> >> 0001-avformat-nut-fix-duration-estimation-by-writing-EOR-.patch
> >> >> From 80d6805fdf386182341fe72035ab88e06a602752 Mon Sep 17 00:00:00 2001
> >> >> From: Paul B Mahol <onemda@gmail.com>
> >> >> Date: Mon, 17 Dec 2018 16:43:57 +0100
> >> >> Subject: [PATCH 1/2] avformat/nut: fix duration estimation by writing
> >> >> EOR
> >> >>  packets
> >> >>
> >> >> Signed-off-by: Paul B Mahol <onemda@gmail.com>
> >> >> ---
> >> >>  libavformat/nut.h    |  2 +
> >> >>  libavformat/nutdec.c |  3 ++
> >> >>  libavformat/nutenc.c | 87
> >> >> ++++++++++++++++++++++++++++++++++++++++++--
> >> >>  3 files changed, 88 insertions(+), 4 deletions(-)
> >> >>
> >> >> diff --git a/libavformat/nut.h b/libavformat/nut.h
> >> >> index a4409ee23d..d7ba86b5e5 100644
> >> >> --- a/libavformat/nut.h
> >> >> +++ b/libavformat/nut.h
> >> >> @@ -76,6 +76,8 @@ typedef struct StreamContext {
> >> >>      int last_flags;
> >> >>      int skip_until_key_frame;
> >> >>      int64_t last_pts;
> >> >> +    int64_t last_dts;
> >> >> +    int64_t last_duration;
> >> >>      int time_base_id;
> >> >>      AVRational *time_base;
> >> >>      int msb_pts_shift;
> >> >> diff --git a/libavformat/nutdec.c b/libavformat/nutdec.c
> >> >> index 056ef59d00..f2490f9842 100644
> >> >
> >> >> --- a/libavformat/nutdec.c
> >> >> +++ b/libavformat/nutdec.c
> >> >> @@ -1080,6 +1080,9 @@ static int decode_frame(NUTContext *nut,
> >> >> AVPacket
> >> >> *pkt, int frame_code)
> >> >>
> >> >>      stc = &nut->stream[stream_id];
> >> >>
> >> >> +    if (stc->last_flags & FLAG_EOR)
> >> >> +        return 1;
> >> >
> >> > EOR can occur in the middle of subtitle streams. It would be used to
> >> > mark
> >> > areas with no vissible subtitles.
> >> > (The point behind this is that it allows seeking to consider a subtitle
> >> > stream
> >> >  if and only if there are actually any displayed subtitles at that
> >> > time)
> >> >
> >> > this code would break that
> >> >
> >> > also demxuer and muxer changes should be in seperate patches
> >> >
> >> >
> >> >> +
> >> >>      if (stc->last_flags & FLAG_KEY)
> >> >>          stc->skip_until_key_frame = 0;
> >> >>
> >> >> diff --git a/libavformat/nutenc.c b/libavformat/nutenc.c
> >> >> index e9a3bb49db..c12b4cc8cf 100644
> >> >> --- a/libavformat/nutenc.c
> >> >> +++ b/libavformat/nutenc.c
> >> >> @@ -940,6 +940,80 @@ fail:
> >> >>      return ret;
> >> >>  }
> >> >>
> >> >> +static void nut_update_max_pts(AVFormatContext *s, int stream_index,
> >> >> int64_t pts)
> >> >> +{
> >> >> +    NUTContext *nut = s->priv_data;
> >> >> +    StreamContext *nus = &nut->stream[stream_index];
> >> >> +
> >> >> +    if (!nut->max_pts_tb || av_compare_ts(nut->max_pts,
> >> >> *nut->max_pts_tb,
> >> >> pts, *nus->time_base) < 0) {
> >> >> +        nut->max_pts = pts;
> >> >> +        nut->max_pts_tb = nus->time_base;
> >> >> +    }
> >> >> +}
> >> >> +
> >> >> +static int nut_write_eor(AVFormatContext *s, int stream_index)
> >> >> +{
> >> >> +    AVIOContext *bc = s->pb, *dyn_bc;
> >> >> +    NUTContext *nut = s->priv_data;
> >> >> +    StreamContext *nus = &nut->stream[stream_index];
> >> >> +    int ret, frame_code, flags, needed_flags;
> >> >> +    int64_t pts = nus->last_pts + nus->last_duration;
> >> >> +    int64_t coded_pts;
> >> >> +    FrameCode *fc;
> >> >> +
> >> >> +    coded_pts = pts & ((1 << nus->msb_pts_shift) - 1);
> >> >> +    if (ff_lsb2full(nus, coded_pts) != pts)
> >> >> +        coded_pts = pts + (1 << nus->msb_pts_shift);
> >> >> +
> >> >> +    nut->last_syncpoint_pos = avio_tell(bc);
> >> >> +    ret                     = avio_open_dyn_buf(&dyn_bc);
> >> >> +    if (ret < 0)
> >> >> +        return ret;
> >> >> +    put_tt(nut, nus->time_base, dyn_bc, nus->last_dts +
> >> >> nus->last_duration);
> >> >> +    ff_put_v(dyn_bc, 0);
> >> >> +
> >> >> +    if (nut->flags & NUT_BROADCAST) {
> >> >> +        put_tt(nut, nus->time_base, dyn_bc,
> >> >> +               av_rescale_q(av_gettime(), AV_TIME_BASE_Q,
> >> >> *nus->time_base));
> >> >> +    }
> >> >> +    put_packet(nut, bc, dyn_bc, 1, SYNCPOINT_STARTCODE);
> >> >> +
> >> >> +    frame_code  = -1;
> >> >> +    for (int i = 0; i < 256; i++) {
> >> >> +        FrameCode *fc = &nut->frame_code[i];
> >> >> +        int flags     = fc->flags;
> >> >> +
> >> >> +        if (flags & FLAG_INVALID)
> >> >> +            continue;
> >> >> +
> >> >> +        if (!(flags & FLAG_CODED)) {
> >> >> +            continue;
> >> >> +        }
> >> >> +
> >> >> +        frame_code = i;
> >> >> +        break;
> >> >> +    }
> >> >> +    av_assert0(frame_code != -1);
> >> >> +
> >> >> +    fc           = &nut->frame_code[frame_code];
> >> >> +    flags        = fc->flags;
> >> >> +    needed_flags = FLAG_KEY | FLAG_EOR | FLAG_CODED_PTS |
> >> >> FLAG_STREAM_ID;
> >> >> +
> >> >> +    ffio_init_checksum(bc, ff_crc04C11DB7_update, 0);
> >> >> +    avio_w8(bc, frame_code);
> >> >> +    if (flags & FLAG_CODED) {
> >> >> +        ff_put_v(bc, (flags ^ needed_flags) & ~(FLAG_CODED));
> >> >> +        flags = needed_flags;
> >> >> +    }
> >> >> +    if (flags & FLAG_STREAM_ID)  ff_put_v(bc, stream_index);
> >> >> +    if (flags & FLAG_CODED_PTS)  ff_put_v(bc, coded_pts);
> >> >> +    ffio_get_checksum(bc);
> >> >> +
> >> >> +    nut_update_max_pts(s, stream_index, nus->last_pts +
> >> >> nus->last_duration);
> >> >> +
> >> >> +    return 0;
> >> >> +}
> >> >> +
> >> >>  static int nut_write_packet(AVFormatContext *s, AVPacket *pkt)
> >> >>  {
> >> >>      NUTContext *nut    = s->priv_data;
> >> >> @@ -1136,6 +1210,8 @@ static int nut_write_packet(AVFormatContext *s,
> >> >> AVPacket *pkt)
> >> >>
> >> >>      nus->last_flags = flags;
> >> >>      nus->last_pts   = pkt->pts;
> >> >> +    nus->last_dts   = pkt->dts;
> >> >> +    nus->last_duration = pkt->duration;
> >> >>
> >> >>      //FIXME just store one per syncpoint
> >> >>      if (flags & FLAG_KEY && !(nut->flags & NUT_PIPE)) {
> >> >> @@ -1150,10 +1226,7 @@ static int nut_write_packet(AVFormatContext *s,
> >> >> AVPacket *pkt)
> >> >>              nus->keyframe_pts[nut->sp_count] = pkt->pts;
> >> >>      }
> >> >>
> >> >> -    if (!nut->max_pts_tb || av_compare_ts(nut->max_pts,
> >> >> *nut->max_pts_tb,
> >> >> pkt->pts, *nus->time_base) < 0) {
> >> >> -        nut->max_pts = pkt->pts;
> >> >> -        nut->max_pts_tb = nus->time_base;
> >> >> -    }
> >> >> +    nut_update_max_pts(s, pkt->stream_index, pkt->pts);
> >> >>
> >> >>  fail:
> >> >>      av_freep(&sm_buf);
> >> >> @@ -1167,6 +1240,12 @@ static int nut_write_trailer(AVFormatContext
> >> >> *s)
> >> >>      AVIOContext *bc = s->pb, *dyn_bc;
> >> >>      int ret;
> >> >>
> >> >> +    for (int i = 0; i < s->nb_streams; i++) {
> >> >> +        ret = nut_write_eor(s, i);
> >> >> +        if (ret < 0)
> >> >> +            return ret;
> >> >> +    }
> >> >> +
> >> >>      while (nut->header_count < 3)
> >> >>          write_headers(s, bc);
> >> >
> >> > This violates the packet interleaving requirements
> >> > if one stream ends. lets say at time 5sec and one continues with frames
> >> > at
> >> > 6,7,8 sec then the EOR frame for the stream ending at 5sec has to be
> >> > written
> >> > before the later frames.
> >>
> >> How this violates it? It writes it at end. After end there is nothing.
> >
> > from nut.txt:
> > "pts of all frames in all streams MUST be bigger or equal to dts of all
> >  previous frames in all streams, compared in common timebase. (EOR
> >  frames are NOT exempt from this rule.)"
> >
> > so if you have 2 streams (i assume for simplicity they have dts=pts)
> > with a pts=dts assumtation the above rule requires all frames to be
> > simply ordered by timestamp
> >
> > A Time: 1 2 4 5
> > A len : 1 2 1 1
> >
> > B Time: 1 2 3 5 6 7 8
> > B len : 1 1 2 1 1 1 1
> >
> > Now the EOR frame for A would have timestamp 6 (5 + length(1)) and
> > the last frame for B has timestamp 8, the EOR for it would be 9
> > that means the EOR of A would have to be stored around the place where
> > the frame for B with timestamp 6 is. If its stored later then there
> > would be a frame in stream B stored with a timestamp larger than the
> > later EOR for A violating the rule
> 
> But how to do that with that interleaving function.
> You are basically saying that EOR should be right after last stream
> packet, does that
> function know anything about stream EOF?

the interleaving needs to know when EOF is reached otherwise it would
not be able to flush the last packets.

* interleaving before EOF has to expect that at the end of each stream another
  packet is added (that is the location of a potential EOR frame)
  -> thus before EOF/flush we still should be able to inject all EOR at the
  packet interleave level
* once EOF/flush is reached no more packets can be added into the interleaver
  thus its state provides us with information about what is the end of each
  stream and this is the obvious time/location to add the EOR frames into
  the interleaver

copying my reply from IRC for the archieves too:

<michaelni> durandal_1707, the flush parameter would be set during trailer writing (and for one other case that would need to be distinguished). When flush is reached no more packets should get added into the buffers so the buffer content should work to indentify what is last.
<michaelni> maybe theres a easier way, i dont know
<michaelni> maybe st->last_in_packet_buffer can be used to simplify this


> What about buffering of packets? If it is required than this design is flawed.
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
diff mbox

Patch

From 7ea88de27965dcc75e9a7d438ff5ce48d61c0144 Mon Sep 17 00:00:00 2001
From: Paul B Mahol <onemda@gmail.com>
Date: Mon, 17 Dec 2018 18:00:18 +0100
Subject: [PATCH 2/2] Update fate

To be squashed with previous commit before pushing.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
---
 tests/ref/acodec/pcm-s16be_planar             |   4 +-
 tests/ref/acodec/pcm-s16le_planar             |   4 +-
 tests/ref/acodec/pcm-s24le_planar             |   4 +-
 tests/ref/acodec/pcm-s32le_planar             |   4 +-
 tests/ref/acodec/pcm-s8_planar                |   4 +-
 tests/ref/acodec/pcm-u16be                    |   4 +-
 tests/ref/acodec/pcm-u16le                    |   4 +-
 tests/ref/acodec/pcm-u24be                    |   4 +-
 tests/ref/acodec/pcm-u24le                    |   4 +-
 tests/ref/acodec/pcm-u32be                    |   4 +-
 tests/ref/acodec/pcm-u32le                    |   4 +-
 tests/ref/fate/ffprobe_compact                |   2 +-
 tests/ref/fate/ffprobe_csv                    |   2 +-
 tests/ref/fate/ffprobe_default                |   6 +-
 tests/ref/fate/ffprobe_flat                   |   6 +-
 tests/ref/fate/ffprobe_ini                    |   6 +-
 tests/ref/fate/ffprobe_json                   |   6 +-
 tests/ref/fate/ffprobe_xml                    |   2 +-
 tests/ref/fate/filter-colormatrix1            |   2 +-
 tests/ref/fate/filter-colormatrix2            |   2 +-
 tests/ref/fate/filter-crop                    |   2 +-
 tests/ref/fate/filter-crop_scale              |   2 +-
 tests/ref/fate/filter-crop_scale_vflip        |   2 +-
 tests/ref/fate/filter-crop_vflip              |   2 +-
 tests/ref/fate/filter-edgedetect              |   2 +-
 tests/ref/fate/filter-edgedetect-colormix     |   2 +-
 tests/ref/fate/filter-hue1                    |   2 +-
 tests/ref/fate/filter-hue2                    |   2 +-
 tests/ref/fate/filter-hue3                    |   2 +-
 tests/ref/fate/filter-hue4                    |   2 +-
 tests/ref/fate/filter-null                    |   2 +-
 tests/ref/fate/filter-pad                     |   2 +-
 tests/ref/fate/filter-pixdesc-0bgr            |   2 +-
 tests/ref/fate/filter-pixdesc-0rgb            |   2 +-
 tests/ref/fate/filter-pixdesc-abgr            |   2 +-
 tests/ref/fate/filter-pixdesc-argb            |   2 +-
 tests/ref/fate/filter-pixdesc-ayuv64le        |   2 +-
 tests/ref/fate/filter-pixdesc-bgr0            |   2 +-
 tests/ref/fate/filter-pixdesc-bgr24           |   2 +-
 tests/ref/fate/filter-pixdesc-bgr444be        |   2 +-
 tests/ref/fate/filter-pixdesc-bgr444le        |   2 +-
 tests/ref/fate/filter-pixdesc-bgr48be         |   2 +-
 tests/ref/fate/filter-pixdesc-bgr48le         |   2 +-
 tests/ref/fate/filter-pixdesc-bgr4_byte       |   2 +-
 tests/ref/fate/filter-pixdesc-bgr555be        |   2 +-
 tests/ref/fate/filter-pixdesc-bgr555le        |   2 +-
 tests/ref/fate/filter-pixdesc-bgr565be        |   2 +-
 tests/ref/fate/filter-pixdesc-bgr565le        |   2 +-
 tests/ref/fate/filter-pixdesc-bgr8            |   2 +-
 tests/ref/fate/filter-pixdesc-bgra            |   2 +-
 tests/ref/fate/filter-pixdesc-bgra64be        |   2 +-
 tests/ref/fate/filter-pixdesc-bgra64le        |   2 +-
 tests/ref/fate/filter-pixdesc-gbrap           |   2 +-
 tests/ref/fate/filter-pixdesc-gbrap10be       |   2 +-
 tests/ref/fate/filter-pixdesc-gbrap10le       |   2 +-
 tests/ref/fate/filter-pixdesc-gbrap12be       |   2 +-
 tests/ref/fate/filter-pixdesc-gbrap12le       |   2 +-
 tests/ref/fate/filter-pixdesc-gbrap16be       |   2 +-
 tests/ref/fate/filter-pixdesc-gbrap16le       |   2 +-
 tests/ref/fate/filter-pixdesc-gbrp            |   2 +-
 tests/ref/fate/filter-pixdesc-gbrp10be        |   2 +-
 tests/ref/fate/filter-pixdesc-gbrp10le        |   2 +-
 tests/ref/fate/filter-pixdesc-gbrp12be        |   2 +-
 tests/ref/fate/filter-pixdesc-gbrp12le        |   2 +-
 tests/ref/fate/filter-pixdesc-gbrp14be        |   2 +-
 tests/ref/fate/filter-pixdesc-gbrp14le        |   2 +-
 tests/ref/fate/filter-pixdesc-gbrp16be        |   2 +-
 tests/ref/fate/filter-pixdesc-gbrp16le        |   2 +-
 tests/ref/fate/filter-pixdesc-gbrp9be         |   2 +-
 tests/ref/fate/filter-pixdesc-gbrp9le         |   2 +-
 tests/ref/fate/filter-pixdesc-gray            |   2 +-
 tests/ref/fate/filter-pixdesc-gray10be        |   2 +-
 tests/ref/fate/filter-pixdesc-gray10le        |   2 +-
 tests/ref/fate/filter-pixdesc-gray12be        |   2 +-
 tests/ref/fate/filter-pixdesc-gray12le        |   2 +-
 tests/ref/fate/filter-pixdesc-gray14be        |   2 +-
 tests/ref/fate/filter-pixdesc-gray14le        |   2 +-
 tests/ref/fate/filter-pixdesc-gray16be        |   2 +-
 tests/ref/fate/filter-pixdesc-gray16le        |   2 +-
 tests/ref/fate/filter-pixdesc-gray9be         |   2 +-
 tests/ref/fate/filter-pixdesc-gray9le         |   2 +-
 tests/ref/fate/filter-pixdesc-grayf32be       |   2 +-
 tests/ref/fate/filter-pixdesc-grayf32le       |   2 +-
 tests/ref/fate/filter-pixdesc-monob           |   2 +-
 tests/ref/fate/filter-pixdesc-monow           |   2 +-
 tests/ref/fate/filter-pixdesc-nv12            |   2 +-
 tests/ref/fate/filter-pixdesc-nv21            |   2 +-
 tests/ref/fate/filter-pixdesc-p010be          |   2 +-
 tests/ref/fate/filter-pixdesc-p010le          |   2 +-
 tests/ref/fate/filter-pixdesc-p016be          |   2 +-
 tests/ref/fate/filter-pixdesc-p016le          |   2 +-
 tests/ref/fate/filter-pixdesc-rgb0            |   2 +-
 tests/ref/fate/filter-pixdesc-rgb24           |   2 +-
 tests/ref/fate/filter-pixdesc-rgb444be        |   2 +-
 tests/ref/fate/filter-pixdesc-rgb444le        |   2 +-
 tests/ref/fate/filter-pixdesc-rgb48be         |   2 +-
 tests/ref/fate/filter-pixdesc-rgb48le         |   2 +-
 tests/ref/fate/filter-pixdesc-rgb4_byte       |   2 +-
 tests/ref/fate/filter-pixdesc-rgb555be        |   2 +-
 tests/ref/fate/filter-pixdesc-rgb555le        |   2 +-
 tests/ref/fate/filter-pixdesc-rgb565be        |   2 +-
 tests/ref/fate/filter-pixdesc-rgb565le        |   2 +-
 tests/ref/fate/filter-pixdesc-rgb8            |   2 +-
 tests/ref/fate/filter-pixdesc-rgba            |   2 +-
 tests/ref/fate/filter-pixdesc-rgba64be        |   2 +-
 tests/ref/fate/filter-pixdesc-rgba64le        |   2 +-
 tests/ref/fate/filter-pixdesc-uyvy422         |   2 +-
 tests/ref/fate/filter-pixdesc-xyz12be         |   2 +-
 tests/ref/fate/filter-pixdesc-xyz12le         |   2 +-
 tests/ref/fate/filter-pixdesc-ya16be          |   2 +-
 tests/ref/fate/filter-pixdesc-ya16le          |   2 +-
 tests/ref/fate/filter-pixdesc-ya8             |   2 +-
 tests/ref/fate/filter-pixdesc-yuv410p         |   2 +-
 tests/ref/fate/filter-pixdesc-yuv411p         |   2 +-
 tests/ref/fate/filter-pixdesc-yuv420p         |   2 +-
 tests/ref/fate/filter-pixdesc-yuv420p10be     |   2 +-
 tests/ref/fate/filter-pixdesc-yuv420p10le     |   2 +-
 tests/ref/fate/filter-pixdesc-yuv420p12be     |   2 +-
 tests/ref/fate/filter-pixdesc-yuv420p12le     |   2 +-
 tests/ref/fate/filter-pixdesc-yuv420p14be     |   2 +-
 tests/ref/fate/filter-pixdesc-yuv420p14le     |   2 +-
 tests/ref/fate/filter-pixdesc-yuv420p16be     |   2 +-
 tests/ref/fate/filter-pixdesc-yuv420p16le     |   2 +-
 tests/ref/fate/filter-pixdesc-yuv420p9be      |   2 +-
 tests/ref/fate/filter-pixdesc-yuv420p9le      |   2 +-
 tests/ref/fate/filter-pixdesc-yuv422p         |   2 +-
 tests/ref/fate/filter-pixdesc-yuv422p10be     |   2 +-
 tests/ref/fate/filter-pixdesc-yuv422p10le     |   2 +-
 tests/ref/fate/filter-pixdesc-yuv422p12be     |   2 +-
 tests/ref/fate/filter-pixdesc-yuv422p12le     |   2 +-
 tests/ref/fate/filter-pixdesc-yuv422p14be     |   2 +-
 tests/ref/fate/filter-pixdesc-yuv422p14le     |   2 +-
 tests/ref/fate/filter-pixdesc-yuv422p16be     |   2 +-
 tests/ref/fate/filter-pixdesc-yuv422p16le     |   2 +-
 tests/ref/fate/filter-pixdesc-yuv422p9be      |   2 +-
 tests/ref/fate/filter-pixdesc-yuv422p9le      |   2 +-
 tests/ref/fate/filter-pixdesc-yuv440p         |   2 +-
 tests/ref/fate/filter-pixdesc-yuv440p10be     |   2 +-
 tests/ref/fate/filter-pixdesc-yuv440p10le     |   2 +-
 tests/ref/fate/filter-pixdesc-yuv440p12be     |   2 +-
 tests/ref/fate/filter-pixdesc-yuv440p12le     |   2 +-
 tests/ref/fate/filter-pixdesc-yuv444p         |   2 +-
 tests/ref/fate/filter-pixdesc-yuv444p10be     |   2 +-
 tests/ref/fate/filter-pixdesc-yuv444p10le     |   2 +-
 tests/ref/fate/filter-pixdesc-yuv444p12be     |   2 +-
 tests/ref/fate/filter-pixdesc-yuv444p12le     |   2 +-
 tests/ref/fate/filter-pixdesc-yuv444p14be     |   2 +-
 tests/ref/fate/filter-pixdesc-yuv444p14le     |   2 +-
 tests/ref/fate/filter-pixdesc-yuv444p16be     |   2 +-
 tests/ref/fate/filter-pixdesc-yuv444p16le     |   2 +-
 tests/ref/fate/filter-pixdesc-yuv444p9be      |   2 +-
 tests/ref/fate/filter-pixdesc-yuv444p9le      |   2 +-
 tests/ref/fate/filter-pixdesc-yuva420p        |   2 +-
 tests/ref/fate/filter-pixdesc-yuva420p10be    |   2 +-
 tests/ref/fate/filter-pixdesc-yuva420p10le    |   2 +-
 tests/ref/fate/filter-pixdesc-yuva420p16be    |   2 +-
 tests/ref/fate/filter-pixdesc-yuva420p16le    |   2 +-
 tests/ref/fate/filter-pixdesc-yuva420p9be     |   2 +-
 tests/ref/fate/filter-pixdesc-yuva420p9le     |   2 +-
 tests/ref/fate/filter-pixdesc-yuva422p        |   2 +-
 tests/ref/fate/filter-pixdesc-yuva422p10be    |   2 +-
 tests/ref/fate/filter-pixdesc-yuva422p10le    |   2 +-
 tests/ref/fate/filter-pixdesc-yuva422p12be    |   2 +-
 tests/ref/fate/filter-pixdesc-yuva422p12le    |   2 +-
 tests/ref/fate/filter-pixdesc-yuva422p16be    |   2 +-
 tests/ref/fate/filter-pixdesc-yuva422p16le    |   2 +-
 tests/ref/fate/filter-pixdesc-yuva422p9be     |   2 +-
 tests/ref/fate/filter-pixdesc-yuva422p9le     |   2 +-
 tests/ref/fate/filter-pixdesc-yuva444p        |   2 +-
 tests/ref/fate/filter-pixdesc-yuva444p10be    |   2 +-
 tests/ref/fate/filter-pixdesc-yuva444p10le    |   2 +-
 tests/ref/fate/filter-pixdesc-yuva444p12be    |   2 +-
 tests/ref/fate/filter-pixdesc-yuva444p12le    |   2 +-
 tests/ref/fate/filter-pixdesc-yuva444p16be    |   2 +-
 tests/ref/fate/filter-pixdesc-yuva444p16le    |   2 +-
 tests/ref/fate/filter-pixdesc-yuva444p9be     |   2 +-
 tests/ref/fate/filter-pixdesc-yuva444p9le     |   2 +-
 tests/ref/fate/filter-pixdesc-yuvj411p        |   2 +-
 tests/ref/fate/filter-pixdesc-yuvj420p        |   2 +-
 tests/ref/fate/filter-pixdesc-yuvj422p        |   2 +-
 tests/ref/fate/filter-pixdesc-yuvj440p        |   2 +-
 tests/ref/fate/filter-pixdesc-yuvj444p        |   2 +-
 tests/ref/fate/filter-pixdesc-yuyv422         |   2 +-
 tests/ref/fate/filter-pixdesc-yvyu422         |   2 +-
 tests/ref/fate/filter-pixfmts-copy            | 306 +++++++++---------
 tests/ref/fate/filter-pixfmts-crop            | 296 ++++++++---------
 tests/ref/fate/filter-pixfmts-field           | 306 +++++++++---------
 tests/ref/fate/filter-pixfmts-fieldmatch      |  10 +-
 tests/ref/fate/filter-pixfmts-fieldorder      | 236 +++++++-------
 tests/ref/fate/filter-pixfmts-hflip           | 296 ++++++++---------
 tests/ref/fate/filter-pixfmts-il              | 304 ++++++++---------
 tests/ref/fate/filter-pixfmts-kerndeint       |  20 +-
 tests/ref/fate/filter-pixfmts-lut             | 114 +++----
 tests/ref/fate/filter-pixfmts-null            | 306 +++++++++---------
 tests/ref/fate/filter-pixfmts-pad             | 146 ++++-----
 tests/ref/fate/filter-pixfmts-pullup          |  24 +-
 tests/ref/fate/filter-pixfmts-rotate          |  68 ++--
 tests/ref/fate/filter-pixfmts-scale           | 306 +++++++++---------
 tests/ref/fate/filter-pixfmts-super2xsai      |  28 +-
 tests/ref/fate/filter-pixfmts-swapuv          | 140 ++++----
 .../ref/fate/filter-pixfmts-tinterlace_cvlpf  |  50 +--
 .../ref/fate/filter-pixfmts-tinterlace_merge  |  50 +--
 tests/ref/fate/filter-pixfmts-tinterlace_pad  |  50 +--
 tests/ref/fate/filter-pixfmts-tinterlace_vlpf |  50 +--
 tests/ref/fate/filter-pixfmts-transpose       | 236 +++++++-------
 tests/ref/fate/filter-pixfmts-vflip           | 306 +++++++++---------
 tests/ref/fate/filter-pp1                     |   2 +-
 tests/ref/fate/filter-pp2                     |   2 +-
 tests/ref/fate/filter-pp3                     |   2 +-
 tests/ref/fate/filter-pp4                     |   2 +-
 tests/ref/fate/filter-pp5                     |   2 +-
 tests/ref/fate/filter-pp6                     |   2 +-
 tests/ref/fate/filter-qp                      |   2 +-
 tests/ref/fate/filter-scale200                |   2 +-
 tests/ref/fate/filter-scale500                |   2 +-
 tests/ref/fate/filter-setdar                  |   2 +-
 tests/ref/fate/filter-setsar                  |   2 +-
 tests/ref/fate/filter-thumbnail               |   2 +-
 tests/ref/fate/filter-tile                    |   2 +-
 tests/ref/fate/filter-vflip                   |   2 +-
 tests/ref/fate/filter-vflip_crop              |   2 +-
 tests/ref/fate/filter-vflip_vflip             |   2 +-
 tests/ref/lavf/nut                            |   4 +-
 tests/ref/vsynth/vsynth1-xface                |   4 +-
 tests/ref/vsynth/vsynth2-xface                |   4 +-
 tests/ref/vsynth/vsynth3-xface                |   4 +-
 tests/ref/vsynth/vsynth_lena-xface            |   4 +-
 227 files changed, 2053 insertions(+), 2053 deletions(-)

diff --git a/tests/ref/acodec/pcm-s16be_planar b/tests/ref/acodec/pcm-s16be_planar
index 12ebdee03f..445cc8f175 100644
--- a/tests/ref/acodec/pcm-s16be_planar
+++ b/tests/ref/acodec/pcm-s16be_planar
@@ -1,4 +1,4 @@ 
-b2acc0309be76b5f6200b525281a9037 *tests/data/fate/acodec-pcm-s16be_planar.nut
-1060727 tests/data/fate/acodec-pcm-s16be_planar.nut
+1be75f1263882d02f6a7d74b26b95fc8 *tests/data/fate/acodec-pcm-s16be_planar.nut
+1060749 tests/data/fate/acodec-pcm-s16be_planar.nut
 95e54b261530a1bcf6de6fe3b21dc5f6 *tests/data/fate/acodec-pcm-s16be_planar.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-s16le_planar b/tests/ref/acodec/pcm-s16le_planar
index cc5c3c65ac..498be08179 100644
--- a/tests/ref/acodec/pcm-s16le_planar
+++ b/tests/ref/acodec/pcm-s16le_planar
@@ -1,4 +1,4 @@ 
-15aa8f9d8ca30a17c7821acfcd9d87f9 *tests/data/fate/acodec-pcm-s16le_planar.nut
-1060727 tests/data/fate/acodec-pcm-s16le_planar.nut
+05e5c714cd4d77727c7c8059a45ec551 *tests/data/fate/acodec-pcm-s16le_planar.nut
+1060749 tests/data/fate/acodec-pcm-s16le_planar.nut
 95e54b261530a1bcf6de6fe3b21dc5f6 *tests/data/fate/acodec-pcm-s16le_planar.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-s24le_planar b/tests/ref/acodec/pcm-s24le_planar
index 5e83a1904d..b08cb13b96 100644
--- a/tests/ref/acodec/pcm-s24le_planar
+++ b/tests/ref/acodec/pcm-s24le_planar
@@ -1,4 +1,4 @@ 
-1c746862c9d79c57e275266f63822b29 *tests/data/fate/acodec-pcm-s24le_planar.nut
-1590256 tests/data/fate/acodec-pcm-s24le_planar.nut
+2c31dc0e794533c822b63f8f80a89228 *tests/data/fate/acodec-pcm-s24le_planar.nut
+1590278 tests/data/fate/acodec-pcm-s24le_planar.nut
 95e54b261530a1bcf6de6fe3b21dc5f6 *tests/data/fate/acodec-pcm-s24le_planar.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-s32le_planar b/tests/ref/acodec/pcm-s32le_planar
index ff3051bf84..6fca6ca97f 100644
--- a/tests/ref/acodec/pcm-s32le_planar
+++ b/tests/ref/acodec/pcm-s32le_planar
@@ -1,4 +1,4 @@ 
-d142973733ff4d61644b704438a4ba32 *tests/data/fate/acodec-pcm-s32le_planar.nut
-2120202 tests/data/fate/acodec-pcm-s32le_planar.nut
+f044ab42442ffaca8646237d9ce716f6 *tests/data/fate/acodec-pcm-s32le_planar.nut
+2120224 tests/data/fate/acodec-pcm-s32le_planar.nut
 95e54b261530a1bcf6de6fe3b21dc5f6 *tests/data/fate/acodec-pcm-s32le_planar.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-s8_planar b/tests/ref/acodec/pcm-s8_planar
index 9cd795dc45..a4cad356bf 100644
--- a/tests/ref/acodec/pcm-s8_planar
+++ b/tests/ref/acodec/pcm-s8_planar
@@ -1,4 +1,4 @@ 
-f04f79b2e90921a513f2d22fdab0dc47 *tests/data/fate/acodec-pcm-s8_planar.nut
-531105 tests/data/fate/acodec-pcm-s8_planar.nut
+69f3725f6ffab455d5388f598980fd4f *tests/data/fate/acodec-pcm-s8_planar.nut
+531127 tests/data/fate/acodec-pcm-s8_planar.nut
 652edf30f35ad89bf27bcc9d2f9c7b53 *tests/data/fate/acodec-pcm-s8_planar.out.wav
 stddev:  147.89 PSNR: 52.93 MAXDIFF:  255 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-u16be b/tests/ref/acodec/pcm-u16be
index 015340cb8a..8bda800e54 100644
--- a/tests/ref/acodec/pcm-u16be
+++ b/tests/ref/acodec/pcm-u16be
@@ -1,4 +1,4 @@ 
-abc31c722aee72f21b5f858731c28fb9 *tests/data/fate/acodec-pcm-u16be.nut
-1060720 tests/data/fate/acodec-pcm-u16be.nut
+e549a8a7aa64b66fb9f1c0f5e9ddacff *tests/data/fate/acodec-pcm-u16be.nut
+1060742 tests/data/fate/acodec-pcm-u16be.nut
 95e54b261530a1bcf6de6fe3b21dc5f6 *tests/data/fate/acodec-pcm-u16be.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-u16le b/tests/ref/acodec/pcm-u16le
index 7efb086172..3e0cc2b60e 100644
--- a/tests/ref/acodec/pcm-u16le
+++ b/tests/ref/acodec/pcm-u16le
@@ -1,4 +1,4 @@ 
-80cf805a16a6b4f02f46ff9008ca16f7 *tests/data/fate/acodec-pcm-u16le.nut
-1060720 tests/data/fate/acodec-pcm-u16le.nut
+f6055541d6f045e59378187a1de634e9 *tests/data/fate/acodec-pcm-u16le.nut
+1060742 tests/data/fate/acodec-pcm-u16le.nut
 95e54b261530a1bcf6de6fe3b21dc5f6 *tests/data/fate/acodec-pcm-u16le.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-u24be b/tests/ref/acodec/pcm-u24be
index ef423ea10d..4460a7f634 100644
--- a/tests/ref/acodec/pcm-u24be
+++ b/tests/ref/acodec/pcm-u24be
@@ -1,4 +1,4 @@ 
-c5b7d1898d8f5d6675ba543d2830bbaf *tests/data/fate/acodec-pcm-u24be.nut
-1590249 tests/data/fate/acodec-pcm-u24be.nut
+3f2d9b12a940f87b215518eb863a819b *tests/data/fate/acodec-pcm-u24be.nut
+1590271 tests/data/fate/acodec-pcm-u24be.nut
 95e54b261530a1bcf6de6fe3b21dc5f6 *tests/data/fate/acodec-pcm-u24be.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-u24le b/tests/ref/acodec/pcm-u24le
index 4010a1a3f3..a356ee6185 100644
--- a/tests/ref/acodec/pcm-u24le
+++ b/tests/ref/acodec/pcm-u24le
@@ -1,4 +1,4 @@ 
-884a3a562a8005084fde088fc3a74283 *tests/data/fate/acodec-pcm-u24le.nut
-1590249 tests/data/fate/acodec-pcm-u24le.nut
+b90106015614217d0a7dfd970d494f1e *tests/data/fate/acodec-pcm-u24le.nut
+1590271 tests/data/fate/acodec-pcm-u24le.nut
 95e54b261530a1bcf6de6fe3b21dc5f6 *tests/data/fate/acodec-pcm-u24le.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-u32be b/tests/ref/acodec/pcm-u32be
index 358a01ef99..09995254b0 100644
--- a/tests/ref/acodec/pcm-u32be
+++ b/tests/ref/acodec/pcm-u32be
@@ -1,4 +1,4 @@ 
-88d1f0b98e2878f0a45abde7ad73e9f1 *tests/data/fate/acodec-pcm-u32be.nut
-2120195 tests/data/fate/acodec-pcm-u32be.nut
+1932894efdd6625fd387296cf7358725 *tests/data/fate/acodec-pcm-u32be.nut
+2120217 tests/data/fate/acodec-pcm-u32be.nut
 95e54b261530a1bcf6de6fe3b21dc5f6 *tests/data/fate/acodec-pcm-u32be.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-u32le b/tests/ref/acodec/pcm-u32le
index 6857ec02c3..1a8679b379 100644
--- a/tests/ref/acodec/pcm-u32le
+++ b/tests/ref/acodec/pcm-u32le
@@ -1,4 +1,4 @@ 
-7257d6251524479c563c9f17a2642222 *tests/data/fate/acodec-pcm-u32le.nut
-2120195 tests/data/fate/acodec-pcm-u32le.nut
+51dcf1a7ef04e4c3e21f5dd46b6640ec *tests/data/fate/acodec-pcm-u32le.nut
+2120217 tests/data/fate/acodec-pcm-u32le.nut
 95e54b261530a1bcf6de6fe3b21dc5f6 *tests/data/fate/acodec-pcm-u32le.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/fate/ffprobe_compact b/tests/ref/fate/ffprobe_compact
index 4a0f4ee776..29c4605c85 100644
--- a/tests/ref/fate/ffprobe_compact
+++ b/tests/ref/fate/ffprobe_compact
@@ -29,4 +29,4 @@  frame|media_type=video|stream_index=2|key_frame=1|pkt_pts=6144|pkt_pts_time=0.12
 stream|index=0|codec_name=pcm_s16le|profile=unknown|codec_type=audio|codec_time_base=1/44100|codec_tag_string=PSD[16]|codec_tag=0x10445350|sample_fmt=s16|sample_rate=44100|channels=1|channel_layout=unknown|bits_per_sample=16|id=N/A|r_frame_rate=0/0|avg_frame_rate=0/0|time_base=1/44100|start_pts=0|start_time=0.000000|duration_ts=N/A|duration=N/A|bit_rate=705600|max_bit_rate=N/A|bits_per_raw_sample=N/A|nb_frames=N/A|nb_read_frames=6|nb_read_packets=6|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|tag:E=mc²|tag:encoder=Lavc pcm_s16le
 stream|index=1|codec_name=rawvideo|profile=unknown|codec_type=video|codec_time_base=1/25|codec_tag_string=RGB[24]|codec_tag=0x18424752|width=320|height=240|coded_width=320|coded_height=240|has_b_frames=0|sample_aspect_ratio=1:1|display_aspect_ratio=4:3|pix_fmt=rgb24|level=-99|color_range=unknown|color_space=unknown|color_transfer=unknown|color_primaries=unknown|chroma_location=unspecified|field_order=unknown|timecode=N/A|refs=1|id=N/A|r_frame_rate=25/1|avg_frame_rate=25/1|time_base=1/51200|start_pts=0|start_time=0.000000|duration_ts=N/A|duration=N/A|bit_rate=N/A|max_bit_rate=N/A|bits_per_raw_sample=N/A|nb_frames=N/A|nb_read_frames=4|nb_read_packets=4|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|tag:title=foobar|tag:duration_ts=field-and-tags-conflict-attempt|tag:encoder=Lavc rawvideo
 stream|index=2|codec_name=rawvideo|profile=unknown|codec_type=video|codec_time_base=1/25|codec_tag_string=RGB[24]|codec_tag=0x18424752|width=100|height=100|coded_width=100|coded_height=100|has_b_frames=0|sample_aspect_ratio=1:1|display_aspect_ratio=1:1|pix_fmt=rgb24|level=-99|color_range=unknown|color_space=unknown|color_transfer=unknown|color_primaries=unknown|chroma_location=unspecified|field_order=unknown|timecode=N/A|refs=1|id=N/A|r_frame_rate=25/1|avg_frame_rate=25/1|time_base=1/51200|start_pts=0|start_time=0.000000|duration_ts=N/A|duration=N/A|bit_rate=N/A|max_bit_rate=N/A|bits_per_raw_sample=N/A|nb_frames=N/A|nb_read_frames=4|nb_read_packets=4|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|tag:encoder=Lavc rawvideo
-format|filename=tests/data/ffprobe-test.nut|nb_streams=3|nb_programs=0|format_name=nut|start_time=0.000000|duration=0.120000|size=1053624|bit_rate=70241600|probe_score=100|tag:title=ffprobe test file|tag:comment='A comment with CSV, XML & JSON special chars': <tag value="x">|tag:comment2=I ♥ Üñîçød€
+format|filename=tests/data/ffprobe-test.nut|nb_streams=3|nb_programs=0|format_name=nut|start_time=0.000000|duration=0.160000|size=1053690|bit_rate=52684500|probe_score=100|tag:title=ffprobe test file|tag:comment='A comment with CSV, XML & JSON special chars': <tag value="x">|tag:comment2=I ♥ Üñîçød€
diff --git a/tests/ref/fate/ffprobe_csv b/tests/ref/fate/ffprobe_csv
index dfbeb40e20..ca90470fa0 100644
--- a/tests/ref/fate/ffprobe_csv
+++ b/tests/ref/fate/ffprobe_csv
@@ -29,4 +29,4 @@  frame,video,2,1,6144,0.120000,6144,0.120000,6144,0.120000,2048,0.040000,1023544,
 stream,0,pcm_s16le,unknown,audio,1/44100,PSD[16],0x10445350,s16,44100,1,unknown,16,N/A,0/0,0/0,1/44100,0,0.000000,N/A,N/A,705600,N/A,N/A,N/A,6,6,0,0,0,0,0,0,0,0,0,0,0,0,mc²,Lavc pcm_s16le
 stream,1,rawvideo,unknown,video,1/25,RGB[24],0x18424752,320,240,320,240,0,1:1,4:3,rgb24,-99,unknown,unknown,unknown,unknown,unspecified,unknown,N/A,1,N/A,25/1,25/1,1/51200,0,0.000000,N/A,N/A,N/A,N/A,N/A,N/A,4,4,0,0,0,0,0,0,0,0,0,0,0,0,foobar,field-and-tags-conflict-attempt,Lavc rawvideo
 stream,2,rawvideo,unknown,video,1/25,RGB[24],0x18424752,100,100,100,100,0,1:1,1:1,rgb24,-99,unknown,unknown,unknown,unknown,unspecified,unknown,N/A,1,N/A,25/1,25/1,1/51200,0,0.000000,N/A,N/A,N/A,N/A,N/A,N/A,4,4,0,0,0,0,0,0,0,0,0,0,0,0,Lavc rawvideo
-format,tests/data/ffprobe-test.nut,3,0,nut,0.000000,0.120000,1053624,70241600,100,ffprobe test file,"'A comment with CSV, XML & JSON special chars': <tag value=""x"">",I ♥ Üñîçød€
+format,tests/data/ffprobe-test.nut,3,0,nut,0.000000,0.160000,1053690,52684500,100,ffprobe test file,"'A comment with CSV, XML & JSON special chars': <tag value=""x"">",I ♥ Üñîçød€
diff --git a/tests/ref/fate/ffprobe_default b/tests/ref/fate/ffprobe_default
index 7562867e19..ab22c03401 100644
--- a/tests/ref/fate/ffprobe_default
+++ b/tests/ref/fate/ffprobe_default
@@ -718,9 +718,9 @@  nb_streams=3
 nb_programs=0
 format_name=nut
 start_time=0.000000
-duration=0.120000
-size=1053624
-bit_rate=70241600
+duration=0.160000
+size=1053690
+bit_rate=52684500
 probe_score=100
 TAG:title=ffprobe test file
 TAG:comment='A comment with CSV, XML & JSON special chars': <tag value="x">
diff --git a/tests/ref/fate/ffprobe_flat b/tests/ref/fate/ffprobe_flat
index fc82ee925d..3a614cc067 100644
--- a/tests/ref/fate/ffprobe_flat
+++ b/tests/ref/fate/ffprobe_flat
@@ -655,9 +655,9 @@  format.nb_streams=3
 format.nb_programs=0
 format.format_name="nut"
 format.start_time="0.000000"
-format.duration="0.120000"
-format.size="1053624"
-format.bit_rate="70241600"
+format.duration="0.160000"
+format.size="1053690"
+format.bit_rate="52684500"
 format.probe_score=100
 format.tags.title="ffprobe test file"
 format.tags.comment="'A comment with CSV, XML & JSON special chars': <tag value=\"x\">"
diff --git a/tests/ref/fate/ffprobe_ini b/tests/ref/fate/ffprobe_ini
index a78690cc29..2dca501e3b 100644
--- a/tests/ref/fate/ffprobe_ini
+++ b/tests/ref/fate/ffprobe_ini
@@ -732,9 +732,9 @@  nb_streams=3
 nb_programs=0
 format_name=nut
 start_time=0.000000
-duration=0.120000
-size=1053624
-bit_rate=70241600
+duration=0.160000
+size=1053690
+bit_rate=52684500
 probe_score=100
 
 [format.tags]
diff --git a/tests/ref/fate/ffprobe_json b/tests/ref/fate/ffprobe_json
index 4bb93d07e1..2bc2fd058f 100644
--- a/tests/ref/fate/ffprobe_json
+++ b/tests/ref/fate/ffprobe_json
@@ -651,9 +651,9 @@ 
         "nb_programs": 0,
         "format_name": "nut",
         "start_time": "0.000000",
-        "duration": "0.120000",
-        "size": "1053624",
-        "bit_rate": "70241600",
+        "duration": "0.160000",
+        "size": "1053690",
+        "bit_rate": "52684500",
         "probe_score": 100,
         "tags": {
             "title": "ffprobe test file",
diff --git a/tests/ref/fate/ffprobe_xml b/tests/ref/fate/ffprobe_xml
index d2c5ecdf73..b9f6d668cd 100644
--- a/tests/ref/fate/ffprobe_xml
+++ b/tests/ref/fate/ffprobe_xml
@@ -49,7 +49,7 @@ 
         </stream>
     </streams>
 
-    <format filename="tests/data/ffprobe-test.nut" nb_streams="3" nb_programs="0" format_name="nut" start_time="0.000000" duration="0.120000" size="1053624" bit_rate="70241600" probe_score="100">
+    <format filename="tests/data/ffprobe-test.nut" nb_streams="3" nb_programs="0" format_name="nut" start_time="0.000000" duration="0.160000" size="1053690" bit_rate="52684500" probe_score="100">
         <tag key="title" value="ffprobe test file"/>
         <tag key="comment" value="&apos;A comment with CSV, XML &amp; JSON special chars&apos;: &lt;tag value=&quot;x&quot;&gt;"/>
         <tag key="comment2" value="I ♥ Üñîçød€"/>
diff --git a/tests/ref/fate/filter-colormatrix1 b/tests/ref/fate/filter-colormatrix1
index 2f25f6cf4b..e3e4309fdb 100644
--- a/tests/ref/fate/filter-colormatrix1
+++ b/tests/ref/fate/filter-colormatrix1
@@ -1 +1 @@ 
-colormatrix1        1593e24a71db42d07781b92665cf99a9
+colormatrix1        74f13d6c6c174a9fd176d7900b21bced
diff --git a/tests/ref/fate/filter-colormatrix2 b/tests/ref/fate/filter-colormatrix2
index b57b59482c..48ca4e25fd 100644
--- a/tests/ref/fate/filter-colormatrix2
+++ b/tests/ref/fate/filter-colormatrix2
@@ -1 +1 @@ 
-colormatrix2        cafba294debb89f59143b519f3cd1673
+colormatrix2        fec22e3dd08771756254dd85ab10fdb5
diff --git a/tests/ref/fate/filter-crop b/tests/ref/fate/filter-crop
index e48461ea6f..76391cd56b 100644
--- a/tests/ref/fate/filter-crop
+++ b/tests/ref/fate/filter-crop
@@ -1 +1 @@ 
-crop                59c225f4cdab05af984dd259f10be762
+crop                01f2f974d6bc9de7c7c06f55780e1e5e
diff --git a/tests/ref/fate/filter-crop_scale b/tests/ref/fate/filter-crop_scale
index 9bc7de7ac4..435bbbeb74 100644
--- a/tests/ref/fate/filter-crop_scale
+++ b/tests/ref/fate/filter-crop_scale
@@ -1 +1 @@ 
-crop_scale          728fa480f1b959cddd3f83c92d8719c4
+crop_scale          80cd72afd0a4018133627a30daa5546b
diff --git a/tests/ref/fate/filter-crop_scale_vflip b/tests/ref/fate/filter-crop_scale_vflip
index 36874db953..2e2157b68e 100644
--- a/tests/ref/fate/filter-crop_scale_vflip
+++ b/tests/ref/fate/filter-crop_scale_vflip
@@ -1 +1 @@ 
-crop_scale_vflip    d6a0bb35b159aa6787add0082088a59f
+crop_scale_vflip    0abc57e1c2cc9dc09aeb593cccf2ec47
diff --git a/tests/ref/fate/filter-crop_vflip b/tests/ref/fate/filter-crop_vflip
index 2f6a32019d..0fc882a77f 100644
--- a/tests/ref/fate/filter-crop_vflip
+++ b/tests/ref/fate/filter-crop_vflip
@@ -1 +1 @@ 
-crop_vflip          0652fe087e7a0cc110c3a876543b8662
+crop_vflip          1ec5715484e0e85274c7edb98811f6e4
diff --git a/tests/ref/fate/filter-edgedetect b/tests/ref/fate/filter-edgedetect
index 23c9953e61..f5608d2819 100644
--- a/tests/ref/fate/filter-edgedetect
+++ b/tests/ref/fate/filter-edgedetect
@@ -1 +1 @@ 
-edgedetect          93ceace33f6636bcdbeb037317c65745
+edgedetect          37d0686b9431d479c5813bd75e40adce
diff --git a/tests/ref/fate/filter-edgedetect-colormix b/tests/ref/fate/filter-edgedetect-colormix
index e828c6bd19..c29744c217 100644
--- a/tests/ref/fate/filter-edgedetect-colormix
+++ b/tests/ref/fate/filter-edgedetect-colormix
@@ -1 +1 @@ 
-edgedetect-colormix 1b8658252e2f03fbae30e6d63dd24c7c
+edgedetect-colormix 6ceecb838d1adf85e4cc20552892b167
diff --git a/tests/ref/fate/filter-hue1 b/tests/ref/fate/filter-hue1
index 7059ba7661..636728c244 100644
--- a/tests/ref/fate/filter-hue1
+++ b/tests/ref/fate/filter-hue1
@@ -1 +1 @@ 
-hue1                57463dd9bc17156a51b704dd7271c863
+hue1                7d9887d22e8afad1ef7a580fdc41f5e5
diff --git a/tests/ref/fate/filter-hue2 b/tests/ref/fate/filter-hue2
index 2e060e1ab4..40d5b3fdb7 100644
--- a/tests/ref/fate/filter-hue2
+++ b/tests/ref/fate/filter-hue2
@@ -1 +1 @@ 
-hue2                e951ae8ffb279552abc4354c4de7cb5b
+hue2                7f128beb4803a9c0f4db0dda5f124f31
diff --git a/tests/ref/fate/filter-hue3 b/tests/ref/fate/filter-hue3
index 14a8379333..cd7392e9d8 100644
--- a/tests/ref/fate/filter-hue3
+++ b/tests/ref/fate/filter-hue3
@@ -1 +1 @@ 
-hue3                149dc22f5dc9f578f7d281dc3120c09b
+hue3                b2d27b4b9cf01e8af5208c669888868a
diff --git a/tests/ref/fate/filter-hue4 b/tests/ref/fate/filter-hue4
index 2a08c33314..90adb4229f 100644
--- a/tests/ref/fate/filter-hue4
+++ b/tests/ref/fate/filter-hue4
@@ -1 +1 @@ 
-hue4                6279ed43527e7b5be645819e08880107
+hue4                9f1ec6302661bfdb922e981da8fff305
diff --git a/tests/ref/fate/filter-null b/tests/ref/fate/filter-null
index 034ee8db20..b9ef250959 100644
--- a/tests/ref/fate/filter-null
+++ b/tests/ref/fate/filter-null
@@ -1 +1 @@ 
-null                fcb007249fba9371fe84a61c974fcb00
+null                fc15a42d932c2a98a8024a8409cf146b
diff --git a/tests/ref/fate/filter-pad b/tests/ref/fate/filter-pad
index 1c46b696aa..05cf32bee9 100644
--- a/tests/ref/fate/filter-pad
+++ b/tests/ref/fate/filter-pad
@@ -1 +1 @@ 
-pad                 8fdc977f88a9884b95cf87836603022e
+pad                 79a274549d552141609edd6696ce8ac6
diff --git a/tests/ref/fate/filter-pixdesc-0bgr b/tests/ref/fate/filter-pixdesc-0bgr
index 7bbb03dc25..2f929d9686 100644
--- a/tests/ref/fate/filter-pixdesc-0bgr
+++ b/tests/ref/fate/filter-pixdesc-0bgr
@@ -1 +1 @@ 
-pixdesc-0bgr        89fa866f5532548a67b6e742b4d49e03
+pixdesc-0bgr        e074ac40b081c2f8325e9d1845f03755
diff --git a/tests/ref/fate/filter-pixdesc-0rgb b/tests/ref/fate/filter-pixdesc-0rgb
index e0da275840..779628b2f2 100644
--- a/tests/ref/fate/filter-pixdesc-0rgb
+++ b/tests/ref/fate/filter-pixdesc-0rgb
@@ -1 +1 @@ 
-pixdesc-0rgb        b181e1d3d4ca1e64d55f434e97c9fdba
+pixdesc-0rgb        f67d0d97def6484a2e4ebe06d4814c07
diff --git a/tests/ref/fate/filter-pixdesc-abgr b/tests/ref/fate/filter-pixdesc-abgr
index 194819e431..fabd8d0c8e 100644
--- a/tests/ref/fate/filter-pixdesc-abgr
+++ b/tests/ref/fate/filter-pixdesc-abgr
@@ -1 +1 @@ 
-pixdesc-abgr        ded06f35fe57b74f6cdbba9e356cd02d
+pixdesc-abgr        890ab923499c3d7074a3df352010ccee
diff --git a/tests/ref/fate/filter-pixdesc-argb b/tests/ref/fate/filter-pixdesc-argb
index a21a87a64b..a2a7c5a38b 100644
--- a/tests/ref/fate/filter-pixdesc-argb
+++ b/tests/ref/fate/filter-pixdesc-argb
@@ -1 +1 @@ 
-pixdesc-argb        f983e1f44ce61c3c2bfac3cb55d3cdd8
+pixdesc-argb        8a72453fc0790ed2dc281c42f26f0134
diff --git a/tests/ref/fate/filter-pixdesc-ayuv64le b/tests/ref/fate/filter-pixdesc-ayuv64le
index 385ce1399c..a7a1f4749c 100644
--- a/tests/ref/fate/filter-pixdesc-ayuv64le
+++ b/tests/ref/fate/filter-pixdesc-ayuv64le
@@ -1 +1 @@ 
-pixdesc-ayuv64le    2269279a2df156931021793927876e84
+pixdesc-ayuv64le    0be6412af199d76ea9c31f762ba81aac
diff --git a/tests/ref/fate/filter-pixdesc-bgr0 b/tests/ref/fate/filter-pixdesc-bgr0
index f4a2c1bc14..ee6851222f 100644
--- a/tests/ref/fate/filter-pixdesc-bgr0
+++ b/tests/ref/fate/filter-pixdesc-bgr0
@@ -1 +1 @@ 
-pixdesc-bgr0        5bf31ebb28690035b15eb8252c11b630
+pixdesc-bgr0        f55072188c841b25b2a7730b6d362a3d
diff --git a/tests/ref/fate/filter-pixdesc-bgr24 b/tests/ref/fate/filter-pixdesc-bgr24
index c63da5812f..79a4ad14ad 100644
--- a/tests/ref/fate/filter-pixdesc-bgr24
+++ b/tests/ref/fate/filter-pixdesc-bgr24
@@ -1 +1 @@ 
-pixdesc-bgr24       30134c7e6c9298df1d830398edca22b9
+pixdesc-bgr24       62036bf2f88e96f760f5e715af0498f5
diff --git a/tests/ref/fate/filter-pixdesc-bgr444be b/tests/ref/fate/filter-pixdesc-bgr444be
index 1c6ce575c4..c05a3e206a 100644
--- a/tests/ref/fate/filter-pixdesc-bgr444be
+++ b/tests/ref/fate/filter-pixdesc-bgr444be
@@ -1 +1 @@ 
-pixdesc-bgr444be    bbe69fdff1c6965674bf5be5d14a342d
+pixdesc-bgr444be    23c7d5f8287e48506d63abe9d217ae7b
diff --git a/tests/ref/fate/filter-pixdesc-bgr444le b/tests/ref/fate/filter-pixdesc-bgr444le
index 2886eee5bf..970d458976 100644
--- a/tests/ref/fate/filter-pixdesc-bgr444le
+++ b/tests/ref/fate/filter-pixdesc-bgr444le
@@ -1 +1 @@ 
-pixdesc-bgr444le    497e36f9004a10b46e4bc7253e95ad9f
+pixdesc-bgr444le    f591779ec980727769a8bfa91ef17d67
diff --git a/tests/ref/fate/filter-pixdesc-bgr48be b/tests/ref/fate/filter-pixdesc-bgr48be
index 72e2df7fe0..f166f115db 100644
--- a/tests/ref/fate/filter-pixdesc-bgr48be
+++ b/tests/ref/fate/filter-pixdesc-bgr48be
@@ -1 +1 @@ 
-pixdesc-bgr48be     c0ddbd8b786877336e725ec3c150b17e
+pixdesc-bgr48be     6f7ade8dc84bd9e617cf81dc2c4f3a42
diff --git a/tests/ref/fate/filter-pixdesc-bgr48le b/tests/ref/fate/filter-pixdesc-bgr48le
index dad2d06474..3809b2fadc 100644
--- a/tests/ref/fate/filter-pixdesc-bgr48le
+++ b/tests/ref/fate/filter-pixdesc-bgr48le
@@ -1 +1 @@ 
-pixdesc-bgr48le     0d7a6d9d46fec1e701f34c2d5e2c6918
+pixdesc-bgr48le     5457d7f39e5fafc237d6e26101e88042
diff --git a/tests/ref/fate/filter-pixdesc-bgr4_byte b/tests/ref/fate/filter-pixdesc-bgr4_byte
index e71fec2317..e5b5dea0aa 100644
--- a/tests/ref/fate/filter-pixdesc-bgr4_byte
+++ b/tests/ref/fate/filter-pixdesc-bgr4_byte
@@ -1 +1 @@ 
-pixdesc-bgr4_byte   68d51f7d88311efcb4661ffb5ff9582e
+pixdesc-bgr4_byte   0ca0c43df474cdeb51592c1dbd1b668a
diff --git a/tests/ref/fate/filter-pixdesc-bgr555be b/tests/ref/fate/filter-pixdesc-bgr555be
index a0ba70f38d..628014dd54 100644
--- a/tests/ref/fate/filter-pixdesc-bgr555be
+++ b/tests/ref/fate/filter-pixdesc-bgr555be
@@ -1 +1 @@ 
-pixdesc-bgr555be    2718e3363c3191b14bc2f3f1936cebdb
+pixdesc-bgr555be    a6f2dc2bb9ffe342b895683da366d879
diff --git a/tests/ref/fate/filter-pixdesc-bgr555le b/tests/ref/fate/filter-pixdesc-bgr555le
index dd22eef8b7..0a7215ca3b 100644
--- a/tests/ref/fate/filter-pixdesc-bgr555le
+++ b/tests/ref/fate/filter-pixdesc-bgr555le
@@ -1 +1 @@ 
-pixdesc-bgr555le    35bf7049f067f541ae6dad8a70bc28ed
+pixdesc-bgr555le    a40bf0ee3ba8b043ec1f2b121fc9e494
diff --git a/tests/ref/fate/filter-pixdesc-bgr565be b/tests/ref/fate/filter-pixdesc-bgr565be
index f050688676..568cd0dc58 100644
--- a/tests/ref/fate/filter-pixdesc-bgr565be
+++ b/tests/ref/fate/filter-pixdesc-bgr565be
@@ -1 +1 @@ 
-pixdesc-bgr565be    104e725cc5237aee0b03b8c537eaacac
+pixdesc-bgr565be    0eb4b799c1f4dc8441c3ccc8902a3350
diff --git a/tests/ref/fate/filter-pixdesc-bgr565le b/tests/ref/fate/filter-pixdesc-bgr565le
index fa35622689..1301765168 100644
--- a/tests/ref/fate/filter-pixdesc-bgr565le
+++ b/tests/ref/fate/filter-pixdesc-bgr565le
@@ -1 +1 @@ 
-pixdesc-bgr565le    33df7dd9a9d738fb9c8b82dbf23c7caa
+pixdesc-bgr565le    636ba2c359a45ce154510f7158f49955
diff --git a/tests/ref/fate/filter-pixdesc-bgr8 b/tests/ref/fate/filter-pixdesc-bgr8
index 299665e52a..2c2b5d849d 100644
--- a/tests/ref/fate/filter-pixdesc-bgr8
+++ b/tests/ref/fate/filter-pixdesc-bgr8
@@ -1 +1 @@ 
-pixdesc-bgr8        0abb130e5224af5e2e10149f1680fa2e
+pixdesc-bgr8        1e3e46f0160d0c33c30c229a8f642871
diff --git a/tests/ref/fate/filter-pixdesc-bgra b/tests/ref/fate/filter-pixdesc-bgra
index abdedbe48c..82eb59fc90 100644
--- a/tests/ref/fate/filter-pixdesc-bgra
+++ b/tests/ref/fate/filter-pixdesc-bgra
@@ -1 +1 @@ 
-pixdesc-bgra        0bb08da9936d2efd20351ab4a88e9b10
+pixdesc-bgra        1a730ea13238ff541689261412a0062f
diff --git a/tests/ref/fate/filter-pixdesc-bgra64be b/tests/ref/fate/filter-pixdesc-bgra64be
index 4459e24999..686484103c 100644
--- a/tests/ref/fate/filter-pixdesc-bgra64be
+++ b/tests/ref/fate/filter-pixdesc-bgra64be
@@ -1 +1 @@ 
-pixdesc-bgra64be    c524aa7e4c02dbca57035bb548afc1ec
+pixdesc-bgra64be    a1eca6723d13e31d1621d63e3eb39a47
diff --git a/tests/ref/fate/filter-pixdesc-bgra64le b/tests/ref/fate/filter-pixdesc-bgra64le
index 82f2a5479e..0f7570c486 100644
--- a/tests/ref/fate/filter-pixdesc-bgra64le
+++ b/tests/ref/fate/filter-pixdesc-bgra64le
@@ -1 +1 @@ 
-pixdesc-bgra64le    df3a79d47b9dcf3ed2c252afd80e062c
+pixdesc-bgra64le    3cd37cdbfddd6cbefac3d809515d9b65
diff --git a/tests/ref/fate/filter-pixdesc-gbrap b/tests/ref/fate/filter-pixdesc-gbrap
index c8f5354983..82a80353d5 100644
--- a/tests/ref/fate/filter-pixdesc-gbrap
+++ b/tests/ref/fate/filter-pixdesc-gbrap
@@ -1 +1 @@ 
-pixdesc-gbrap       62c4d187a269f9f6fc87bb87e904ea71
+pixdesc-gbrap       92313f389aa72ccb8d5802522acb66dd
diff --git a/tests/ref/fate/filter-pixdesc-gbrap10be b/tests/ref/fate/filter-pixdesc-gbrap10be
index fbdaf69309..f310715bc3 100644
--- a/tests/ref/fate/filter-pixdesc-gbrap10be
+++ b/tests/ref/fate/filter-pixdesc-gbrap10be
@@ -1 +1 @@ 
-pixdesc-gbrap10be   95487536cdc73e10e06d739e03427390
+pixdesc-gbrap10be   3636013bee56315023e7a30345bf21e4
diff --git a/tests/ref/fate/filter-pixdesc-gbrap10le b/tests/ref/fate/filter-pixdesc-gbrap10le
index f53ed5e212..fadf4e21aa 100644
--- a/tests/ref/fate/filter-pixdesc-gbrap10le
+++ b/tests/ref/fate/filter-pixdesc-gbrap10le
@@ -1 +1 @@ 
-pixdesc-gbrap10le   bf2ce9a1b3cfd56667c19b30a1a51181
+pixdesc-gbrap10le   e836fd916480860835b2ad78bd4cb54a
diff --git a/tests/ref/fate/filter-pixdesc-gbrap12be b/tests/ref/fate/filter-pixdesc-gbrap12be
index be7c1390f5..cd84b15a1e 100644
--- a/tests/ref/fate/filter-pixdesc-gbrap12be
+++ b/tests/ref/fate/filter-pixdesc-gbrap12be
@@ -1 +1 @@ 
-pixdesc-gbrap12be   419eca7130f22b62fd50cab347a56459
+pixdesc-gbrap12be   81070700df9d24aee32c676f78855ee8
diff --git a/tests/ref/fate/filter-pixdesc-gbrap12le b/tests/ref/fate/filter-pixdesc-gbrap12le
index 99c5901064..3fdb6b54f7 100644
--- a/tests/ref/fate/filter-pixdesc-gbrap12le
+++ b/tests/ref/fate/filter-pixdesc-gbrap12le
@@ -1 +1 @@ 
-pixdesc-gbrap12le   01fff1419a76749e214056618a43f8b1
+pixdesc-gbrap12le   9b83ae8748aa1303db4199f796493ca1
diff --git a/tests/ref/fate/filter-pixdesc-gbrap16be b/tests/ref/fate/filter-pixdesc-gbrap16be
index b01c4047c4..0ae33d86ba 100644
--- a/tests/ref/fate/filter-pixdesc-gbrap16be
+++ b/tests/ref/fate/filter-pixdesc-gbrap16be
@@ -1 +1 @@ 
-pixdesc-gbrap16be   7874e7fd35419ef212a450ea637ffb24
+pixdesc-gbrap16be   c85c48e75e906e0b10136f3cb7bbc264
diff --git a/tests/ref/fate/filter-pixdesc-gbrap16le b/tests/ref/fate/filter-pixdesc-gbrap16le
index 71ef29f056..4aa25032a2 100644
--- a/tests/ref/fate/filter-pixdesc-gbrap16le
+++ b/tests/ref/fate/filter-pixdesc-gbrap16le
@@ -1 +1 @@ 
-pixdesc-gbrap16le   a83c7d0bbbfb1c1a8208f75680358387
+pixdesc-gbrap16le   c79fb02d4bba317fa8f9fea2b81434f7
diff --git a/tests/ref/fate/filter-pixdesc-gbrp b/tests/ref/fate/filter-pixdesc-gbrp
index 4edfdcb36e..a5b7eef96b 100644
--- a/tests/ref/fate/filter-pixdesc-gbrp
+++ b/tests/ref/fate/filter-pixdesc-gbrp
@@ -1 +1 @@ 
-pixdesc-gbrp        fe5bffda29f9afbf84fbf9cc2a8f45bd
+pixdesc-gbrp        a820225b15eadcdd2383521aba3bdf51
diff --git a/tests/ref/fate/filter-pixdesc-gbrp10be b/tests/ref/fate/filter-pixdesc-gbrp10be
index 7bcca2fa0a..fe65bbd501 100644
--- a/tests/ref/fate/filter-pixdesc-gbrp10be
+++ b/tests/ref/fate/filter-pixdesc-gbrp10be
@@ -1 +1 @@ 
-pixdesc-gbrp10be    c2ba960cf177208de99d4cf8d63402b1
+pixdesc-gbrp10be    07b82b7094172ca196039d3da963981c
diff --git a/tests/ref/fate/filter-pixdesc-gbrp10le b/tests/ref/fate/filter-pixdesc-gbrp10le
index 564886e18b..b130ad6bd3 100644
--- a/tests/ref/fate/filter-pixdesc-gbrp10le
+++ b/tests/ref/fate/filter-pixdesc-gbrp10le
@@ -1 +1 @@ 
-pixdesc-gbrp10le    870de5644f6eb7bfbf183bd89f45130a
+pixdesc-gbrp10le    1fc3c39cec8e874e8ee52447707abe13
diff --git a/tests/ref/fate/filter-pixdesc-gbrp12be b/tests/ref/fate/filter-pixdesc-gbrp12be
index 64aed2a118..b9cf497409 100644
--- a/tests/ref/fate/filter-pixdesc-gbrp12be
+++ b/tests/ref/fate/filter-pixdesc-gbrp12be
@@ -1 +1 @@ 
-pixdesc-gbrp12be    d464c9f821b37c688b8a9196bd682938
+pixdesc-gbrp12be    a166fa1b9b7e894527a45963eb935fb4
diff --git a/tests/ref/fate/filter-pixdesc-gbrp12le b/tests/ref/fate/filter-pixdesc-gbrp12le
index 1bc6ed44f5..14ee272a31 100644
--- a/tests/ref/fate/filter-pixdesc-gbrp12le
+++ b/tests/ref/fate/filter-pixdesc-gbrp12le
@@ -1 +1 @@ 
-pixdesc-gbrp12le    0399e1a940870dd3e3fd7c4be7f9e681
+pixdesc-gbrp12le    ef922d3fd87bbfc65853d126c3b16eb8
diff --git a/tests/ref/fate/filter-pixdesc-gbrp14be b/tests/ref/fate/filter-pixdesc-gbrp14be
index f1ff03f876..4b32c5ae5b 100644
--- a/tests/ref/fate/filter-pixdesc-gbrp14be
+++ b/tests/ref/fate/filter-pixdesc-gbrp14be
@@ -1 +1 @@ 
-pixdesc-gbrp14be    f430b5b2f8fdf778a708a332e0ef0ebf
+pixdesc-gbrp14be    44592344860069ac9911f5d46a3e75d9
diff --git a/tests/ref/fate/filter-pixdesc-gbrp14le b/tests/ref/fate/filter-pixdesc-gbrp14le
index cca2119c45..e25d68b72c 100644
--- a/tests/ref/fate/filter-pixdesc-gbrp14le
+++ b/tests/ref/fate/filter-pixdesc-gbrp14le
@@ -1 +1 @@ 
-pixdesc-gbrp14le    0ca93f5e5dd4b75481a77f0a63c600d1
+pixdesc-gbrp14le    164313dcfb21b82fa47be7bf2a922bc0
diff --git a/tests/ref/fate/filter-pixdesc-gbrp16be b/tests/ref/fate/filter-pixdesc-gbrp16be
index a7e98000c9..0af1fd18f0 100644
--- a/tests/ref/fate/filter-pixdesc-gbrp16be
+++ b/tests/ref/fate/filter-pixdesc-gbrp16be
@@ -1 +1 @@ 
-pixdesc-gbrp16be    daccdd0a7d41d566ab40c4d00e552cbe
+pixdesc-gbrp16be    1dc74704fc514ec359f5f117f541e5c4
diff --git a/tests/ref/fate/filter-pixdesc-gbrp16le b/tests/ref/fate/filter-pixdesc-gbrp16le
index 952c0aff92..b0d055dc09 100644
--- a/tests/ref/fate/filter-pixdesc-gbrp16le
+++ b/tests/ref/fate/filter-pixdesc-gbrp16le
@@ -1 +1 @@ 
-pixdesc-gbrp16le    04f40ad1a27963be3125624446ed195e
+pixdesc-gbrp16le    8b54fcdab5758edc8072e6c9bdbf470b
diff --git a/tests/ref/fate/filter-pixdesc-gbrp9be b/tests/ref/fate/filter-pixdesc-gbrp9be
index 6b535b8216..3b1f2be9c2 100644
--- a/tests/ref/fate/filter-pixdesc-gbrp9be
+++ b/tests/ref/fate/filter-pixdesc-gbrp9be
@@ -1 +1 @@ 
-pixdesc-gbrp9be     78d289e0bd8ca8cca0674597b6d0fe2c
+pixdesc-gbrp9be     fb15f09017583e6607632e39de0314b9
diff --git a/tests/ref/fate/filter-pixdesc-gbrp9le b/tests/ref/fate/filter-pixdesc-gbrp9le
index 643da41e05..7118727adb 100644
--- a/tests/ref/fate/filter-pixdesc-gbrp9le
+++ b/tests/ref/fate/filter-pixdesc-gbrp9le
@@ -1 +1 @@ 
-pixdesc-gbrp9le     a233e529a254da36dc1f539da6a3e9bc
+pixdesc-gbrp9le     aa19f488c524d05ac9766779f636014a
diff --git a/tests/ref/fate/filter-pixdesc-gray b/tests/ref/fate/filter-pixdesc-gray
index 3ba6448074..9737a02b39 100644
--- a/tests/ref/fate/filter-pixdesc-gray
+++ b/tests/ref/fate/filter-pixdesc-gray
@@ -1 +1 @@ 
-pixdesc-gray        24563fd8a34c2bfa8523da74da025e23
+pixdesc-gray        2a2eac38875dad7a324b428e9bbfe26b
diff --git a/tests/ref/fate/filter-pixdesc-gray10be b/tests/ref/fate/filter-pixdesc-gray10be
index 5ef8032e70..eff0fc8529 100644
--- a/tests/ref/fate/filter-pixdesc-gray10be
+++ b/tests/ref/fate/filter-pixdesc-gray10be
@@ -1 +1 @@ 
-pixdesc-gray10be    987bee0355054fcfc915e1e41aad523a
+pixdesc-gray10be    5b4067a320e68a1e2884404ad7a440ab
diff --git a/tests/ref/fate/filter-pixdesc-gray10le b/tests/ref/fate/filter-pixdesc-gray10le
index ea86b22dc5..c681f978d4 100644
--- a/tests/ref/fate/filter-pixdesc-gray10le
+++ b/tests/ref/fate/filter-pixdesc-gray10le
@@ -1 +1 @@ 
-pixdesc-gray10le    674bed2aa8686b78dd5fa4b15c15c655
+pixdesc-gray10le    c8c515fa35204e591f1d8c7356fe5a58
diff --git a/tests/ref/fate/filter-pixdesc-gray12be b/tests/ref/fate/filter-pixdesc-gray12be
index 6388f14764..892ec1d6f7 100644
--- a/tests/ref/fate/filter-pixdesc-gray12be
+++ b/tests/ref/fate/filter-pixdesc-gray12be
@@ -1 +1 @@ 
-pixdesc-gray12be    29aeecc116c4b3e0c5109810fbd9ca17
+pixdesc-gray12be    4c45fe23172bf3ca18b19176e10f30d5
diff --git a/tests/ref/fate/filter-pixdesc-gray12le b/tests/ref/fate/filter-pixdesc-gray12le
index 28e900f68e..54b7ad4f6d 100644
--- a/tests/ref/fate/filter-pixdesc-gray12le
+++ b/tests/ref/fate/filter-pixdesc-gray12le
@@ -1 +1 @@ 
-pixdesc-gray12le    030882d5b4a502210644f2d520f7b92c
+pixdesc-gray12le    e554fe648d679dc5022b10f96ef5b038
diff --git a/tests/ref/fate/filter-pixdesc-gray14be b/tests/ref/fate/filter-pixdesc-gray14be
index dc7836a10e..222ff29cf9 100644
--- a/tests/ref/fate/filter-pixdesc-gray14be
+++ b/tests/ref/fate/filter-pixdesc-gray14be
@@ -1 +1 @@ 
-pixdesc-gray14be    6c9faae02a63f17d78ae6bff2866c0c1
+pixdesc-gray14be    cb9133ec13d0c2131aab64c6c0081b45
diff --git a/tests/ref/fate/filter-pixdesc-gray14le b/tests/ref/fate/filter-pixdesc-gray14le
index 9057875bd1..efc8b1bcc8 100644
--- a/tests/ref/fate/filter-pixdesc-gray14le
+++ b/tests/ref/fate/filter-pixdesc-gray14le
@@ -1 +1 @@ 
-pixdesc-gray14le    713c6b98b8f22a0716bf3541fb311936
+pixdesc-gray14le    b58f21952e5360b6f7f5186baec967f4
diff --git a/tests/ref/fate/filter-pixdesc-gray16be b/tests/ref/fate/filter-pixdesc-gray16be
index b4d28d38a6..94d5287ad1 100644
--- a/tests/ref/fate/filter-pixdesc-gray16be
+++ b/tests/ref/fate/filter-pixdesc-gray16be
@@ -1 +1 @@ 
-pixdesc-gray16be    99e7e54973b479845932e92581292b03
+pixdesc-gray16be    920c063bfa843b246a00ecfbd1f2330b
diff --git a/tests/ref/fate/filter-pixdesc-gray16le b/tests/ref/fate/filter-pixdesc-gray16le
index 841d3ee1c5..409ab967a9 100644
--- a/tests/ref/fate/filter-pixdesc-gray16le
+++ b/tests/ref/fate/filter-pixdesc-gray16le
@@ -1 +1 @@ 
-pixdesc-gray16le    33bd1b950d279a4bb22af325905d3604
+pixdesc-gray16le    738812c50652c63f563f996c36bca1b8
diff --git a/tests/ref/fate/filter-pixdesc-gray9be b/tests/ref/fate/filter-pixdesc-gray9be
index bf92e299b5..e8454b1cab 100644
--- a/tests/ref/fate/filter-pixdesc-gray9be
+++ b/tests/ref/fate/filter-pixdesc-gray9be
@@ -1 +1 @@ 
-pixdesc-gray9be     19aef736657607fdc6191f5338860580
+pixdesc-gray9be     a70a376f171b15f028ab13240ede5b6b
diff --git a/tests/ref/fate/filter-pixdesc-gray9le b/tests/ref/fate/filter-pixdesc-gray9le
index 4c65fb97c2..624c4384a9 100644
--- a/tests/ref/fate/filter-pixdesc-gray9le
+++ b/tests/ref/fate/filter-pixdesc-gray9le
@@ -1 +1 @@ 
-pixdesc-gray9le     f2a28bb71966f5d6e44eedef67e0118a
+pixdesc-gray9le     c2598a790b3781932ad0328657f95d5b
diff --git a/tests/ref/fate/filter-pixdesc-grayf32be b/tests/ref/fate/filter-pixdesc-grayf32be
index 171475483a..4d2ba969e1 100644
--- a/tests/ref/fate/filter-pixdesc-grayf32be
+++ b/tests/ref/fate/filter-pixdesc-grayf32be
@@ -1 +1 @@ 
-pixdesc-grayf32be   9b23c74e8e8ffae5d7c7e82bbf5929da
+pixdesc-grayf32be   dd9375d0e9fadfb1ec1b3c0cde980730
diff --git a/tests/ref/fate/filter-pixdesc-grayf32le b/tests/ref/fate/filter-pixdesc-grayf32le
index d598d123b4..d22a0da5f1 100644
--- a/tests/ref/fate/filter-pixdesc-grayf32le
+++ b/tests/ref/fate/filter-pixdesc-grayf32le
@@ -1 +1 @@ 
-pixdesc-grayf32le   291f074a24c44799a1f437d1c55556f1
+pixdesc-grayf32le   c1b238dfb53088bc38ffc54223e1782e
diff --git a/tests/ref/fate/filter-pixdesc-monob b/tests/ref/fate/filter-pixdesc-monob
index 63a4b62bd3..c2a0e46819 100644
--- a/tests/ref/fate/filter-pixdesc-monob
+++ b/tests/ref/fate/filter-pixdesc-monob
@@ -1 +1 @@ 
-pixdesc-monob       e69e4b6e48dd419bb199312727f60a47
+pixdesc-monob       b643cb8b34da6ffe667004f625c675a2
diff --git a/tests/ref/fate/filter-pixdesc-monow b/tests/ref/fate/filter-pixdesc-monow
index c73f3275a1..e509bdf7d3 100644
--- a/tests/ref/fate/filter-pixdesc-monow
+++ b/tests/ref/fate/filter-pixdesc-monow
@@ -1 +1 @@ 
-pixdesc-monow       51a45d1d34b95373fffdd79fc3abf457
+pixdesc-monow       b45b63262ff9ebc8547d37811012d3a8
diff --git a/tests/ref/fate/filter-pixdesc-nv12 b/tests/ref/fate/filter-pixdesc-nv12
index 2151cd03a1..bc48fcc279 100644
--- a/tests/ref/fate/filter-pixdesc-nv12
+++ b/tests/ref/fate/filter-pixdesc-nv12
@@ -1 +1 @@ 
-pixdesc-nv12        7686f473937082abcba7a46f028aaa08
+pixdesc-nv12        4a9659b68be896392653c4b904db7603
diff --git a/tests/ref/fate/filter-pixdesc-nv21 b/tests/ref/fate/filter-pixdesc-nv21
index 02703836d3..128c419ea6 100644
--- a/tests/ref/fate/filter-pixdesc-nv21
+++ b/tests/ref/fate/filter-pixdesc-nv21
@@ -1 +1 @@ 
-pixdesc-nv21        61c09258160939049f9807ed589bc90e
+pixdesc-nv21        fac2956ff155cd96c616816304cb371a
diff --git a/tests/ref/fate/filter-pixdesc-p010be b/tests/ref/fate/filter-pixdesc-p010be
index 4d9dd22a1b..058950d6b9 100644
--- a/tests/ref/fate/filter-pixdesc-p010be
+++ b/tests/ref/fate/filter-pixdesc-p010be
@@ -1 +1 @@ 
-pixdesc-p010be      784a49bf554861da9d0809a615bcf813
+pixdesc-p010be      9d12ed2d0f4811b2892d4bd9bb763e4f
diff --git a/tests/ref/fate/filter-pixdesc-p010le b/tests/ref/fate/filter-pixdesc-p010le
index 25006048b2..12b970ec00 100644
--- a/tests/ref/fate/filter-pixdesc-p010le
+++ b/tests/ref/fate/filter-pixdesc-p010le
@@ -1 +1 @@ 
-pixdesc-p010le      7b4a503997eb4e14cba80ee52db85e39
+pixdesc-p010le      2877784496577b35ab1b1b79d27645c5
diff --git a/tests/ref/fate/filter-pixdesc-p016be b/tests/ref/fate/filter-pixdesc-p016be
index 7c934079c8..01a39dfcbb 100644
--- a/tests/ref/fate/filter-pixdesc-p016be
+++ b/tests/ref/fate/filter-pixdesc-p016be
@@ -1 +1 @@ 
-pixdesc-p016be      784a49bf554861da9d0809a615bcf813
+pixdesc-p016be      9d12ed2d0f4811b2892d4bd9bb763e4f
diff --git a/tests/ref/fate/filter-pixdesc-p016le b/tests/ref/fate/filter-pixdesc-p016le
index c723a0f1fd..950426cc9e 100644
--- a/tests/ref/fate/filter-pixdesc-p016le
+++ b/tests/ref/fate/filter-pixdesc-p016le
@@ -1 +1 @@ 
-pixdesc-p016le      ed04897de0a6788bb3458e7365f10d36
+pixdesc-p016le      21756781e6cbf3188a8f5b390af00c63
diff --git a/tests/ref/fate/filter-pixdesc-rgb0 b/tests/ref/fate/filter-pixdesc-rgb0
index dccd9c130f..ad536957b1 100644
--- a/tests/ref/fate/filter-pixdesc-rgb0
+++ b/tests/ref/fate/filter-pixdesc-rgb0
@@ -1 +1 @@ 
-pixdesc-rgb0        bd816424fbe4d56b22b5b0f9a238e26e
+pixdesc-rgb0        4946755051f380012a9435d5e5689b8c
diff --git a/tests/ref/fate/filter-pixdesc-rgb24 b/tests/ref/fate/filter-pixdesc-rgb24
index 67d92d8e18..0a81677af1 100644
--- a/tests/ref/fate/filter-pixdesc-rgb24
+++ b/tests/ref/fate/filter-pixdesc-rgb24
@@ -1 +1 @@ 
-pixdesc-rgb24       6fa2d8a2a57d1cb1a30354851e8dfd82
+pixdesc-rgb24       7b505f74288c1b3fd96b66bc2034858e
diff --git a/tests/ref/fate/filter-pixdesc-rgb444be b/tests/ref/fate/filter-pixdesc-rgb444be
index 63ba2885b7..2742ba6b07 100644
--- a/tests/ref/fate/filter-pixdesc-rgb444be
+++ b/tests/ref/fate/filter-pixdesc-rgb444be
@@ -1 +1 @@ 
-pixdesc-rgb444be    cfa4ee284dd89df92eed7f99f19a0218
+pixdesc-rgb444be    e288002e1d9535523ebed03c962453e7
diff --git a/tests/ref/fate/filter-pixdesc-rgb444le b/tests/ref/fate/filter-pixdesc-rgb444le
index eafe2eb134..922c063f76 100644
--- a/tests/ref/fate/filter-pixdesc-rgb444le
+++ b/tests/ref/fate/filter-pixdesc-rgb444le
@@ -1 +1 @@ 
-pixdesc-rgb444le    a40633dce705f439ecfc1a1b75661e17
+pixdesc-rgb444le    d58db4ab95f046aaf6d51d89e302b090
diff --git a/tests/ref/fate/filter-pixdesc-rgb48be b/tests/ref/fate/filter-pixdesc-rgb48be
index 43b4b3c12c..03a14252d3 100644
--- a/tests/ref/fate/filter-pixdesc-rgb48be
+++ b/tests/ref/fate/filter-pixdesc-rgb48be
@@ -1 +1 @@ 
-pixdesc-rgb48be     464a81ce147465017b7edb71f806f434
+pixdesc-rgb48be     85d8963a32b1f29879e91ff1812fb113
diff --git a/tests/ref/fate/filter-pixdesc-rgb48le b/tests/ref/fate/filter-pixdesc-rgb48le
index 614f1648af..45fc9e48e5 100644
--- a/tests/ref/fate/filter-pixdesc-rgb48le
+++ b/tests/ref/fate/filter-pixdesc-rgb48le
@@ -1 +1 @@ 
-pixdesc-rgb48le     e05c1d73c722b93735ec2d5f8109e1f3
+pixdesc-rgb48le     734b6eaf17a28bf036a821b47c466c32
diff --git a/tests/ref/fate/filter-pixdesc-rgb4_byte b/tests/ref/fate/filter-pixdesc-rgb4_byte
index 99fce381f7..b589317d20 100644
--- a/tests/ref/fate/filter-pixdesc-rgb4_byte
+++ b/tests/ref/fate/filter-pixdesc-rgb4_byte
@@ -1 +1 @@ 
-pixdesc-rgb4_byte   0d4f7b0112d0e942527f168a651a6f8c
+pixdesc-rgb4_byte   11b808b5afc2cd275003caaa8a703516
diff --git a/tests/ref/fate/filter-pixdesc-rgb555be b/tests/ref/fate/filter-pixdesc-rgb555be
index 4cc69d8fde..53c6a5c0d5 100644
--- a/tests/ref/fate/filter-pixdesc-rgb555be
+++ b/tests/ref/fate/filter-pixdesc-rgb555be
@@ -1 +1 @@ 
-pixdesc-rgb555be    6ba7d102e12460af51365ee66e070ad4
+pixdesc-rgb555be    289ff64d12c5690270e27ae43e3471be
diff --git a/tests/ref/fate/filter-pixdesc-rgb555le b/tests/ref/fate/filter-pixdesc-rgb555le
index 1bd13c0428..139fb136cc 100644
--- a/tests/ref/fate/filter-pixdesc-rgb555le
+++ b/tests/ref/fate/filter-pixdesc-rgb555le
@@ -1 +1 @@ 
-pixdesc-rgb555le    ab391dde7ec72eb100c6a38aa301ff55
+pixdesc-rgb555le    393878cbf420fd44c26d3e355362fc46
diff --git a/tests/ref/fate/filter-pixdesc-rgb565be b/tests/ref/fate/filter-pixdesc-rgb565be
index 59dbaae46b..417c03a47b 100644
--- a/tests/ref/fate/filter-pixdesc-rgb565be
+++ b/tests/ref/fate/filter-pixdesc-rgb565be
@@ -1 +1 @@ 
-pixdesc-rgb565be    8f05c5786c1e5c9bd64cc6dab05139a5
+pixdesc-rgb565be    e476f8970e7a96437bd133fb9c07e94c
diff --git a/tests/ref/fate/filter-pixdesc-rgb565le b/tests/ref/fate/filter-pixdesc-rgb565le
index 418a18b91e..490d3044e0 100644
--- a/tests/ref/fate/filter-pixdesc-rgb565le
+++ b/tests/ref/fate/filter-pixdesc-rgb565le
@@ -1 +1 @@ 
-pixdesc-rgb565le    427bd36cdf8e8786be888368bbfb35be
+pixdesc-rgb565le    6229a76c64c0c5231d96d0d01a4f4ccd
diff --git a/tests/ref/fate/filter-pixdesc-rgb8 b/tests/ref/fate/filter-pixdesc-rgb8
index d9c4c6298a..4b258933bc 100644
--- a/tests/ref/fate/filter-pixdesc-rgb8
+++ b/tests/ref/fate/filter-pixdesc-rgb8
@@ -1 +1 @@ 
-pixdesc-rgb8        2ce87991241972bea465f41e4d82d27a
+pixdesc-rgb8        edf0c474aa7f4c92406c36f91205c52c
diff --git a/tests/ref/fate/filter-pixdesc-rgba b/tests/ref/fate/filter-pixdesc-rgba
index ff98607c0c..8c16b0256c 100644
--- a/tests/ref/fate/filter-pixdesc-rgba
+++ b/tests/ref/fate/filter-pixdesc-rgba
@@ -1 +1 @@ 
-pixdesc-rgba        f55378fcaad1b471faaa4068be30104c
+pixdesc-rgba        e7d07ba9908d520960a4d44532d81356
diff --git a/tests/ref/fate/filter-pixdesc-rgba64be b/tests/ref/fate/filter-pixdesc-rgba64be
index 0c999db22c..9e96d305ec 100644
--- a/tests/ref/fate/filter-pixdesc-rgba64be
+++ b/tests/ref/fate/filter-pixdesc-rgba64be
@@ -1 +1 @@ 
-pixdesc-rgba64be    8d5aea96a7c90aad9d97b06533ad291c
+pixdesc-rgba64be    318b7fd4fc7d799d08f5b98d8e8e548d
diff --git a/tests/ref/fate/filter-pixdesc-rgba64le b/tests/ref/fate/filter-pixdesc-rgba64le
index 6534cc2f94..775e51e772 100644
--- a/tests/ref/fate/filter-pixdesc-rgba64le
+++ b/tests/ref/fate/filter-pixdesc-rgba64le
@@ -1 +1 @@ 
-pixdesc-rgba64le    2c757090db978d11718bae97027f3a56
+pixdesc-rgba64le    4c02fb6a32405c41f496d838249992ba
diff --git a/tests/ref/fate/filter-pixdesc-uyvy422 b/tests/ref/fate/filter-pixdesc-uyvy422
index 52d83b0c53..4892d19066 100644
--- a/tests/ref/fate/filter-pixdesc-uyvy422
+++ b/tests/ref/fate/filter-pixdesc-uyvy422
@@ -1 +1 @@ 
-pixdesc-uyvy422     45211ac7c751e7a7ce6b703a74ce9e71
+pixdesc-uyvy422     2f245ea71bf80276de3f768616e96154
diff --git a/tests/ref/fate/filter-pixdesc-xyz12be b/tests/ref/fate/filter-pixdesc-xyz12be
index d355f9bcc3..3a341736db 100644
--- a/tests/ref/fate/filter-pixdesc-xyz12be
+++ b/tests/ref/fate/filter-pixdesc-xyz12be
@@ -1 +1 @@ 
-pixdesc-xyz12be     4ec824668b9753e26c1bccffca866e27
+pixdesc-xyz12be     0bc3c2263031fd9b807fa6de4f8dd8aa
diff --git a/tests/ref/fate/filter-pixdesc-xyz12le b/tests/ref/fate/filter-pixdesc-xyz12le
index 1c14fba213..35227e5592 100644
--- a/tests/ref/fate/filter-pixdesc-xyz12le
+++ b/tests/ref/fate/filter-pixdesc-xyz12le
@@ -1 +1 @@ 
-pixdesc-xyz12le     88d2563589044a3e28f6cde9a43599f9
+pixdesc-xyz12le     baadccfb35433222debd05fbe4061c68
diff --git a/tests/ref/fate/filter-pixdesc-ya16be b/tests/ref/fate/filter-pixdesc-ya16be
index 3fadfa355d..e67754db86 100644
--- a/tests/ref/fate/filter-pixdesc-ya16be
+++ b/tests/ref/fate/filter-pixdesc-ya16be
@@ -1 +1 @@ 
-pixdesc-ya16be      c5bf539478020302a30f36c5059b7695
+pixdesc-ya16be      71bf66c48b209cdbb2170684388520b2
diff --git a/tests/ref/fate/filter-pixdesc-ya16le b/tests/ref/fate/filter-pixdesc-ya16le
index ae5764c1fe..9ba6152968 100644
--- a/tests/ref/fate/filter-pixdesc-ya16le
+++ b/tests/ref/fate/filter-pixdesc-ya16le
@@ -1 +1 @@ 
-pixdesc-ya16le      d238b5905b3ab79f7f00d5ea03ee4b87
+pixdesc-ya16le      9f0c0a82b9360a7900f94cd93270450b
diff --git a/tests/ref/fate/filter-pixdesc-ya8 b/tests/ref/fate/filter-pixdesc-ya8
index fa59613d77..c0e4279177 100644
--- a/tests/ref/fate/filter-pixdesc-ya8
+++ b/tests/ref/fate/filter-pixdesc-ya8
@@ -1 +1 @@ 
-pixdesc-ya8         d087df6cabb2a38d14db347fce634e2f
+pixdesc-ya8         f7023b3c19f46b848f7da7056faf89f7
diff --git a/tests/ref/fate/filter-pixdesc-yuv410p b/tests/ref/fate/filter-pixdesc-yuv410p
index f758204472..07a4aadedd 100644
--- a/tests/ref/fate/filter-pixdesc-yuv410p
+++ b/tests/ref/fate/filter-pixdesc-yuv410p
@@ -1 +1 @@ 
-pixdesc-yuv410p     87d3cb32a4b5a44b94cd6f61e441d279
+pixdesc-yuv410p     93760a8dc172c25c13248ca34e24e59f
diff --git a/tests/ref/fate/filter-pixdesc-yuv411p b/tests/ref/fate/filter-pixdesc-yuv411p
index 5cc45c2fb0..972ae167b7 100644
--- a/tests/ref/fate/filter-pixdesc-yuv411p
+++ b/tests/ref/fate/filter-pixdesc-yuv411p
@@ -1 +1 @@ 
-pixdesc-yuv411p     0b5beeda04c6f9d091f75ca767b5ffb7
+pixdesc-yuv411p     c0ca2b26541d91895744d3144f6126a0
diff --git a/tests/ref/fate/filter-pixdesc-yuv420p b/tests/ref/fate/filter-pixdesc-yuv420p
index f0003c0984..42fb592d97 100644
--- a/tests/ref/fate/filter-pixdesc-yuv420p
+++ b/tests/ref/fate/filter-pixdesc-yuv420p
@@ -1 +1 @@ 
-pixdesc-yuv420p     fcb007249fba9371fe84a61c974fcb00
+pixdesc-yuv420p     fc15a42d932c2a98a8024a8409cf146b
diff --git a/tests/ref/fate/filter-pixdesc-yuv420p10be b/tests/ref/fate/filter-pixdesc-yuv420p10be
index 058db9e88c..01cc509857 100644
--- a/tests/ref/fate/filter-pixdesc-yuv420p10be
+++ b/tests/ref/fate/filter-pixdesc-yuv420p10be
@@ -1 +1 @@ 
-pixdesc-yuv420p10be 51349063819809ca088e76c01041f3e9
+pixdesc-yuv420p10be 5a9fb782049d274825c9e87ff9f16959
diff --git a/tests/ref/fate/filter-pixdesc-yuv420p10le b/tests/ref/fate/filter-pixdesc-yuv420p10le
index b5f62f2091..34daedacb9 100644
--- a/tests/ref/fate/filter-pixdesc-yuv420p10le
+++ b/tests/ref/fate/filter-pixdesc-yuv420p10le
@@ -1 +1 @@ 
-pixdesc-yuv420p10le 070fe05fe4df43e117d1e4cff578655d
+pixdesc-yuv420p10le 93d713976a6b26075348d1325115a1d2
diff --git a/tests/ref/fate/filter-pixdesc-yuv420p12be b/tests/ref/fate/filter-pixdesc-yuv420p12be
index 35a908ab88..57ade710a9 100644
--- a/tests/ref/fate/filter-pixdesc-yuv420p12be
+++ b/tests/ref/fate/filter-pixdesc-yuv420p12be
@@ -1 +1 @@ 
-pixdesc-yuv420p12be 0527525aee87d21db82ecc738ab76848
+pixdesc-yuv420p12be 8732470eea607e458022a4101e9579b8
diff --git a/tests/ref/fate/filter-pixdesc-yuv420p12le b/tests/ref/fate/filter-pixdesc-yuv420p12le
index 9d6410278d..def2afe09c 100644
--- a/tests/ref/fate/filter-pixdesc-yuv420p12le
+++ b/tests/ref/fate/filter-pixdesc-yuv420p12le
@@ -1 +1 @@ 
-pixdesc-yuv420p12le cb513fbc83b63eedf0cafb26914d37be
+pixdesc-yuv420p12le 7db59e895210b5158fda007484321404
diff --git a/tests/ref/fate/filter-pixdesc-yuv420p14be b/tests/ref/fate/filter-pixdesc-yuv420p14be
index adbf04dbff..33e2b41f37 100644
--- a/tests/ref/fate/filter-pixdesc-yuv420p14be
+++ b/tests/ref/fate/filter-pixdesc-yuv420p14be
@@ -1 +1 @@ 
-pixdesc-yuv420p14be ecafa03e42e81d83c8e8711f2133b128
+pixdesc-yuv420p14be f8bc3b5785f317685f2b44cac566796a
diff --git a/tests/ref/fate/filter-pixdesc-yuv420p14le b/tests/ref/fate/filter-pixdesc-yuv420p14le
index ab80278ba6..6f7ed6fc67 100644
--- a/tests/ref/fate/filter-pixdesc-yuv420p14le
+++ b/tests/ref/fate/filter-pixdesc-yuv420p14le
@@ -1 +1 @@ 
-pixdesc-yuv420p14le a7ed1889fec8fff122dd2b065a5082ba
+pixdesc-yuv420p14le 528a1cb3fb9f4f1a6e944e296f8807a9
diff --git a/tests/ref/fate/filter-pixdesc-yuv420p16be b/tests/ref/fate/filter-pixdesc-yuv420p16be
index 85ea329523..414bf7c3ca 100644
--- a/tests/ref/fate/filter-pixdesc-yuv420p16be
+++ b/tests/ref/fate/filter-pixdesc-yuv420p16be
@@ -1 +1 @@ 
-pixdesc-yuv420p16be 9219829ae866614f64889a0b2603240d
+pixdesc-yuv420p16be a4b1fda6ef975dd7acf0140334d1c1e6
diff --git a/tests/ref/fate/filter-pixdesc-yuv420p16le b/tests/ref/fate/filter-pixdesc-yuv420p16le
index f10521c2fa..21c87fd327 100644
--- a/tests/ref/fate/filter-pixdesc-yuv420p16le
+++ b/tests/ref/fate/filter-pixdesc-yuv420p16le
@@ -1 +1 @@ 
-pixdesc-yuv420p16le be0f1d41796ac141f33161349d47b4b5
+pixdesc-yuv420p16le 69375fcdadb296f22500a03498e3dc61
diff --git a/tests/ref/fate/filter-pixdesc-yuv420p9be b/tests/ref/fate/filter-pixdesc-yuv420p9be
index 1be5103c31..576eac8545 100644
--- a/tests/ref/fate/filter-pixdesc-yuv420p9be
+++ b/tests/ref/fate/filter-pixdesc-yuv420p9be
@@ -1 +1 @@ 
-pixdesc-yuv420p9be  69e0e50358ee0f7301d4cf252e9c35b1
+pixdesc-yuv420p9be  710231ce2868e770da6810f12d8639f1
diff --git a/tests/ref/fate/filter-pixdesc-yuv420p9le b/tests/ref/fate/filter-pixdesc-yuv420p9le
index 8677a36dcc..7bfa385fe3 100644
--- a/tests/ref/fate/filter-pixdesc-yuv420p9le
+++ b/tests/ref/fate/filter-pixdesc-yuv420p9le
@@ -1 +1 @@ 
-pixdesc-yuv420p9le  eed25f5d0562d3158ae2f97589950ba9
+pixdesc-yuv420p9le  4c1b3bf2b786e91159cfff8809e54801
diff --git a/tests/ref/fate/filter-pixdesc-yuv422p b/tests/ref/fate/filter-pixdesc-yuv422p
index d782585e80..1e2b02954f 100644
--- a/tests/ref/fate/filter-pixdesc-yuv422p
+++ b/tests/ref/fate/filter-pixdesc-yuv422p
@@ -1 +1 @@ 
-pixdesc-yuv422p     81452c764f8da88d823c925d52cce322
+pixdesc-yuv422p     45ff8a8c19deb515c2d4f87167c32ed1
diff --git a/tests/ref/fate/filter-pixdesc-yuv422p10be b/tests/ref/fate/filter-pixdesc-yuv422p10be
index 9e2779b867..b2f1dad931 100644
--- a/tests/ref/fate/filter-pixdesc-yuv422p10be
+++ b/tests/ref/fate/filter-pixdesc-yuv422p10be
@@ -1 +1 @@ 
-pixdesc-yuv422p10be 55c4d6699258c42444265aa8dae7720e
+pixdesc-yuv422p10be 5299fe933ddb06455c1a7139974926a6
diff --git a/tests/ref/fate/filter-pixdesc-yuv422p10le b/tests/ref/fate/filter-pixdesc-yuv422p10le
index db31f7f88f..2f27cac713 100644
--- a/tests/ref/fate/filter-pixdesc-yuv422p10le
+++ b/tests/ref/fate/filter-pixdesc-yuv422p10le
@@ -1 +1 @@ 
-pixdesc-yuv422p10le 8732c020f4401b757caa9e5616f426f2
+pixdesc-yuv422p10le 62f618f2a1ac513a76ef24832c77404c
diff --git a/tests/ref/fate/filter-pixdesc-yuv422p12be b/tests/ref/fate/filter-pixdesc-yuv422p12be
index 4c94151546..a762da7764 100644
--- a/tests/ref/fate/filter-pixdesc-yuv422p12be
+++ b/tests/ref/fate/filter-pixdesc-yuv422p12be
@@ -1 +1 @@ 
-pixdesc-yuv422p12be a3119254cc1aa9893478faedf3b49b4f
+pixdesc-yuv422p12be 43248e77595df4993f5285bb3438c86f
diff --git a/tests/ref/fate/filter-pixdesc-yuv422p12le b/tests/ref/fate/filter-pixdesc-yuv422p12le
index 6974e69386..e78c14f918 100644
--- a/tests/ref/fate/filter-pixdesc-yuv422p12le
+++ b/tests/ref/fate/filter-pixdesc-yuv422p12le
@@ -1 +1 @@ 
-pixdesc-yuv422p12le 8d397de88edec1a85b5fbbe7bdce08ac
+pixdesc-yuv422p12le acc30fb92073fc084cf9346b1a2b38c2
diff --git a/tests/ref/fate/filter-pixdesc-yuv422p14be b/tests/ref/fate/filter-pixdesc-yuv422p14be
index 50202f92ba..e46749899e 100644
--- a/tests/ref/fate/filter-pixdesc-yuv422p14be
+++ b/tests/ref/fate/filter-pixdesc-yuv422p14be
@@ -1 +1 @@ 
-pixdesc-yuv422p14be c9d0750d9b784ca43d279479372f3a3e
+pixdesc-yuv422p14be 7a8aae01413a2b1abcd351575e9cc781
diff --git a/tests/ref/fate/filter-pixdesc-yuv422p14le b/tests/ref/fate/filter-pixdesc-yuv422p14le
index a2ee82a1db..41db0a79d0 100644
--- a/tests/ref/fate/filter-pixdesc-yuv422p14le
+++ b/tests/ref/fate/filter-pixdesc-yuv422p14le
@@ -1 +1 @@ 
-pixdesc-yuv422p14le c8233b3c0fee4036ead0ac7a65489f69
+pixdesc-yuv422p14le 58976f1f85cc9387e5564bade410d041
diff --git a/tests/ref/fate/filter-pixdesc-yuv422p16be b/tests/ref/fate/filter-pixdesc-yuv422p16be
index b09a4711f4..de3db9f1bd 100644
--- a/tests/ref/fate/filter-pixdesc-yuv422p16be
+++ b/tests/ref/fate/filter-pixdesc-yuv422p16be
@@ -1 +1 @@ 
-pixdesc-yuv422p16be 1dddb5353eb5b2e99cb54707eb7b80a7
+pixdesc-yuv422p16be 8201c36c1de98be17c3c939febc3e250
diff --git a/tests/ref/fate/filter-pixdesc-yuv422p16le b/tests/ref/fate/filter-pixdesc-yuv422p16le
index c829162f0c..9c81202892 100644
--- a/tests/ref/fate/filter-pixdesc-yuv422p16le
+++ b/tests/ref/fate/filter-pixdesc-yuv422p16le
@@ -1 +1 @@ 
-pixdesc-yuv422p16le ba6cdf27c86b2dfdfaa29c394eea76cb
+pixdesc-yuv422p16le 717642a6e147e2c8cb53443a64a99f5f
diff --git a/tests/ref/fate/filter-pixdesc-yuv422p9be b/tests/ref/fate/filter-pixdesc-yuv422p9be
index fab8b9bd9c..a6562ba7fb 100644
--- a/tests/ref/fate/filter-pixdesc-yuv422p9be
+++ b/tests/ref/fate/filter-pixdesc-yuv422p9be
@@ -1 +1 @@ 
-pixdesc-yuv422p9be  25929926226d191bc1c459e67546c6c8
+pixdesc-yuv422p9be  34e14c329b8d132c43c3de3e6df5bafe
diff --git a/tests/ref/fate/filter-pixdesc-yuv422p9le b/tests/ref/fate/filter-pixdesc-yuv422p9le
index 9358181245..e96154c83a 100644
--- a/tests/ref/fate/filter-pixdesc-yuv422p9le
+++ b/tests/ref/fate/filter-pixdesc-yuv422p9le
@@ -1 +1 @@ 
-pixdesc-yuv422p9le  1de20cc8c68751dbf3e8f2bd64f2ffd7
+pixdesc-yuv422p9le  fd8489becd4741bc62c53d83855910a5
diff --git a/tests/ref/fate/filter-pixdesc-yuv440p b/tests/ref/fate/filter-pixdesc-yuv440p
index b2ef32399e..5569310fb0 100644
--- a/tests/ref/fate/filter-pixdesc-yuv440p
+++ b/tests/ref/fate/filter-pixdesc-yuv440p
@@ -1 +1 @@ 
-pixdesc-yuv440p     155eec1fc346090dab79d25cf1a3902a
+pixdesc-yuv440p     5c1e7eee28c24f73ff4ed73c85caf30b
diff --git a/tests/ref/fate/filter-pixdesc-yuv440p10be b/tests/ref/fate/filter-pixdesc-yuv440p10be
index b3a49414b4..11fd2fbd06 100644
--- a/tests/ref/fate/filter-pixdesc-yuv440p10be
+++ b/tests/ref/fate/filter-pixdesc-yuv440p10be
@@ -1 +1 @@ 
-pixdesc-yuv440p10be 3ad2b1fd9659be2f2f0a1d824c1bdede
+pixdesc-yuv440p10be 06af5a4a85fbe5a7ca917473b7d04a78
diff --git a/tests/ref/fate/filter-pixdesc-yuv440p10le b/tests/ref/fate/filter-pixdesc-yuv440p10le
index 99924dbfa1..db233055da 100644
--- a/tests/ref/fate/filter-pixdesc-yuv440p10le
+++ b/tests/ref/fate/filter-pixdesc-yuv440p10le
@@ -1 +1 @@ 
-pixdesc-yuv440p10le 657aa6e83f5bcd91c1feab2c6d2db8e8
+pixdesc-yuv440p10le db6fc1d03211b9701655843fd86a81c6
diff --git a/tests/ref/fate/filter-pixdesc-yuv440p12be b/tests/ref/fate/filter-pixdesc-yuv440p12be
index 9c4db9ae7e..b85ed1cadf 100644
--- a/tests/ref/fate/filter-pixdesc-yuv440p12be
+++ b/tests/ref/fate/filter-pixdesc-yuv440p12be
@@ -1 +1 @@ 
-pixdesc-yuv440p12be 3c1ae4bdffe084ad574eff46bd88d556
+pixdesc-yuv440p12be 22e9f996d3e54f4263fdac902ac1e361
diff --git a/tests/ref/fate/filter-pixdesc-yuv440p12le b/tests/ref/fate/filter-pixdesc-yuv440p12le
index c2b6e53f20..a727e6aef2 100644
--- a/tests/ref/fate/filter-pixdesc-yuv440p12le
+++ b/tests/ref/fate/filter-pixdesc-yuv440p12le
@@ -1 +1 @@ 
-pixdesc-yuv440p12le ac9101bdea22b00dc24d4975935425bb
+pixdesc-yuv440p12le 8a9e13112418534ee8a0b7ea52c323f8
diff --git a/tests/ref/fate/filter-pixdesc-yuv444p b/tests/ref/fate/filter-pixdesc-yuv444p
index 28bb87a075..6155a7b2d1 100644
--- a/tests/ref/fate/filter-pixdesc-yuv444p
+++ b/tests/ref/fate/filter-pixdesc-yuv444p
@@ -1 +1 @@ 
-pixdesc-yuv444p     d8401af0780d85b75769571a07fa8538
+pixdesc-yuv444p     39dec8e132c041f90b2a2189ad022c91
diff --git a/tests/ref/fate/filter-pixdesc-yuv444p10be b/tests/ref/fate/filter-pixdesc-yuv444p10be
index f6c2c20e55..bcbff8674f 100644
--- a/tests/ref/fate/filter-pixdesc-yuv444p10be
+++ b/tests/ref/fate/filter-pixdesc-yuv444p10be
@@ -1 +1 @@ 
-pixdesc-yuv444p10be 05f72cb93495d28ad032a54ad5b69cc5
+pixdesc-yuv444p10be 6f2e477281c8149192ede296e0afca4e
diff --git a/tests/ref/fate/filter-pixdesc-yuv444p10le b/tests/ref/fate/filter-pixdesc-yuv444p10le
index e412cd155c..2f91cf8aaf 100644
--- a/tests/ref/fate/filter-pixdesc-yuv444p10le
+++ b/tests/ref/fate/filter-pixdesc-yuv444p10le
@@ -1 +1 @@ 
-pixdesc-yuv444p10le 8f34212f8f9b95c9266cf7cd62eeae3f
+pixdesc-yuv444p10le 04e4f9fafcb030f5c3284b923950f608
diff --git a/tests/ref/fate/filter-pixdesc-yuv444p12be b/tests/ref/fate/filter-pixdesc-yuv444p12be
index 832b2457ec..981fd094e4 100644
--- a/tests/ref/fate/filter-pixdesc-yuv444p12be
+++ b/tests/ref/fate/filter-pixdesc-yuv444p12be
@@ -1 +1 @@ 
-pixdesc-yuv444p12be 24540e0c367e31a66f3ba40a6b847600
+pixdesc-yuv444p12be bf9d687c68ce0130373a0e9c3bbd0f6e
diff --git a/tests/ref/fate/filter-pixdesc-yuv444p12le b/tests/ref/fate/filter-pixdesc-yuv444p12le
index f29ad77690..1fbe107338 100644
--- a/tests/ref/fate/filter-pixdesc-yuv444p12le
+++ b/tests/ref/fate/filter-pixdesc-yuv444p12le
@@ -1 +1 @@ 
-pixdesc-yuv444p12le 15d9282fae68c44f17005e5eb15bc7e7
+pixdesc-yuv444p12le 6c58f9b8b0befe59f22b229fc789d603
diff --git a/tests/ref/fate/filter-pixdesc-yuv444p14be b/tests/ref/fate/filter-pixdesc-yuv444p14be
index e138abd6aa..6177b63df5 100644
--- a/tests/ref/fate/filter-pixdesc-yuv444p14be
+++ b/tests/ref/fate/filter-pixdesc-yuv444p14be
@@ -1 +1 @@ 
-pixdesc-yuv444p14be 682673e893053a3a3d61dacb5212112e
+pixdesc-yuv444p14be 8d0e6eabe8136e630ab18cda5f1bfa87
diff --git a/tests/ref/fate/filter-pixdesc-yuv444p14le b/tests/ref/fate/filter-pixdesc-yuv444p14le
index 0c30509b69..5cf5afc1c6 100644
--- a/tests/ref/fate/filter-pixdesc-yuv444p14le
+++ b/tests/ref/fate/filter-pixdesc-yuv444p14le
@@ -1 +1 @@ 
-pixdesc-yuv444p14le 9e9edf45e52df28d1b74e032815ad17f
+pixdesc-yuv444p14le 2eda5b35c7f2b0a03c3dd7b1c4d7b9ad
diff --git a/tests/ref/fate/filter-pixdesc-yuv444p16be b/tests/ref/fate/filter-pixdesc-yuv444p16be
index c79078000b..85e123f12a 100644
--- a/tests/ref/fate/filter-pixdesc-yuv444p16be
+++ b/tests/ref/fate/filter-pixdesc-yuv444p16be
@@ -1 +1 @@ 
-pixdesc-yuv444p16be 5cea1d7afdc3d7b47043947eb61de666
+pixdesc-yuv444p16be f8fa554940950a151180ddcca8616379
diff --git a/tests/ref/fate/filter-pixdesc-yuv444p16le b/tests/ref/fate/filter-pixdesc-yuv444p16le
index 5b5e1f2e99..0f4b8d58e2 100644
--- a/tests/ref/fate/filter-pixdesc-yuv444p16le
+++ b/tests/ref/fate/filter-pixdesc-yuv444p16le
@@ -1 +1 @@ 
-pixdesc-yuv444p16le 4fbf077117a0cadf4d277e99ebf254d6
+pixdesc-yuv444p16le 509c401b8ba3e84fe31b68ceac6f7070
diff --git a/tests/ref/fate/filter-pixdesc-yuv444p9be b/tests/ref/fate/filter-pixdesc-yuv444p9be
index 9500abdebd..813bb82d5b 100644
--- a/tests/ref/fate/filter-pixdesc-yuv444p9be
+++ b/tests/ref/fate/filter-pixdesc-yuv444p9be
@@ -1 +1 @@ 
-pixdesc-yuv444p9be  d59a020d35a4434d5904effdfa70ca69
+pixdesc-yuv444p9be  a303ffb286f233d7c95d40bdea638c8f
diff --git a/tests/ref/fate/filter-pixdesc-yuv444p9le b/tests/ref/fate/filter-pixdesc-yuv444p9le
index 1a31ab65c7..755f4877d3 100644
--- a/tests/ref/fate/filter-pixdesc-yuv444p9le
+++ b/tests/ref/fate/filter-pixdesc-yuv444p9le
@@ -1 +1 @@ 
-pixdesc-yuv444p9le  d6b9667d8bc7aab7fa5d27540c65010d
+pixdesc-yuv444p9le  4eb62dee3c1ffa6811eaeff82611434b
diff --git a/tests/ref/fate/filter-pixdesc-yuva420p b/tests/ref/fate/filter-pixdesc-yuva420p
index 9b60dfb901..8b4c1a9c6b 100644
--- a/tests/ref/fate/filter-pixdesc-yuva420p
+++ b/tests/ref/fate/filter-pixdesc-yuva420p
@@ -1 +1 @@ 
-pixdesc-yuva420p    3f4612e9436065a77a40945a71fdc0b8
+pixdesc-yuva420p    cc6e4a0342533fdad4a4e4690425c447
diff --git a/tests/ref/fate/filter-pixdesc-yuva420p10be b/tests/ref/fate/filter-pixdesc-yuva420p10be
index 75526a765f..2c212b5fb3 100644
--- a/tests/ref/fate/filter-pixdesc-yuva420p10be
+++ b/tests/ref/fate/filter-pixdesc-yuva420p10be
@@ -1 +1 @@ 
-pixdesc-yuva420p10beeea756629ceb059a9368899ebe8623d7
+pixdesc-yuva420p10be66e0232df45d33da1f924f50b2d1044e
diff --git a/tests/ref/fate/filter-pixdesc-yuva420p10le b/tests/ref/fate/filter-pixdesc-yuva420p10le
index d60dc0ba0d..21a78f7a9d 100644
--- a/tests/ref/fate/filter-pixdesc-yuva420p10le
+++ b/tests/ref/fate/filter-pixdesc-yuva420p10le
@@ -1 +1 @@ 
-pixdesc-yuva420p10leca41b24346d7b71baff040d8e05d1c99
+pixdesc-yuva420p10le748b251b0ac3c6b68f8e6d357ed08716
diff --git a/tests/ref/fate/filter-pixdesc-yuva420p16be b/tests/ref/fate/filter-pixdesc-yuva420p16be
index 1d5b5c59e1..80342857b9 100644
--- a/tests/ref/fate/filter-pixdesc-yuva420p16be
+++ b/tests/ref/fate/filter-pixdesc-yuva420p16be
@@ -1 +1 @@ 
-pixdesc-yuva420p16be62309264f29a79ffe2c7e224a49afb10
+pixdesc-yuva420p16be8040c01c0b92b52c50f064ffb48e4e2a
diff --git a/tests/ref/fate/filter-pixdesc-yuva420p16le b/tests/ref/fate/filter-pixdesc-yuva420p16le
index 144b7b0630..3bc2da650c 100644
--- a/tests/ref/fate/filter-pixdesc-yuva420p16le
+++ b/tests/ref/fate/filter-pixdesc-yuva420p16le
@@ -1 +1 @@ 
-pixdesc-yuva420p16le8e3f544099b9b92421fae4147bb64892
+pixdesc-yuva420p16lea05b2e12d4a1883c62e10b40cf9c08dd
diff --git a/tests/ref/fate/filter-pixdesc-yuva420p9be b/tests/ref/fate/filter-pixdesc-yuva420p9be
index 5e1b048b44..684c56eed4 100644
--- a/tests/ref/fate/filter-pixdesc-yuva420p9be
+++ b/tests/ref/fate/filter-pixdesc-yuva420p9be
@@ -1 +1 @@ 
-pixdesc-yuva420p9be daadd46290d54a592bb1c0e657001e06
+pixdesc-yuva420p9be 5362dcd101cce47b44251e4d94d59a1c
diff --git a/tests/ref/fate/filter-pixdesc-yuva420p9le b/tests/ref/fate/filter-pixdesc-yuva420p9le
index 8e8fda2a56..996ddc83a8 100644
--- a/tests/ref/fate/filter-pixdesc-yuva420p9le
+++ b/tests/ref/fate/filter-pixdesc-yuva420p9le
@@ -1 +1 @@ 
-pixdesc-yuva420p9le e417b7c2a5d18768dd42f44c50a67a47
+pixdesc-yuva420p9le e93d0a38f0ce256155d75a6df1ffe342
diff --git a/tests/ref/fate/filter-pixdesc-yuva422p b/tests/ref/fate/filter-pixdesc-yuva422p
index ad0c619432..870be06d5a 100644
--- a/tests/ref/fate/filter-pixdesc-yuva422p
+++ b/tests/ref/fate/filter-pixdesc-yuva422p
@@ -1 +1 @@ 
-pixdesc-yuva422p    1faf18b3fef6c3792d8e2f1ac6e7490a
+pixdesc-yuva422p    f22b1d01c3fbf40d0141bbe5d4649726
diff --git a/tests/ref/fate/filter-pixdesc-yuva422p10be b/tests/ref/fate/filter-pixdesc-yuva422p10be
index d3ffa81fa6..73bbb4baa9 100644
--- a/tests/ref/fate/filter-pixdesc-yuva422p10be
+++ b/tests/ref/fate/filter-pixdesc-yuva422p10be
@@ -1 +1 @@ 
-pixdesc-yuva422p10be48269e4c136138ebf989f3829b636136
+pixdesc-yuva422p10beffbd91ce658f92dfc26d69f9a7900cbc
diff --git a/tests/ref/fate/filter-pixdesc-yuva422p10le b/tests/ref/fate/filter-pixdesc-yuva422p10le
index 59cd80ce83..dd3d1d4991 100644
--- a/tests/ref/fate/filter-pixdesc-yuva422p10le
+++ b/tests/ref/fate/filter-pixdesc-yuva422p10le
@@ -1 +1 @@ 
-pixdesc-yuva422p10le1e9a7ea03647cb6d8f5a4cb3085124e3
+pixdesc-yuva422p10lea6910f523b6999ddb64ce757cdc4cd45
diff --git a/tests/ref/fate/filter-pixdesc-yuva422p12be b/tests/ref/fate/filter-pixdesc-yuva422p12be
index 16df4e45c4..4baa411983 100644
--- a/tests/ref/fate/filter-pixdesc-yuva422p12be
+++ b/tests/ref/fate/filter-pixdesc-yuva422p12be
@@ -1 +1 @@ 
-pixdesc-yuva422p12be0420bebaa8a56fea28a06fd565f8e6b3
+pixdesc-yuva422p12be0f586a74831a4e9465d69669552bf4bc
diff --git a/tests/ref/fate/filter-pixdesc-yuva422p12le b/tests/ref/fate/filter-pixdesc-yuva422p12le
index b7452ccf78..3e1ee4d6a0 100644
--- a/tests/ref/fate/filter-pixdesc-yuva422p12le
+++ b/tests/ref/fate/filter-pixdesc-yuva422p12le
@@ -1 +1 @@ 
-pixdesc-yuva422p12le5dff3afb6301abbc0e2a85761b8c5c64
+pixdesc-yuva422p12leaa82e6bf95334dc1d9e08c0662f5919d
diff --git a/tests/ref/fate/filter-pixdesc-yuva422p16be b/tests/ref/fate/filter-pixdesc-yuva422p16be
index fbcbaf779d..ae853cb157 100644
--- a/tests/ref/fate/filter-pixdesc-yuva422p16be
+++ b/tests/ref/fate/filter-pixdesc-yuva422p16be
@@ -1 +1 @@ 
-pixdesc-yuva422p16be3ed898fd49bb4210a1c204a555c63997
+pixdesc-yuva422p16bef45e111fbaa6e3a9c28edaa2af51af75
diff --git a/tests/ref/fate/filter-pixdesc-yuva422p16le b/tests/ref/fate/filter-pixdesc-yuva422p16le
index ebadc1b220..3fa58af4c1 100644
--- a/tests/ref/fate/filter-pixdesc-yuva422p16le
+++ b/tests/ref/fate/filter-pixdesc-yuva422p16le
@@ -1 +1 @@ 
-pixdesc-yuva422p16led3ca3020575d91f2a9bf27eaf3c9bce6
+pixdesc-yuva422p16lefb0834acc346ba4bdaae40cf24d7167e
diff --git a/tests/ref/fate/filter-pixdesc-yuva422p9be b/tests/ref/fate/filter-pixdesc-yuva422p9be
index 6f2e248040..45bff73f21 100644
--- a/tests/ref/fate/filter-pixdesc-yuva422p9be
+++ b/tests/ref/fate/filter-pixdesc-yuva422p9be
@@ -1 +1 @@ 
-pixdesc-yuva422p9be a9da61fa1aecb8c8f55eff08a89f8f4d
+pixdesc-yuva422p9be b3eb1ca70db3ee69f372ebd94f5d7873
diff --git a/tests/ref/fate/filter-pixdesc-yuva422p9le b/tests/ref/fate/filter-pixdesc-yuva422p9le
index 7414ca1bea..40972945ea 100644
--- a/tests/ref/fate/filter-pixdesc-yuva422p9le
+++ b/tests/ref/fate/filter-pixdesc-yuva422p9le
@@ -1 +1 @@ 
-pixdesc-yuva422p9le bd427a5fd70aa2e07aa5869dcd9d7d17
+pixdesc-yuva422p9le 25b3400c191b77c0da52762e809abd93
diff --git a/tests/ref/fate/filter-pixdesc-yuva444p b/tests/ref/fate/filter-pixdesc-yuva444p
index a2b8c01fe6..60a2564faf 100644
--- a/tests/ref/fate/filter-pixdesc-yuva444p
+++ b/tests/ref/fate/filter-pixdesc-yuva444p
@@ -1 +1 @@ 
-pixdesc-yuva444p    7ce64f043f8d3658c7c627d2163ad19f
+pixdesc-yuva444p    1126859dc1856aa94f5b2aaf7fb45a4c
diff --git a/tests/ref/fate/filter-pixdesc-yuva444p10be b/tests/ref/fate/filter-pixdesc-yuva444p10be
index 737b49cbe2..f4c77b7aa3 100644
--- a/tests/ref/fate/filter-pixdesc-yuva444p10be
+++ b/tests/ref/fate/filter-pixdesc-yuva444p10be
@@ -1 +1 @@ 
-pixdesc-yuva444p10beadba33abe66edb10474ca6e81a05b5aa
+pixdesc-yuva444p10be6f86ebf007e9743dd8765cb71585fce3
diff --git a/tests/ref/fate/filter-pixdesc-yuva444p10le b/tests/ref/fate/filter-pixdesc-yuva444p10le
index 3737a367e0..8f8b900380 100644
--- a/tests/ref/fate/filter-pixdesc-yuva444p10le
+++ b/tests/ref/fate/filter-pixdesc-yuva444p10le
@@ -1 +1 @@ 
-pixdesc-yuva444p10lea649ca6173037030cae3d21936d3b19d
+pixdesc-yuva444p10le9e79111c40ae00514b8d5f7c4cf94999
diff --git a/tests/ref/fate/filter-pixdesc-yuva444p12be b/tests/ref/fate/filter-pixdesc-yuva444p12be
index cfe454f499..22ba72c4f3 100644
--- a/tests/ref/fate/filter-pixdesc-yuva444p12be
+++ b/tests/ref/fate/filter-pixdesc-yuva444p12be
@@ -1 +1 @@ 
-pixdesc-yuva444p12be952d5e6b4a3494c5228527237fdfc413
+pixdesc-yuva444p12beb81d1bca825908a85419e25b18eba539
diff --git a/tests/ref/fate/filter-pixdesc-yuva444p12le b/tests/ref/fate/filter-pixdesc-yuva444p12le
index 95aa2a984c..ffb1098038 100644
--- a/tests/ref/fate/filter-pixdesc-yuva444p12le
+++ b/tests/ref/fate/filter-pixdesc-yuva444p12le
@@ -1 +1 @@ 
-pixdesc-yuva444p12le235218d42dbbe40fbc044755825c6a95
+pixdesc-yuva444p12le0ad796ddabe2285d8baae0e7a20f2a5e
diff --git a/tests/ref/fate/filter-pixdesc-yuva444p16be b/tests/ref/fate/filter-pixdesc-yuva444p16be
index fb26bb2017..40965d37b3 100644
--- a/tests/ref/fate/filter-pixdesc-yuva444p16be
+++ b/tests/ref/fate/filter-pixdesc-yuva444p16be
@@ -1 +1 @@ 
-pixdesc-yuva444p16bede8077bfb08bc61284b23db5d524563b
+pixdesc-yuva444p16be22592fca0336518e5fba5ffd83ed8424
diff --git a/tests/ref/fate/filter-pixdesc-yuva444p16le b/tests/ref/fate/filter-pixdesc-yuva444p16le
index 6182e4cabc..f1110d6531 100644
--- a/tests/ref/fate/filter-pixdesc-yuva444p16le
+++ b/tests/ref/fate/filter-pixdesc-yuva444p16le
@@ -1 +1 @@ 
-pixdesc-yuva444p16lecf80d3441689eca8cd5fe007c4091c35
+pixdesc-yuva444p16le0aaa9fa756f032a869b42b18b903ff91
diff --git a/tests/ref/fate/filter-pixdesc-yuva444p9be b/tests/ref/fate/filter-pixdesc-yuva444p9be
index 7a6ec9f934..36ad161dee 100644
--- a/tests/ref/fate/filter-pixdesc-yuva444p9be
+++ b/tests/ref/fate/filter-pixdesc-yuva444p9be
@@ -1 +1 @@ 
-pixdesc-yuva444p9be 0f5d25349e3fd1e0580300b3a36724ac
+pixdesc-yuva444p9be 5217c146db7039082139d392010e1820
diff --git a/tests/ref/fate/filter-pixdesc-yuva444p9le b/tests/ref/fate/filter-pixdesc-yuva444p9le
index 579c1f6415..3ab3880677 100644
--- a/tests/ref/fate/filter-pixdesc-yuva444p9le
+++ b/tests/ref/fate/filter-pixdesc-yuva444p9le
@@ -1 +1 @@ 
-pixdesc-yuva444p9le 46e052f61b8cebd4b016836857f54b39
+pixdesc-yuva444p9le 7791505cc36d948b4bbcba2a2707ae09
diff --git a/tests/ref/fate/filter-pixdesc-yuvj411p b/tests/ref/fate/filter-pixdesc-yuvj411p
index 5dfc0dc4cd..628c9af870 100644
--- a/tests/ref/fate/filter-pixdesc-yuvj411p
+++ b/tests/ref/fate/filter-pixdesc-yuvj411p
@@ -1 +1 @@ 
-pixdesc-yuvj411p    cac93399031ad86e8de0796b60b5bb8a
+pixdesc-yuvj411p    fcb0c56322dbaf451794f43e12ab8632
diff --git a/tests/ref/fate/filter-pixdesc-yuvj420p b/tests/ref/fate/filter-pixdesc-yuvj420p
index ad2f968a1f..3b2defa8bd 100644
--- a/tests/ref/fate/filter-pixdesc-yuvj420p
+++ b/tests/ref/fate/filter-pixdesc-yuvj420p
@@ -1 +1 @@ 
-pixdesc-yuvj420p    5244374882cf07c3cbcde71940caf8e5
+pixdesc-yuvj420p    c6bc238af14478321f1fdcd962aff942
diff --git a/tests/ref/fate/filter-pixdesc-yuvj422p b/tests/ref/fate/filter-pixdesc-yuvj422p
index 5f80d585d6..08c0f96338 100644
--- a/tests/ref/fate/filter-pixdesc-yuvj422p
+++ b/tests/ref/fate/filter-pixdesc-yuvj422p
@@ -1 +1 @@ 
-pixdesc-yuvj422p    6c9722aa9e0c1b8f9d953efeb93dc318
+pixdesc-yuvj422p    4828ec477bc6fc25f6da09a8ade481f5
diff --git a/tests/ref/fate/filter-pixdesc-yuvj440p b/tests/ref/fate/filter-pixdesc-yuvj440p
index c98669285b..4898009693 100644
--- a/tests/ref/fate/filter-pixdesc-yuvj440p
+++ b/tests/ref/fate/filter-pixdesc-yuvj440p
@@ -1 +1 @@ 
-pixdesc-yuvj440p    34e6e86ca3ec4e6ef62d533aa2290e8f
+pixdesc-yuvj440p    bba7b8241c627992427a70aa2b9537dc
diff --git a/tests/ref/fate/filter-pixdesc-yuvj444p b/tests/ref/fate/filter-pixdesc-yuvj444p
index 3e182fa6e2..e3a93c3add 100644
--- a/tests/ref/fate/filter-pixdesc-yuvj444p
+++ b/tests/ref/fate/filter-pixdesc-yuvj444p
@@ -1 +1 @@ 
-pixdesc-yuvj444p    f67694103bb42d74742918adf9ea31c5
+pixdesc-yuvj444p    742a17052a0b43916bc92c2d56c40406
diff --git a/tests/ref/fate/filter-pixdesc-yuyv422 b/tests/ref/fate/filter-pixdesc-yuyv422
index 334aa2d500..2f49d9fed7 100644
--- a/tests/ref/fate/filter-pixdesc-yuyv422
+++ b/tests/ref/fate/filter-pixdesc-yuyv422
@@ -1 +1 @@ 
-pixdesc-yuyv422     edb8aa7b424e4d810ed500fd1ea0268b
+pixdesc-yuyv422     8d32a2ccd730f579571d32bfac2a10b8
diff --git a/tests/ref/fate/filter-pixdesc-yvyu422 b/tests/ref/fate/filter-pixdesc-yvyu422
index f23eb87aae..4448f3d83b 100644
--- a/tests/ref/fate/filter-pixdesc-yvyu422
+++ b/tests/ref/fate/filter-pixdesc-yvyu422
@@ -1 +1 @@ 
-pixdesc-yvyu422     f8ac718bb6a56ccd9ab91c68d01986de
+pixdesc-yvyu422     db9b7f79900736e60e26d67567de3111
diff --git a/tests/ref/fate/filter-pixfmts-copy b/tests/ref/fate/filter-pixfmts-copy
index 0609344c2a..262aed2058 100644
--- a/tests/ref/fate/filter-pixfmts-copy
+++ b/tests/ref/fate/filter-pixfmts-copy
@@ -1,153 +1,153 @@ 
-0bgr                4060279c35dd8810a2f55a021b836557
-0rgb                527ef3d164c8fd0700493733959689c2
-abgr                023ecf6396d324edb113e4a483b79ba2
-argb                f003b555ef429222005d33844cca9325
-ayuv64le            07b9c969dfbe4add4c0626773b151d4f
-bgr0                6fcd67c8e6cec723dab21c70cf53dc16
-bgr24               4cff3814819f02ecf5824edfd768d2b1
-bgr444be            1cd47c1555f947dfcba99192e3429d20
-bgr444le            e1832fdc9b118d4440ba03cea6e30428
-bgr48be             51477f029592ddb6b912980fdf2df7f1
-bgr48le             b34faf404b33c74cd25f5f912ca3274c
-bgr4_byte           7ca99bc8a1c7c831cb955806ac05cb72
-bgr555be            6d32031ad4f52723023e547058a62c71
-bgr555le            823a3b2f2585e537da5cb76c8ce30cf4
-bgr565be            438b0f18fd754280d5dc2f421c376ffb
-bgr565le            acab2b65c0fe5f9618c90f77f70ab3be
-bgr8                898a66734bda0572dfab1edd8239f6a2
-bgra                3934fb81a602dfa7d29420b1a66f0fd8
-bgra64be            c8d3217bf58d34f080ac88c0b0012c77
-bgra64le            b71d75a928aac14cb768403e6f6a9910
-gbrap               98d30987407c51e5620921e11d40a4ff
-gbrap10be           edcffb185e44b6dae5c2ead5505b7125
-gbrap10le           2a7392e14b21b1f9457526a071236a6d
-gbrap12be           0c4c1f8af361571265ca259d5f70f026
-gbrap12le           5f1d8c663d4c28863e687192433b34a4
-gbrap16be           e4edca4361d643794034e5aa9ef290b1
-gbrap16le           9a95b389d2bf556179e8f4b27fb550ab
-gbrp                5fbc319e30110d19d539f5b274eddb6d
-gbrp10be            703a17591a2a5c236675c5101c349bcc
-gbrp10le            ee014153f55c011918df5b2394815780
-gbrp12be            527d337eb5813ebba7cf969ee660d423
-gbrp12le            fd192920b171a0cf88d61e8310e95d81
-gbrp14be            46d502db6dc5eb7e9da3c60016b2df91
-gbrp14le            1607f5c8f13360b53b8186f523996b1b
-gbrp16be            7b6764a504c853b09f5c7d0b2223c5a4
-gbrp16le            fb9323a5bd060282bec7bfd7d38dc230
-gbrp9be             a4dc6f6f9bb051de2dc348b592ad4282
-gbrp9le             699da3a3b324f3fd001a56aee9683384
-gray                188590b1231afd231ea910815aef2b25
-gray10be            d486558ecd2e27afc17930be861f0e4c
-gray10le            917d687103b2adcca7132bfc070ca54a
-gray12be            9685614450f1282be433d2b07234ca1f
-gray12le            2700bd7fb3fea56e54eb03e31d6d4e57
-gray14be            19ed2bf25878980d6f81f6ae699024ec
-gray14le            4b148b26b30040c05dc248a8852f31ac
-gray16be            08d997a3faa25a3db9d6be272d282eef
-gray16le            df65eb804360795e3e38a2701fa9641a
-gray9be             6382a14594a8b68f0ec7de25531f9334
-gray9le             4eb1dda58706436e3b69aef29b0089db
-grayf32be           f3bf178835f8146aa09d1da94bba4d8a
-grayf32le           fb6ea85bfbc8cd21c51fc0e110197294
-monob               8b04f859fee6a0be856be184acd7a0b5
-monow               54d16d2c01abfd72ecdb5e51e283937c
-nv12                8e24feb2c544dc26a20047a71e4c27aa
-nv21                335d85c9af6110f26ae9e187a82ed2cf
-p010be              7f9842d6015026136bad60d03c035cc3
-p010le              c453421b9f726bdaf2bacf59a492c43b
-p016be              7f9842d6015026136bad60d03c035cc3
-p016le              c453421b9f726bdaf2bacf59a492c43b
-pal8                ff5929f5b42075793b2c34cb441bede5
-rgb0                0de71e5a1f97f81fb51397a0435bfa72
-rgb24               f4438057d046e6d98ade4e45294b21be
-rgb444be            115e5259b91f4a416546b09570347633
-rgb444le            f3f66689cb4c810563fba7665c526800
-rgb48be             18127d8ec64aa21619ada80b93514906
-rgb48le             60d0ba0e5a429c947aaa736be54aca87
-rgb4_byte           7d68393a3de6f392cf2ed05ffaec6259
-rgb555be            f76c8109974636b54bd0cb4c36bb883d
-rgb555le            21daf4d05999ccf3eef7d492e73c4d5b
-rgb565be            85711f35f71340ba23e553a07d246656
-rgb565le            e04771e79a8ee8a51e9a325540e6215e
-rgb8                7ac6008c84d622c2fc50581706e17576
-rgba                b6e1b441c365e03b5ffdf9b7b68d9a0c
-rgba64be            ae2ae04b5efedca3505f47c4dd6ea6ea
-rgba64le            b91e1d77f799eb92241a2d2d28437b15
-uyvy422             3bcf3c80047592f2211fae3260b1b65d
-xyz12be             a1ef56bf746d71f59669c28e48fc8450
-xyz12le             831ff03c1ba4ef19374686f16a064d8c
-ya16be              2f2c27f1854ac00c73d13861dcab2705
-ya16le              2c1fbd127c9f0435adc0e9b2ea3f486b
-ya8                 dbb99fbcdc204aaa1a7397ff561f1a67
-yuv410p             5d4d992a7728431aa4e0700f87fb7fd8
-yuv411p             7e1300e89f5bc07939e2c4a6acbdf267
-yuv420p             a014c7eb7a8385d1dd092b7a583f1bff
-yuv420p10be         f9b154364efaa1af376fa6d8eeae6955
-yuv420p10le         15c83294ef560d57f25d16ae6e0fc70c
-yuv420p12be         34da9c4e289124122ba36a9d4fb133fa
-yuv420p12le         c19a477a07fcf88e37ab37b416d064c0
-yuv420p14be         64779858686946fc0e780baf7c1391b6
-yuv420p14le         c1d012a4f9d54fbc8b04fea96d85e903
-yuv420p16be         268b07358d8dc733ee81d0b87990d5af
-yuv420p16le         dae8da9edd4255051e3e546ae7ed9bd3
-yuv420p9be          37f0476e8458a93d3d22db568f617aca
-yuv420p9le          83a6d32c91c15a3bc334bb9abf920654
-yuv422p             74f8006b4482db104f1986f49807a0af
-yuv422p10be         7291903c3c0cf4e5456dd9673a619f1d
-yuv422p10le         14cbaa728e888534359b9dddc5430f08
-yuv422p12be         e9bc7f2da217fade40feb6960dcd894e
-yuv422p12le         8d8184e4d0f1eb50e1834ac0c4af8c33
-yuv422p14be         2617c569ae9659d8fe6a01f96e2c9657
-yuv422p14le         7d01363cf090306cf93337c474cd8827
-yuv422p16be         86147d8bfb795ab1873c899611e2a361
-yuv422p16le         9df47cb7d6d39b335a547ced2865e72e
-yuv422p9be          338dbb97c9f5a12ccea2c61774ddff2e
-yuv422p9le          0822f8af35a269a036ae44878acba87e
-yuv440p             98d0f96fdb3ba415899017adf7d4a4f9
-yuv440p10be         d874167042037c1daf9b9a2f74bffad9
-yuv440p10le         3cfbd921369aa8f1e4977efdb7f44c8c
-yuv440p12be         dc3e6a40c44d5a5f9fd260b270e9037f
-yuv440p12le         2fff7746ae7c07d407075c0e372baf46
-yuv444p             8f90fb3a757878c545a8bfe5d19a9bab
-yuv444p10be         6683d5cb82c708d5f3a2a89d0311f7a4
-yuv444p10le         6d736fa464ff2de2b07e0a56af8444b7
-yuv444p12be         04320ad158450ee158f84a27c6325702
-yuv444p12le         08a81b2ea9c7c8b447e40ef8f4a46a4a
-yuv444p14be         ea3057d469d0c49c24e844256ef7871e
-yuv444p14le         940f5908ccf06e01411f0a7bddb45c6a
-yuv444p16be         aee24ab2e9a4656f889399f1b0d98639
-yuv444p16le         781c22317c02b3dd4225709000bdb847
-yuv444p9be          ac09917e5d2abc82c0d260007f4dfd77
-yuv444p9le          caef947b8aff5b52285385c6ae9b2439
-yuva420p            b227672e56215e184e702c02a771d7f3
-yuva420p10be        f66e7d677625380f7504867fab51305c
-yuva420p10le        01e94ee605714396e69b013c11dda348
-yuva420p16be        76e5e65eae1e7c5681a397a3462f4a9d
-yuva420p16le        b1930ab28ffe031c78ca28d3406311c8
-yuva420p9be         48dfa24cf0ea3864f35285074e8fa888
-yuva420p9le         0e9c9803aaaddc9f38e419de587793c2
-yuva422p            8f6bb778647e5dee62f544d646321171
-yuva422p10be        2f7204c93a1e5bfb04538852f99e4074
-yuva422p10le        c8082548aca999edde77ef2749b1ff4c
-yuva422p12be        19f8205cca3d19bfd4ad9cd2bfb07a0e
-yuva422p12le        38e6c7d87332852d660df5594529fa6e
-yuva422p16be        427ad55f7464121bb3ce164641772bc6
-yuva422p16le        af6f8df651275de58129e010bb45ffcd
-yuva422p9be         47579cc2cea861ca1461589b80c4720f
-yuva422p9le         aaeab2bfe80a29390e8666103ed8bb40
-yuva444p            459fad5abfd16db9bb6a52761dc74cc1
-yuva444p10be        fa16bae4fc25429deb944ffa9f5b28a0
-yuva444p10le        92f820d3481b7ebcb48b98a73e7b4c90
-yuva444p12be        d8193387128a1b1efc51f36a12c85385
-yuva444p12le        9c17bf72b083f93040d1e19516b54de7
-yuva444p16be        c80c1899789a6411d0025730efc8f01c
-yuva444p16le        2ed56ea50fafda4d226c9b133755dad8
-yuva444p9be         4903fde22b15d28da90761ac1cfcb1c5
-yuva444p9le         4eeb5988df0740fea720da1e31bbb829
-yuvj411p            e003eefa7e2a20f20d33767775417216
-yuvj420p            8f3d8f1b4577d11082d5ab8a901e048d
-yuvj422p            79d480e99e610112f266c833c6cb3d35
-yuvj440p            f4b18310c7174868fc92579f87460876
-yuvj444p            b161e6d5a941e2a4bb7bc56ef8af623f
-yuyv422             435c92283b538aa3d8fa2a020b0afd49
-yvyu422             8436c2a760291cc979e0dd62ab8cede0
+0bgr                e04c6952a7fb1608a3fc566974bef52d
+0rgb                19df843e34aff4a054eba70b5131936c
+abgr                08c90c4e2ade7be0ba515f9311bcd4e6
+argb                08c244e2cf329d2664dca0a230c0107f
+ayuv64le            74e7cbd6f0c9bb3b6d014d064899978a
+bgr0                0d9f1e0f79ebe5aa26b369e3d3a260f0
+bgr24               06e2b9f386e38f0c4b68a0c94b05a7d2
+bgr444be            8f8e09d1a5e48a588db8d6153bd753da
+bgr444le            747ef77d572caf3a8ff6f11ee5f02fb4
+bgr48be             f11524397ef379eb199319387fea82c9
+bgr48le             b05cedc696ec11087e87e6f5077c5a88
+bgr4_byte           c979873e646eb98f0d72417a44cb4004
+bgr555be            21fa98036061ed208f89340a662e11fd
+bgr555le            fe00a112607e01f71f13c22273c3f0e8
+bgr565be            77b1a7fca7cec4c893dba4742be605a0
+bgr565le            826839464800da3c8009ebb9835d53ce
+bgr8                c207ec989c93079b5825255be2c38509
+bgra                3b1fd170151ded3027c646b556a20017
+bgra64be            4a558b27b1112d7344d45dadff518b46
+bgra64le            2b6e43c3cec1e434b37412a0149cc3a2
+gbrap               0bfbe6bccb3df0332ecae0bb9452c56e
+gbrap10be           ba43ae13f4516d5958af3d67bf593d94
+gbrap10le           3e202fbcb2f0d910ea56d9f014b71e83
+gbrap12be           3e0d4337720008a6390f46031d25368b
+gbrap12le           2a8b7595b62ea79a251a6b9d57506d85
+gbrap16be           d1ca5b886d988f5af27a06f6a297d2cb
+gbrap16le           27c1e167c069836c1bf41dcd4ef5c0e9
+gbrp                49661362bbbba539dfe6658ede54857f
+gbrp10be            bb31cc27632399a04235d05b6f42bb9b
+gbrp10le            67cccfa209219974a3457eab1b3ef790
+gbrp12be            701cb04ac3ee541091d49edc42e452f8
+gbrp12le            49f7461bf47194ec4ccef39c6377446c
+gbrp14be            ed9a4a52d51ce17ca780d3d3d18434a9
+gbrp14le            5fe9d1baf5eabf16fd2043fe48b2e295
+gbrp16be            5e33b6106f02d87ad2458343d2471977
+gbrp16le            5155bc77fa960c975dd4110712ac2a55
+gbrp9be             18a0134c8d0b11fa7265798148f6fe96
+gbrp9le             188d4ff078ecac96db559c1b94036c4b
+gray                1b015bdee8b402017e7e4e0a023233b5
+gray10be            0abf158c079bb2874fbcd28ce37f0258
+gray10le            74b2e790a8de6d93788baf81535c8611
+gray12be            24f557843ed39cde6c5e6d30b199c145
+gray12le            84dfb5f9688c467cd134b84e8ef99f23
+gray14be            40c6e60282e2caee4d91751063e350d9
+gray14le            4eeefe2eff6915909bbc772233056be5
+gray16be            5544ec0db50c631e275182fb3235b113
+gray16le            dc79fc3569afb90c7bfaba9678efbd19
+gray9be             a39146026fe3cd5ef5c7ce85a7f409c2
+gray9le             156afb3eff630fa34071597376bdca1e
+grayf32be           b6691ec487fb51207f811812fa6cdd9d
+grayf32le           659f3b6228284bc7e31f37a28abb53ca
+monob               535f06c336d31da1755fb0107628458b
+monow               50fab36a25f0138131fef2625e0b5709
+nv12                58027b74ffe8e47aece7e23a4133c506
+nv21                d302440b09de2ca688c74581b220a913
+p010be              0ea4eb9520f57616fb5bb159f4e7533b
+p010le              90dbd862043daf510ca1d005e74c06c1
+p016be              0ea4eb9520f57616fb5bb159f4e7533b
+p016le              90dbd862043daf510ca1d005e74c06c1
+pal8                d2981690487103ec1cfbb6f4e90b6305
+rgb0                6efa7e175ebf88964d712291ca3c93c4
+rgb24               9b4f6f90ab7147f5fa3f36027a533947
+rgb444be            ef7cf15b908bf342d38446f4291962c9
+rgb444le            be37d83f59fc4dadc6a20be7a105e25e
+rgb48be             0879c194f6cd4165d48241c4fded96a5
+rgb48le             105531904fd096479d4f9b0ba4b768fd
+rgb4_byte           842d6dac10536dd2816c634a3c5f3668
+rgb555be            def34289bcecced6dbea845eab75e7bb
+rgb555le            de11820fb58c6b28961fa18593cc4dfa
+rgb565be            0442f45b5f598f21e4272da673a6f087
+rgb565le            ac8f94f08c69a65638e9c36f0fa26f59
+rgb8                738dc1534a697e90229bfa0e260fa687
+rgba                2ec104096b838eb118bc9c304b8c57b7
+rgba64be            3871c3ea66f402ee6737c2c0e8bb413f
+rgba64le            c33d70e61efc8d3ae32a2a85f26596e1
+uyvy422             46b98567e0f7f1653e1633be8ff2b103
+xyz12be             0d8786392f9e09e9b3fe5d2ac08179a6
+xyz12le             ff6798abf3af490aca74ca8f375c3f95
+ya16be              ca11a62b5dda903dea20c85c31c13d21
+ya16le              71001a217ac1c2dffffae23ce3414824
+ya8                 dec94c8ffccb82c7a001fa3d31308852
+yuv410p             30be4efb0038c5d64a6e82b317d79fd6
+yuv411p             0450a31fd23eff3ff09e648def9c9836
+yuv420p             4990f043bea6f8a3e59cc479a5369848
+yuv420p10be         ce40e8cb8302714b395e29f9457bc182
+yuv420p10le         f02a89234cf286acecd8fe03b08a01ce
+yuv420p12be         159bed4224e58053ea954044a399ee99
+yuv420p12le         fd4aedd950fa5968c37f540c754be08e
+yuv420p14be         3eb862741a840393d75c3e2115c5d850
+yuv420p14le         d3b13aa9e905168eb369a5beb5257d3a
+yuv420p16be         b9c30feb6e4d0772e36488bc43601418
+yuv420p16le         8b362c6e970ec484fb91678c0688f46d
+yuv420p9be          5b2b6392f34f5db3736b246be999b618
+yuv420p9le          53919aa4ea2ec50a62b0f9dc0ff6c959
+yuv422p             2a636343ff68d0fc7a83a6269d0e658c
+yuv422p10be         371bd24554dacdeefa5c203a06a4ad00
+yuv422p10le         c6b91e9b6c30b0123f80a5edaec1f752
+yuv422p12be         39851810c9920341f6d29141ce4d4680
+yuv422p12le         2510501ddb6bd6ff9a8ae1fe05dc1a1d
+yuv422p14be         c70376111aca0f5fb1aa46969e0e637a
+yuv422p14le         99c4607f6f7c60ed43f735903950ae0b
+yuv422p16be         a161e59fbc32c29ce4dd87b4c7982abf
+yuv422p16le         a2d2f255878ead1c729e809f0d9214bc
+yuv422p9be          c8b5cd2592f8694272dec83efae55957
+yuv422p9le          735b7a8393f5efe7c8f9362ff58bf45c
+yuv440p             1816eaa6ba3716b663ace008314246e2
+yuv440p10be         eb898fe2dc126ff8317658ef5d63b347
+yuv440p10le         0389153d6c2ea3037b60ab1978edcffe
+yuv440p12be         dbe5fe2beed17137d62883363cbba7aa
+yuv440p12le         d9f92976b0fcafdab7dccb0ee7ce4eda
+yuv444p             12a965d335c9761c65d6797a6c178379
+yuv444p10be         998eb6212b6a006d4b8ddfd4744841fe
+yuv444p10le         1d1bd79af2e5665669fbdc712c82ad5e
+yuv444p12be         bfe9ce064f41ef72def039798c6c8825
+yuv444p12le         aaf43938024db04325c709fae3ccd338
+yuv444p14be         379848d55f0eccfbadd879bd02552c4b
+yuv444p14le         aa9b9c29ba8ec10d3506e2ad4ceddf96
+yuv444p16be         6f0be107668d13518e7da3916c422f04
+yuv444p16le         620ef63931c2dac453276aa990164fcc
+yuv444p9be          d1e7cafa583790096229b4f417d0177e
+yuv444p9le          2a5bf35e2b1c95ba4d9358821e1277d9
+yuva420p            cc8441023f6a77a3de0dbb98eb06de03
+yuva420p10be        fd46785edd5ca48083e1d20a46f8374f
+yuva420p10le        373b6bc130b122cf1dcea87cf6b1cc71
+yuva420p16be        8da21fe06e5d1863b9b2e7480e260129
+yuva420p16le        c57f66487b6790eea93025ca3af776b6
+yuva420p9be         f0d785072466fbeed8354028fa3e1e94
+yuva420p9le         3af7a72c921185617d738ed8ac241596
+yuva422p            e5adcea6328bc642e55ec6aa2b0d58c5
+yuva422p10be        49e9c2aa05c57c8560d6cc50327088b6
+yuva422p10le        8daba11b6125f52f8a6b880456b01dfa
+yuva422p12be        621a319c5168fc0901fe50298978c2a5
+yuva422p12le        5e58dd52695fcb54a3a84b34bed90cfc
+yuva422p16be        29f949ba9ef5743e6be7996969e5a3b4
+yuva422p16le        592a369b105eb9e3cef9e435295115c1
+yuva422p9be         1860cf1f1fd33b0517bb8da0a1eed95a
+yuva422p9le         ac82a52c8b8235e9604c586104a4132a
+yuva444p            0007f930d22b062f6a0aff3f7a6074aa
+yuva444p10be        e51de7e003e8c5008a7b30540dd62e6f
+yuva444p10le        15acf180a20e2ca00eb495f46dd96ce4
+yuva444p12be        d3a8074bab72862c04f60d83f9f19bf2
+yuva444p12le        773b91e7b69e0d2f7161c93b3fcf5e47
+yuva444p16be        3fa5df364bc9225a35e32d5e6f870f2b
+yuva444p16le        7faba5fa29f8e95f9cc7452799da752e
+yuva444p9be         59a980a46660cf017c09be633f28f0e7
+yuva444p9le         d35e6d6186c8c3c2e893078ec43cec25
+yuvj411p            b6031e08fb1cd85a9cb2bcf90752c600
+yuvj420p            3baae4ec524f8516c641445b27e519a2
+yuvj422p            fa0d1f53c27f767b90c79d4961996cd7
+yuvj440p            09bb2ea64f30c10fd1cdbddca2c82cf1
+yuvj444p            4c72009fadb5db723db71533d70a6200
+yuyv422             3dd3875e43ff3d41f8db7421969753b8
+yvyu422             2d03b8625aa497e1f8b430af852abc9c
diff --git a/tests/ref/fate/filter-pixfmts-crop b/tests/ref/fate/filter-pixfmts-crop
index 4e4b6e4a63..44354ffd25 100644
--- a/tests/ref/fate/filter-pixfmts-crop
+++ b/tests/ref/fate/filter-pixfmts-crop
@@ -1,148 +1,148 @@ 
-0bgr                8a83998de96327cb334538d7a265304e
-0rgb                974833c777e6abe6d84dc59af2ca5625
-abgr                1d21f5b8a20186ac9dd54459c986a2a7
-argb                8b822972049a1e207000763f2564d6e0
-ayuv64le            ab2f7bc8f150af47c42c778e3ea28bce
-bgr0                38a84849a9198667c348c686802e3b52
-bgr24               1dacd8e04bf0eff163e82250d01a9cc7
-bgr444be            e2d2b864dfa528e77684ddc117f2d974
-bgr444le            5f48e6dc70fdbf4ef6d651081f104a2f
-bgr48be             61b6a1a7c6d523b7e594f63790c7f032
-bgr48le             2b158ebcd483e03abea86c32abd21642
-bgr4_byte           441c4d66a344babfbbd3e4767413893b
-bgr555be            c5480b08d681d33ae29148054762bcfb
-bgr555le            500a2ed02aa57f7635125e6c983702db
-bgr565be            2d4a32d7e3d994b21c400ad008a5cdf0
-bgr565le            14ed3f499e83ccb0cdbfa0a457557880
-bgr8                142275ecc024d3f7b66c168ac2279ae2
-bgra                e66a5f68ba463cbc89fce23a61bb5203
-bgra64be            1ad8dd02714cafec793fb89577ddde47
-bgra64le            dd29ec9aba43aa3e8f9f5b9a93ca8831
-gbrap               188cd467fe7ae7d85ae9ca8bdfa07739
-gbrap10be           1880c4856d9cc6492b8b859f2711aaf1
-gbrap10le           c2b6e35f8b7ca363a7ec021ccdf31d1f
-gbrap12be           c9769d18733cdc2664d8b9af09a03f6d
-gbrap12le           3f80453c1ac6c5d1b2febf3ef141b476
-gbrap16be           21c98d0d7e7de2a93f9f095e5bb5c227
-gbrap16le           ea9a96870c1b742dd9f065c5db568184
-gbrp                ec671f573c2105072ab68a1933c58fee
-gbrp10be            6f0130a41f01e58593d3840446dd94b7
-gbrp10le            9c152b7dfb7ad7bc477518d97316d04f
-gbrp12be            561516202a6e37dd19543f9bb3af339f
-gbrp12le            3e7f87d834748844ab326e22eb2b7487
-gbrp14be            057232bca98c472a003cc46b3fd939e4
-gbrp14le            d4764dba3c3efd1263c2c8e0f5ac9f6a
-gbrp16be            59e4c27ee33520e23dbceafbec27aa9b
-gbrp16le            0768a2462783829f63ed0bfd53d01222
-gbrp9be             4af43999e5e9742992b6550ea5ad9b23
-gbrp9le             b4cbfa7878706a14295f09212e41f7fe
-gray                0d70b54b4b888ec4dbd89713620ac1ee
-gray10be            18ed76cab145ab9058cc353fcec6d3c4
-gray10le            fd83f7489880160783ddb125615b4638
-gray12be            472700c26cc49b8d5f74af141f6a0d38
-gray12le            4f6537fe1f32b3963350f8c435009433
-gray14be            302b5b534f64ee15fffe2d3818e8c29c
-gray14le            9c205ae791cbb9e479beb0ece236c05f
-gray16be            38f599da990224de86e3dc7a543121a9
-gray16le            9ff7c866bd98def4e6c91542c1c45f80
-gray9be             8ffcb18d699480f55414bfc21ab33321
-gray9le             4d1932d4968a248584f5e39c25f1dd43
-grayf32be           cf40ec06a8abe54852b7f85a00549eec
-grayf32le           b672526c9da9c8959ab881f242f6890a
-nv12                92cda427f794374731ec0321ee00caac
-nv21                1bcfc197f4fb95de85ba58182d8d2f69
-p010be              8b2de2eb6b099bbf355bfc55a0694ddc
-p010le              373b50c766dfd0a8e79c9a73246d803a
-p016be              8b2de2eb6b099bbf355bfc55a0694ddc
-p016le              373b50c766dfd0a8e79c9a73246d803a
-pal8                1f2cdc8e718f95c875dbc1034a688bfb
-rgb0                736646b70dd9a0be22b8da8041e35035
-rgb24               c5fbbf816bb2000f4d2914e335698ef5
-rgb444be            44a33306889f7fa1a71ec831b860fd0a
-rgb444le            934708063a8ecb93b46f6ab7e828419c
-rgb48be             39ef8f30c85bbb58433df9c085f158a1
-rgb48le             c92ee84f0952517a2830aa19166638a0
-rgb4_byte           847730fe0a7dc7fd99dd16599d6b828b
-rgb555be            39bb24bfcf01e379bd1653eb731ed21c
-rgb555le            e9f1e9fc4d0ef9fe18f1771b21d02dbc
-rgb565be            974ddb6347a700a75eec014311725aaa
-rgb565le            a0a2ce6d0907386f476364f9571ad3df
-rgb8                9b364a8f112ad9459fec47a51cc03b30
-rgba                9488ac85abceaf99a9309eac5a87697e
-rgba64be            89910046972ab3c68e2a348302cc8ca9
-rgba64le            fea8ebfc869b52adf353778f29eac7a7
-xyz12be             cb4571f9aaa7b59f999ef327276104b7
-xyz12le             cd6aae8d26b18bdb4b9d068586276d91
-ya16be              029a3b7c523de988e3161484d41ea15c
-ya16le              32929a08d11982aec66ea1e665cfba3a
-ya8                 51a8dd297e35d40b06d3ebe8f4717895
-yuv410p             3bb6c7b64f2c46bc5e8b77198ce4ea58
-yuv411p             693e4afe96998e6dd91734037d75d887
-yuv420p             510d36163e4d3710988c23c2240ca6dc
-yuv420p10be         ce9af476d924b463b0f68579f30a6463
-yuv420p10le         65214f2af95e816bbe303fa0649ecc84
-yuv420p12be         f86f763eb2ae76d12226009e5f9595d7
-yuv420p12le         3741f6a4ccd368d0e9d00ecdebdde0c9
-yuv420p14be         5544e5fc40e718e608c0bd8c7b1d0812
-yuv420p14le         2c763a71c7c4650b91b405634556e21c
-yuv420p16be         c22f72b460beef22b0bf80806c43b25f
-yuv420p16le         564d26a52ed271792e8909f8aa9a3e87
-yuv420p9be          d0458179f9cc757a11ceb80655fde30e
-yuv420p9le          fe0215f5683437bd5a10b6255344109e
-yuv422p             42ea5e9a22df5913b2ec75512162e533
-yuv422p10be         3956017f5023ff5d56b4f814422dd711
-yuv422p10le         a5fa7cb6a21bcbb60ae3ba4a9f4e60e0
-yuv422p12be         3a7cdaa7671394aae514d60c529e099d
-yuv422p12le         3369b2b6eed18a450ab0a5581335e375
-yuv422p14be         845c42b333e331a556008ef0a16afc85
-yuv422p14le         abcdaccf8d01a9133daca94383d27db7
-yuv422p16be         565299a5d6265c77d00fd1a1d0173834
-yuv422p16le         a3fc398dd11644235e260f7e82cc87e6
-yuv422p9be          9d92f0bae2037bda1deaa70cc42998bc
-yuv422p9le          5e08f31583a6072dfc12c5ffaabedd88
-yuv440p             11786b7e8f8f45fdeafe841a258fe5fd
-yuv440p10be         7c47e76d0430f2a1de2a1bfd50221c97
-yuv440p10le         6e501e62a7f84748338cdf19b0186a19
-yuv440p12be         ab1c4c998c757b2e26d40575c5a6d0c9
-yuv440p12le         33c5cae9acde262b194efdf78ad44258
-yuv444p             28166fdead6f87f57f4c77156dce0466
-yuv444p10be         2c9b7f39c006b68d6b53791472ade1d5
-yuv444p10le         8427e65a1608ff8c5c88492f4926f6c1
-yuv444p12be         6e1f91ed1c6fc42fbc912d7d3aed0aca
-yuv444p12le         6a674498003ca57c8c2700b7d0ecb290
-yuv444p14be         bb07382a868b35875b771b37dd234605
-yuv444p14le         f8f6e6124bae7e95d0061b95bd64be66
-yuv444p16be         25b9244db531ccab7095a44b3115032d
-yuv444p16le         b537ff9b2ef601b8568ffef2fdc4281b
-yuv444p9be          770fae9f4bbb3b659a78e912ae7e0421
-yuv444p9le          764e317b46961236ad25fa174c3af5c6
-yuva420p            5fb8147030796ad0ebb4fadac776ca05
-yuva420p10be        f2127ce6fe956ee3a3b6c9b308c3bb9f
-yuva420p10le        080798ee8a995734fcb2d7238010e046
-yuva420p16be        ee90bc4624631b784dc8c9a68b72fbb0
-yuva420p16le        965dfd8e5f0e22bdd33fb2b7155eca22
-yuva420p9be         f4f93012c80c905a5885459aa2d29ef5
-yuva420p9le         abff60ecbe6e867949399710953bd1fc
-yuva422p            ad564e513a8c08ff0ec99324e204dfbd
-yuva422p10be        61c806e5e02ea4c90ad3156c90957a18
-yuva422p10le        41507ce136674ad458e562d44c67ddca
-yuva422p12be        e686b37d6738aae3c1d25bd36f3e518c
-yuva422p12le        95bb91f2922bdd2eb9aa6fabe86d4994
-yuva422p16be        3437cce47184e4b9a7a681831816e1ea
-yuva422p16le        0d534fcd61fc54fa9d4bbae5bde537ec
-yuva422p9be         588f72cd85285ed71a519525a947dedc
-yuva422p9le         d5a5d50f414caa1563700207931f0e0a
-yuva444p            64bd3debe7c2b8cca91bc1d6e2a8d80e
-yuva444p10be        1291045203be7d60b9015fa7e34b5716
-yuva444p10le        75865370fb0c018fb8663958bafcdc51
-yuva444p12be        ff58aed06f42e1258ae04509bccaad0a
-yuva444p12le        00ab9d34f0fd4ba23b48e8ae4bf93c17
-yuva444p16be        f817caf234aaf5848b2bc9679582ed56
-yuva444p16le        b32ad623fc423f897ff31c4073ea2a6f
-yuva444p9be         48498d994c3c9070f31773e39da306dd
-yuva444p9le         431b0ac211a8f81c15f38fb57a73530c
-yuvj411p            241d393eeaa1517f6b4b23034222994b
-yuvj420p            35583968261c636b9c57ff03fd60eb54
-yuvj422p            c29a94439e96cd5dab7f65eb6dfc2f5c
-yuvj440p            8899d4ce717e32937d58a76df473ba7a
-yuvj444p            6c0d0ad629baaa96fe4dcb00f0f5d9de
+0bgr                7407c85e939a78ec1c38c84f5f8f4b17
+0rgb                3da4aa5cb1181d20b8a813e08f98d776
+abgr                1336fcb37aa5ed9233af917b6fbb6450
+argb                5097b65a132613dce1c07ff2781216cf
+ayuv64le            c33284b97e2da2e58c1f3beb3e6d815b
+bgr0                1da3948e805552ba8e460ebfed6f532c
+bgr24               7df6efd77d1b917f08b6dca724175a8c
+bgr444be            3744ccb51c883c2ebc5bf610200608e0
+bgr444le            77c5e8e797d4f233fc9436964af7f5a8
+bgr48be             afeb94edb09c963dfa8a317feaaf808f
+bgr48le             00b8f6f8d9d105a7aac246d00cac59be
+bgr4_byte           e58e7e72dc72b4a5d30feeef7b82dc8c
+bgr555be            8480faae1ff3dfb782846ce57d29730c
+bgr555le            051f5c7a36b981aad6bad1107bfd89ff
+bgr565be            80e72d44c81d97fc178e48fdb0574634
+bgr565le            0569042ed638583f07d9fa387e0d1fe7
+bgr8                cc5bdd9418f6a81a5b679436610ad373
+bgra                264a37741765ea1357d83b4d5417d8d8
+bgra64be            c5323ba0116999ee3f156579f9218b8a
+bgra64le            76207b2b930150d0915142ae3e5438bf
+gbrap               f521f34ac38419faa4ec1e013e7294c9
+gbrap10be           a0dce659f9040d120838b8df29ec787a
+gbrap10le           91627c81c4163800f1e5fd6731afc0b8
+gbrap12be           58c99ec4d79fe9a207aee10ad16f2076
+gbrap12le           578346e1db4fb3cc8064b46e1dfd4666
+gbrap16be           b7456c6c723be328e649ddfdfb18b002
+gbrap16le           975fa44536de5bddb46dd2ac772c0e00
+gbrp                e865e218c58b43df270830be2a897cc4
+gbrp10be            ab5e44940adbd6d19d619cff204e9a00
+gbrp10le            d678da2307b3353a458dd4151b296dd6
+gbrp12be            f192c06700ece47872f46e57a9ad37f6
+gbrp12le            40a70cf58ecb4badc4e83854980ec8a0
+gbrp14be            143b375de346c8be5fd536a5b8dcdb3f
+gbrp14le            1f2782213e9456c5bb87b1a8e1e08710
+gbrp16be            f93f47b8a492a6b83a50b2b43bd77a78
+gbrp16le            962b3a41688938896f29d660a7a928f8
+gbrp9be             1ce8f49e096ba82cd69365e8b7047928
+gbrp9le             68c00909ca2e8b4d3f8fddbbc2cdd6c7
+gray                80649714a5d45bfc2ad096bdfcc5a361
+gray10be            cdde882ae93c7209dc9b2032d60d6ac9
+gray10le            da61e64bf3e817c4de16bef1e43f9401
+gray12be            300098071ab29d2e63a00140ed7947b7
+gray12le            c500a122b5401022349533d36dd5eb30
+gray14be            e96603ae5d221b52fffd3ab773d97620
+gray14le            560b18bd5736ec88dfda0c516c870e9f
+gray16be            fc901cbe37d8143c9c5688dc35f3434d
+gray16le            c17924858116ad3d806d3bd5f3a292dd
+gray9be             3e9a67b763f98d7eb983370e212c7a1d
+gray9le             830a249d42f405e5743c069aa0ebd5e6
+grayf32be           47a7e07c9fb47d894c2a59999b34109d
+grayf32le           8f88d8260937ac9720ea0e7b0a2f5b90
+nv12                ad8d13320b673aa92d45703c4b476a93
+nv21                d6e65b2b2dbf2036f90b1f1959e80303
+p010be              f8b59725f70b5520308076920bf93a8b
+p010le              3e9aa1d1117b265b119e11ee1b444e21
+p016be              f8b59725f70b5520308076920bf93a8b
+p016le              3e9aa1d1117b265b119e11ee1b444e21
+pal8                75d2c4fd6a2bf388d9e09ad084931946
+rgb0                6448174ac513106438ed4382d82ca231
+rgb24               edf8f6082da5ad619cc6ed1f1db57252
+rgb444be            6a3c084504540a7094f58fcc7be58c68
+rgb444le            858b7a688d4cac43a26e9e26271ce642
+rgb48be             f51f560995857efd40c2f184de6e895a
+rgb48le             a26afcef19d48f10b2e637760c7072bf
+rgb4_byte           2267dcb86e8fb6af353577761cad9a8d
+rgb555be            7ff956095730383b550efbf77e4c801c
+rgb555le            4d1c5b5de8e9064c38572ee1631f4ae5
+rgb565be            021691278c9224094a85ce67336093ff
+rgb565le            1579df40947d5aebcce42c077c0fcb1c
+rgb8                8bbb8a68037e08d6f9b6ec1063439433
+rgba                1f7f1ecf818c373a4e2ac10c98b4e9e7
+rgba64be            dbeccd83c5bd94db17ea53311f578b89
+rgba64le            8cf304e0598fb6a93f5b24059e9e81f9
+xyz12be             27da03fe7ed286aa36b02406edcdce1d
+xyz12le             87d10f19d3d782d47b7e882adc1f7839
+ya16be              f3b71d94e4d194e1d8794f5d40f5147f
+ya16le              3bd4f4bd2592243fb02ff53e3f5a96fc
+ya8                 7153850079d3f16a91e5b1cb5cf4d2b3
+yuv410p             1ca711e324a80bbc526366b7fd421618
+yuv411p             e3ee92579c046e6418c20d26f4f17a3e
+yuv420p             c3fd64cb5adc449d6e8328342f665219
+yuv420p10be         e7be4cb1a03f9d616e81f2445b30669a
+yuv420p10le         5d81114f8ebdf36caff175350db8441a
+yuv420p12be         514b2e73fbdc8299dc8f764e322516c0
+yuv420p12le         fc72ce1c4885dae526aec3b2e67b9299
+yuv420p14be         156709ee6930cb416f9540fa24f992f3
+yuv420p14le         f33b8f6912db7b9571c17736e6ed6a72
+yuv420p16be         d3106fcbed04188bb4711233f500c28e
+yuv420p16le         c0143e1f18dac01be240e661c863f6fb
+yuv420p9be          ba95ec7e9bf7f40a316968a290b23203
+yuv420p9le          96c8898f10884be0a695354ef3aa18be
+yuv422p             03744547aeed32cbe2a144a28ec47f84
+yuv422p10be         334ab1e586aaf514816e9b887bae6457
+yuv422p10le         5e398867fdb8084f2620246a6d13c8b1
+yuv422p12be         6c1f4483dd858d99354233e2028cee73
+yuv422p12le         22c12534df2a3ecb06583d2b1f10fdee
+yuv422p14be         53aa0ab2875c1e31347b77f5ea9d7f1c
+yuv422p14le         3f099f8b545d3fa855268a37c204c2a4
+yuv422p16be         165dbc7bf56e60fa075fe62cfcfa0fd0
+yuv422p16le         7cebfa3b94b9e2c8c23cd5e71f58ab5d
+yuv422p9be          40088aa80a348e8385304a616a3bf42d
+yuv422p9le          34ca781ffaaaa21adb9fa75870fbf4ee
+yuv440p             cf900a7c4ff922332eb9e501c010f2e9
+yuv440p10be         3b136ee459e99cb26549bc720afe7f06
+yuv440p10le         752f94477c31c0d04181b98623be8975
+yuv440p12be         4b0924e6d31e057379d5073dd6bede45
+yuv440p12le         da5980b5cb1e9ba5d5b5037a1da9adde
+yuv444p             abe5e73b8578fcc07eb60e6701d7be3f
+yuv444p10be         43133de7cab2dd39310812c4510c0bfd
+yuv444p10le         e0d3dc9f375d5ce08fcaeaf83c400135
+yuv444p12be         c631c1810924a584f74c5570407e7506
+yuv444p12le         0152ef7e04c6207cb1dfa0b1249494a9
+yuv444p14be         3ee36173d83a0c53205e95e038874ce1
+yuv444p14le         496b31b1ed83bb0f9e42e0e80230bd07
+yuv444p16be         88c12b3b6bda1b705c34e71b9f357f71
+yuv444p16le         7351bd6abd9f9086f5d73eb6cbd985f7
+yuv444p9be          36412d8c4bb913774554329573669351
+yuv444p9le          b51afe37ade2c08a98718c42067957b5
+yuva420p            da4c28f49457c39448942b460bfcfeb4
+yuva420p10be        279a67256836419e8b163a20f85d37f7
+yuva420p10le        f07c127872a7ecd852f23476448a1f99
+yuva420p16be        19acea5c6453b88696d9ccfa2e315a29
+yuva420p16le        df2324821046bf5bb1f2b2f0e7af44ae
+yuva420p9be         e6513f9f284e87ff38543455fd55d62d
+yuva420p9le         53408ec02053a2083bba273a79e268a4
+yuva422p            0fc87a64cb269999cc696c75cf5c4a31
+yuva422p10be        32e539cc5c5e3f6e4d8a6198f9d39ce8
+yuva422p10le        892fe8cca35a0e3647109b4f17f4fc09
+yuva422p12be        ff847ad3cb81052a72130d460a8794d5
+yuva422p12le        9cc9c28c73369da2867ee56292416f32
+yuva422p16be        b30b0e4f5880190d4bf863293a3772e2
+yuva422p16le        c4697afb5cc697bbac9b0ecf358cd809
+yuva422p9be         870df33351fb36b3b8e37c217cbe7d0a
+yuva422p9le         4c6e808e10c867951e4ed431cdc36ef3
+yuva444p            62f5ab1b9134157c4871e3dd94ec6988
+yuva444p10be        ab534b95a709d30ff089baf50f49839e
+yuva444p10le        f93ed9a1031f79e6507cbcc8803f63ff
+yuva444p12be        6afebe16b89f1becbfdde7f9a5fd82f9
+yuva444p12le        288606d5ed304075ffe923b2be583b94
+yuva444p16be        6336a60f0783d09d27b066cfb3286bc1
+yuva444p16le        e50e5cc353eefd53af06d087786ced85
+yuva444p9be         f2494991551b4c84d10d8cbbb29c0ee1
+yuva444p9le         055aa364b5e95cf4909814c92749199c
+yuvj411p            c9999bf05639946179eb72cc9043a514
+yuvj420p            2f2d89bb92bda17085933e98ba8c4a20
+yuvj422p            c7b8d86889159dc1c0d623da0f76b810
+yuvj440p            920a69d53ae9d86781b9cb1647943e24
+yuvj444p            b1b8f84c9ac3c125c3114d0aeff8b6ff
diff --git a/tests/ref/fate/filter-pixfmts-field b/tests/ref/fate/filter-pixfmts-field
index d59c982880..a0d65558a2 100644
--- a/tests/ref/fate/filter-pixfmts-field
+++ b/tests/ref/fate/filter-pixfmts-field
@@ -1,153 +1,153 @@ 
-0bgr                8f34406a8e6f293b6468b6941d8944e6
-0rgb                e2c35753a2271d1f9455b1809bc0e907
-abgr                c0eb95959edf5d40ff8af315e62d0f8a
-argb                6dca4f2987b49b7d63f702d17bace630
-ayuv64le            d9836decca6323ba88b3b3d02257c0b6
-bgr0                1da3fdbac616b3b410d081e39ed7a1f6
-bgr24               573c76d77b1cbe6534ea7c0267dc1b13
-bgr444be            064887b4ca8f49cfb7c776057bc75c74
-bgr444le            adbbebc13a6a00db18a91086fe66e99f
-bgr48be             1516f1c0816ea22e1a7590b82b9762c7
-bgr48le             bce78fec940d8d22186418e42b5a4caf
-bgr4_byte           59d0a8b0ffd371ed645ef8a22304435d
-bgr555be            26371682da1569a7d979ce26096fc19c
-bgr555le            c31595e9ae64fcbd6147ef33b2899b28
-bgr565be            46e14950534befc7e791f65e66449bdd
-bgr565le            7f53bf9a2d3ab2badf50469e8a8e988e
-bgr8                47b2118262ad932cacf731cb66905ffd
-bgra                66d6e0846990fff0f09a07c43c3add71
-bgra64be            ec0bdef8663dc9d73818a48419cb4764
-bgra64le            9e2def541e51bc6e77fbffbff7fa146a
-gbrap               08a28b79dbd19246d1a94e3466af3624
-gbrap10be           29d46cbf021b233f5f1886e5d5fe21b4
-gbrap10le           4017c5d8c124438eb9aefa107db58d3b
-gbrap12be           e7f471132628b1c034199cc109b84bc2
-gbrap12le           886207e5aa379a0312485b94e5fd5edd
-gbrap16be           eaa0158f27ebc40cde9e3d6eef1e2ba1
-gbrap16le           6cf68992d4fcac2aa025d1014b669d24
-gbrp                838025a3062f7f31e99196ce66961ad7
-gbrp10be            f63c2555ea19fc78b00fd5b3e2b48e8c
-gbrp10le            be64c374ab318235d912372e99a0516a
-gbrp12be            ef164a1c062dc3572c61b9ef10897ca1
-gbrp12le            0527fdb6f75b1cb0d380809eb7a7589a
-gbrp14be            6aff3ad388e2ed97d59b71a75029746d
-gbrp14le            ed9ccbc7a4f3e269a2ec37d210359fd8
-gbrp16be            020eff1626415ea726c55b23162ce59a
-gbrp16le            0ab77b498d4a39905515b6e1f0329ed2
-gbrp9be             170da3a8644cbea61c3caeadc45354c5
-gbrp9le             da5d80e6f12cabaa7081bb85d3b7fd30
-gray                57fd8e6e00f6be8752726005974cce1b
-gray10be            437713f3d081238cddb738e106e5a27d
-gray10le            c749b80049b152f4ba3e66a72c0c5acc
-gray12be            d34c50810b37e6f97dffdf6a8ab958de
-gray12le            cf71b8fee47ce7821f3ae9f9b62ae39a
-gray14be            2644f330259d70793d789b8dc3c01226
-gray14le            7776a471945d303088012cbc2ff2a2d0
-gray16be            e1700e056de9917744a7ff4ab2ca63fd
-gray16le            338de7ac5f7d36d5ad5ac2c8d5bbea68
-gray9be             25e50940fa300a8f09edfb6eba4fd250
-gray9le             1146cfc1b92bfd07ed238e65ffcd134f
-grayf32be           72fbfa47b2863658a8a80d588f23b3e7
-grayf32le           6b856bdbf2a2bfcd2bc7d50f109daaf0
-monob               2129cc72a484d7e10a44de9117aa9f80
-monow               03d783611d265cae78293f88ea126ea1
-nv12                16f7a46708ef25ebd0b72e47920cc11e
-nv21                7294574037cc7f9373ef5695d8ebe809
-p010be              a0311a09bba7383553267d2b3b9c075e
-p010le              ee09a18aefa3ebe97715b3a7312cb8ff
-p016be              a0311a09bba7383553267d2b3b9c075e
-p016le              ee09a18aefa3ebe97715b3a7312cb8ff
-pal8                0658c18dcd8d052d59dfbe23f5b368d9
-rgb0                ca3fa6e865b91b3511c7f2bf62830059
-rgb24               25ab271e26a5785be169578d99da5dd0
-rgb444be            a05fabc91e485ec02461be900cd72ef3
-rgb444le            61825e18081a86c96cc407f5e6105f28
-rgb48be             425b90bfe7d2c944921c3d224eb383f2
-rgb48le             33202a1d6baa93c5a29d88eeb47b5f04
-rgb4_byte           d9d8b1fc15960fc0b49edc7dbb1108eb
-rgb555be            ed65d5e935d38d7da789adaeb07a72c8
-rgb555le            c53ba385311e57e75f6919aceb7eb689
-rgb565be            692136248339f1ac903932d48b8f3311
-rgb565le            d0f227a59da3208567485aa79679fe8d
-rgb8                62c3b9e2a171de3d894a8eeb271c85e8
-rgba                ee616262ca6d67b7ecfba4b36c602ce3
-rgba64be            23c8c0edaabe3eaec89ce69633fb0048
-rgba64le            dfdba4de4a7cac9abf08852666c341d3
-uyvy422             1c49e44ab3f060e85fc4a3a9464f045e
-xyz12be             d2fa69ec91d3ed862f2dac3f8e7a3437
-xyz12le             02bccd5e0b6824779a1f848b0ea3e3b5
-ya16be              c0ce74d2a3da641ea634a3898dda7455
-ya16le              9b098d425e5bc27fa8a8ac8b176d592d
-ya8                 28cea4f98ed452bd3da9c752e5e3399c
-yuv410p             a85920d6bd26f51306e2ecbe71d1c554
-yuv411p             9106e283d5dbcfba01c611886d58871a
-yuv420p             9ea8ed3c22c31c0354b7face540bb280
-yuv420p10be         c6e76d651b991c0814a3047b2b3a517c
-yuv420p10le         3bf226b758c0b53b893729d97e7bc602
-yuv420p12be         8d63ddea0b9a886e859fec778d72a1ef
-yuv420p12le         f5b6dd8cd8b62fce64deac95aae916ef
-yuv420p14be         dda2c5c09b72b41a19943b3832ddd2d5
-yuv420p14le         e79f827393fb9344190bacacffe9978e
-yuv420p16be         62d08d547f857b254c1d31b5c40b20a6
-yuv420p16le         4ddc458e596c44dfe007ca0c8b211e38
-yuv420p9be          65f8350de025dc8e6608bc21bf50c88f
-yuv420p9le          e9d061aad8e0d07226d41421797e6cbf
-yuv422p             9bd12ab1efe6c3fe6d9f639b97b79c7e
-yuv422p10be         6dd930ff81b89b71f6cadf757e0e8b3e
-yuv422p10le         5e314f06833b5016cc5cd76c611f7a48
-yuv422p12be         71c75f56a518f07be9946cbdb38b1d45
-yuv422p12le         1351d615ca6a97f206d04b9c4bb2d130
-yuv422p14be         d3d1d29966b9737dc8bbc31c6d215c9e
-yuv422p14le         3ba9d5d2a32dc3e0ec025100621e20f9
-yuv422p16be         ed49651e67f96c34649762f4678091de
-yuv422p16le         c7a8ad6f7aded288ca2d16c6e5d73026
-yuv422p9be          cf48ab1346f7fef1b983b8f01b6888b3
-yuv422p9le          b1b7acc0afe050fff93141e2e3c8f040
-yuv440p             5100aaa0d8b30f0eea8825fe9ae20b42
-yuv440p10be         4456a712fbf663d3eb591dfec7c0556d
-yuv440p10le         a71cc3c1b47f6600717421bc88ba1c43
-yuv440p12be         735964fdb80852e971ccb4264ce7d822
-yuv440p12le         a529385f94a4d46fa339746693975d99
-yuv444p             389eda40a7a3bd5d3b280b448e99f27e
-yuv444p10be         80b1cf057149a1f7dfae1da061e00523
-yuv444p10le         cdd8ba90dfc7689e0771dc36a70db433
-yuv444p12be         caaa959ed39a74dcec478f23690f5ffc
-yuv444p12le         a7965a51a2e45723f650d1313f2aa356
-yuv444p14be         18a46dde1fafcc7bbc6ebb3fd6681e7c
-yuv444p14le         90058811cf9c35a4ddfab367bea40c51
-yuv444p16be         1ff6ee64bcc33be585712e86359430d5
-yuv444p16le         9fc18b0a156d20503e3bac4823277adb
-yuv444p9be          e83171709ee786a5859aeab22d8ea4ce
-yuv444p9le          cca7482f37778cfb440f22355e47e9b1
-yuva420p            ebd72004be42de4743ca46fd81947b56
-yuva420p10be        5e000937fce49360850bc10d8083f798
-yuva420p10le        f16bde9ed6d8bd015d59b2e8e248ab31
-yuva420p16be        f29675ea983d3a2a28d648f25d2f79c6
-yuva420p16le        b5f41c7abf5b7baf5754a5ade5a6f055
-yuva420p9be         dbf1a242d3277c87c07fe7b4db993869
-yuva420p9le         00d48d3b1b0383b92ccdb26543cfb7f8
-yuva422p            801bfb0d4c9e7a524d97bfa11f7995fd
-yuva422p10be        a0d743770698deea2be35ceb2bb0eaad
-yuva422p10le        6a0861e5c887f3213dc34d8674611950
-yuva422p12be        87dc9f7efc97d5e1bbea7564eca62a2a
-yuva422p12le        137f75ade26b6d631d3998127e411a00
-yuva422p16be        c870b697714221ef9168b6984294e501
-yuva422p16le        fef7d5f29dfec9ee36216b7a610b4b39
-yuva422p9be         83ff1ae035bb587dc59acf4121602dac
-yuva422p9le         75baca2a93a8e76b27ea208858213819
-yuva444p            cfbd995b538c34dee9c107ecf875b283
-yuva444p10be        de8b80b4c3a12624412530f09de6dd39
-yuva444p10le        04c93877f724a29b47bc8c0a10a3036b
-yuva444p12be        a9efd9944314bb7fc9ba359bc3446446
-yuva444p12le        acc831041bbf13e75636c0426f82aa19
-yuva444p16be        b10fd7c1b61ac22bdb285f0d91a390f1
-yuva444p16le        cac82ffc36b7052747407663fc5ed510
-yuva444p9be         a6f66d08b3370fdd90987a6143b7b91c
-yuva444p9le         8d0f0b0840096127613920984078ce53
-yuvj411p            0c7caab687fbd33cba04702366b6c401
-yuvj420p            c9bef7e5c1dba1024be992167806ef07
-yuvj422p            ac900a0f9854dc2a0ec2e016ff5487dc
-yuvj440p            6f0d66982a3b96efb341a512314317ca
-yuvj444p            d559f8cf2e68b0cd3abadbb2f3642dd7
-yuyv422             449ca8d4b5a28ccaaa342860b24aeb3c
-yvyu422             6b226a0d4fce5478294d3bd4ecfb46a5
+0bgr                53e0d847e65df316dbcfbcdb49cb5c4f
+0rgb                8ac230ceff6c626616ec86555c23eb19
+abgr                97f36b5f39c7e0bf090e41f1318b4a8e
+argb                192c01c10fb41f141a1ab2a6f596ff72
+ayuv64le            54c2b533dbf6a0df6706a365a57e64e0
+bgr0                909fb5ad31984193d17639e8e38f4037
+bgr24               92293b1e566cbaf97b0f7fcb7034fb7e
+bgr444be            5ece7c6ee97c10417659cbeb0ee31ac0
+bgr444le            ce55610256beb2fb42305db74d30ef54
+bgr48be             5a684d9d68f6f415e719bd223afe876f
+bgr48le             9f214a364c866ed1a7b1accc8632a644
+bgr4_byte           d15abd5221ca5ee46b10ef8a153e9335
+bgr555be            743a96b8e890bf29a2a8354ba5d3ab47
+bgr555le            acbf4686e578c7fded731bfc910a25b2
+bgr565be            872ce765c4d9888513fca6cbb9af36b0
+bgr565le            b84f8bcc073b0fb89a9ae2f9752194e8
+bgr8                8d953f32c62ea1ac7aefc675a6b9b982
+bgra                7603b32c8ad008fe882ff3f6a42f1ffb
+bgra64be            61349e63671e323b2e161d2eb25ad1c9
+bgra64le            dd7e239c9c4f58f5f5ed71d472abc8ea
+gbrap               5ce83b4e2fa826b5f1f6fe5e7b448378
+gbrap10be           5c78dd44346b82d0cfa7b45ca50365b8
+gbrap10le           77c5a8cf67ddeb663115f6dc6f5c1645
+gbrap12be           85dc2a60d17a575402839dcc5e0e493d
+gbrap12le           659bec135644f94ae08e1a927ad13ebc
+gbrap16be           e772dbf353b9691b20442fb9f870b9f8
+gbrap16le           d3b110a229d8daab0c23b3113e852ee6
+gbrp                1842d2c2f391290fac060f08c2c4d05e
+gbrp10be            f8ab022e860840e615373525b1b2841c
+gbrp10le            fe66b6ffdfa59d5d16a5125687d07c68
+gbrp12be            6906c5830610ebe29caf4705afdc0e8b
+gbrp12le            d4270f68100fe4b96e4e5c33b9f46f7f
+gbrp14be            e60afd453d8b46e63bd29790f1c7215a
+gbrp14le            7b1fa99c1984d2dbab09e8084e22653a
+gbrp16be            66424a9e16289e8cde14c7b426277983
+gbrp16le            d5c55a9964027e4e47118a9b8e34f3ea
+gbrp9be             b6f9477621e1408aa2b32f181b9dea39
+gbrp9le             4ac974e876c29147224242df003ed191
+gray                9c19e51bdbf8f61f7f8cb8d1e48ab438
+gray10be            ce8b5235117dc60d0046ddc4f785f6da
+gray10le            3af864147a87759b16069be9a03917a7
+gray12be            693e15168c95abf5a6ac9a0660c819f6
+gray12le            dcee30ddb883031497b56f1eac0c2609
+gray14be            ec5da58107d9bc1f6a91ef0f654a7942
+gray14le            ccdb87a2fb3dbfe8189d1f42048ee335
+gray16be            64764e3657874fcfb66c0432faf79f57
+gray16le            eec41acc89d2cf3d22c95ef6ad154e6f
+gray9be             93a4c0a4d3764a2db5ef6ea6606a22af
+gray9le             e1c066ce4704002b18e01eb65dfe4eb0
+grayf32be           ce3eba1621183984e8447181d42cad97
+grayf32le           9942ad685942158842d0247a696f8184
+monob               6ef8681c59effc4ee07d4742a74fcca6
+monow               eeda0bf3656610677d53528b853f4050
+nv12                2a4b6bd583e1c98199058869536959c3
+nv21                e9cec97f0f91098af95d71c319ec8ac3
+p010be              5a1f05ef77843c305e8b63a7a731de1d
+p010le              5f33426e7888a0f76bd88c50a9dd5525
+p016be              5a1f05ef77843c305e8b63a7a731de1d
+p016le              5f33426e7888a0f76bd88c50a9dd5525
+pal8                91380a1bdb3fe4a4abdc0ef5eb814978
+rgb0                567bc0c53d3aa661b02d3f9a82108367
+rgb24               ec15ddd688c26c6920f8569bcfbaedec
+rgb444be            e5f96ef20a6735b7c936f70afc70d590
+rgb444le            887ecc6259ec67a680cca620e1c4773f
+rgb48be             6540be1c651997c0111657e698bfca83
+rgb48le             449c1bc5ed14230823506f196010879c
+rgb4_byte           c7b5d309aa862e1797f41fa81bb401c2
+rgb555be            8fc4b07d9a72e5a2b4f55f035f8d9be3
+rgb555le            05a1b403242b7d7ce57e243bb8e6c598
+rgb565be            cea8d6e530e0dfeea0091daccff8222d
+rgb565le            9df90a14116660446d27670a01ef30ac
+rgb8                7f219d30ca9cb7822480ef2da4524ced
+rgba                c0406650dc6ca0411b36d8a1532f6a78
+rgba64be            852daa19c6f1e47bf5df630c845b786c
+rgba64le            aa29bd29629968d354aafb4a647aa189
+uyvy422             2702efad63bbdd5f66ed1cc145724e11
+xyz12be             e78a0364524cbf133acdc4bd66582183
+xyz12le             69ec16bb9668aca50db4050f339d2f08
+ya16be              c570231fc8e9f6274b22965eddd4488a
+ya16le              7a618aa4958ccc79a72e2bfd5d7009ad
+ya8                 356ce44b91ef8996f2d375ca3159d7ff
+yuv410p             590e046040315bf4ed663a7a338fa082
+yuv411p             f7fb60b6d183bd2a5ded6f5dc707dd1e
+yuv420p             03bdbf23935cc278ebf4ce3f34e37adb
+yuv420p10be         0a91145e71256e532643fca2178fa51f
+yuv420p10le         8d3ec6a8ed6e0e50081c3aef9c0aaf57
+yuv420p12be         c0ebd37d653d64f36fb370a311eea694
+yuv420p12le         51c7fbc100d621c6b61e71b9ce8ea6bc
+yuv420p14be         9d940af1d1faca5d33128771d2fbd669
+yuv420p14le         0143d80abb75556f64661531f5a3891d
+yuv420p16be         bacde373d6381c9e1cc134aea38aefc8
+yuv420p16le         a43f2efd5fadbe04da675e8c413d5d12
+yuv420p9be          8a6c85118343cf58770ed4bd1418d748
+yuv420p9le          40075325d43cccdc543474d057f75f3a
+yuv422p             809cd2ed75eeccf308b3dcd227f077b5
+yuv422p10be         9379dbc1146df94d3ec6a94e4597518f
+yuv422p10le         752017571080db1fcfb9a670df357a70
+yuv422p12be         27f12de580f3f8fed2eb3be366d44b79
+yuv422p12le         d9997976cb3da701c70bd49333b4213f
+yuv422p14be         840b172a7ca8bb253543c04fb09dab2b
+yuv422p14le         7fac86dad3822ef98049940bfc50867f
+yuv422p16be         c3cb6645a22c3cf29c2ec3d8e58029ff
+yuv422p16le         035d73820de01eb01378c832c0dcde9f
+yuv422p9be          36918dc77c1449cce30704ae9e370abf
+yuv422p9le          5f27b6d03eafbab74d65f7fb4fccbeb6
+yuv440p             44b55cfa5702daec535db8854c2edc8a
+yuv440p10be         1001805bb302f6006d8c58d37da427e7
+yuv440p10le         6bf612e17ef9c930c20b1f56ded55f99
+yuv440p12be         033a63561a7bd60a829e17dd798d547d
+yuv440p12le         b7041b0bb53cf05abd77441a7c49cc73
+yuv444p             db0f751fe084fd2d04cbfe6b57f027f1
+yuv444p10be         28adf8de934834332d0e810f86dbda46
+yuv444p10le         fbca7b49fbd9cbf9b4df33faa5e48058
+yuv444p12be         f5a0fd23d58beaa4becbb073914dad88
+yuv444p12le         d78ad73d5f31358941f10a375997018b
+yuv444p14be         1531a3ba10894e3cf25489184b38570e
+yuv444p14le         3faa893a42db45dc0cbd00f12924c0de
+yuv444p16be         26add1b86712766690ad16aafb4741bf
+yuv444p16le         1192c2dca4dd0e37e4fed1be4a4b69c5
+yuv444p9be          4610e9a9274ada6a5034ee7d0b3380f0
+yuv444p9le          9c881173123bb21f4f0604fd45bc7391
+yuva420p            72fe2d5d550d5c83967d42688c845acd
+yuva420p10be        5f9510688341c089c287a7e8fb765d5e
+yuva420p10le        afc27be5032e0ef3d1871d2604576764
+yuva420p16be        2b26d8693a4519a847f0b965804f04ad
+yuva420p16le        9237a8a06b75de40501c318855d0fe79
+yuva420p9be         cf4b01ca86e56dfaf98b1979df91c56e
+yuva420p9le         0b4f46d41cf132be0857e32399550321
+yuva422p            e8589056cdf9a8f0d52c97be1f7b0879
+yuva422p10be        fcd4c080bc14a6486b0f6dc340442254
+yuva422p10le        2fc80fb9c69b2a9a71eb8aff8386c5b9
+yuva422p12be        4f32530c248927ad211440b53f7ae2e9
+yuva422p12le        af5bd18c6bee8271f46cf12db8287301
+yuva422p16be        a02e20b57d5aa83590858bc4781c44ca
+yuva422p16le        218e860a7c7ba4fea17a8e3afc5a5aa6
+yuva422p9be         8fbdefa848bad35493145718c1b4399f
+yuva422p9le         b2314e40f7b0ac193c0f1c4c7bee8cf5
+yuva444p            9d42a1f8f611137083a288316c254e70
+yuva444p10be        d347f5ba3a7024483755ebf1a3137784
+yuva444p10le        197f05b22faef0c9ed6f38d4ef61c383
+yuva444p12be        f22831671f5159a82144e6a5430c99b7
+yuva444p12le        445c321683ba8e6fa938dbd0d9c0d16e
+yuva444p16be        0d3b7acd1f58e4bc37265369afc46806
+yuva444p16le        83411e72acbd9890ea386257a1c11662
+yuva444p9be         5594fe522c25ed4ac62888142d521dab
+yuva444p9le         76116ad3c47dd2510b28f42321445413
+yuvj411p            ea1e059f1c4c1857295c2e1beceb05b3
+yuvj420p            cb60cec98787752e47e037081adc0c41
+yuvj422p            9e729725cd1a136020890ce54c56bf8b
+yuvj440p            b87489661db9a8dee4558d9544b93c96
+yuvj444p            36c2b6838a3e157b6c7e5dd1f28cb596
+yuyv422             bb777317abd86f14b7624fee9ed4f65c
+yvyu422             1d600afee54542c5e3aa0d131cd22818
diff --git a/tests/ref/fate/filter-pixfmts-fieldmatch b/tests/ref/fate/filter-pixfmts-fieldmatch
index c3165b872d..a997a5863d 100644
--- a/tests/ref/fate/filter-pixfmts-fieldmatch
+++ b/tests/ref/fate/filter-pixfmts-fieldmatch
@@ -1,5 +1,5 @@ 
-yuv410p             a6c9b4065e8253d8120772f69be0bf04
-yuv411p             b913e634ad37ce046240252bed8681fb
-yuv420p             a9286560141eb14595e427dbe5829b00
-yuv422p             11ad22ce00c5e8a30d0472f29fb15434
-yuv444p             6c5b0c1343d625d0656b6755906fd874
+yuv410p             c2138b9b7e980ab3c8e406dbc23e74ee
+yuv411p             f2ffb14edd7484cd02a4cacd2e53896f
+yuv420p             4222065c2b74c147c716b5e971505cd1
+yuv422p             1f78025821eb9bc31ff6eb646105c84c
+yuv444p             fb40ac7f6914f9d765375951c8f3154d
diff --git a/tests/ref/fate/filter-pixfmts-fieldorder b/tests/ref/fate/filter-pixfmts-fieldorder
index 1996649e10..279f786f03 100644
--- a/tests/ref/fate/filter-pixfmts-fieldorder
+++ b/tests/ref/fate/filter-pixfmts-fieldorder
@@ -1,118 +1,118 @@ 
-0bgr                955efde1695e9f4da276622e462ea9cf
-0rgb                2b0f066cfa0bef378a492875d541de8f
-abgr                832924b5351361db68dbdbb96c60ae55
-argb                80d08e68cb91bc8f2f817516e65f0bd0
-ayuv64le            84ef6260fe02427da946d4a2207fb54c
-bgr0                d2c676224ea80ac3ce01afde325ea1a0
-bgr24               b7fdbcd10f20e6ea2d40aae0f329f80d
-bgr444be            ca5acc0d5315d6d9f4422337c6f20842
-bgr444le            8a82dc31d4305abb60825c54e07c1b09
-bgr48be             b1be092ef916a204e002606cf83240fe
-bgr48le             3e64bd2ad45de53a780b2bf546fd5343
-bgr4_byte           319d0fda198978f05e0318863d10bc01
-bgr555be            686b1f3318a44c48e2ea473c42d7d90a
-bgr555le            113908a73bbef613f68706be3352f404
-bgr565be            b0aca25c2de20dabce53cc0e6e27b8aa
-bgr565le            2e00c326499c8475ffc6aca5476ad422
-bgr8                cfc405aaf0162b4edfe9b3e047c5624d
-bgra                5967b559257dbb6784f93b9d2bef4edd
-bgra64be            64a4ec15bc35ede2018f650b50c2429b
-bgra64le            5029192d0f32383c9f25f8e7da7cb5a0
-gbrap               00afb65d44bea99c31b318fdbeb3be10
-gbrap10be           8b27254a69cd0e25fa55262a743f95e6
-gbrap10le           52278021718ec370903dccc923dc8bf6
-gbrap12be           302b353dff696ec9fd0d85a0cc14802b
-gbrap12le           ae2d6db2c9c825f06d92389de21263d2
-gbrap16be           52c10d8046d123dfc4a478276906467c
-gbrap16le           2317737b8f5140add27d121de8f5ba95
-gbrp                506dea2fe492e985a396d1b11ccd8db3
-gbrp10be            55bbfe2d472780dcbadf3027778caa0e
-gbrp10le            13a39077ab1b2c3b49afd3e250b84a77
-gbrp12be            f1b59334c687a39ba076fe47e6ee9515
-gbrp12le            e64ab4d290eb10476db165054720173f
-gbrp14be            b3806ade527ef7452c29106054946cd1
-gbrp14le            b01b1a05d8de36f51a133d25102fe1f3
-gbrp16be            f82e4bda468275f51becf70f3880be52
-gbrp16le            c7813a905f94aabb2bcade79c9b7e39e
-gbrp9be             b8d294d4bc81ceef1fb529e917c02e48
-gbrp9le             0d42cc9e222d806c33172781b45cb3e3
-gray                d96e0f1c73d3f0b9506d691b5cd36c73
-gray10be            c26c73de96b630f1207ff589b6553ebd
-gray10le            16e4db1d611ec3fa5c9fd8fbdbf1ffcc
-gray12be            1c3285c150e1dddcf0fbee405cfb068e
-gray12le            a57b6199f5690add0ac0150fa95c4988
-gray14be            1e3d0d0421cf84eac93d7ab1964207ff
-gray14le            04899f53627203bd1fe3f17fb0de199c
-gray16be            293a36548ce16543494790f8f7f76a05
-gray16le            84f83f5fcbb5d458efb8395a50a3797e
-gray9be             ec877f5bcf0ea275a6f36c12cc9adf11
-gray9le             fba944fde7923d5089f4f52d12988b9e
-grayf32be           1aa7960131f880c54fe3c77f13448674
-grayf32le           4029ac9d197f255794c1b9e416520fc7
-rgb0                2e3d8c91c7a83d451593dfd06607ff39
-rgb24               b82577f8215d3dc2681be60f1da247af
-rgb444be            1c3afc3a0c53c51139c76504f59bb1f4
-rgb444le            afced429728bf94c0617d0c031e356e5
-rgb48be             dd9db831fb640b113bd9531f3f19c226
-rgb48le             ef45b68fddf5e4d2e2ab3c08920dae64
-rgb4_byte           e9804cb4aa572a40ddf3204e9c2c4566
-rgb555be            b4ef7a0ad6f45b329a1ece563617c557
-rgb555le            bcc3bd31b2df8180341fa0e50b70852b
-rgb565be            d9b1e8f52a4044b0019ce56f6bc2242c
-rgb565le            eac5262d84669b2af28e9357660dc912
-rgb8                6deae05ccac5c50bd0d9c9fe8e124557
-rgba                1fdf872a087a32cd35b80cc7be399578
-rgba64be            5598f44514d122b9a57c5c92c20bbc61
-rgba64le            b34e6e30621ae579519a2d91a96a0acf
-uyvy422             75de70e31c435dde878002d3f22b238a
-xyz12be             15f5cda71de5fef9cec5e75e3833b6bc
-xyz12le             7be6c8781f38c21a6b8f602f62ca31e6
-ya16be              205d6a21890c1f057c9c20fbbba590e2
-ya16le              f35616fdb5d3fbf767a4f11118cf8ad1
-ya8                 055ac5ab5ff8533dd319edc17a398af1
-yuv411p             e4a040e0e786c4dae07d9d3f90a54905
-yuv422p             16ce67249c6ce7ef57a433646ad6dfc1
-yuv422p10be         62ae323dcc41aabf8ff6ecc53b119ce8
-yuv422p10le         60b20ad8c01ad7ea774ce1d74d8932ba
-yuv422p12be         7bcb3e28323dbf566512b5b8a1d33380
-yuv422p12le         5877624df10122dd51c173f814bd5414
-yuv422p14be         8bd7bfb0b35d68000ba57af66958ef2d
-yuv422p14le         471c7528e3da240d0a40f33548cbfbab
-yuv422p16be         8c193a8b6064e2379b2fb211cd2e6e37
-yuv422p16le         c949614bec06baca5ffca840b164eacc
-yuv422p9be          b615f4e767a287e85be97dd52371ba5e
-yuv422p9le          c9faffe2fcb2e30be5d792412b3550b0
-yuv444p             1483374f69c4bbaf9252ce255fc84feb
-yuv444p10be         2e5caee508692869141bd9649cc17f64
-yuv444p10le         c0ceb41ad4c2ddc454f3fdb9cda2d8ad
-yuv444p12be         8729565c21a9d8f1e7a87d81d0aa4a54
-yuv444p12le         d4786cb4b1e79b2af1493e01d685282f
-yuv444p14be         33f1cf5233f57582618390ea337e83c6
-yuv444p14le         7d9fc358232488f671d663d27875f3c1
-yuv444p16be         779ea70979e735d3074fef0466792681
-yuv444p16le         aa893d9b1857b68fd1c5fc42236d7816
-yuv444p9be          fd0ae3b828d40e2638ea0640bb5cc168
-yuv444p9le          9bb3dde9fadb3c03a0ef8305b5f67a7e
-yuva422p            c470da57cde22b452deb8874df710dce
-yuva422p10be        a2ffa080ae661c1033aa38be28002922
-yuva422p10le        a4f5e8006f8ea3f964206605045e0fe0
-yuva422p12be        ec44f9fc083d5f39051f2a65daea6890
-yuva422p12le        5fd785e19f68538ba76e6e505447239c
-yuva422p16be        929ec5d4bcfac13ba8a02f12e3f5fc7f
-yuva422p16le        7155a6036e25719f2e4d2d47212f077d
-yuva422p9be         b1af62d553d790e041e80cf89608efe3
-yuva422p9le         65c80faeb0021deb232ee451f77c89e3
-yuva444p            9ac54882677f1fc5553a97ea558e942d
-yuva444p10be        3326267d176a8dfed2c7511b926962e6
-yuva444p10le        bfe957d1b5fea3585b3942cbfdd529ad
-yuva444p12be        ecaa57b7f0b04c3e8779a5f5dcd23032
-yuva444p12le        6b645eeaff8363d82ff686b3b020cae3
-yuva444p16be        2f80d411847856e1364659dee8b23485
-yuva444p16le        5796be8d66371b60037fc8053c27e900
-yuva444p9be         a83599c0e9fca08f6b7c6e02c2413fcf
-yuva444p9le         390fcd8f72ee407a8c338667944e3f72
-yuvj411p            73fa99cb96d2f7171bff15bc2e43d963
-yuvj422p            d5e67ce1db5347cf3416069286359f57
-yuvj444p            e915da6b5aa0ee5298771ba0ca187cad
-yuyv422             a923c5bd4889bec92d872237f6a578ec
-yvyu422             d7a8697f1f5e6a2a27b0df17811b2613
+0bgr                cfe6d78e987fa292224f235fcf1911ba
+0rgb                05f49f14d6d86f99b3fa8480e7eb2f0c
+abgr                943bebf53f364bcce9af45465fc9f4ee
+argb                5d6bbf840d8df3f77aa4fffe4823949b
+ayuv64le            38f729bc9a85bc1fdb0fd32159558ec4
+bgr0                8b3c3fbfb20f278807bd557660a6a2fc
+bgr24               304a53d374ac77316d32ec1bcbcdf11b
+bgr444be            fb73d769fae007a740b870c256d41034
+bgr444le            7ead64a3d2a68ca9d050b96a64fc187f
+bgr48be             45d5eae2b5b95a2e87ddf099329868f5
+bgr48le             7a0850e3b1cdb7085e179d098bfc3034
+bgr4_byte           611c5f52cff16ba0e1f1cf9e06e0ef56
+bgr555be            79d2d4632fb33bceec58a3de27796680
+bgr555le            839fe8fa367530b5f69e2e1e13f29af2
+bgr565be            bffeb9c50d9a567390786beb93cc293e
+bgr565le            fa09f3b428492da1fee6482e64bd6486
+bgr8                23873e706862242553406bd39c6e0e6c
+bgra                2d57ec84cf5340257178768601632d36
+bgra64be            96d136ed4248d1e96ea59b9b44da2644
+bgra64le            175642411c985840d6bd4bc7f5f80fe6
+gbrap               e86382087dc5bf40358f1ad332833e48
+gbrap10be           9f28078ee28b0c21c873062d3fe063af
+gbrap10le           66c92ec301b6f1cabe0e47f65b429520
+gbrap12be           34d3c552a3b6c3c9789370915340fd30
+gbrap12le           c099eca61b676b5a76a64e583f6555f5
+gbrap16be           7a98d9156a1c7d175ebd5e356beea535
+gbrap16le           1f5615604b0bd9360e2d2b360d62af3a
+gbrp                6aef26e43314670477c9f98bb7432d74
+gbrp10be            8617643010dbde03a3cf8101a523a8b0
+gbrp10le            3e2546eb09283c9e4a87266e3c86fa62
+gbrp12be            4ed01002f5d0e8c88c332b195aaf19ba
+gbrp12le            d84a993c940a27a285a8eade25fb7f27
+gbrp14be            666890e830008b249be25fc0207b8b2c
+gbrp14le            c629495e78f7a43b0feac84c1c56d773
+gbrp16be            7ed41a76edb01f0048d10f73da64e7b9
+gbrp16le            4897ca8edaf0f512613f107015aaf25f
+gbrp9be             52f9aa879328abacdb95d09ea04446b4
+gbrp9le             93ad13d3917222221eb92a57826b2d19
+gray                7ed15958cb5b95cde7f3da26b36b9abb
+gray10be            b561d986d7a61794f08ed5d8d361224d
+gray10le            7ce4950377bbbfc426e4a6d266d4d855
+gray12be            12ac3d8a2f9568f605d87b5bce11d6b3
+gray12le            3b3a4260e07cc950e787b2c93201d9b6
+gray14be            7b450845e28952907cba261e20d19936
+gray14le            2de9a5ecc7aae7f5487626e8f107e51e
+gray16be            2753a87ca2446ad5bfd11e9074754614
+gray16le            f8ce48136e8b3e8573db792fd2819284
+gray9be             64bcfa1e0feaedcf79a445092a3bc62f
+gray9le             9d07af2a1d23b346b5c8acae6c1e55ed
+grayf32be           06f6012dce32b2d2657c288d53e6163e
+grayf32le           a2a4dddc4b6cc42e968dd314ae6fee20
+rgb0                7cb319d0ca9c67323d76954e63abc7af
+rgb24               c5fba19a81edd55950e5530375f11b16
+rgb444be            101e1ea1c3730d5d8d0716813bb0af30
+rgb444le            b67dc19a08107102c2cf2e662520059d
+rgb48be             6faf9a9a138891b7a822d9438aed27e6
+rgb48le             2d8372c8f7b2ded96e88aabb95d532d8
+rgb4_byte           737b2f1e23ebc997d4c703d5ccb8e9e1
+rgb555be            09797bc1530a155f2146ceba0af6e60d
+rgb555le            e83a0e8ebb38ef410869bd72a5093631
+rgb565be            a925159cbd6cb7370d397e08c5dd3c42
+rgb565le            a5324173941e4220a9e397c8cc1cebff
+rgb8                6b569b8f94966f1bbd6b2cda5de93d44
+rgba                943318e3b6f82fd9b7ebd8198000a4ee
+rgba64be            fbe445c85d2728dc551ada5d81009bf7
+rgba64le            d49e3c7a5a82ce73ed5f502ce09f3edc
+uyvy422             7e1edf6fa3e3a797b0faaad5ca12856e
+xyz12be             07b2349af8caf3f513d50510e55b0308
+xyz12le             f93f64347a995d5d4a036f892969e57d
+ya16be              a551beb28fc1585a39c505430daf89da
+ya16le              9f807c5f5529cd6f75c720b54549e3c9
+ya8                 6306b42cf4f023dee8a4a62216a54047
+yuv411p             5f0f738543012648a896c06f01100723
+yuv422p             7f0a549b062a6e2f3093decc2018fc79
+yuv422p10be         e5a75b590975465c044f47aa101bdc95
+yuv422p10le         62df1946295bd5e104dcac66e9dfb930
+yuv422p12be         a34f16b51ab1385d4f603f73126504c4
+yuv422p12le         7f8f6741e1c3194613df04c2e2281977
+yuv422p14be         f76443beff1482252dd5df4ee23e1ba5
+yuv422p14le         5ad20d2107f1fe33a763fd8fa95c5bcb
+yuv422p16be         98c0ab2e3898b4521af84106834d44d0
+yuv422p16le         7bec80950fc4e9fa30b89a4e1f26c3a8
+yuv422p9be          ae35f1af7a6c5cac9e7b5672b0764670
+yuv422p9le          5cdd47be5911bf35807efeb7331e44a5
+yuv444p             c92da2d744eda9caca8a42c484097596
+yuv444p10be         cf5f9c9e96fe7a04d82eed63c3a7c1a4
+yuv444p10le         1fa7bbd735bee3883d51ba0741dccc9c
+yuv444p12be         64f1cdd6ee5bd8acdcea6d60c41c1b5b
+yuv444p12le         f2d782f38b150afb2de461269db77d20
+yuv444p14be         45d6a8e52540a9c5dbef90163cbb501e
+yuv444p14le         4d5c3c8d4c56f6258a4cd617e55430d4
+yuv444p16be         11fdaa3d503b9df71177830213ece3ea
+yuv444p16le         cb9c07156febf2f7ee86854e4b063286
+yuv444p9be          59ea6555a1f94beeb64090a5feb3bdf8
+yuv444p9le          c737f638738057dc678b50c728eef761
+yuva422p            e45d243729a5cf6933f9ec8e7e5157d9
+yuva422p10be        82c54c08b146b6003868d8d933b14c23
+yuva422p10le        fa5217aa56d68e209a2b7a0fc5101f3f
+yuva422p12be        bfe7134c79de95e8176054081683a7a7
+yuva422p12le        6d05199323f0942e06ca8177a2609457
+yuva422p16be        63a1ddac7b981b93a25c5948135ccd73
+yuva422p16le        b62748e08dc9501432b3cdb64f09b6a6
+yuva422p9be         443f5373e0dec52db1a688b34c40ce42
+yuva422p9le         0d09a9de48f422fad1faeabc2901a202
+yuva444p            ceb123e187d1a83f22fca79ce494be02
+yuva444p10be        f6eacadbaa7746386b63787bbebcd28b
+yuva444p10le        ca6be434e4540957ddac2f97069dfc1e
+yuva444p12be        44fb1e82e04c0eca0deafc787ec135e0
+yuva444p12le        78949cd5cdbfafdf47c70580a038cd96
+yuva444p16be        308091c184ad72ce8155d99200128ff2
+yuva444p16le        b7aa63988112a951907c4e9a9ff2b321
+yuva444p9be         8d59f76be56e6e18aebda03cb72152ba
+yuva444p9le         37ee65be69423ab0f84e06b3f74d2730
+yuvj411p            9cbd039e79f3d621b4f22cafca31e4da
+yuvj422p            24c48c4f59224903cbf2dd4537a65677
+yuvj444p            e3136de9d906e6722fb182474d61d1ee
+yuyv422             3bb8cff119cf427bdec05fbc8cee62dd
+yvyu422             d5026e0456c4449904bf974670d59850
diff --git a/tests/ref/fate/filter-pixfmts-hflip b/tests/ref/fate/filter-pixfmts-hflip
index f171a95fa3..66f41a09c1 100644
--- a/tests/ref/fate/filter-pixfmts-hflip
+++ b/tests/ref/fate/filter-pixfmts-hflip
@@ -1,148 +1,148 @@ 
-0bgr                823994965cfb2ba4566f878c75eed684
-0rgb                ada57572ee2b35f86edac9b911ce8523
-abgr                d2da6c3ee72e4a89a7cd011dd08566b2
-argb                36cf791c52c5463bfc52a070de54337e
-ayuv64le            4cedbc38b3d4dcb26cdab170ce6d667b
-bgr0                66e9fda4e658d73bfe4fc9d792542271
-bgr24               db074979bd684ca4547e28681ad3f6ab
-bgr444be            63ad2fe7b4e44b11c5ca03b545a941ca
-bgr444le            a742195a606d5c3f1de795b499077f01
-bgr48be             e59efaa40ad1652c74a7c83aba43b4f2
-bgr48le             13c4f904e318356c96ffce911226cf83
-bgr4_byte           8de3494b53a459ab0f748a525e87ad4c
-bgr555be            2b491222a2807a112b404f2924ba0c3e
-bgr555le            533feb969289df2bc628d46816d1db89
-bgr565be            3094c0320e068305b35c57b82476370c
-bgr565le            d20c95743b957cbecd09272a630f22cb
-bgr8                67fb3fd116f0c0eb36d8ed03bdfbb0a6
-bgra                275f05a382bcbc9bc77c06b79e1d8a71
-bgra64be            1cabeafe9c21a4f7ccd976220f22ee5a
-bgra64le            1b15c01c94cf9af89273da1d1f994cff
-gbrap               bf6a2b2f206fbbb332a718fb570d7cb7
-gbrap10be           f188dc23756469cbdd172fe97ad58121
-gbrap10le           262f0501633ea4670020fae8ac6835e2
-gbrap12be           ffe9aa4cbcc42f71757efe18826764ac
-gbrap12le           88a85c1b3c5e19e299fdd209b73ac1ba
-gbrap16be           3117e84b258433a7efb9288bbb8815d4
-gbrap16le           3ad08cf8b49d8eb31a1b356ec4b7b88b
-gbrp                0ecfeca171ba3a1a2ff4e92f572b71cf
-gbrp10be            774398c2f81757a536c094f16cfc541a
-gbrp10le            e9a6434d691be541f789f850963da181
-gbrp12be            13d819d869f8e84aadca57e21883030e
-gbrp12le            22046339442c155fbb9b02ceff5e1c15
-gbrp14be            7e1d2f9d9bb7cc90d88540f36998acd6
-gbrp14le            91bb636f4e1f5d50312b136c185542e9
-gbrp16be            46cf9473646a4b9dbcb05661ade658ec
-gbrp16le            6ce6093b24d09c0edcd55b2d6fec89a0
-gbrp9be             174de037c2a9f2b6fb4d9444ae0ff82f
-gbrp9le             ba7c2631fb2967aa909c66509bd243fe
-gray                8bd4ece1dbf89b20ee785e0515356e07
-gray10be            160dd03e30d33379de92c70ee52c01fd
-gray10le            6baac1da6be3789409b67cd506afe7da
-gray12be            de7b5ef4b513e7e8270c617249d1cbdf
-gray12le            e8d0739ff61649bd82722b3134cbe776
-gray14be            22560aaac37f5bb2982819b752bf4608
-gray14le            d4b2f5e7c4bbd39130655b8f2c55f010
-gray16be            cf7294d9aa23e1b838692ec01ade587b
-gray16le            d91ce41e304419bcf32ac792f01bd64f
-gray9be             ac8d260669479ae720a5b6d4d8639e34
-gray9le             424fc581947bc8c357c9ec5e3c1c04d1
-grayf32be           a69add7bbf892a71fe81b3b75982dbe2
-grayf32le           4563e176a35dc8a8a07e0829fad5eb88
-nv12                801e58f1be5fd0b5bc4bf007c604b0b4
-nv21                9f10dfff8963dc327d3395af21f0554f
-p010be              744b13e44d39e1ff7588983fa03e0101
-p010le              a50b160346ab94f55a425065b57006f0
-p016be              744b13e44d39e1ff7588983fa03e0101
-p016le              a50b160346ab94f55a425065b57006f0
-pal8                5b7c77d99817b4f52339742a47de7797
-rgb0                0092452f37d73da20193265ace0b7d57
-rgb24               21571104e6091a689feabb7867e513dd
-rgb444be            38d6d0e9aa15ce95f3fffcde8437632d
-rgb444le            4c5bb6590def780c480abbe6a6349b1a
-rgb48be             dc7f3a98c0913a6defa56bf032590ad0
-rgb48le             a813a316f8b5d49340f64990f914e2f7
-rgb4_byte           f28c594e547d38166c2757338948e874
-rgb555be            316c7c1f785d8ba84dbe3eaa20591158
-rgb555le            07f561fec000bbadf6b732a358c6126a
-rgb565be            593c48d6214cb40f6472ebdf9f6ede1a
-rgb565le            ccc896ad1852500b7e72bb858860d747
-rgb8                68a3a575badadd9e4f90226209f11699
-rgba                51961c723ea6707e0a410cd3f21f15d3
-rgba64be            c910444019f4cfbf4d995227af55da8d
-rgba64le            0c810d8b3a6bca10321788e1cb145340
-xyz12be             25f90259ff8a226befdaec3dfe82996e
-xyz12le             926c0791d59aaff61b2778e8ada3316d
-ya16be              632b2e6e8e20c3edcfe99356fa7fca9e
-ya16le              e2ff5a2fb969c70dcc862937f9224873
-ya8                 4ad5920716de3d2fbbc49f95adb60345
-yuv410p             c49fd0c55c41185b1580aac77211992b
-yuv411p             c416371077dce13d31bf1dc706111ae7
-yuv420p             eb8d9f02db98e10400781428c43e9438
-yuv420p10be         5cd5c8181248b2dbdc7a8669caca3ed7
-yuv420p10le         95a92ee031fdb8812661c019d925fad0
-yuv420p12be         8fe5d344a1576aba7892e855d2790df9
-yuv420p12le         c0897e2b53c1417fcf0cfbdbf9f54163
-yuv420p14be         c5758d8062c61248110485243a75b712
-yuv420p14le         e283871dec73c853421d3aa098f071a7
-yuv420p16be         da4f5b6e537edf9cdea48a60defe520e
-yuv420p16le         4173d444fea2ea27ad03b3f92e982bcd
-yuv420p9be          be69519cbd3f3b9d02b165e6d675b4cf
-yuv420p9le          49eac58088b3e1cac170911382e2bb9d
-yuv422p             5aade4d118cd7243800a08d300033748
-yuv422p10be         a12d0957b703bd54cd569664b821ca3e
-yuv422p10le         8b6ac98276b10b7e540a5f689e5453fa
-yuv422p12be         b5d2142e6ccd9f69dee2c0643b14a741
-yuv422p12le         da75ea80662636c698986cdeab334669
-yuv422p14be         027a593f148a96ff9e37a35e55608818
-yuv422p14le         4c1de1ce4f199ab8e94a28bf79ecedb6
-yuv422p16be         3d4b525c8056b740a4afa5b86cd79cd3
-yuv422p16le         bb93ea91207d118811e2dfd5a48e223d
-yuv422p9be          5b41fff3b17c2934e1db61f0591fdfbc
-yuv422p9le          720ed60d583933c3fb8db6dbb2991dc6
-yuv440p             53fb331a853af01bed7f32504a1e5ff0
-yuv440p10be         38108067cdce71f3a8f51eee25e4ff5d
-yuv440p10le         a369c78eda4f46d71105c38ddc92b976
-yuv440p12be         2d5e61f399ecb12bfb66fdf20b37b4f0
-yuv440p12le         7aecbe06b7cd8c84d98af8cf3bb971e8
-yuv444p             0bd726440d90438ad357172fe1fac9b3
-yuv444p10be         c2e452fbe45f23c70525919154f4b81f
-yuv444p10le         90140d5f930fb2ff750fe18df990d0f3
-yuv444p12be         f858a8f0c55192ab69d356b97e0449bb
-yuv444p12le         22f099dbae63e6564f06e1cc32683a4e
-yuv444p14be         be4727c283bb3af3327f7b9dc57e51b8
-yuv444p14le         289f4d6a3d60ba654e8280683825ee9a
-yuv444p16be         acb6b001d445a628d1d0a2dfbeed078c
-yuv444p16le         cce4770e9e2c6d4104562490d6ffbbaa
-yuv444p9be          e29d58f528e7b36e3d7321e50f6a69d9
-yuv444p9le          587f7bd803aa09109e278fb7aa3e3971
-yuva420p            e910f0f5ed439a17fc3e61b42dec88c2
-yuva420p10be        2c3b83450c3155793a142ecd5d525131
-yuva420p10le        c49ac6b0e89564fa8243e0400adc37de
-yuva420p16be        8fbd18fd0d3b755dd311988856843b80
-yuva420p16le        cd647fd48bf5398a783f6ba6a6332835
-yuva420p9be         3cd29a8e3da6c6ab7538ecf987fb8123
-yuva420p9le         15e6654f50eddf97f852070d8dd8f009
-yuva422p            902dc911ee175d9b1f2addcc03aab9a3
-yuva422p10be        fb927978446e975f7424600495a7acde
-yuva422p10le        1d0b5a5946b824810b1b83a7ce429274
-yuva422p12be        5407e82d1c4356472ad549e5ae38ea1e
-yuva422p12le        5dc0e1910b248e12989ae937ddeec342
-yuva422p16be        88977e5ddcee9377525c3f251fdeb25e
-yuva422p16le        d6a50a91be5fc720ca97fc2f6fbd3bb2
-yuva422p9be         996d8d73648c602c73c51e2d95b6cf9b
-yuva422p9le         2d64684a8844967e9ffe827c04e3c917
-yuva444p            53247be24822d158c0866cd58d2ceeba
-yuva444p10be        9f3c25c3b9d26787d0bf8da2b15c75c6
-yuva444p10le        1721b843b721629da7a0cd76ac665708
-yuva444p12be        9feb6e1d8bfe9b7fd5e352465f278704
-yuva444p12le        12a949ebcf0f94e4a2f9915ef778680a
-yuva444p16be        635fb2720470e0042a7c9b70bf908a2c
-yuva444p16le        6d5bd13f8bb804bd1158c1af732a24e1
-yuva444p9be         3d3e7491192aa4e396015bf8e3755a24
-yuva444p9le         31727b34bc3d5ce726681e90557d39e4
-yuvj411p            70a0abb56a538376aff33c275584b61e
-yuvj420p            83af439c504d41f986adc17059b7fda8
-yuvj422p            daf02a72b26d17d1855b977aa04609fb
-yuvj440p            a4af7a9e3cff6cfc1c8924590ae69807
-yuvj444p            f5937e0183439411673d2ebf8df62e2b
+0bgr                713dacca3385f765f1b4b40803aa6603
+0rgb                6c7886e14eccf00da7e996078d6e4d67
+abgr                e4a3d99446c03605734687031299f258
+argb                364247201a431357708d26536afb0011
+ayuv64le            c14ef0310bbe52cbb5f3b4195a56fac3
+bgr0                d1cf6ba56330e77c11c33c089aba5df2
+bgr24               90c53ce51e83e33c1198880156ce8b97
+bgr444be            c11a86317087434ddaab8feb7d3e40dc
+bgr444le            15d5d0c8ebe3b66ef486c826b226f5ee
+bgr48be             9416ff9ee924368e223b9d8d8e18b2b8
+bgr48le             faf124fa546ef53817ee88544201989a
+bgr4_byte           5d5b9ca5c4a6fa45c5b1d6abf3b1dee7
+bgr555be            c944f9ab07ea30ce83bf3e7ffc0aa909
+bgr555le            92db52ff4f7e4633c222d722b2e11505
+bgr565be            b6dec42d8a4a42f1eed89d5d213820a1
+bgr565le            023cb37d6c5c39ba168026e67c138e3d
+bgr8                f91529a03e8f74b16b8a4beff2e7e8a0
+bgra                f7bade0c375750918e5225dba61d7725
+bgra64be            04846e08def3faeda406df68c1892f6b
+bgra64le            690dae48b0ce9f4ee654c50f09fa3bd9
+gbrap               c2ad2973de8454988508bf6adf68ae6a
+gbrap10be           d6ef4bafe0dcb223d8fe5372c78e5604
+gbrap10le           5f3310057d1ce5250f88f524a050e088
+gbrap12be           5795990b1182e4597a69307f71f9e78a
+gbrap12le           c4b84747dd6485a6b517707572ef875c
+gbrap16be           296b1e9de96f5c7af092c3dc28a5572f
+gbrap16le           16f5258cadb47467906b41a62b0f0d63
+gbrp                4832957f852e5d55440130c406c743d5
+gbrp10be            1955402ae0b448c09ff29ab5c21fff6f
+gbrp10le            50323358a37a94867b5e1c8bef7cad58
+gbrp12be            78388d1b3c8d7503db619afed8bc4739
+gbrp12le            92ba54ec4db39087a294b9c636b97855
+gbrp14be            04a328eb531f538656ffe75dbeea8848
+gbrp14le            02417e58f0b2e444385e8a5ba349ad8c
+gbrp16be            73b77fb56a55f7c91415ef00c96f6167
+gbrp16le            1a7ac79e2e89d00bbc92131f4d8bedc4
+gbrp9be             4ec57d384366687bbb1f4303d7f03653
+gbrp9le             87f391505d0741eff96039595e3a786b
+gray                61ec3758b800d81e01298eccafe85ca1
+gray10be            fd996d25337b1f4ee6ebc6bf5843349e
+gray10le            2609c8aeb1c5b93b02476ae9c8ebec62
+gray12be            028c046591226b99130cd0948c5056bf
+gray12le            9fdcd5af7427f38e32d5a05a5a365a50
+gray14be            89c1a6956777916f9646d573f193422c
+gray14le            da8c18e680eb040b1e1c971c04f890b5
+gray16be            2bf60ecc0d737ca731e458bdde55166f
+gray16le            1c5303561d225ff3420603e836796545
+gray9be             2cc9b1cb057c961bf4d88a0f424e95eb
+gray9le             b59b99582a1c42c6c7e794fbba4ea1a5
+grayf32be           6efe6dc7ca159def4d292e80baa80a5b
+grayf32le           baa7610023b463b310b1bdd6d495a11a
+nv12                46ef9abc9af7c47128d8468f3400be9e
+nv21                7df580ee7b278767d85ef0ad0658536e
+p010be              ac11edfe57e43494a865d84eb34b02b0
+p010le              64d941facd59bdb505372b4e0b318181
+p016be              ac11edfe57e43494a865d84eb34b02b0
+p016le              64d941facd59bdb505372b4e0b318181
+pal8                0804e345f73d9ffbc54c55cdc0816530
+rgb0                2eca29dd94eb54b9d7f1ebd7a31ea94c
+rgb24               fbe31284bcd318810b06ef89cd6d9ccd
+rgb444be            8ca88431d4962c6e2012720cfb0ab956
+rgb444le            e8f1ac2280b39331c626d46189a013b8
+rgb48be             5c73ce53a03227319fc886436e6874d4
+rgb48le             774a2cd249d20554d06d4f2441fdbd0a
+rgb4_byte           1ceb6fbf65939ad0e67a3a664cc68265
+rgb555be            4bb5f5c2d63b95037b1a8ee5370935e5
+rgb555le            ca1ca9cdb53a86ff85faa2e2d3f5b178
+rgb565be            e38867cec2b1bc3e52421c32af3d902b
+rgb565le            72ddcb7db4adb0d3576b1bd6ee9867a1
+rgb8                7e2fee6b4d52718cc50ff1a6a06ac498
+rgba                2df65beb371735f4d8f312689bb5b9ef
+rgba64be            4aa5490826dda5f6b3017dd72fcf7313
+rgba64le            3e845dd9a93524d0d089a47887713ee1
+xyz12be             42582dfdcfaa08e6b92230e414238b20
+xyz12le             46efadf4408b8a8e653060a4ee41ea8b
+ya16be              b1d904cd700b39d0af089662a5721aca
+ya16le              aed4372d1a98f6e9362f6495d6663af6
+ya8                 5f5dec9b625a16af587caec021e5210d
+yuv410p             15dde8b0177659bbf005ff7e6e374125
+yuv411p             890831ebdcbf5e2f7477dc09bee2b209
+yuv420p             f129ed5553689715724d82b887f44150
+yuv420p10be         207c360bb84060830fbd6bc45b45d0c4
+yuv420p10le         b36e90e1f47446c6d6c7d5c5bb0717ca
+yuv420p12be         54ac73b71ea91edeb761dd2c3bb925bf
+yuv420p12le         e0aacea0950fdf884e883a8072525a1e
+yuv420p14be         e420a0a61fdce5000c9927302864de8e
+yuv420p14le         66bdae6c5915bbfd88949698da30c939
+yuv420p16be         3c07146335739d4d988a0200e06ac77d
+yuv420p16le         0b658c5421dedc8d8a055764865c0ee7
+yuv420p9be          5e74e3b4a978249b3a2e0920d97ad638
+yuv420p9le          408c2a3981eae95959c622b7220933d6
+yuv422p             61402b2a9f81c0358fdebe92413369e8
+yuv422p10be         5439353147cadfefd90d07c22c78e022
+yuv422p10le         83222e41b1c2096fed084efb48ba8fd1
+yuv422p12be         b55fc867727731accf3bfb2adf93f282
+yuv422p12le         e998a3c224763819a3671dd24a81292d
+yuv422p14be         c0ba882a7d3fb5705d09168b2a4db76d
+yuv422p14le         05b90ca540c34c4363693918d97921b7
+yuv422p16be         a0a94126e326aba40b3176e41f02dde9
+yuv422p16le         030788d98d2fd87c855d93a29b0118ab
+yuv422p9be          363e2020278a8542263534addc3fe300
+yuv422p9le          b0eecf18c0e7e1285ab7f0bbd36e14c1
+yuv440p             16e6ce2dd78a175e855b38628641b24a
+yuv440p10be         7ffa66d543bc7d3d8cb90c0f2ad3218c
+yuv440p10le         6eda0cc1a327ea47195f3c549729b313
+yuv440p12be         be2fb578317f550dc5948da928cb7990
+yuv440p12le         ce59221b8ed0b74c37f085f0415a276e
+yuv444p             930567b75c8a086f1d2403a712e52e2d
+yuv444p10be         a5fa6e7f3779a1a9f5593c8860c9f649
+yuv444p10le         e573a8707301e39a18b152a14a82e823
+yuv444p12be         b90d9860cfb3d7718851ad6ac6380972
+yuv444p12le         18903d6fb0ab4581354701c1eec90939
+yuv444p14be         ec45321ddc0adc0ec5d5d5fee3480cf5
+yuv444p14le         b0f4fa129f30cd209fe465113efa0bbe
+yuv444p16be         9c478bb8438d93df71d42dca7c613488
+yuv444p16le         7572c22db136ae1c150f7cbaccc9abad
+yuv444p9be          329ed2a4ebe1c5334e99d5e6a32283b2
+yuv444p9le          dc9ebe7088b5c293713de0e22be821fa
+yuva420p            f435eaad5b810c638028c0be645b93a7
+yuva420p10be        fbe666e50d4821ce4e0b28bb6be19f39
+yuva420p10le        a2e3e459f098de6ac4ca97a57a91ea45
+yuva420p16be        9a1df15828bcc2e16bfec4ea2aebd946
+yuva420p16le        603359d6c324d247d1e938cfee20c399
+yuva420p9be         2118c1605269125c34e30c4f46e7818f
+yuva420p9le         cc267701a783b37d2457f7fe436abc6a
+yuva422p            ea125f3f80bbe82991bc525fdc460edd
+yuva422p10be        708ec874811b19f0579267e42a72c6b5
+yuva422p10le        1b8da1e58d4b83bfecd90a5855f076c6
+yuva422p12be        5b26ecbb4278b6faaaf8b388f8f9db0b
+yuva422p12le        d5f956bbc4029a269e44c50c6e1135b0
+yuva422p16be        6addf356019f65b2c99c50430209b4a7
+yuva422p16le        8311368181dad609be48115b3989bc86
+yuva422p9be         6c5538ab7cb826a5cf0b1fdcb7d42e33
+yuva422p9le         2a52948e2dc3172bb73a7bf8a55d5436
+yuva444p            dc71e2acea2f05cb4d2ab1408df4a16a
+yuva444p10be        066d8e5fea9add6f8e8daad8f64a0f43
+yuva444p10le        6e03290abef6bc7425db41217107e4c3
+yuva444p12be        fbede28ff1ad50ce635e3306aa7917e2
+yuva444p12le        8d98d362e48a97d01a7598d2c4edbbf2
+yuva444p16be        50e1a55f4b789f63bc25f7c241e0b39c
+yuva444p16le        064fa8deadf9c61ddda158314ab457b4
+yuva444p9be         988868dc6caf89ccede2df6bad35ea99
+yuva444p9le         2f299dd5359ffb678e226ad7c5cb9471
+yuvj411p            b4325c26c3d469f4f8796c3671849b1f
+yuvj420p            b1bc6cda7e1ba49afebbb1ccb5c72707
+yuvj422p            dad6558a63d9b0b79a1d488cb4a9edb8
+yuvj440p            93f7d68cfce8a01d5b2d031c760d2686
+yuvj444p            4eb531ecd1b09fbf6072dc37e0a7b5d3
diff --git a/tests/ref/fate/filter-pixfmts-il b/tests/ref/fate/filter-pixfmts-il
index 0839a77ed2..06a3ddc03c 100644
--- a/tests/ref/fate/filter-pixfmts-il
+++ b/tests/ref/fate/filter-pixfmts-il
@@ -1,152 +1,152 @@ 
-0bgr                501a8320becc400e2a72dc847003d82d
-0rgb                53efe0182723cd1dedfdbf56357c76f5
-abgr                97603869e6248a8e5d8501563a11b114
-argb                9e50e6ef02c83f28e97865a1f46ddfcd
-ayuv64le            6f45f683e99ddf4180c7c7f47719efcc
-bgr0                590dcd1297d1dd4541eea217381db604
-bgr24               73afe7b447b083a7c2d682abe8dd451a
-bgr444be            4fa078adc981fd07440a7b657c98c4c1
-bgr444le            404c22249a4222f3c086ef9ef79e090f
-bgr48be             6de326fc52d92c6a31d74378534d2fff
-bgr48le             d37e673d846e9ceb06641ba6d480db84
-bgr4_byte           f275df6bc1d33eb037b0f609bfa5a7a8
-bgr555be            e9007cafaf389f2895cf0e45079ecb90
-bgr555le            9d4d4c0c5e85eca0030e74ed873e9538
-bgr565be            bef8c77c32880c9eebe4507ebc3f2a6d
-bgr565le            8190c5275d8b62d997362f999b72be16
-bgr8                ef01593604512621b3d175f8b6c2ec9e
-bgra                e6ae08f06f157297296b319a249dddf5
-bgra64be            de7c036f20fc54d89690239cc6239678
-bgra64le            d1aa975fa03ce226008396b30a653420
-gbrap               575ff1fe5d7585ed82da1db35f106e4c
-gbrap10be           bafa57a2e4331d8a39f6f0087c85d4b1
-gbrap10le           553a1f439d8184dc400432d3f786fbce
-gbrap12be           48609d6b61ff6313939fa2d9c3ebb6d9
-gbrap12le           e3b5342c8e47820f2de7e2dd61872312
-gbrap16be           696c84c8b009c7320cad7f3847bb35da
-gbrap16le           9bacb81fbbe9cdfd04d71eb55a9719d2
-gbrp                dc06edb62e70024a216c8e303b79b328
-gbrp10be            321e7f061d8b9b5801221b6cf3c99666
-gbrp10le            799ed3afca01076439a0b6785b3dc4bb
-gbrp12be            7ca179ad8f7b018de48a48bdb0776965
-gbrp12le            c69843651e7e60e85c5e8a2fe4ecb290
-gbrp14be            5dc5e8131c25125347758e03d15b69e6
-gbrp14le            bf3d5dec9b58cecd4ca1c5d3a4d57c31
-gbrp16be            c8c95027703c680ed8f8f91c725db40a
-gbrp16le            c95c9d7c2b19826b73ff1811d9fe6bdb
-gbrp9be             f029d87fa642f4261160471ad27fd53f
-gbrp9le             b310d3cf37f7b41d706155993f8f0584
-gray                52ae18648161ac43144f5c9cd2127786
-gray10be            8400dec0eefb172849b785d35fc55674
-gray10le            b7d6e49e8d1291f2b0a57d55e9478ef1
-gray12be            c62bc3def5ea217dfb68433905cb9d64
-gray12le            5bd0fef836928e1e19a315782a8c1302
-gray14be            5b3a15c182e2daed65dc39c33fd62735
-gray14le            3573d6870b14256f01800066d36ad862
-gray16be            92c3b09f371b610cc1b6a9776034f4d0
-gray16le            1db278d23a554e01910cedacc6c02521
-gray9be             ed7db5bb2ddc09bc26068c8b858db204
-gray9le             2ec9188f0dcfefef76a09f371d7beb8e
-grayf32be           f36197c9e2ef5c50a995e980c1a37203
-grayf32le           8bf3d295c3ffd53da0e06d0702e7c1ca
-monob               faba75df28033ba7ce3d82ff2a99ee68
-monow               6e9cfb8d3a344c5f0c3e1d5e1297e580
-nv12                3c3ba9b1b4c4dfff09c26f71b51dd146
-nv21                ab586d8781246b5a32d8760a61db9797
-p010be              3df51286ef66b53e3e283dbbab582263
-p010le              eadcd8241e97e35b2b47d5eb2eaea6cd
-p016be              3df51286ef66b53e3e283dbbab582263
-p016le              eadcd8241e97e35b2b47d5eb2eaea6cd
-rgb0                cfaf68671e43248267d8cd50cae8c13f
-rgb24               88894f608cf33ba310f21996748d77a7
-rgb444be            99d36d814988fb388aacdef575dacfcf
-rgb444le            71b4b1a44e13d1bdb31f81b5f9a75803
-rgb48be             267ac00248129e735a917175b5cf0a82
-rgb48le             15e7d807b7f4ea68ac506dfc2db9146c
-rgb4_byte           9bd11ff523ea914bf0b26f8af7965054
-rgb555be            fd0be5e3f5f6fdb250f8368c2eabe943
-rgb555le            c85a16162ca83496306ba6c888c1a8b7
-rgb565be            046e381ad0be8277f7020420297a8f6b
-rgb565le            9b79220c3c2f23b60a55c2bdf709ffb8
-rgb8                93f9fa5ecf522abe13ed34f21831fdfe
-rgba                625d8f4bd39c4bdbf61eb5e4713aecc9
-rgba64be            db70d33aa6c06f3e0a1c77bd11284261
-rgba64le            a8a2daae04374a27219bc1c890204007
-uyvy422             d6ee3ca43356d08c392382b24b22cda5
-xyz12be             7c7d54c55f136cbbc50b18029f3be0b3
-xyz12le             090ba6b1170baf2b1358b43b971d33b0
-ya16be              bf2cf1e89c9fdb5bc10425db567ba2da
-ya16le              4e9c9097fae615b8a5f4c3b237f752f0
-ya8                 a38d6e288f582f1a04310232ed764afc
-yuv410p             dea1ab8843465adf5b8240b2d98fd85b
-yuv411p             8bf73777a5ff43c126be274245aceff1
-yuv420p             f1f4e7e94a76d5320049464bdeac24ed
-yuv420p10be         f7839393b65972595bdcb2485c6bf2a1
-yuv420p10le         cb00b1fc299baff8bc31086d8571fed6
-yuv420p12be         e5bba4d9f2299e98e69c9347234545c8
-yuv420p12le         7110d2862c1da19e0298029383d31dab
-yuv420p14be         240357c01079020ccc3d9287b5821a1b
-yuv420p14le         f7d0f5f5e72455b238897ed87cf67b3c
-yuv420p16be         8195046b708c613b3ca521c95db529ab
-yuv420p16le         0586439ecbd0d2fb8f22f953e6efade8
-yuv420p9be          955faeb6751e2fc39cbe160dc5fd35b6
-yuv420p9le          f8a4a93f98743cdd8d0ebadba2f8028a
-yuv422p             da122be331a53ec389ab6b2064488beb
-yuv422p10be         956f3c496807e62a288501e183fafad0
-yuv422p10le         43f99eb0d8abd1754572f77e430d4c41
-yuv422p12be         9e8e40a95c4c762274e22026d16a4157
-yuv422p12le         28a5b358a919297c005bc491c91b2b15
-yuv422p14be         ccff1e00f5d3adb899f1c266b22c9628
-yuv422p14le         f8a3bcbf8c55b1f570c078ff2f436b1f
-yuv422p16be         7f2363ccb6e69241c70411b6d063a2fe
-yuv422p16le         58c0fabd1042b35346ed8b8ed3f90653
-yuv422p9be          3ecf7f2584fe3f3f567790e3924c153c
-yuv422p9le          a3fe601dcec267ae70db422843d2ce84
-yuv440p             b4261e15f5dc347b873cf19ccaba8123
-yuv440p10be         9c8e626ca9722f872ef0ecc8e3fca74e
-yuv440p10le         8c28978a0ad4d80c588989505a7f0807
-yuv440p12be         6711f322b74edc424230bc973c6afcd6
-yuv440p12le         6f47a23742f5763f3240982e1892e4dc
-yuv444p             bbd70cde098f24097c4cdcd3ad22d9ce
-yuv444p10be         b0de51e143a5bd490c424dc836becfa8
-yuv444p10le         4435dca19253b88dc7cd553928467e79
-yuv444p12be         23f0ce3a810138df7849d4f6b5e50211
-yuv444p12le         0394aeef391e2cc09722ee8e7244f1c3
-yuv444p14be         c712cf9dbf8571fbd31fa747e58993ec
-yuv444p14le         3a0e361e5998f8590dd8ca8ce896cea1
-yuv444p16be         929c50756bfe8cab7c416f56095fbb82
-yuv444p16le         63c3c3bc5d08f701afa3406f7a22018c
-yuv444p9be          b33e6dc5cf08ff7672292b518d352c2f
-yuv444p9le          c9d767579483a2e4bb1424afc5223361
-yuva420p            e72aad3c3cf41445bdc1c9d14b21321f
-yuva420p10be        7cd2e0948f56fb54e8e6856b02561493
-yuva420p10le        5f038e8362ab2f999984a5b7d1536b7d
-yuva420p16be        b98c585e4b9a6cdb86147499d8fe8531
-yuva420p16le        c58b31509a944e5ec6a0676218e43daa
-yuva420p9be         845bc11e88affc3161ae6265008edc84
-yuva420p9le         fbc3300867510900fec84caf718e8601
-yuva422p            6c347a539965cd63cddfeec598858c11
-yuva422p10be        d34bf5f06ac5c67e12409aa111b4e21b
-yuva422p10le        ecb3cc8d77cee05e54d4de60831be159
-yuva422p12be        de287adba746037e68ff81cf7dc59e57
-yuva422p12le        761e18a8a73b55113e57ec39de33a4e6
-yuva422p16be        47a8d3c98492d31bce0ed0d6f74f5131
-yuva422p16le        a950acae1f7ffc47a0951a40e3309b09
-yuva422p9be         0217ba7015245e017ceb0a3eeb39fa56
-yuva422p9le         1bbb5ba2b649bbe47c928012deb4e3ae
-yuva444p            c8153b52159fb0f392459b8be406c294
-yuva444p10be        b0456e5ecdd87c983573e1016db85178
-yuva444p10le        f9b10500666ba220ce42b478a6785dae
-yuva444p12be        eb83a157ff3d750d3ee71c9c598c01b9
-yuva444p12le        6cc82bf7cc18194db81397debfc01951
-yuva444p16be        97f8cb6ed835c7c5cd2fb112b1e135c7
-yuva444p16le        47170401a8c348d3f05f6530607d066b
-yuva444p9be         d5c0170b41221a9607e6ae586880a383
-yuva444p9le         4948983313f46180666dec85ef30130c
-yuvj411p            91e137f54b2cbbb1c1423c36f031d5f2
-yuvj420p            2b6d8e3b527af5de94963d1bdefe20a9
-yuvj422p            4ce16aa04a5e785b29fd9cdf54bc9ca1
-yuvj440p            36a248ec6f1dc67555ee590651388b15
-yuvj444p            279790fe3c83b07f0a09085d36849c30
-yuyv422             09af5b85deecfeaef2e00e00fbc12a49
-yvyu422             62c62a80939c34fb7890c0e7791a0321
+0bgr                80d52144fed680d2171ecc4c255fa03c
+0rgb                635548b0058cc5ce6d4ade961800991a
+abgr                09ca1419695939738463ff157e4e38ac
+argb                6cc4cf3cb1f8b6a6e0d4188adadf1e26
+ayuv64le            9562b40f02f19eb912fd9edc523b4059
+bgr0                4e36b65972d23f541f5b60630421c955
+bgr24               cf72f0684e58cbe2052b75d99faea684
+bgr444be            f041a775a5c19805485fcd2ed3edd3d9
+bgr444le            4f9c4f803e02e557d2a05f32c6ac764f
+bgr48be             5912f63e0a39084bdddf5df09a7b44c8
+bgr48le             44199017bb50d11e61243f03d25031ac
+bgr4_byte           c6a995166c74d6173613b59646d520bb
+bgr555be            6a5f850e769526b9eab88656dbd33825
+bgr555le            a30eaae06a8f5287632c348272445538
+bgr565be            42ab459ae8b8908e0c6d4b4254a05465
+bgr565le            94bef72b1b6e159900ba2181a0cfdca4
+bgr8                42ef5567dc328022056800d7cf664ed5
+bgra                af19cbfab563d7ca6ad5be9021d3ce14
+bgra64be            14122a657f42269d70788c32ddfbed5e
+bgra64le            2c32d53158cc498ba5fceb6c2c5d7d85
+gbrap               0e6c4ff2f201ce5af834feea3fc16ef0
+gbrap10be           43e02e02f8bb0197d89c768aad2db0f1
+gbrap10le           fa45083fc04daf2b657c50747d8f7182
+gbrap12be           1e516095cdbb6a80dd741e55023bdaf7
+gbrap12le           ab53278a2bcb5d09053a950a448fedea
+gbrap16be           c3c3cc6cb6306b8125ea54909f5752d3
+gbrap16le           f2208b8f06bbfe2984f0dba9d5816814
+gbrp                cd5f821fbc8e396642fcf55acdc7b747
+gbrp10be            a301f41df5cd62f6088bdbf32eb5dd9c
+gbrp10le            a6e702b1ab1f3527168c4ff504676176
+gbrp12be            73283dad03f01e1febbb586379741019
+gbrp12le            b62cea50cea994b4bc1301654c06d75f
+gbrp14be            e96a6406d8f4d580953992ffab8d0fda
+gbrp14le            da962203e54e73bff4340b2f5ff2d498
+gbrp16be            1522eec15cd3b5b72f3a71ddebe33ee6
+gbrp16le            3a3e1c5c5da09da903128fdcc3e9c961
+gbrp9be             e2ebdc1a670c808c0b86af413c790554
+gbrp9le             da71a9cc27071865909c55a0189403b9
+gray                4ed0277d967d4510fd222f88c6b2e690
+gray10be            cbf830fa945507a17a39dfb1c5368380
+gray10le            9507c8ed00b75627409d978520a76465
+gray12be            46b70aa97084750af06121625239afc1
+gray12le            ace8bbe857de7986a8a227745c4c13b1
+gray14be            65b85559f030a76e142fe8a70be9bed1
+gray14le            b7ce3ab33a8bdc0f280e9b6095c3ca9b
+gray16be            1915d58a4b8f3672de1a5901f6a7fb0e
+gray16le            53fbbc7414e038571e1e93defa3f45d9
+gray9be             ed24edf911ab9474de22e05ef2119620
+gray9le             d043224d2e79af97cc8d5318145ba4be
+grayf32be           569933e865a7a898c6a46bef4dc53526
+grayf32le           cd4dab20a941edd6b9c915800c3496f3
+monob               4137971d8a736bf05fecd7daa326740b
+monow               40a66b7811738ff66b1d0be6a4aba823
+nv12                49ef11e66f5177e8a2bcf19daa3c5b2c
+nv21                57e903aaa1bfc49ae708a1c8b7c6eac7
+p010be              7ffc85763e13aaace0ef2f13e10e26b8
+p010le              3749258207f3568bd94919b9d70ca105
+p016be              7ffc85763e13aaace0ef2f13e10e26b8
+p016le              3749258207f3568bd94919b9d70ca105
+rgb0                6477f5c9a457f078327678915dca0bde
+rgb24               f93614dab91ee7e0d024094cd427d3f0
+rgb444be            2fab6a35de527e41c33a2fcabe702fcf
+rgb444le            ce5ecf990ae7b0b90377cd7dc3d65351
+rgb48be             e444494a694789f52e019e71ce6e9b61
+rgb48le             e1fa5a08a51e70887e0085fb8acd1f49
+rgb4_byte           d07b79bb677e73a9083c886edb7e858c
+rgb555be            477156a4c6f8c9d08102a2d5354bcb7c
+rgb555le            0161f0d6f01542bfcde1875f04f91301
+rgb565be            c3ef08005538bc67c9e2cd9a6f4070a5
+rgb565le            fdd9042d545d84ecec11b03dde710291
+rgb8                e5211bac9b8494584da640edb4285c0c
+rgba                69db97660d8425e95ea1a5dc0791cdee
+rgba64be            00b3c8d5a3cb42e879aeeec2c83bc26e
+rgba64le            4e2b6062ccd3aed1a6206fcf5a6b364b
+uyvy422             7fe7033f5326bfd6144b0c56a94e93c9
+xyz12be             fc3e5d8de27be8c37ee2f61a9d10969d
+xyz12le             b7273ef849be2002e184113b3a4468ec
+ya16be              cddb62266adf3b8dba402d823b0d1168
+ya16le              2dca854fcada34f6af8722e68a2c4e45
+ya8                 9afbb3682b7a03fd2f701f5872f41d6b
+yuv410p             4feb53645e155995277661fdc4e735fa
+yuv411p             8bc40d54b545feb446b5b6d2aa2cdd4d
+yuv420p             7ddf395247b53b6150e28404a9a2307b
+yuv420p10be         8831fbe2ca54ccbfb5daba344a6890cf
+yuv420p10le         12a4aa40d465348fa2b029dc17893203
+yuv420p12be         61965e86427b71bee9308cbe7ed264da
+yuv420p12le         a94e9c08d31c09ad6b61fc15e7bba57a
+yuv420p14be         2ddccc62084e4a4a37760d763a7bf58e
+yuv420p14le         0012dc342e8ec18d2800d6a1be0f8534
+yuv420p16be         33d9e7e0e5a551abea83562751f82ed9
+yuv420p16le         38812313fa10ed5cce1e2550a6812505
+yuv420p9be          c7e25aabb4a09fe146b030c191073786
+yuv420p9le          58a323e3adcdb4c759dc9bc1dd008636
+yuv422p             d5c4618c60c7d75e2483f77674e7eae5
+yuv422p10be         f1b0a1d8b0830f284bebe56e13e2af6a
+yuv422p10le         0cd3b53b9aeb8506580919568c9a150b
+yuv422p12be         2f99c04dd0fcb0690d23b5da5d52b24d
+yuv422p12le         804c71fc84f7783e85bc7361faa57712
+yuv422p14be         23a326ca4729b076bc1b8969710cb912
+yuv422p14le         04b39f31137ab1c862f34c380fe9d9ff
+yuv422p16be         ee2d1413e9b86ac4ad1f6bd1f0842585
+yuv422p16le         313d75f5efd68a5f6cf5b484e8d2b45f
+yuv422p9be          a74947a0d95b6b818ff61c6c5cbc48b5
+yuv422p9le          cb165fa7a887bf1a63fe555024489138
+yuv440p             8cde12aac34f22aa689194a1005c36d4
+yuv440p10be         3014b70da3c142479097abb19a381d16
+yuv440p10le         af7dcd84a47b019092e17f71ec9d1571
+yuv440p12be         41464126bea9414e7dcc5923632ff583
+yuv440p12le         c1dafb9794f8759bfb59c479eb9020dc
+yuv444p             f631bbba5b155f849b38199b4ab6af7b
+yuv444p10be         1f752362e0d4b74aa5e039f933a08db8
+yuv444p10le         3b5917665dc326d49944b2d134e6749f
+yuv444p12be         baea4265617bc553130a618642f3e129
+yuv444p12le         d5d9e70eca1f8bfa1b26208b3fc93123
+yuv444p14be         d0602ad61ec3ff0331465e18b39c7a77
+yuv444p14le         ed218896555b234e347734dd4b881b9e
+yuv444p16be         4211acc00657f5f4bab6d6a1143d5f70
+yuv444p16le         641d31d115045447c54e993fea5b00b5
+yuv444p9be          4f4518f3475631123306fd1d9335a6eb
+yuv444p9le          c56e0a0fe9b8f8baab1a124e4e8c2a3f
+yuva420p            8b10acc1abd7997339a2101ebb5163fb
+yuva420p10be        50f9e98dc27414d8baf0ffc42c094eb7
+yuva420p10le        b06a336218d0a538fa08781d17be9964
+yuva420p16be        2e0d7005e355f1b8ee0bcc7de68399cf
+yuva420p16le        8650dadf67e22c96d7069594f4a6f3f3
+yuva420p9be         e30791ee61990f3f3aff86040c082965
+yuva420p9le         59d7af981ffbb6a11496392b730c173f
+yuva422p            cb6b8cd7256810b4635adda4e005d69d
+yuva422p10be        6aed2ade659ad278766833b53d66e0a4
+yuva422p10le        bfad220ae637834bd89d2ed339a3adc0
+yuva422p12be        405ac1d22b1bce85abce1fc7faa78a7e
+yuva422p12le        27e2f0d4bc6d1a277fbeadf14642bf54
+yuva422p16be        6cf018afc32dacf736aae1371dea40a4
+yuva422p16le        35bdbdca2d618dcdfadae5f96f31617c
+yuva422p9be         05bb7f9d6bbb3e79a785a19fd8e885f4
+yuva422p9le         34273dadb8978a301522dd80b27bfc4a
+yuva444p            11fbc0b7eeb2377164695bc911e55e3c
+yuva444p10be        db56cc8535e3449882f33df824719e9d
+yuva444p10le        3a363934a600c47921dc5c360ef3906d
+yuva444p12be        577ce345b45a473d3d7f67dc0043b94b
+yuva444p12le        98abdf48995e5c66427d1d6403cc74c5
+yuva444p16be        2329d3ac9218e7fb93555fa0446e59be
+yuva444p16le        27055c0613022ead824f3c04833093e9
+yuva444p9be         d2be66e457b2cd1b05da14e8f8b8fc36
+yuva444p9le         5f2399d471bfb6bfae6d7c2b75537ce5
+yuvj411p            2533e30dd5cd78f5a1f9e9bbd66959e7
+yuvj420p            7d53b8bd7515aaf981509fbd254ab2e3
+yuvj422p            c49400815ab7ca236700ac94458001b3
+yuvj440p            302a02615fb82271f9dced7edf1b3cdf
+yuvj444p            a2582d18437b3117dd5af72419a7bf36
+yuyv422             285216e7682b95477009c6d15ce94ef7
+yvyu422             f94aeebdf994357ee284509e7e1654fc
diff --git a/tests/ref/fate/filter-pixfmts-kerndeint b/tests/ref/fate/filter-pixfmts-kerndeint
index 558e9451bf..0ca6c44e28 100644
--- a/tests/ref/fate/filter-pixfmts-kerndeint
+++ b/tests/ref/fate/filter-pixfmts-kerndeint
@@ -1,10 +1,10 @@ 
-0bgr                7de3240bb5ab40dc9b599f7112990439
-0rgb                09f7b9006720a4b1ba4e2927b441022c
-abgr                4242d4bbfd5e5697a9a1cfe478a0ae46
-argb                48ea8cc401499ffbf0ac34bacdd1146d
-bgr0                e50249e05a9790c56033bffde502d1a2
-bgra                04f4d485067338e181c4c64b4df1246a
-rgb0                898e3d3bd40a14824929ad83d69be24e
-rgba                919e516d3a052401eb1c658412d3584a
-yuv420p             636b260f98ba9f98e304ff9f82d63393
-yuyv422             768afc798f77b3311d7b1a33caef902f
+0bgr                ad66444b32f91114beaaa6bab1acd6db
+0rgb                475c8f98e57710d0615f69e308f44464
+abgr                3b9743a086667a3d81a08c5dfb345b22
+argb                ec07e2bcc7793f0bcd772dfe5571dc33
+bgr0                86a0ed60bc428cae270f66ce7619d657
+bgra                846fe498fc78c92399cda0e1f25a6687
+rgb0                49ec3fe7b101234693698dcaa6e4bc45
+rgba                fd2e2e7cadfa6490740b65564af19753
+yuv420p             d1dcc332995731e52c512432cf37b578
+yuyv422             638f986a133eb6baec6300e08877b734
diff --git a/tests/ref/fate/filter-pixfmts-lut b/tests/ref/fate/filter-pixfmts-lut
index 41c66e2bfc..cfa59bbf2d 100644
--- a/tests/ref/fate/filter-pixfmts-lut
+++ b/tests/ref/fate/filter-pixfmts-lut
@@ -1,57 +1,57 @@ 
-abgr                0a932e831efd4ec22f68b25278bac402
-argb                4f575be3cd02799389f581df99c4de38
-bgr24               fa43e3b2abfde8d9e60e157a9acc553d
-bgra                4e2e689897ee7a8e42b16234597bab35
-gbrap               0d1eb2c39e291c53c57302cdc653c2fc
-gbrap10le           fed58af6d557a7069a4a39e6d8f5f4e0
-gbrap12le           43fec231bd1d3dd957cdd8478cab9259
-gbrap16le           22ca3644658ae306541116c31e135074
-gbrp                e572d53183f3f2ed3951aa9940d440a1
-gbrp10le            a8fd1ebbc36a477e2b134241fed91687
-gbrp12le            c5a4b89571f7095eb737ad9fd6b1ee08
-gbrp14le            bdfdfd6f36c60497d1cdae791f3cc117
-gbrp16le            df095ef3a20995935cfcaf144afc68b6
-gbrp9le             a8c4e29f4cb627db81ba053e0853e702
-gray                20b14b5e26cd11300ed1249e04082170
-gray10le            8f4140b55e847cc423002b89666db5ea
-gray12le            ea89c02f6b3af49ddaf13364ed33d86d
-gray14le            12bebea325a7822e890675bfc5111f0c
-gray16le            aa10599924fb2440fa12b76e90f57dcb
-gray9le             7d9cc9ad6118674c547a54281d10cf05
-rgb24               a356171207723a580e7d277078072005
-rgb48le             5c7dd8575836d18c91e09f1915cf9aa9
-rgba                7bc854c2698b78af3e9159a19c2d9d21
-rgba64le            3a087ecab583d1930220592731f282b4
-yuv410p             10cf5dbbccb858a9ab51e0b8bf278f6d
-yuv411p             3f0bfa543ba513c6b6d7fff785fbe150
-yuv420p             ad99204ace669a383f8ae03a1ea5b98f
-yuv420p10le         f1e6cc4c2a5e9665dedd7ac0f2a4d551
-yuv420p12le         d9dfe871483b6a26512d427cb048ff65
-yuv420p14le         cd8bb4803f8e99c6cd31149bf848c30c
-yuv420p16le         4bb13820cf2de9b40ca47adeb7fea356
-yuv420p9le          f12c98b599e667fc45126d6dea7f0fd9
-yuv422p             c57e304bb3f4a1d30bf4ced5e829cdc6
-yuv422p10le         9d95b03f75ae5778804279f3c3135837
-yuv422p12le         08e73e233793740ad68a939b9886dd32
-yuv422p14le         bea6b54ec3e33eadfbd317a175b96288
-yuv422p16le         5438e5738ab3e1e5f7fce5faaac036c4
-yuv422p9le          222a699b69ba8d511518a61d77a10c25
-yuv440p             f8105ff9433ecdedf2645f3370a575d8
-yuv440p10le         6e104ac6c33b00185bb6d95b371e1354
-yuv440p12le         636834efcba838d74337b2ebb9dbffb3
-yuv444p             ca662e7bd7a28805650f25b1537d50a2
-yuv444p10le         c301eb2763e0f74fde94388046c437fa
-yuv444p12le         9482b13de4a9fbce176e8344c9332139
-yuv444p14le         fb558c97e59e884fe5ba407df158ebd5
-yuv444p16le         be9b3ce54168159b132746f7ac9088fe
-yuv444p9le          fa4b9bd6b8cac96e10322e613c8e7149
-yuva420p            7284cbf9eacf1ca5ce9e2efebcadf999
-yuva420p16le        b37d34212c2a79e91b675bc87dac6cc6
-yuva422p            5938a7c7588febb069bd0cd4c447305e
-yuva422p16le        c5ccfdc1a0dc6cb130c07ea61df6f727
-yuva444p            fbcbdc3521d17c702ee521b0893098e4
-yuva444p16le        b7142d28d4d069d7eb019dcaf8b323b1
-yuvj420p            65bc88887c7f06a6221155ca7f9cfca4
-yuvj422p            ff5baffefc8ffe4547653092fd7da200
-yuvj440p            ef3f27270e60ac06582e3ac7c2f3e6fa
-yuvj444p            29378d3fd132c760522c51c3378067b8
+abgr                22e2371dec28ec562286e9d45ab66729
+argb                c897ca0a4a6a9324facbf2f33328260d
+bgr24               5779b6fc4584ac02a1c70ecae95292cf
+bgra                f38c7b37df1e6f3d9e2a91794f812351
+gbrap               40c3f9e817a7d571288e49dce98d2abe
+gbrap10le           c8cf5dd528005be7d570a495b0b382c3
+gbrap12le           53321fe5ec80ea2d1e24228a3e717a58
+gbrap16le           088ec18341ec8d7df6655989954a0d9e
+gbrp                54399e6168dc75939f30b45ef17fce50
+gbrp10le            a2f1256c9fc377b45d5ca84ea2f2353a
+gbrp12le            498def489a344466cd09b181c277b606
+gbrp14le            6455a890af25d53a26ef6735d5271ead
+gbrp16le            6670602e0ae28b15f45d6e032a843020
+gbrp9le             ed62760bf952173c3607cabcc5eda87c
+gray                0e38480add1f43b27c60066ff9f943f1
+gray10le            2ade876893bf949dd28884ee9bca6d7a
+gray12le            3e24bc947e765f58acf60518498b78cc
+gray14le            9b87dca1921556adb7ef48ead4a23577
+gray16le            d916feaf7612573ce3d65dd109e5adc4
+gray9le             4725061600576a36785c0f019b2b4290
+rgb24               99fe54d8ad9b6e181fec1fbb2f828a5e
+rgb48le             d53b461f59871ef83ea07a109450492a
+rgba                8b7753aaeda76ee8096d6dfc0a28f7e0
+rgba64le            330ef44b08140f25ac3b3e01949d9717
+yuv410p             3e083dd0c582cfd568d8ebce43ac6c57
+yuv411p             72d1893d130e2a007c3279c1398a825b
+yuv420p             1e59aaa6af813d6b402069135d150530
+yuv420p10le         fd1415fbadde1216b2b9a02c6d933642
+yuv420p12le         8708db433c4a3d7f06682c65c55d34be
+yuv420p14le         c42af378e39f87d5997f6f8bed5598c2
+yuv420p16le         3f579bf52a705234ba4e8bed9b261ab5
+yuv420p9le          f75ab73d0a24761c55cd61b8dc6531c8
+yuv422p             9280eb95375a14675a41d09e988954d1
+yuv422p10le         cdd8a012f47f09f2ed362a125fec6ee6
+yuv422p12le         9e68f2624c6e0b655c29e831e87ea66f
+yuv422p14le         a72c09b258853db4d79e0974324b61bd
+yuv422p16le         03384e561d8214de4f71f067183ce3bc
+yuv422p9le          a8b3702931889abf39c5d37e82ba73ca
+yuv440p             c22495dbb64dc327c505846d7e70fd7c
+yuv440p10le         bb50a7cacc2132c91ef973e17035ef26
+yuv440p12le         c828bb149d8020cbbfd20cf275141429
+yuv444p             9798aa7b5e5e370b2fa37d54d8cf78e1
+yuv444p10le         efbe655ea91eb93b205ff40a45c66330
+yuv444p12le         c1aa8968cfdfcd3dfe2e7d3283cbca59
+yuv444p14le         efbdbeb64e1667e0fef86fe53620774e
+yuv444p16le         4000f4d46093f98fa79e1630ee80640d
+yuv444p9le          0deaadd9d5382d40e459175411e018da
+yuva420p            304724392702561d4c2d4f454d2a1726
+yuva420p16le        962425fe34068f9835e11d2f542640b0
+yuva422p            79fa650ea83f85864a0abd3636c7d1df
+yuva422p16le        8b7445d13d0e7dacba4b22845ba8af67
+yuva444p            6882481c57aadaf31f071bd0cb711493
+yuva444p16le        84df01b9e0e8f62b77d9feb25900f2a0
+yuvj420p            58a88d5cadc0e5eb1fbffd5434d64ded
+yuvj422p            c5fab8247f9591f6113b3a59f105fcde
+yuvj440p            1eead1a89c3e54b8d296dedbf42865d1
+yuvj444p            912a4bdf5eb640113c4f8f5d495d1c67
diff --git a/tests/ref/fate/filter-pixfmts-null b/tests/ref/fate/filter-pixfmts-null
index 0609344c2a..262aed2058 100644
--- a/tests/ref/fate/filter-pixfmts-null
+++ b/tests/ref/fate/filter-pixfmts-null
@@ -1,153 +1,153 @@ 
-0bgr                4060279c35dd8810a2f55a021b836557
-0rgb                527ef3d164c8fd0700493733959689c2
-abgr                023ecf6396d324edb113e4a483b79ba2
-argb                f003b555ef429222005d33844cca9325
-ayuv64le            07b9c969dfbe4add4c0626773b151d4f
-bgr0                6fcd67c8e6cec723dab21c70cf53dc16
-bgr24               4cff3814819f02ecf5824edfd768d2b1
-bgr444be            1cd47c1555f947dfcba99192e3429d20
-bgr444le            e1832fdc9b118d4440ba03cea6e30428
-bgr48be             51477f029592ddb6b912980fdf2df7f1
-bgr48le             b34faf404b33c74cd25f5f912ca3274c
-bgr4_byte           7ca99bc8a1c7c831cb955806ac05cb72
-bgr555be            6d32031ad4f52723023e547058a62c71
-bgr555le            823a3b2f2585e537da5cb76c8ce30cf4
-bgr565be            438b0f18fd754280d5dc2f421c376ffb
-bgr565le            acab2b65c0fe5f9618c90f77f70ab3be
-bgr8                898a66734bda0572dfab1edd8239f6a2
-bgra                3934fb81a602dfa7d29420b1a66f0fd8
-bgra64be            c8d3217bf58d34f080ac88c0b0012c77
-bgra64le            b71d75a928aac14cb768403e6f6a9910
-gbrap               98d30987407c51e5620921e11d40a4ff
-gbrap10be           edcffb185e44b6dae5c2ead5505b7125
-gbrap10le           2a7392e14b21b1f9457526a071236a6d
-gbrap12be           0c4c1f8af361571265ca259d5f70f026
-gbrap12le           5f1d8c663d4c28863e687192433b34a4
-gbrap16be           e4edca4361d643794034e5aa9ef290b1
-gbrap16le           9a95b389d2bf556179e8f4b27fb550ab
-gbrp                5fbc319e30110d19d539f5b274eddb6d
-gbrp10be            703a17591a2a5c236675c5101c349bcc
-gbrp10le            ee014153f55c011918df5b2394815780
-gbrp12be            527d337eb5813ebba7cf969ee660d423
-gbrp12le            fd192920b171a0cf88d61e8310e95d81
-gbrp14be            46d502db6dc5eb7e9da3c60016b2df91
-gbrp14le            1607f5c8f13360b53b8186f523996b1b
-gbrp16be            7b6764a504c853b09f5c7d0b2223c5a4
-gbrp16le            fb9323a5bd060282bec7bfd7d38dc230
-gbrp9be             a4dc6f6f9bb051de2dc348b592ad4282
-gbrp9le             699da3a3b324f3fd001a56aee9683384
-gray                188590b1231afd231ea910815aef2b25
-gray10be            d486558ecd2e27afc17930be861f0e4c
-gray10le            917d687103b2adcca7132bfc070ca54a
-gray12be            9685614450f1282be433d2b07234ca1f
-gray12le            2700bd7fb3fea56e54eb03e31d6d4e57
-gray14be            19ed2bf25878980d6f81f6ae699024ec
-gray14le            4b148b26b30040c05dc248a8852f31ac
-gray16be            08d997a3faa25a3db9d6be272d282eef
-gray16le            df65eb804360795e3e38a2701fa9641a
-gray9be             6382a14594a8b68f0ec7de25531f9334
-gray9le             4eb1dda58706436e3b69aef29b0089db
-grayf32be           f3bf178835f8146aa09d1da94bba4d8a
-grayf32le           fb6ea85bfbc8cd21c51fc0e110197294
-monob               8b04f859fee6a0be856be184acd7a0b5
-monow               54d16d2c01abfd72ecdb5e51e283937c
-nv12                8e24feb2c544dc26a20047a71e4c27aa
-nv21                335d85c9af6110f26ae9e187a82ed2cf
-p010be              7f9842d6015026136bad60d03c035cc3
-p010le              c453421b9f726bdaf2bacf59a492c43b
-p016be              7f9842d6015026136bad60d03c035cc3
-p016le              c453421b9f726bdaf2bacf59a492c43b
-pal8                ff5929f5b42075793b2c34cb441bede5
-rgb0                0de71e5a1f97f81fb51397a0435bfa72
-rgb24               f4438057d046e6d98ade4e45294b21be
-rgb444be            115e5259b91f4a416546b09570347633
-rgb444le            f3f66689cb4c810563fba7665c526800
-rgb48be             18127d8ec64aa21619ada80b93514906
-rgb48le             60d0ba0e5a429c947aaa736be54aca87
-rgb4_byte           7d68393a3de6f392cf2ed05ffaec6259
-rgb555be            f76c8109974636b54bd0cb4c36bb883d
-rgb555le            21daf4d05999ccf3eef7d492e73c4d5b
-rgb565be            85711f35f71340ba23e553a07d246656
-rgb565le            e04771e79a8ee8a51e9a325540e6215e
-rgb8                7ac6008c84d622c2fc50581706e17576
-rgba                b6e1b441c365e03b5ffdf9b7b68d9a0c
-rgba64be            ae2ae04b5efedca3505f47c4dd6ea6ea
-rgba64le            b91e1d77f799eb92241a2d2d28437b15
-uyvy422             3bcf3c80047592f2211fae3260b1b65d
-xyz12be             a1ef56bf746d71f59669c28e48fc8450
-xyz12le             831ff03c1ba4ef19374686f16a064d8c
-ya16be              2f2c27f1854ac00c73d13861dcab2705
-ya16le              2c1fbd127c9f0435adc0e9b2ea3f486b
-ya8                 dbb99fbcdc204aaa1a7397ff561f1a67
-yuv410p             5d4d992a7728431aa4e0700f87fb7fd8
-yuv411p             7e1300e89f5bc07939e2c4a6acbdf267
-yuv420p             a014c7eb7a8385d1dd092b7a583f1bff
-yuv420p10be         f9b154364efaa1af376fa6d8eeae6955
-yuv420p10le         15c83294ef560d57f25d16ae6e0fc70c
-yuv420p12be         34da9c4e289124122ba36a9d4fb133fa
-yuv420p12le         c19a477a07fcf88e37ab37b416d064c0
-yuv420p14be         64779858686946fc0e780baf7c1391b6
-yuv420p14le         c1d012a4f9d54fbc8b04fea96d85e903
-yuv420p16be         268b07358d8dc733ee81d0b87990d5af
-yuv420p16le         dae8da9edd4255051e3e546ae7ed9bd3
-yuv420p9be          37f0476e8458a93d3d22db568f617aca
-yuv420p9le          83a6d32c91c15a3bc334bb9abf920654
-yuv422p             74f8006b4482db104f1986f49807a0af
-yuv422p10be         7291903c3c0cf4e5456dd9673a619f1d
-yuv422p10le         14cbaa728e888534359b9dddc5430f08
-yuv422p12be         e9bc7f2da217fade40feb6960dcd894e
-yuv422p12le         8d8184e4d0f1eb50e1834ac0c4af8c33
-yuv422p14be         2617c569ae9659d8fe6a01f96e2c9657
-yuv422p14le         7d01363cf090306cf93337c474cd8827
-yuv422p16be         86147d8bfb795ab1873c899611e2a361
-yuv422p16le         9df47cb7d6d39b335a547ced2865e72e
-yuv422p9be          338dbb97c9f5a12ccea2c61774ddff2e
-yuv422p9le          0822f8af35a269a036ae44878acba87e
-yuv440p             98d0f96fdb3ba415899017adf7d4a4f9
-yuv440p10be         d874167042037c1daf9b9a2f74bffad9
-yuv440p10le         3cfbd921369aa8f1e4977efdb7f44c8c
-yuv440p12be         dc3e6a40c44d5a5f9fd260b270e9037f
-yuv440p12le         2fff7746ae7c07d407075c0e372baf46
-yuv444p             8f90fb3a757878c545a8bfe5d19a9bab
-yuv444p10be         6683d5cb82c708d5f3a2a89d0311f7a4
-yuv444p10le         6d736fa464ff2de2b07e0a56af8444b7
-yuv444p12be         04320ad158450ee158f84a27c6325702
-yuv444p12le         08a81b2ea9c7c8b447e40ef8f4a46a4a
-yuv444p14be         ea3057d469d0c49c24e844256ef7871e
-yuv444p14le         940f5908ccf06e01411f0a7bddb45c6a
-yuv444p16be         aee24ab2e9a4656f889399f1b0d98639
-yuv444p16le         781c22317c02b3dd4225709000bdb847
-yuv444p9be          ac09917e5d2abc82c0d260007f4dfd77
-yuv444p9le          caef947b8aff5b52285385c6ae9b2439
-yuva420p            b227672e56215e184e702c02a771d7f3
-yuva420p10be        f66e7d677625380f7504867fab51305c
-yuva420p10le        01e94ee605714396e69b013c11dda348
-yuva420p16be        76e5e65eae1e7c5681a397a3462f4a9d
-yuva420p16le        b1930ab28ffe031c78ca28d3406311c8
-yuva420p9be         48dfa24cf0ea3864f35285074e8fa888
-yuva420p9le         0e9c9803aaaddc9f38e419de587793c2
-yuva422p            8f6bb778647e5dee62f544d646321171
-yuva422p10be        2f7204c93a1e5bfb04538852f99e4074
-yuva422p10le        c8082548aca999edde77ef2749b1ff4c
-yuva422p12be        19f8205cca3d19bfd4ad9cd2bfb07a0e
-yuva422p12le        38e6c7d87332852d660df5594529fa6e
-yuva422p16be        427ad55f7464121bb3ce164641772bc6
-yuva422p16le        af6f8df651275de58129e010bb45ffcd
-yuva422p9be         47579cc2cea861ca1461589b80c4720f
-yuva422p9le         aaeab2bfe80a29390e8666103ed8bb40
-yuva444p            459fad5abfd16db9bb6a52761dc74cc1
-yuva444p10be        fa16bae4fc25429deb944ffa9f5b28a0
-yuva444p10le        92f820d3481b7ebcb48b98a73e7b4c90
-yuva444p12be        d8193387128a1b1efc51f36a12c85385
-yuva444p12le        9c17bf72b083f93040d1e19516b54de7
-yuva444p16be        c80c1899789a6411d0025730efc8f01c
-yuva444p16le        2ed56ea50fafda4d226c9b133755dad8
-yuva444p9be         4903fde22b15d28da90761ac1cfcb1c5
-yuva444p9le         4eeb5988df0740fea720da1e31bbb829
-yuvj411p            e003eefa7e2a20f20d33767775417216
-yuvj420p            8f3d8f1b4577d11082d5ab8a901e048d
-yuvj422p            79d480e99e610112f266c833c6cb3d35
-yuvj440p            f4b18310c7174868fc92579f87460876
-yuvj444p            b161e6d5a941e2a4bb7bc56ef8af623f
-yuyv422             435c92283b538aa3d8fa2a020b0afd49
-yvyu422             8436c2a760291cc979e0dd62ab8cede0
+0bgr                e04c6952a7fb1608a3fc566974bef52d
+0rgb                19df843e34aff4a054eba70b5131936c
+abgr                08c90c4e2ade7be0ba515f9311bcd4e6
+argb                08c244e2cf329d2664dca0a230c0107f
+ayuv64le            74e7cbd6f0c9bb3b6d014d064899978a
+bgr0                0d9f1e0f79ebe5aa26b369e3d3a260f0
+bgr24               06e2b9f386e38f0c4b68a0c94b05a7d2
+bgr444be            8f8e09d1a5e48a588db8d6153bd753da
+bgr444le            747ef77d572caf3a8ff6f11ee5f02fb4
+bgr48be             f11524397ef379eb199319387fea82c9
+bgr48le             b05cedc696ec11087e87e6f5077c5a88
+bgr4_byte           c979873e646eb98f0d72417a44cb4004
+bgr555be            21fa98036061ed208f89340a662e11fd
+bgr555le            fe00a112607e01f71f13c22273c3f0e8
+bgr565be            77b1a7fca7cec4c893dba4742be605a0
+bgr565le            826839464800da3c8009ebb9835d53ce
+bgr8                c207ec989c93079b5825255be2c38509
+bgra                3b1fd170151ded3027c646b556a20017
+bgra64be            4a558b27b1112d7344d45dadff518b46
+bgra64le            2b6e43c3cec1e434b37412a0149cc3a2
+gbrap               0bfbe6bccb3df0332ecae0bb9452c56e
+gbrap10be           ba43ae13f4516d5958af3d67bf593d94
+gbrap10le           3e202fbcb2f0d910ea56d9f014b71e83
+gbrap12be           3e0d4337720008a6390f46031d25368b
+gbrap12le           2a8b7595b62ea79a251a6b9d57506d85
+gbrap16be           d1ca5b886d988f5af27a06f6a297d2cb
+gbrap16le           27c1e167c069836c1bf41dcd4ef5c0e9
+gbrp                49661362bbbba539dfe6658ede54857f
+gbrp10be            bb31cc27632399a04235d05b6f42bb9b
+gbrp10le            67cccfa209219974a3457eab1b3ef790
+gbrp12be            701cb04ac3ee541091d49edc42e452f8
+gbrp12le            49f7461bf47194ec4ccef39c6377446c
+gbrp14be            ed9a4a52d51ce17ca780d3d3d18434a9
+gbrp14le            5fe9d1baf5eabf16fd2043fe48b2e295
+gbrp16be            5e33b6106f02d87ad2458343d2471977
+gbrp16le            5155bc77fa960c975dd4110712ac2a55
+gbrp9be             18a0134c8d0b11fa7265798148f6fe96
+gbrp9le             188d4ff078ecac96db559c1b94036c4b
+gray                1b015bdee8b402017e7e4e0a023233b5
+gray10be            0abf158c079bb2874fbcd28ce37f0258
+gray10le            74b2e790a8de6d93788baf81535c8611
+gray12be            24f557843ed39cde6c5e6d30b199c145
+gray12le            84dfb5f9688c467cd134b84e8ef99f23
+gray14be            40c6e60282e2caee4d91751063e350d9
+gray14le            4eeefe2eff6915909bbc772233056be5
+gray16be            5544ec0db50c631e275182fb3235b113
+gray16le            dc79fc3569afb90c7bfaba9678efbd19
+gray9be             a39146026fe3cd5ef5c7ce85a7f409c2
+gray9le             156afb3eff630fa34071597376bdca1e
+grayf32be           b6691ec487fb51207f811812fa6cdd9d
+grayf32le           659f3b6228284bc7e31f37a28abb53ca
+monob               535f06c336d31da1755fb0107628458b
+monow               50fab36a25f0138131fef2625e0b5709
+nv12                58027b74ffe8e47aece7e23a4133c506
+nv21                d302440b09de2ca688c74581b220a913
+p010be              0ea4eb9520f57616fb5bb159f4e7533b
+p010le              90dbd862043daf510ca1d005e74c06c1
+p016be              0ea4eb9520f57616fb5bb159f4e7533b
+p016le              90dbd862043daf510ca1d005e74c06c1
+pal8                d2981690487103ec1cfbb6f4e90b6305
+rgb0                6efa7e175ebf88964d712291ca3c93c4
+rgb24               9b4f6f90ab7147f5fa3f36027a533947
+rgb444be            ef7cf15b908bf342d38446f4291962c9
+rgb444le            be37d83f59fc4dadc6a20be7a105e25e
+rgb48be             0879c194f6cd4165d48241c4fded96a5
+rgb48le             105531904fd096479d4f9b0ba4b768fd
+rgb4_byte           842d6dac10536dd2816c634a3c5f3668
+rgb555be            def34289bcecced6dbea845eab75e7bb
+rgb555le            de11820fb58c6b28961fa18593cc4dfa
+rgb565be            0442f45b5f598f21e4272da673a6f087
+rgb565le            ac8f94f08c69a65638e9c36f0fa26f59
+rgb8                738dc1534a697e90229bfa0e260fa687
+rgba                2ec104096b838eb118bc9c304b8c57b7
+rgba64be            3871c3ea66f402ee6737c2c0e8bb413f
+rgba64le            c33d70e61efc8d3ae32a2a85f26596e1
+uyvy422             46b98567e0f7f1653e1633be8ff2b103
+xyz12be             0d8786392f9e09e9b3fe5d2ac08179a6
+xyz12le             ff6798abf3af490aca74ca8f375c3f95
+ya16be              ca11a62b5dda903dea20c85c31c13d21
+ya16le              71001a217ac1c2dffffae23ce3414824
+ya8                 dec94c8ffccb82c7a001fa3d31308852
+yuv410p             30be4efb0038c5d64a6e82b317d79fd6
+yuv411p             0450a31fd23eff3ff09e648def9c9836
+yuv420p             4990f043bea6f8a3e59cc479a5369848
+yuv420p10be         ce40e8cb8302714b395e29f9457bc182
+yuv420p10le         f02a89234cf286acecd8fe03b08a01ce
+yuv420p12be         159bed4224e58053ea954044a399ee99
+yuv420p12le         fd4aedd950fa5968c37f540c754be08e
+yuv420p14be         3eb862741a840393d75c3e2115c5d850
+yuv420p14le         d3b13aa9e905168eb369a5beb5257d3a
+yuv420p16be         b9c30feb6e4d0772e36488bc43601418
+yuv420p16le         8b362c6e970ec484fb91678c0688f46d
+yuv420p9be          5b2b6392f34f5db3736b246be999b618
+yuv420p9le          53919aa4ea2ec50a62b0f9dc0ff6c959
+yuv422p             2a636343ff68d0fc7a83a6269d0e658c
+yuv422p10be         371bd24554dacdeefa5c203a06a4ad00
+yuv422p10le         c6b91e9b6c30b0123f80a5edaec1f752
+yuv422p12be         39851810c9920341f6d29141ce4d4680
+yuv422p12le         2510501ddb6bd6ff9a8ae1fe05dc1a1d
+yuv422p14be         c70376111aca0f5fb1aa46969e0e637a
+yuv422p14le         99c4607f6f7c60ed43f735903950ae0b
+yuv422p16be         a161e59fbc32c29ce4dd87b4c7982abf
+yuv422p16le         a2d2f255878ead1c729e809f0d9214bc
+yuv422p9be          c8b5cd2592f8694272dec83efae55957
+yuv422p9le          735b7a8393f5efe7c8f9362ff58bf45c
+yuv440p             1816eaa6ba3716b663ace008314246e2
+yuv440p10be         eb898fe2dc126ff8317658ef5d63b347
+yuv440p10le         0389153d6c2ea3037b60ab1978edcffe
+yuv440p12be         dbe5fe2beed17137d62883363cbba7aa
+yuv440p12le         d9f92976b0fcafdab7dccb0ee7ce4eda
+yuv444p             12a965d335c9761c65d6797a6c178379
+yuv444p10be         998eb6212b6a006d4b8ddfd4744841fe
+yuv444p10le         1d1bd79af2e5665669fbdc712c82ad5e
+yuv444p12be         bfe9ce064f41ef72def039798c6c8825
+yuv444p12le         aaf43938024db04325c709fae3ccd338
+yuv444p14be         379848d55f0eccfbadd879bd02552c4b
+yuv444p14le         aa9b9c29ba8ec10d3506e2ad4ceddf96
+yuv444p16be         6f0be107668d13518e7da3916c422f04
+yuv444p16le         620ef63931c2dac453276aa990164fcc
+yuv444p9be          d1e7cafa583790096229b4f417d0177e
+yuv444p9le          2a5bf35e2b1c95ba4d9358821e1277d9
+yuva420p            cc8441023f6a77a3de0dbb98eb06de03
+yuva420p10be        fd46785edd5ca48083e1d20a46f8374f
+yuva420p10le        373b6bc130b122cf1dcea87cf6b1cc71
+yuva420p16be        8da21fe06e5d1863b9b2e7480e260129
+yuva420p16le        c57f66487b6790eea93025ca3af776b6
+yuva420p9be         f0d785072466fbeed8354028fa3e1e94
+yuva420p9le         3af7a72c921185617d738ed8ac241596
+yuva422p            e5adcea6328bc642e55ec6aa2b0d58c5
+yuva422p10be        49e9c2aa05c57c8560d6cc50327088b6
+yuva422p10le        8daba11b6125f52f8a6b880456b01dfa
+yuva422p12be        621a319c5168fc0901fe50298978c2a5
+yuva422p12le        5e58dd52695fcb54a3a84b34bed90cfc
+yuva422p16be        29f949ba9ef5743e6be7996969e5a3b4
+yuva422p16le        592a369b105eb9e3cef9e435295115c1
+yuva422p9be         1860cf1f1fd33b0517bb8da0a1eed95a
+yuva422p9le         ac82a52c8b8235e9604c586104a4132a
+yuva444p            0007f930d22b062f6a0aff3f7a6074aa
+yuva444p10be        e51de7e003e8c5008a7b30540dd62e6f
+yuva444p10le        15acf180a20e2ca00eb495f46dd96ce4
+yuva444p12be        d3a8074bab72862c04f60d83f9f19bf2
+yuva444p12le        773b91e7b69e0d2f7161c93b3fcf5e47
+yuva444p16be        3fa5df364bc9225a35e32d5e6f870f2b
+yuva444p16le        7faba5fa29f8e95f9cc7452799da752e
+yuva444p9be         59a980a46660cf017c09be633f28f0e7
+yuva444p9le         d35e6d6186c8c3c2e893078ec43cec25
+yuvj411p            b6031e08fb1cd85a9cb2bcf90752c600
+yuvj420p            3baae4ec524f8516c641445b27e519a2
+yuvj422p            fa0d1f53c27f767b90c79d4961996cd7
+yuvj440p            09bb2ea64f30c10fd1cdbddca2c82cf1
+yuvj444p            4c72009fadb5db723db71533d70a6200
+yuyv422             3dd3875e43ff3d41f8db7421969753b8
+yvyu422             2d03b8625aa497e1f8b430af852abc9c
diff --git a/tests/ref/fate/filter-pixfmts-pad b/tests/ref/fate/filter-pixfmts-pad
index c863d541f6..243066f6c3 100644
--- a/tests/ref/fate/filter-pixfmts-pad
+++ b/tests/ref/fate/filter-pixfmts-pad
@@ -1,73 +1,73 @@ 
-0bgr                7bc6f5a1c44cdd7506174dccf52c68d7
-0rgb                ff12e0f1e576b47a4c962729d5c0b868
-abgr                52738042432893de555e6a3833172806
-argb                2a10108ac524b422b8a2393c064b3eab
-bgr0                32207a2de1b2ac7937e940a8459b97c0
-bgr24               f8b65ad845905c7d0c93ca28dfbb826f
-bgra                929aac15e848038e367c250037575f9f
-gbrap               5f16cccab5a17cb766c882e865995167
-gbrap10le           a677322100409f9b1d22136b14bfb534
-gbrap12le           e0e43f838cfbe98086042ba54b5f70be
-gbrap16le           0f4414db67b84a720106d7a3b2435766
-gbrp                3c94d39256db2409015df913fd330a90
-gbrp10le            5b356737cd8a396f39bbdadb7cb35e06
-gbrp12le            91fdad0d1edf7bfa2805e2041e8da3cd
-gbrp14le            deb2c3af6b48faa52f6a1f6590a0cdf7
-gbrp16le            a6156d1a37e05ee621b2a343fb158bd6
-gbrp9le             9e827f438e081d334a6cae7e282698b0
-gray                ddc663a0491df3959d9c5795dceaa72e
-gray10le            e6559c1c8c05ce89f44b465573db44e7
-gray12le            1e6c6757658c7ae8a1f830432c5b7722
-gray14le            af3f2f911c71cb34a8179a3291b5c90f
-gray16le            468bda6155bdc7a7a20c34d6e599fd16
-gray9le             f8f3dfe31ca5fcba828285bceefdab9a
-nv12                381574979cb04be10c9168540310afad
-nv21                0fdeb2cdd56cf5a7147dc273456fa217
-rgb0                78d500c8361ab6423a4826a00268c908
-rgb24               17f9e2e0c609009acaf2175c42d4a2a5
-rgba                b157c90191463d34fb3ce77b36c96386
-xyz12le             85abf80b77a9236a76ba0b00fcbdea2d
-ya16le              17cbe58356d56ff0f0f00280a31e6ca6
-ya8                 5fc0f471207ddf7aa01b07027d56b672
-yuv410p             cb871dcc1e84a7ef1d21f9237b88cf6e
-yuv411p             aec2c1740de9a62db0d41f4dda9121b0
-yuv420p             4398e408fc35436ce4b20468946f58b6
-yuv420p10le         74518a7d68457c54da3300e80c683e9c
-yuv420p12le         32086c64c814315aa9253580708a192e
-yuv420p14le         265e9fefb8b92f3cae678eb3cf4e00b4
-yuv420p16le         1ca89e47164d5f2481e39d4ac6eab2ed
-yuv420p9le          59f0209084d1d1dd2861e058d1df63f4
-yuv422p             e43d68568d9f782908ba56bf1e09d5d5
-yuv422p10le         18667cf7f87d8ffe1c4cc3db2100c559
-yuv422p12le         71e32220fa1bbdcac95fb57ba0dbd4f0
-yuv422p14le         a0064be4d29079a811e5a315341da09a
-yuv422p16le         836057e9999c763697c66c21869492b8
-yuv422p9le          3213bed797e7b4cefa4f174dc33bf246
-yuv440p             a7e34de74c96b0224fe1381ec1db2ba7
-yuv440p10le         f91a481e27be7ea4a38a878e5e4330a3
-yuv440p12le         0e9953a09ac09fe5f1523b350cf7cb72
-yuv444p             6bfd89286dc36f2789b77d747ed8fa22
-yuv444p10le         b10afb5fda970dbce8aac5aab981a8cb
-yuv444p12le         8f1b4b0f91d309fdaaec8a1ba6c7107f
-yuv444p14le         2a87a84fa01237de9c08dd7e9ffbf78d
-yuv444p16le         28508867fe7470c3539f8a84e8fb8271
-yuv444p9le          99d39ef897c6037d6c7aa6e7a0398f84
-yuva420p            842c27169ecdcf6de79f2b787367b51c
-yuva420p10le        336fcb42c5b665c2028661e73325b359
-yuva420p16le        ff45de790e7bdd3c25d8aad51289aba9
-yuva420p9le         8ef1f3b3e01b5ce222e4caeec3dec396
-yuva422p            91dcecc4bfdff1f0db9ef8b9b5b9ac2a
-yuva422p10le        1ba292c74c8646fd077a6116142b1bc8
-yuva422p12le        50e59879a9b64ac0fc7f76a110537baa
-yuva422p16le        383226550fe9c93d6e8bf0d45d1423d1
-yuva422p9le         0fb76788c905c6d448143aa3c5eae116
-yuva444p            fb60941a57596b277417a3c7c00aa194
-yuva444p10le        251ea4ead8300d752eb355a08cbb0352
-yuva444p12le        f38b7c5747b43bcc6d647f143cb069cf
-yuva444p16le        5b65287e1862d2d9f1ad2cfdcde94661
-yuva444p9le         e6946c10b94c271e7ea24b3bcff314e1
-yuvj411p            87dbac57b211ab4823c1abbd702f1516
-yuvj420p            1abef62bce65131ca4913eb2006fd860
-yuvj422p            198c57b519e2be14b150889bd7f94898
-yuvj440p            e6533260d197ad15e39319117c57473e
-yuvj444p            26a44748960513783ea676eff409d89a
+0bgr                8a37b1bfe3e75c3277d6f40766942c0f
+0rgb                ba58fe31fa1f80ce3cef577644e7367e
+abgr                cce26689c247370427e2488fb0ead593
+argb                41ec3238e758efca32c5b65fe3b4dc1e
+bgr0                0372e7b1e8fa54581f72c8a4ac506f2c
+bgr24               ce4777c6a60373dfd3bd2e06978af23a
+bgra                561c598fa48a9af5606bcc60e226eeeb
+gbrap               1dc697374b424983afe1d1e301d7c5c9
+gbrap10le           8784090f8662a14ee42c123dc18eff61
+gbrap12le           30fe428ee08da0f21443b4481cde2621
+gbrap16le           f27013eb24e882c8531eb1c0cece36e7
+gbrp                b641fdda282e2b4c08aaaa22e40d7f25
+gbrp10le            53781a1522e2a68df2aa5965a4fcb4f1
+gbrp12le            872caa0063c4a5644debea228cc0bc37
+gbrp14le            ccaba7f430986569a9e00d8a4610fd92
+gbrp16le            ab885711ee82eedee5c09a8fc0bce4c1
+gbrp9le             35dd163510fa5605070d383fbc6b4135
+gray                a99364d8e5bc0f65585b33e1fd870122
+gray10le            697aacfa8382516dd41989255f00d6e6
+gray12le            7e509640dfb60154fd666621c2370b98
+gray14le            e54541fac3a37e55e5c60d900b9f453b
+gray16le            b31908572a21b8e465a56305aa8fa7fc
+gray9le             d2c9f1d0fed8cb6431fa7a1ba50a4a92
+nv12                7046d9ddaffa571c400f9760f079a0ed
+nv21                e42d7c0ad8e0f7e6a80c18528db7d0d1
+rgb0                21408b8e070570dbe398e0b233f3b171
+rgb24               d60dbf94e0b493a794ede0bc536a8395
+rgba                a963e5d60026a91c5602c7dd9e029298
+xyz12le             37e0ae3740d854ee467f834ce78e7dd7
+ya16le              d9a5a82714e73ce0222067fa516729c3
+ya8                 39e50c79c8223fcf61b13ac41cdbf03d
+yuv410p             fd5dfbf28730a69b7ddd0a4c1bf6c788
+yuv411p             1245794899b7299a1760eafe11627c58
+yuv420p             c761972c965ae26a409fe95339cc1052
+yuv420p10le         b66bb2facf55452bbd8f7fb9cd18ff06
+yuv420p12le         b7de016c58d95a3bb5f38608e9ef84df
+yuv420p14le         0fe1943d4c6adfe70014dc2cd82c61a1
+yuv420p16le         c9e0fdcb962261c50aa584a2f98b7b74
+yuv420p9le          3422089f911ed943b2046443a573aaa0
+yuv422p             c93792c528b5998281ac15e05f2a9895
+yuv422p10le         be14950530a929f88640578420dd0190
+yuv422p12le         127c27a16a1f44ddcd9523851817852e
+yuv422p14le         d756faf75530786c3c2c822f1039ad83
+yuv422p16le         5b7a9365475ebd258582b4eb8e4bc7c9
+yuv422p9le          04c00fc0d192fa9eec72c58b4d926be9
+yuv440p             4a2764519b995f60307a3543fdd6c68d
+yuv440p10le         ca3369d433b951d9884107d2742a5111
+yuv440p12le         0a97fe05645661a19b157775d03d3ce2
+yuv444p             e623896f5c585e44261813ce1ee60de5
+yuv444p10le         dd47482e23560f35536138f5a54348c0
+yuv444p12le         be7d33985dc27cade651afcf55ee8e6c
+yuv444p14le         b06eb54e30460b2ad0a5c5455b790faa
+yuv444p16le         e330d4da7e9bb59725e2dc237cc6cd8c
+yuv444p9le          6401b58ef41146df063c96b82f61e1ae
+yuva420p            a6b69940c3be374134ad4606ebef6f86
+yuva420p10le        a058ba12c7258e95b8d9039b9569fcdd
+yuva420p16le        34531b0383851c0ea554055f65354a65
+yuva420p9le         222344547aaf034242302f538d1178ca
+yuva422p            a550ef94527a25c04b03e103337f88d0
+yuva422p10le        7e37584b6a41d5653cd9abc9b59a184c
+yuva422p12le        29e3e51eabe141897d89bbbd52a50b33
+yuva422p16le        ff9c7c9c4e95fbc67f73d6c1eaa55e49
+yuva422p9le         e7098db4ed2e7223b11a9fa60e1268cd
+yuva444p            c15b432c656d1fb8b8b701fffb285f6b
+yuva444p10le        059d23b47e773bd927cfddbc4bc1d9ab
+yuva444p12le        2185c742696d75d0413716bde5d649ed
+yuva444p16le        495465601c63d5a5b38c22b584619b00
+yuva444p9le         eaf937960cab891cb9814bd0dc33b7d3
+yuvj411p            232cd6d1e2d170bf3dffe862f800bac4
+yuvj420p            6df9524f3997b30d0004dcf64d03a1ca
+yuvj422p            4ad2df4ae971bf278ed9c91403a8d685
+yuvj440p            6ed29b397b0cbf582e8cc9ccffd7ccf3
+yuvj444p            22fbdfaf8b6d619c22053a070108e305
diff --git a/tests/ref/fate/filter-pixfmts-pullup b/tests/ref/fate/filter-pixfmts-pullup
index c6ddb3489a..1e010b5653 100644
--- a/tests/ref/fate/filter-pixfmts-pullup
+++ b/tests/ref/fate/filter-pixfmts-pullup
@@ -1,12 +1,12 @@ 
-gray                415c928947f83f9b45c24ad15a094bda
-yuv410p             0f29d0b6394871e1e6cde484b4f351f4
-yuv411p             ec059b1992e1acda472b9b2dd3e4506b
-yuv420p             dba6303cd02cc39cb0db7b546793d565
-yuv422p             d7d3224dd900bb1b96608a28a704360d
-yuv440p             d4c5f20701cfceb4bbf7d75cfcc13514
-yuv444p             7e405274037e7f2ab845d7413a71e16d
-yuvj411p            dc602e7bd3449d16e17e695815616b1e
-yuvj420p            b98ec86eeef2d512aeb2fc4d32ffa656
-yuvj422p            f09c3240bb662477b76ce4da34b4feed
-yuvj440p            8d3ab69e2bbbbbd2f9be323c18922533
-yuvj444p            2dc27560eed5d685354796dcccce853c
+gray                ac3bb0d55e257ba40475227edae3bae9
+yuv410p             c1febbe245c0da0a05e49ba7b36fbb77
+yuv411p             1d8cdf3ab495cf21cc3e8f4d515e5f93
+yuv420p             b2db73a3e03fbed982a328721f66e9f8
+yuv422p             48bd3d21613c3309b20164d3062c9d17
+yuv440p             5bbff77a7324f761eb9d5d7d0dbb6d3d
+yuv444p             9b281921e1446fd1bc50302685e7d9d5
+yuvj411p            2fa946c8c2bb761c14d35124bda5d0f0
+yuvj420p            09b1b2b6ed1b2d2553aee474cacfef40
+yuvj422p            914e86dca4e5c78897b0b02ea69d6fef
+yuvj440p            cd1a39a70ea68d5c866089c4b4cf240c
+yuvj444p            aefb8ddcb5c9625efcf97cefd70098a5
diff --git a/tests/ref/fate/filter-pixfmts-rotate b/tests/ref/fate/filter-pixfmts-rotate
index e4ed81e71a..3e87372552 100644
--- a/tests/ref/fate/filter-pixfmts-rotate
+++ b/tests/ref/fate/filter-pixfmts-rotate
@@ -1,34 +1,34 @@ 
-0bgr                4060279c35dd8810a2f55a021b836557
-0rgb                527ef3d164c8fd0700493733959689c2
-abgr                023ecf6396d324edb113e4a483b79ba2
-argb                f003b555ef429222005d33844cca9325
-bgr0                6fcd67c8e6cec723dab21c70cf53dc16
-bgr24               4cff3814819f02ecf5824edfd768d2b1
-bgra                3934fb81a602dfa7d29420b1a66f0fd8
-gbrap               98d30987407c51e5620921e11d40a4ff
-gbrp                5fbc319e30110d19d539f5b274eddb6d
-gray                188590b1231afd231ea910815aef2b25
-rgb0                0de71e5a1f97f81fb51397a0435bfa72
-rgb24               f4438057d046e6d98ade4e45294b21be
-rgba                b6e1b441c365e03b5ffdf9b7b68d9a0c
-yuv410p             5d4d992a7728431aa4e0700f87fb7fd8
-yuv420p             a014c7eb7a8385d1dd092b7a583f1bff
-yuv420p10le         15c83294ef560d57f25d16ae6e0fc70c
-yuv420p12le         c19a477a07fcf88e37ab37b416d064c0
-yuv420p16le         dae8da9edd4255051e3e546ae7ed9bd3
-yuv420p9le          83a6d32c91c15a3bc334bb9abf920654
-yuv444p             8f90fb3a757878c545a8bfe5d19a9bab
-yuv444p10le         6d736fa464ff2de2b07e0a56af8444b7
-yuv444p12le         08a81b2ea9c7c8b447e40ef8f4a46a4a
-yuv444p16le         781c22317c02b3dd4225709000bdb847
-yuv444p9le          caef947b8aff5b52285385c6ae9b2439
-yuva420p            b227672e56215e184e702c02a771d7f3
-yuva420p10le        01e94ee605714396e69b013c11dda348
-yuva420p16le        b1930ab28ffe031c78ca28d3406311c8
-yuva420p9le         0e9c9803aaaddc9f38e419de587793c2
-yuva444p            459fad5abfd16db9bb6a52761dc74cc1
-yuva444p10le        92f820d3481b7ebcb48b98a73e7b4c90
-yuva444p16le        2ed56ea50fafda4d226c9b133755dad8
-yuva444p9le         4eeb5988df0740fea720da1e31bbb829
-yuvj420p            8f3d8f1b4577d11082d5ab8a901e048d
-yuvj444p            b161e6d5a941e2a4bb7bc56ef8af623f
+0bgr                e04c6952a7fb1608a3fc566974bef52d
+0rgb                19df843e34aff4a054eba70b5131936c
+abgr                08c90c4e2ade7be0ba515f9311bcd4e6
+argb                08c244e2cf329d2664dca0a230c0107f
+bgr0                0d9f1e0f79ebe5aa26b369e3d3a260f0
+bgr24               06e2b9f386e38f0c4b68a0c94b05a7d2
+bgra                3b1fd170151ded3027c646b556a20017
+gbrap               0bfbe6bccb3df0332ecae0bb9452c56e
+gbrp                49661362bbbba539dfe6658ede54857f
+gray                1b015bdee8b402017e7e4e0a023233b5
+rgb0                6efa7e175ebf88964d712291ca3c93c4
+rgb24               9b4f6f90ab7147f5fa3f36027a533947
+rgba                2ec104096b838eb118bc9c304b8c57b7
+yuv410p             30be4efb0038c5d64a6e82b317d79fd6
+yuv420p             4990f043bea6f8a3e59cc479a5369848
+yuv420p10le         f02a89234cf286acecd8fe03b08a01ce
+yuv420p12le         fd4aedd950fa5968c37f540c754be08e
+yuv420p16le         8b362c6e970ec484fb91678c0688f46d
+yuv420p9le          53919aa4ea2ec50a62b0f9dc0ff6c959
+yuv444p             12a965d335c9761c65d6797a6c178379
+yuv444p10le         1d1bd79af2e5665669fbdc712c82ad5e
+yuv444p12le         aaf43938024db04325c709fae3ccd338
+yuv444p16le         620ef63931c2dac453276aa990164fcc
+yuv444p9le          2a5bf35e2b1c95ba4d9358821e1277d9
+yuva420p            cc8441023f6a77a3de0dbb98eb06de03
+yuva420p10le        373b6bc130b122cf1dcea87cf6b1cc71
+yuva420p16le        c57f66487b6790eea93025ca3af776b6
+yuva420p9le         3af7a72c921185617d738ed8ac241596
+yuva444p            0007f930d22b062f6a0aff3f7a6074aa
+yuva444p10le        15acf180a20e2ca00eb495f46dd96ce4
+yuva444p16le        7faba5fa29f8e95f9cc7452799da752e
+yuva444p9le         d35e6d6186c8c3c2e893078ec43cec25
+yuvj420p            3baae4ec524f8516c641445b27e519a2
+yuvj444p            4c72009fadb5db723db71533d70a6200
diff --git a/tests/ref/fate/filter-pixfmts-scale b/tests/ref/fate/filter-pixfmts-scale
index 3226e8b53c..db0f3a80af 100644
--- a/tests/ref/fate/filter-pixfmts-scale
+++ b/tests/ref/fate/filter-pixfmts-scale
@@ -1,153 +1,153 @@ 
-0bgr                0576e427ba28f19e55a856f528e7c282
-0rgb                80a58af8c639743307207ab4b69ca863
-abgr                63f2eaa8712ea6108985f4a0b83587c9
-argb                f0e17c71a40643c33a5bcfb481f6d8f8
-ayuv64le            59fb016f9874062d0be77cb3920ffed2
-bgr0                243d58ca64f97b2f415b4c63cb79f0e1
-bgr24               18744aaab4b8bce065a7144dc0ccf921
-bgr444be            920760bee08c4fa161bf060e21ebba92
-bgr444le            01be36a28ebca1a11eb4d192986cd4e9
-bgr48be             3ae02769c69d2512eaa26fff65763acb
-bgr48le             a6ce2344f07b77438258b6787fe5c24c
-bgr4_byte           01efea74088e5e3343c19ee053b95f31
-bgr555be            ab353278d103d379e1ec86e5cabb645f
-bgr555le            16ccbf59297e4b9ab25fd8af5a84a95d
-bgr565be            3477e19fc11f95285836f30fdff26c1d
-bgr565le            82a81e7c9d4e0431fa22f4df9694afdc
-bgr8                2c57e76ccf04d51de6acafcf35d6fa70
-bgra                d8316272bc3a360ef9dff3ecc84520a3
-bgra64be            4e6a1b9f9c18b881c27d76611d45f737
-bgra64le            efeee0abcc658ebcff049d5e74d74943
-gbrap               4a100f750ac846b34bfeef0d6893c3de
-gbrap10be           6d89abb9248006c3e9017545e9474654
-gbrap10le           cf974e23f485a10740f5de74a5c8c3df
-gbrap12be           1d9b57766ba9c2192403f43967cb9af0
-gbrap12le           bb1ba1c157717db3dd612a76d38a018e
-gbrap16be           c72b935a6e57a8e1c37bff08c2db55b1
-gbrap16le           13eb0e62b1ac9c1c86c81521eaefab5f
-gbrp                dc3387f925f972c61aae7eb23cdc19f0
-gbrp10be            0277d4c3a8498d75e2783fb81379e481
-gbrp10le            f3d70f8ab845c3c9b8f7452e4a6e285a
-gbrp12be            fbd4e149c452c351c6d1c11d6b6e176a
-gbrp12le            c51d51c3b753d735eb22983397262c88
-gbrp14be            cd20808592e62cc439786c18a14b3e70
-gbrp14le            456f7d1ff5990aa6379137d84dd63862
-gbrp16be            5fc826cfabebfc1442cb793c4b6303e2
-gbrp16le            1b3e0b63d47a3e1b6b20931316883bf2
-gbrp9be             d9c88968001e1452ff31fbc8d16b18a0
-gbrp9le             2ccfed0816bf6bd4bb3a5b7591d9603a
-gray                221201cc7cfc4964eacd8b3e426fd276
-gray10be            9452756d0b37f4f5c7cae7635e22d747
-gray10le            37fd2e1ec6b66410212d39a342e864df
-gray12be            950de5d1b6b943a26c51f6a157e19a14
-gray12le            9c3b154a8bb0a73a3b465892dbc23b36
-gray14be            db9094229f32fb22c5cf06471b9a1cfa
-gray14le            c33308eb8b40142dfd9273249c1cd73a
-gray16be            32891cb0928b1119d8d43a6e1bef0e2b
-gray16le            f96cfb5652b090dad52615930f0ce65f
-gray9be             779dec0c6c2df008128b91622a20daf8
-gray9le             fa87a96ca275f82260358635f838b514
-grayf32be           5e4c715519f53c15f1345df90481e5f5
-grayf32le           2ff1b84023e820307b1ba7a9550115bc
-monob               f01cb0b623357387827902d9d0963435
-monow               35c68b86c226d6990b2dcb573a05ff6b
-nv12                b118d24a3653fe66e5d9e079033aef79
-nv21                c74bb1c10dbbdee8a1f682b194486c4d
-p010be              1d6726d94bf1385996a9a9840dd0e878
-p010le              4b316f2b9e18972299beb73511278fa8
-p016be              31e204018cbb53f8988c4e1174ea8ce9
-p016le              d5afe557f492a09317e525d7cb782f5b
-pal8                29e10892009b2cfe431815ec3052ed3b
-rgb0                fbd27e98154efb7535826afed41e9bb0
-rgb24               e022e741451e81f2ecce1c7240b93e87
-rgb444be            db52b9ecdf98479b693e3f4bd9e77bac
-rgb444le            63288425c05f146cde5c82b85bb126e0
-rgb48be             45b25016f10d54cf36eef3479afd8249
-rgb48le             40577b147620ecfb115717473d000697
-rgb4_byte           9e540a2e7193ebcbf1c7f85d192a0c4e
-rgb555be            cb5407a0d40f3d0120155daeaaa9a222
-rgb555le            c15540d1fc887882c35860634009c439
-rgb565be            c69fa7d6e458509de65e911d147629a8
-rgb565le            a4a6ef89cdc10282b428cb1392f2a353
-rgb8                bcdc033b4ef0979d060dbc8893d4db58
-rgba                85bb5d03cea1c6e8002ced3373904336
-rgba64be            ee73e57923af984b31cc7795d13929da
-rgba64le            783d2779adfafe3548bdb671ec0de69e
-uyvy422             aeb4ba4f9f003ae21f6d18089198244f
-xyz12be             c7ba8345998c0141ddc079cdd29b1a40
-xyz12le             95f5d3a0de834cc495c9032a14987cde
-ya16be              372195dc947eee1bcb6f733a3544272e
-ya16le              3923551514cfa588cf528e6f48e8cb9a
-ya8                 0a9db5bb4b009de9197eede5e9d19e16
-yuv410p             e8f49b5fb9335b62c074f7f8bb0234fc
-yuv411p             5af32557c93beb482e26e7af693104c6
-yuv420p             5d3ac239c3712143560b1dfbd48a7ddd
-yuv420p10be         95256d0cefca26429b2f41aabc9bee04
-yuv420p10le         1aae90a2cff18e516f004dae77ac78f7
-yuv420p12be         25a6da0f8045bc7bdeda544e1cf2387b
-yuv420p12le         c6e40a0851e1237281cd6500bef7a1fa
-yuv420p14be         b202fde5a53d529ddaa35c9467ff0b61
-yuv420p14le         36cac5d88b0d566cf835e84da6513e5a
-yuv420p16be         6f307c5b1a5941023f9029cb3a616f5c
-yuv420p16le         11f4bfbd4a058b58aa26dc47a86061f7
-yuv420p9be          aa0d83ca3cdb5770e47dc007cf5f7324
-yuv420p9le          0e6ade4219bdcbce32eceafc80d995d7
-yuv422p             9823e4d6bd1482b0cab3c44dab67f0a7
-yuv422p10be         42b9b936392b4a6a678028ace2cdcd20
-yuv422p10le         4bdc5e9ab3a16409600887335dbb1a66
-yuv422p12be         af6ec8146dd7860b510017c22e8d0c80
-yuv422p12le         d69676f61d2693cfd163b3ce3f79fb56
-yuv422p14be         2a005a86b80b947c953d11ae170551c7
-yuv422p14le         dcbde0634eb70bed62dde097c80a1643
-yuv422p16be         a772b46454e415ce454c0999ebb71486
-yuv422p16le         b4f64306c671ba4aa2eb23732ee02317
-yuv422p9be          8313b67817cd81fe768bdc5c2f3fffb1
-yuv422p9le          39e9236c5005bfee5399c29e379964da
-yuv440p             483b8427cef7ab9c94d6b3f26d0ab094
-yuv440p10be         b93618311430e216a3d6736182fe7c04
-yuv440p10le         ca2c882018398d2a126c1ec65e8336d8
-yuv440p12be         373ab37ba2498cb11de24218d686e0f8
-yuv440p12le         bb9ffc3033fe32b9ce3233524ed5ab70
-yuv444p             098f01e6790e1e6beff8d604120c2664
-yuv444p10be         024ee33cac7b5b7b225d7acb9dc59da3
-yuv444p10le         a085fff2fb81d76753da689aee365b55
-yuv444p12be         a181627b93bd9c4c384b83e17d373a7c
-yuv444p12le         97e47326ff0efe89c295fd9ddb0ca854
-yuv444p14be         3eac31f0d4969210640de74914faf86d
-yuv444p14le         2c362c4cf167b7e2d83f4eb0dfaeb2b9
-yuv444p16be         a60c674411d64cc4b9fbf17039afffb3
-yuv444p16le         0a490fef1f2631367ee362d20a336efe
-yuv444p9be          040bcbb962c19e390482301933622930
-yuv444p9le          16b65bb696a8931c7ab69501a7f93cfd
-yuva420p            05a12916f04859bb2c9a6decf624af74
-yuva420p10be        df8b3acfa7ac6ad96929aac1aa6c0102
-yuva420p10le        a5cc4bfc952ad1bc6f033d136d5a821c
-yuva420p16be        01c74149a6696d0ee71232881622ac3a
-yuva420p16le        c78a814ad6a2cbbab4b422724f0c7ba9
-yuva420p9be         57b730421849f8ccfe7913c664396376
-yuva420p9le         1fdfcde9cf7ef1d41002175b5793435f
-yuva422p            3a80cb3e08782033aabfeff1e8969403
-yuva422p10be        94b13db95ceb970ded9773c095ade7d4
-yuva422p10le        544965627ee94964b9cc57750c385b31
-yuva422p12be        4285def72fb83a9c918d78453220a4b7
-yuva422p12le        accda73617ccfa3c45ced5e2a48a8323
-yuva422p16be        95be33f9599958669f3c1cb24e54a5e5
-yuva422p16le        ed83cc6e8fb70306d0622962504d1fcf
-yuva422p9be         5ff6aeca90b8392133d7b1addfbd639b
-yuva422p9le         451965b076c628b0eabaa4ef33f98ded
-yuva444p            f120326d9d940c9ac5cf5fd160969b82
-yuva444p10be        1838cd61a24fda56a7379c9cd9cb1629
-yuva444p10le        c5c2f602caab63c58954f5a80691436a
-yuva444p12be        befc6a3602bc58df4f4e8490ae6782cf
-yuva444p12le        8d13b714cdbadd2aa4e16c1ec673c0e2
-yuva444p16be        39ca2e32aa61b210b6c528855d24a16b
-yuva444p16le        cd2e0a001d8175f2204b2eb411c6a801
-yuva444p9be         58add24afbf43ff0ff7079cc1948fb56
-yuva444p9le         077c8cec2c374163d7f7eae27e797bdb
-yuvj411p            d1076331c75ca66bf62497edbd8384f9
-yuvj420p            10390e6dda9cbb4c61fb88bcbb49fc3c
-yuvj422p            996f6672566a4dcd8d272f48f058d49e
-yuvj440p            3d80c9f67f8ef9b2d8a9ae2d37b464a2
-yuvj444p            9f858b9ca3fe949611147414573a904f
-yuyv422             1704675eff94ad0a03a9a6a3ddf5e0df
-yvyu422             516705a40f43d00e9c41ff47f4f7b802
+0bgr                617f6b102fcae0643145d8b47490df99
+0rgb                51366c8e5a2cee48cbb2628af8d8ac0b
+abgr                8e9250ad256df3844235155a845addf2
+argb                cb8fc5d3317398e0c7de76c23a76ecc9
+ayuv64le            b76f92e3f5f68f1c134be1306a27301e
+bgr0                4e1db506253b7b7b8225b5a5b7fdcb86
+bgr24               a03d99c8430c89576052dc67d50714ba
+bgr444be            23cf0604a0e1be4b16b99ee14b40bc3a
+bgr444le            c467617739606e8cde6f4fd1723d37de
+bgr48be             ab75220beac3c1d82c3f3e396479f9b2
+bgr48le             9d68a99eafd3f2eb7d2246b9f9406127
+bgr4_byte           b7f9001d70db081e96566755429f626c
+bgr555be            40600f5c2bf0225cf79bfb794e94c1a5
+bgr555le            175fcce90a63e7909504072ab2cc7d83
+bgr565be            9f246cdc045420972f0e365784c44b06
+bgr565le            5b8fbfd250f41bb8da01ab085a13cce2
+bgr8                2db8f3422c95371c8eb3e09ea8087734
+bgra                f1944c4480e60935eefcecc0ae39230e
+bgra64be            0fde79c481382fe7b4bbb9d6dd45a321
+bgra64le            3bdaafe60d8e5fc43f8991121f7f142b
+gbrap               07955289cdb81df738ad963229683440
+gbrap10be           1fbe8c2d17cdf489fb597538f1a36921
+gbrap10le           fb44437ce09d94a0a7169ed34fbedc4b
+gbrap12be           cc31eb3c64c17513b321255fbba4fbf1
+gbrap12le           d8acab41e806bb1767c5a64776394fb4
+gbrap16be           e4ca97515bc55f804f1405e9d7d1e994
+gbrap16le           c687704f930f90bc8b38f60aa59b7b28
+gbrp                b5f493cc2e3109eb8872dc5cbee27036
+gbrp10be            d7ae05f9fe6e6642229d3a7224269f8b
+gbrp10le            0265766162d4a5c62ddb69afab0e9555
+gbrp12be            ac8f96077d0444042f95bb045c851dbb
+gbrp12le            bbb5a580b1a509f807169def1b57db4f
+gbrp14be            05566f361af97a21ebdc9c4ab5e0909f
+gbrp14le            74b106a3b6f5955116bb7fd5478ca308
+gbrp16be            40c7e17d1c0e5cec0130f513e490714d
+gbrp16le            5795790fb7d9d8270616876f8921d020
+gbrp9be             597afb6a8194975dcbd0c811caa84a91
+gbrp9le             98dc6fb0017fd3a97baf14b242dd820b
+gray                8d482777e7c58d556f8f6f70d8e7f08b
+gray10be            fa0ce30c09a2362a478b21eef41b27b0
+gray10le            ca165d09cfa85a822ea5658c12db5103
+gray12be            369ce33a0d39ec5bef04f8901d4a0a0d
+gray12le            4f1a4ab225e32a513d5ae21179c6f4df
+gray14be            8a8a7f41c3e0f67c3439c5420b88eb6c
+gray14le            3bdc69d71d3625c58e400010aee63189
+gray16be            77d89e34569b92e34be11bca2bf89b6a
+gray16le            92a6d29d26cc7975dcc7e58bddf5a2c5
+gray9be             4288eb3689a44d3e1ca70f0083a8feaa
+gray9le             4b4d8b404338d8087049aca6b53e2072
+grayf32be           0bd236d42090475cc7f6dc6964df12a8
+grayf32le           f15703f13676e265a298fd7e5e6b3a7b
+monob               3559e78e95abebbdce86d467ade60978
+monow               46e3f3d19fcaf0d8611c365bc718cf29
+nv12                fb090497c9a5ded9bf8c64da69a6945e
+nv21                c350e045e355250ce6879af199633b08
+p010be              583f96c1d6cc365487a1d2c6af0abef8
+p010le              4f574b17b6fad5e1d16a442c0577f3f9
+p016be              c6c086ddabc8ab8bbcfca97052bcc24b
+p016le              14d83661c10cf23e4194c121d705b999
+pal8                154f4a23a4ad530ce35a3fc99272f334
+rgb0                df61941c7c3c80f2c900c6ac719af966
+rgb24               2563016cff87fca38ab749eb94679fa7
+rgb444be            1f9f28533e1f27d4aea8aa2953584678
+rgb444le            d02d2b76c5c014416034ae7c9373bda4
+rgb48be             47d0c0a8680e45d16cc72249a8807eb7
+rgb48le             41ab2f416ea64c5cc65ca73cf928dd08
+rgb4_byte           2e2bdb8e668d5c3d1b8469dabcc60fba
+rgb555be            d86929bfac3e42d469e7bed97c2c20e6
+rgb555le            093fae3f9f29e9503fb3ea0ac00813e9
+rgb565be            45152676ca58438d4062107b80038f70
+rgb565le            9340071b8d1ffedc568fdb0550353590
+rgb8                493816b5d8bb2d0d6e61cb2b41eb27b8
+rgba                b9a4dfc89055858c9f6f6145c7cb6c44
+rgba64be            89bb786aad90e18f557e4a3aaddbd82b
+rgba64le            408bf122d05fb602436c738b348ad0aa
+uyvy422             21924684dd90b496e506d5baaff27223
+xyz12be             c40b78ef5d2925d86d10047506200de5
+xyz12le             5f61a4fa02ab1429387208e1707cf210
+ya16be              3df1b97adb1478f2851e6c02ea01d370
+ya16le              ef3791037da81220457fd0014f0850c1
+ya8                 6f2d39cdb335631e2f8ea614ea4844b2
+yuv410p             72167f83cdc4dc0d221136a7da342a03
+yuv411p             b37daf1b5c02af280092e32deefd6b8a
+yuv420p             bbddad1af6704ce03fda813b297a97a8
+yuv420p10be         1389ec5ce33dcc633316e4bb2a15b9b4
+yuv420p10le         135f4ad9b32ea564e2e0687fcfa75335
+yuv420p12be         3ed63255d4bfe172fbc70462958fe5c6
+yuv420p12le         3f0a8c6af459925c856f308d76984f49
+yuv420p14be         c683b2e8f540a12193b73ce897ef1d0a
+yuv420p14le         d469fbdbe7ac1165382014dd8969a13b
+yuv420p16be         099255b0513f8f80a177ea2d3ff9f9f1
+yuv420p16le         0a064182c8c840aa56eb996dfa1b356b
+yuv420p9be          5d00ef4786339097ccc0274dbd41330d
+yuv420p9le          292f908f98f261000dfc2ed026f242ec
+yuv422p             4ca886dafbb73dc95496ae6ceb5f4c3c
+yuv422p10be         c669f436771b213b3e9c2e877abb3f9a
+yuv422p10le         0403f3e82df4ea50cb5f274904eb7e13
+yuv422p12be         5ec27cafe3236dee1a40d6146fcdb669
+yuv422p12le         4f7e3392b40dd6beac7b091dc582d6ac
+yuv422p14be         4b575d9bc0676f791978d8e3f3e836e8
+yuv422p14le         e43e9b4ece2302bfc0a393067b28435e
+yuv422p16be         32cb2fb8044b48cab74680b06d9e5172
+yuv422p16le         ed5707a479e0d8b72717fc8674a7a15d
+yuv422p9be          914d1006dad0a7a325f9450dd8c10256
+yuv422p9le          c6cf699b9b334245ca75447c8006ec1d
+yuv440p             1740fecd1dd813ae8509931369985f50
+yuv440p10be         64e44dbb61a31b9477dcfc5982a75b93
+yuv440p10le         c82ecec12f709d48f7582c3bd31a947b
+yuv440p12be         e788c89606a5073d20a0d3958f4b528d
+yuv440p12le         f47af7955eeab2eda52e75757ea01979
+yuv444p             31b8cbe56c82b4f02bb0ddff3cc7123d
+yuv444p10be         d881c044f03a16fff55be4101e8699c1
+yuv444p10le         768f81081fa5a852533913b63a4b2def
+yuv444p12be         4a972e42ab3073bb489308a105b3d431
+yuv444p12le         fac10d9d41df23f6df2300d5b158edbb
+yuv444p14be         7f0d209885e7d23d629e846ca374079d
+yuv444p14le         010bfbddef2c9ea7207e93d9ec28a036
+yuv444p16be         506646e9a90d3a6a08239a9b85ab7f55
+yuv444p16le         2fc786fe6ef706681847619babb637e1
+yuv444p9be          d26f5c6ca790ecd5d3ddca78854a7002
+yuv444p9le          bdd4653d22005c0adcd4fe6b797ab47b
+yuva420p            b6f6e4908d8a0ed132f8475627fd8354
+yuva420p10be        7d11b69982278da8ec629f9e0a3a7565
+yuva420p10le        1ed96b9ca0659bf17c73d782a3a6c65b
+yuva420p16be        591f350ae269a6109bbec955a1ccd2b7
+yuva420p16le        0fab6ab4ecf873afcd8adf7674c60f36
+yuva420p9be         de213b851a7aa74fb61aa63c4ba1fd86
+yuva420p9le         6d6dff89312519520b7a58a28f9c08bd
+yuva422p            50498cc890efa204cff816e2d6ea1be5
+yuva422p10be        9674c27979e6bf616ec7d1c95fc2afc7
+yuva422p10le        98f7d5d2dda3cecb1f2cc9cb6e72d15b
+yuva422p12be        d3f70e03b2d3d2006c96347799533394
+yuva422p12le        de3f5e9ec483fcb646b1c3e39963141b
+yuva422p16be        4d5f0e533355ac9b9ef47245128fbead
+yuva422p16le        1b424ce81b7b4b024bb5992aa86e223a
+yuva422p9be         47a4f707977e81ce45aa69bcf9ba62d0
+yuva422p9le         e3fc1b4d60c77252f80ced425f09b0a6
+yuva444p            38f46a3ea61b1a6e47fe9f9038fc5cc2
+yuva444p10be        7e411aa41cc996b4f54cd1b4c355f583
+yuva444p10le        36a6a34906ccaba3e447862f6404294b
+yuva444p12be        87052e281bedbbc1442d0ed21b2dd6b9
+yuva444p12le        a25110ccb256e04dc1a02a2ebf8652c6
+yuva444p16be        c9e5dc60c8027f2f1a79a458a2333f05
+yuva444p16le        ef5b7b4ec584b53771b325cb48d1cf09
+yuva444p9be         47ba3900dfa333774580a56b87ef7740
+yuva444p9le         ead311fc5a2b125b5c4982103e4cc29f
+yuvj411p            6ca0aa00f5b19e9147b8f3adb6ef7c5f
+yuvj420p            c3298453086b97cddbcb8d519cb28063
+yuvj422p            9a6bf76b0af5ee3bf58aa23f05289ccb
+yuvj440p            7e71dbe2be49d8fd24fc9a98a47a3b82
+yuvj444p            a95bd05778a1c14d334d6bc820393507
+yuyv422             cebd092f00151b3c438822833a2bff21
+yvyu422             a20e6ba8d56514a4230fde801bb56d26
diff --git a/tests/ref/fate/filter-pixfmts-super2xsai b/tests/ref/fate/filter-pixfmts-super2xsai
index 3c7e65ab5a..be85f5d326 100644
--- a/tests/ref/fate/filter-pixfmts-super2xsai
+++ b/tests/ref/fate/filter-pixfmts-super2xsai
@@ -1,14 +1,14 @@ 
-abgr                e21be14b5fe9d7a29740a418c325b17e
-argb                563489534663cb2b32beed2b41370c37
-bgr24               a933eac9bb53c3ce3c33950b229996b5
-bgr555be            d6d14ec3ae9ffffed3006a253e9b9a9a
-bgr555le            70b819425f79f823356229b90b41cc84
-bgr565be            4ffcc26e740622ffd3314fe251e97804
-bgr565le            6fb9dc50a81b853800ba65d5ec6b8417
-bgra                e9cc6644e2f35103c241094ab4bb8fec
-rgb24               3fd7653f414f350ddb0c0a236ce0c809
-rgb555be            0f34c006142babd10065d90b8c2ce3d6
-rgb555le            53325a20c913826566880eb25d1d2946
-rgb565be            9889faf1a636161f3049b78e92db7d89
-rgb565le            14fe550f449a7539d9f1e99e85cf40f1
-rgba                7041184d35c316e73e849504b64bc4f6
+abgr                440eb346f31148b901bf7e90a29f4ad4
+argb                8d24aba57193b745972d50dfb99b2c46
+bgr24               da4f2be81fcc8af8293ae5b770d18b85
+bgr555be            70404bd38db56bab87a9dfe0ef461cd5
+bgr555le            5ff071b2d0e19000b3b7316c290f3cc0
+bgr565be            ee3d9e5575dcea7130da6c7e07e7e450
+bgr565le            e41381908a446f633676210ef7ec121e
+bgra                a28b1c4b2b9c5715a1f26b18d2c6e2da
+rgb24               89f7d9842ad7327f6cba1af03653a5d8
+rgb555be            d66053e8c21f607ac83f8a302b0a98bc
+rgb555le            459001c4918c12ed80af8bc2dcf0ab5c
+rgb565be            93396d33589c862ffeecdbae685eb2d1
+rgb565le            f36681779a206deec1f34f2ec6defe14
+rgba                6dc62b19719ee430d88c2a29e4c4f2b8
diff --git a/tests/ref/fate/filter-pixfmts-swapuv b/tests/ref/fate/filter-pixfmts-swapuv
index 676a440699..a7bd3f8abf 100644
--- a/tests/ref/fate/filter-pixfmts-swapuv
+++ b/tests/ref/fate/filter-pixfmts-swapuv
@@ -1,70 +1,70 @@ 
-yuv410p             c87be6ce12b2d505935893b733e21ee4
-yuv411p             2a8b6b718d437e0bd15b614ea0723a82
-yuv420p             60976c86cb8b9a7ac3a11ba874134f22
-yuv420p10be         84f6ed35268d552fcca83629ab6aa4dd
-yuv420p10le         559e8f10eab594de72d2b081bf9d480d
-yuv420p12be         f4650c64b173a906d33719e49c0cfb9b
-yuv420p12le         26370ea437474d2b53ace1e55ee53faf
-yuv420p14be         970fa43a1470ddedbd874c726a519293
-yuv420p14le         5a18b1d6f439077208556f2d2a80becd
-yuv420p16be         97009aa152a4c6dc383b75c551ffa71c
-yuv420p16le         e7201caa7838647aefee41ae9e098110
-yuv420p9be          1fddc5d7f64f642fe888c5e0a8a4f499
-yuv420p9le          6e111f38dddfeec499e162f17244362d
-yuv422p             80c6bc82f4bc330df1895c8f998e34bf
-yuv422p10be         0aeb0cd5949ee258355fbe4ff2f84a56
-yuv422p10le         1bfff133885efb1c44dfd9191b6f241a
-yuv422p12be         d0b86084ce9330782fa24c4bdb3f6bc1
-yuv422p12le         d46f2dd548a3edc0b1e3870ce112b722
-yuv422p14be         91a75ccb62fd1149069c6b7b26fe195d
-yuv422p14le         dbec6e0152daedafa161437fc931b1e6
-yuv422p16be         c5de1a3fd28f647cb14d293061312f80
-yuv422p16le         56d4e3285312b1a24f299bef44f4dc15
-yuv422p9be          ee90a48d7bbb9973e9152e80d58bfe4d
-yuv422p9le          c6cacd918669ffd24732281bed2e61a6
-yuv440p             563fd94ba1ddde6f3cd34a815ec03165
-yuv440p10be         2aadf346979813cbb336c0a543fe243f
-yuv440p10le         9e34483ca0850e2d701a8a6d8ca9a0f1
-yuv440p12be         287406f4129717ae52d0c443cf42c207
-yuv440p12le         ecbf69ad94f2917251f1ee642c82e8ae
-yuv444p             184ae83da74e478595258db9e6af0827
-yuv444p10be         224d0e8ed36e9e72ed171aeba6483523
-yuv444p10le         b525bc915f533a2a82b3ce525693bb9b
-yuv444p12be         afdf75fe13ae792c4e0fa2cfb9e5bd1e
-yuv444p12le         f161ba8f5c036deac7def77ccbda67b7
-yuv444p14be         c87e248a2c605515f11afd8f1251db67
-yuv444p14le         3085381c2b70642fc95c6bb153d766a1
-yuv444p16be         3d99c4af5cc1ddc3144a10e0b2b75951
-yuv444p16le         56f7022d0aeb4c4f56c6451e431d5390
-yuv444p9be          3d86a8c9cc4af8ecc692578384e01ffe
-yuv444p9le          65b78fabc21cad07cfd209f2c27ae0be
-yuva420p            8afb004ce37ac4d9f881c138b25c414a
-yuva420p10be        7417eee3faa13dd69a2335996fd4ed14
-yuva420p10le        db1e7e8bc49adb2180d8dcef665331b7
-yuva420p16be        949443d63e99f714b2dfcb5b79033d5c
-yuva420p16le        22c6b3317ece86f461aec210179571be
-yuva420p9be         1125f7298fc3f69725ad793d16c2da12
-yuva420p9le         7f445bfa33b6875cc65b47cee24c3154
-yuva422p            a1bd5c90b7bde1d3657025612a6f231e
-yuva422p10be        05bcc2394cfb0406d37b942423f6dbe7
-yuva422p10le        c166994709af82b9cdcebe4a7057348c
-yuva422p12be        30f4f9d6a2a623c45c4474e4aac8f7b9
-yuva422p12le        79dfb02173b19beb76b9f0b76a96d1d5
-yuva422p16be        9599ed5721f52028c3acfeb7b33ddc87
-yuva422p16le        dbb74e0bb2cf732e39e669f60ec6e1cf
-yuva422p9be         39093fec98b02e83b7e20dab3e5e4cf6
-yuva422p9le         a0a6dd2e62ea01e8a2268c7d88385252
-yuva444p            ff2441de373fbfaed7bc199a7abe5a3e
-yuva444p10be        857043b712213eee329d2fb584d74c3e
-yuva444p10le        c3c451b3605af959a5d80146f4170e9d
-yuva444p12be        d60fd21b48fa6a3677a9070d5b2eafdb
-yuva444p12le        8f43565353cf0ce0a06f6b1261e42a53
-yuva444p16be        356d72791dfd91861b21630e315d40cb
-yuva444p16le        176591ce074ba8befc5fb279446ca1be
-yuva444p9be         675f0ed3e6572b05f06d9e44611bdff5
-yuva444p9le         bf3ea2bf123a3a1ceedf587682b85cb9
-yuvj411p            361c32e086bd27cf3ded194dc00dc9c5
-yuvj420p            553ac1af571391271d9715e2e8a4a5cc
-yuvj422p            39b613d01cacfcdd9eecf9e0d379a393
-yuvj440p            afed4ad98d6accf5811d439f3a687aa1
-yuvj444p            8de64aff4b7b3895d8cedd67cc10722b
+yuv410p             661a8267d739b94ebab4b45154c75650
+yuv411p             324c281911659085f494c40fc6117f84
+yuv420p             b801edf662367687e7ad3bf4a71a5bd3
+yuv420p10be         37d540a5c8ac1c4b4bd38fe615f80e81
+yuv420p10le         78dee7b0699da49885f0168fa8551f1e
+yuv420p12be         eade9c3be8c3403defb6456255ef2d01
+yuv420p12le         aef68780afc3ddbc817bb2e13c93db15
+yuv420p14be         66df325c900bf9985bd86700993743a4
+yuv420p14le         6a8ffa010fa1da72f80905479f7ae00f
+yuv420p16be         5456f51b73f36e4ef620c56852ad2b3b
+yuv420p16le         7fb5d3b22ecbb2c770269d77ee9e98af
+yuv420p9be          cf6612e8e753523d5ea805618704cbc9
+yuv420p9le          264cfd55dc53f7836eba5aade5bc3f46
+yuv422p             7dd5cb615da7c215165ab1be559ebb37
+yuv422p10be         72e81a165755eed548def10e554d96e8
+yuv422p10le         0532a95f4b960a89cc2c0c68b525ea7e
+yuv422p12be         dc2423767b5849d0d84f510945eba9a9
+yuv422p12le         e756c5e13d24b6a8786eaace948c3081
+yuv422p14be         e4a066a43356b659d20aed651ccaa0ac
+yuv422p14le         57a1c7ab7e32a2e0f830c7f4d77cb5e8
+yuv422p16be         0fd378e0db0335dc8beb0036120524c5
+yuv422p16le         016c064cdaec216061bfad6ba640741c
+yuv422p9be          bf92d6044c38681d145465615986b21e
+yuv422p9le          b40649cb87d712b0352dd5e5d4e1bd8c
+yuv440p             afd02accae13533de4f8ea03c5e52cf3
+yuv440p10be         42a357a85197d7186df0f98a9f6b5632
+yuv440p10le         9bf71c6f741623fd4e0ae67e8d19c1a3
+yuv440p12be         c13a1001d30de8308ab2268385883065
+yuv440p12le         7ea0193f08f7c8a386eeb7107ec96359
+yuv444p             5de4ac4bee080ae05cbda4a84d662754
+yuv444p10be         c73898fc8161c5e08be6f3f3ccf998d9
+yuv444p10le         99ffac86bb74ea19e768d3df0f0e7115
+yuv444p12be         8e79a316e31e1cfb3c6cad4bb800c927
+yuv444p12le         7d5b5a43031ba5706e2e00c5fee9aadf
+yuv444p14be         b9802bf6dfa919ba21663d63c7855a0c
+yuv444p14le         2d81d3c2fc684cd13b7edfa6897ff82b
+yuv444p16be         88839fd82ba9c926357bb3570cd1f6d8
+yuv444p16le         2c7ec308fd0c17ddc9c906936c4de38a
+yuv444p9be          399b823e730b3cdeb8f381d355862ffc
+yuv444p9le          a0e20e07bbf4219f58b167eaca444962
+yuva420p            30c975350ac6773f02172dafe413e7a1
+yuva420p10be        18786e217aa4a83a70f08f6231b5597f
+yuva420p10le        919193df02b1447d2d3ae49bd6d99061
+yuva420p16be        b6bac3aec8b6e077bf186d5901d422ba
+yuva420p16le        d868d928a38397922a345cdfd4b9edcd
+yuva420p9be         cfa74636c40fa4337d2b93d7e4282147
+yuva420p9le         8733b3beb87bed5737af51c689aea98e
+yuva422p            12dba764d4f6db35087b443ca573dee3
+yuva422p10be        3f3c7089ab4d7707bbb81644fc2db1a9
+yuva422p10le        23555cd161c0ea93d63be423723295e3
+yuva422p12be        da886926d080fb3cbc660aed4317f320
+yuva422p12le        4a6805780eeb7f4ea46bb59b4de58798
+yuva422p16be        9caa24e0983a294df2664a5255b83dab
+yuva422p16le        981f8bf7ccb07ea10de086cd5b60f93f
+yuva422p9be         0608f512d9a719c674736b370ecf2a0e
+yuva422p9le         cbef9050ea883e91192ecdf2ead8f325
+yuva444p            92f4ccea4bfe9f79ae5faba43e5c2c85
+yuva444p10be        0c4c0050d3915022b4dcf65e142030b5
+yuva444p10le        244694654b3a88aab4c531f4d53d016b
+yuva444p12be        d1bd97688b454f1bcab42c5dcdd12c4b
+yuva444p12le        184f8d92f32e3733dc294365da55f1f4
+yuva444p16be        ebd3fa12065529ec1b13f73b044e129f
+yuva444p16le        3ee7d0d7b6117cea5d422d66fe3ef9cb
+yuva444p9be         11e62b4d04b70d27ac6a932935a57c62
+yuva444p9le         90c1ee826840a4bd6e4d0f64b7fe08db
+yuvj411p            6e8624d28c98849d5338f7be12e1060f
+yuvj420p            11e6734e4732608945fac5de4c20fbff
+yuvj422p            0de4b98878d805bbee1cf9124995fd1f
+yuvj440p            db8bdd65b3c9f96b270ecfdf14fd32a6
+yuvj444p            7c581e7c45bb237569c0cb6fd5a8a02f
diff --git a/tests/ref/fate/filter-pixfmts-tinterlace_cvlpf b/tests/ref/fate/filter-pixfmts-tinterlace_cvlpf
index 99703fa1af..d093f4e4f7 100644
--- a/tests/ref/fate/filter-pixfmts-tinterlace_cvlpf
+++ b/tests/ref/fate/filter-pixfmts-tinterlace_cvlpf
@@ -1,25 +1,25 @@ 
-gray                9849d71519ae9c584ae8abfa8adb2f8e
-yuv410p             44ee4b74b95c82d6f79ddf53b5e3aa9d
-yuv411p             5fa9d1fba7adfd6f7fa04464332b631a
-yuv420p             ee9591ea3ab06c73be902c4b8868c69e
-yuv420p10le         19b2dcf5e82725b2c9e366d5d3a4b67b
-yuv420p12le         e5b76eb58cab2dfa42738f665d8b8059
-yuv422p             b1be7b55567bde86d655adf80fac1257
-yuv422p10le         66f7433c7423d6289ee20c19c4e8dd90
-yuv422p12le         b4a4b5ed81341b36f685b14b2bb8a798
-yuv440p             ddf6ee697f4ff4f90d501e6869392309
-yuv440p10le         7e44a92d9e47e15f0728b125725ccd41
-yuv440p12le         c2cac82661e10be4917bd9dacb419fce
-yuv444p             7cb5d0c0997c8c2545a16bfc4cb9fd6d
-yuv444p10le         08fb13c69b40229014a6ccf0bdd5498f
-yuv444p12le         796c5559b9f426470eb2997c21be5d14
-yuva420p            ee0761e2f76ec441c545feede77103e4
-yuva420p10le        4bb6b3a1cbf2fd1fe5aefcc11ce8029f
-yuva422p            a8da2806e21a88449079faa7f4303ffa
-yuva422p10le        d2965b5b5a43a7165badaff0718a17d8
-yuva444p            a3f57734d6f72bdf37f8f612ea7cce63
-yuva444p10le        e020512901fd9ac7088898a4e3a8c7c1
-yuvj420p            9f358e311b694bcd01e1a07d1120ade5
-yuvj422p            9a7628a9f1630d35c7176951ddc1b2f6
-yuvj440p            112fe35292c687746ec0c622a42c611b
-yuvj444p            f894438f40950229baa02545daa8812a
+gray                472b5246ec32dbf00e9c002be9ce563a
+yuv410p             5e8f288f5519f502195e908715697760
+yuv411p             ade3df8d2ad48026e2e1429d40ad63a2
+yuv420p             83d734c32a5445404d02177ca8a17a7e
+yuv420p10le         ab615380d0e3b73a2941f0870c0d3182
+yuv420p12le         7f8d4f769e427221df4d8c018018e6b7
+yuv422p             92bc81c1613e92dfb7ef55c62716d0d2
+yuv422p10le         0650d0f0a95ef1949026eb52c7b100d6
+yuv422p12le         3b7d90c220edbab827bffd35213469f8
+yuv440p             65292af9ce30452ed070d6ab4928a83d
+yuv440p10le         9b0ddc80d90138bb335b5535d333c392
+yuv440p12le         1840d03e38a6c0e0ed5626abd2bcf97f
+yuv444p             8077e6286a68fa82a4d8ba954d37f254
+yuv444p10le         571dba1e7b8b5abd3106abbcbeb815cb
+yuv444p12le         a8ef61dfe8ae52c6f4422c12095d6a14
+yuva420p            7ba62e7612f0b7ea9353bd1fa0fa51f2
+yuva420p10le        1b1f96bab4d14981fa98d72596012590
+yuva422p            510780040877637bb973eaec1a4933bd
+yuva422p10le        c3d31281ca5a6ff58edb0904de3c4fac
+yuva444p            cb503ce655ac3aa1c8c716c32518c527
+yuva444p10le        6a0e523c0e787ebb138e499ba3018e3f
+yuvj420p            6a5df2b3b6fa279511f87eddf24dd8b3
+yuvj422p            5f1cbe1128e2e49447fafefadb3bf8b5
+yuvj440p            88d56916df23a33c3a84cff1cf8bdd3d
+yuvj444p            d433b5db96169fc2f1a4acaf4e7e9d79
diff --git a/tests/ref/fate/filter-pixfmts-tinterlace_merge b/tests/ref/fate/filter-pixfmts-tinterlace_merge
index fa6151c272..ebc8be0284 100644
--- a/tests/ref/fate/filter-pixfmts-tinterlace_merge
+++ b/tests/ref/fate/filter-pixfmts-tinterlace_merge
@@ -1,25 +1,25 @@ 
-gray                fab3a7abc4f076cf926205aeacadbe51
-yuv410p             d4506e49eeb64c7ce714c07597e7dd69
-yuv411p             2e8bb385cb4a53a0f3771815020f7213
-yuv420p             c967d3d5f3200d1b2417b0f2356f12fc
-yuv420p10le         404d90eca9b93f7c0949be23187804c7
-yuv420p12le         eb2ef81b82f1342618e4c9fe8e086592
-yuv422p             febaa84ea2e3246af742a7ed37c030f6
-yuv422p10le         0dc5f3833c0f11a0fcd0422d76508c10
-yuv422p12le         190eb7e76af5fc481588ded472901b58
-yuv440p             13a934b42df65f11e153314ebb4f311e
-yuv440p10le         7fabea51d6e52b718ef3ab919b24f8d2
-yuv440p12le         c7b138374a18f258bdd1a2d21b4421b0
-yuv444p             45d4466f5689942a4effb0fd23e44949
-yuv444p10le         fde95627ba0e66be7ec863386b3e5ca6
-yuv444p12le         c1e15c934ce3bc562a869dd78c75db17
-yuva420p            dc1173a07c3f993b277ea0c94d513e1f
-yuva420p10le        d85972762437105a932759c4bb9759c9
-yuva422p            ca200be80e5bfdb159e1aea57129ed3a
-yuva422p10le        06d4f79ee2ddf31d9fe15af8ca573f46
-yuva444p            9f39c35d6899dcb8b9a9b07c339ca365
-yuva444p10le        b0c54fc3efad73f252d86127407aa1fd
-yuvj420p            844359293bb6ff81549f3fc0090cc587
-yuvj422p            526af049d43974822baa7b48aa1e1098
-yuvj440p            af9285194da8efbc40d93bf8109f9dc5
-yuvj444p            2a3f18b02c17a0c39c6245b8b3639b91
+gray                3a34d975d422e9efb39b73a80c574686
+yuv410p             0764ab29edf943af84c5206d0d20386c
+yuv411p             5c4dd01e6055ac48a5ee22e2d2471ddf
+yuv420p             03ad5be003fc3ea2afb715831b6b0b8b
+yuv420p10le         5cd1086bae6f6a0aa0c5d059975cca2d
+yuv420p12le         045b8885b8c265b585d8457874564c33
+yuv422p             9aafd9a4edd83d5a27c2eaefac4dca77
+yuv422p10le         e9e5814dfeaf243489605a57269cb907
+yuv422p12le         3b923e3ff6810ba2682046a8db8aeba1
+yuv440p             af05819ec18bfec050eda4240f1f0da1
+yuv440p10le         f1c589051bbdc573087eb7d361fc7192
+yuv440p12le         9ab77fcb6bf39fa86eddb2165f041243
+yuv444p             f177ce024b1a3db2414bab3e82f2e87a
+yuv444p10le         1a5156600e13668435b5f898db1df8ab
+yuv444p12le         4a7ae9ec6cea9aec7400e64bb908a945
+yuva420p            cdeb2dfe09db8893bfb2c3cf9f5e809f
+yuva420p10le        45ab132dc87d03cb3259bbdd4f15cb6a
+yuva422p            6fbf75a70b411fbcbfa12f829c415337
+yuva422p10le        36cc31eac701eca18810843b2b9c0198
+yuva444p            df5c0037ca2792321820dae9efa25877
+yuva444p10le        6a7247d610ad04fdc2ed1d60fb26130d
+yuvj420p            7d50497202fb65cdd20fbc2cf5bd01c3
+yuvj422p            d62e2f6986acec94739eacc0bf36a38d
+yuvj440p            04ea513be0c0fc4f784af76201b6ecb3
+yuvj444p            c98ed60904b2b84108ef95e551fbaf1b
diff --git a/tests/ref/fate/filter-pixfmts-tinterlace_pad b/tests/ref/fate/filter-pixfmts-tinterlace_pad
index 8f6b1c42e2..52a7ad27a0 100644
--- a/tests/ref/fate/filter-pixfmts-tinterlace_pad
+++ b/tests/ref/fate/filter-pixfmts-tinterlace_pad
@@ -1,25 +1,25 @@ 
-gray                7ef396fecd8d1c9fe32173e4415ba671
-yuv410p             35bc11d0d32efc9e9a969be7d720f4e6
-yuv411p             17ef3cd22a74f7368b5e02f68779f294
-yuv420p             93d5b6a4c44d67e4d4447e8dd0bf3d33
-yuv420p10le         14e754c6e9d41cb048ce3c93512d7d35
-yuv420p12le         ce54a2e38d121a7575dff30542facaad
-yuv422p             3ee40b0b6533b9183764b85c853ec3f9
-yuv422p10le         d4b61a84b93e74b07b7020ceed40e39e
-yuv422p12le         8fd90be12a97307645ecfcd09d576643
-yuv440p             1d3c1258a51d09e778cd8368b1a4126f
-yuv440p10le         29d116cb550a05920e5619ab58284d30
-yuv440p12le         d7518f941a3b2c137f944afe9da816a1
-yuv444p             1093568ad8f479ec20e738d018dd3f8f
-yuv444p10le         c65233e1d8b01f3369c20738f7386801
-yuv444p12le         70dc51a857bfb215b3a81fceb114b74c
-yuva420p            4588aef20c0010e514550c9391219724
-yuva420p10le        3181e84fd7aaed606bb86eecd2e13f20
-yuva422p            3426ed1ac9429202d8c29fa62a04d4c3
-yuva422p10le        c00acd7c437d41755dff09c5ca3642cf
-yuva444p            1b9fc791c7d774b4ba8c9dc836f78cf5
-yuva444p10le        616b42a232c83b8f9e5c5168ec4b5da5
-yuvj420p            9a872e0c1b3c0b6fe856415696b758bd
-yuvj422p            da3c9ef25528a2ee96746ce44e6969f3
-yuvj440p            a9a5495c6b0e2bf6e561998ea1c356a7
-yuvj444p            085214844e83ad47b4f33303db0ebee6
+gray                c5ec92b603c6b86db0783dbebc5d6121
+yuv410p             6a6444b008d41b5c04d79221b670d407
+yuv411p             303bf90cf7ddba783876ab2e1c4a741a
+yuv420p             6e42633bdd4338b1c0d1360e59b30c94
+yuv420p10le         04eb8ab626bcf0612d273bf049577fd7
+yuv420p12le         b1d9c65f4cee67392c66311adf53992c
+yuv422p             0183f1c663fa90c4f52cd52a1c326d81
+yuv422p10le         19a354543484019413b7fcb475dcc0d9
+yuv422p12le         57745b03b9d384111cb6524f36113ab5
+yuv440p             2e9f942bf10fe842f0aeecf5acbaed54
+yuv440p10le         456e49ab24c53a45c3624a9139842601
+yuv440p12le         50b41dec7d8b3e287682042be8650d83
+yuv444p             68a7d7cddaa491cf01d797d81a1eceb5
+yuv444p10le         9950bbfdcb16d5126088941250db43e7
+yuv444p12le         f93d466831bedc2bab90a30444900d15
+yuva420p            23f4409875328c436ff30d8b25c9c9ec
+yuva420p10le        d318b51b767609642ff2a3e58f347512
+yuva422p            0b1f9903f702dc1e0a9f102df9208a0c
+yuva422p10le        6ddc268c66366a53e472a334b28689d8
+yuva444p            7bf16e39b0a232f8c70b23b82c08162c
+yuva444p10le        f6512b6c2be1914c3fb871bce7efaef3
+yuvj420p            395c5e788f9d55bdc1a4b723015e5de7
+yuvj422p            daa2a3b5f3cd3c3f9cb0c33690123dc2
+yuvj440p            e305814b02215cb025d65048a18984e4
+yuvj444p            e8f67b4ac138fcd607756331de419d8f
diff --git a/tests/ref/fate/filter-pixfmts-tinterlace_vlpf b/tests/ref/fate/filter-pixfmts-tinterlace_vlpf
index 5a5f80b115..5e1cfb8f47 100644
--- a/tests/ref/fate/filter-pixfmts-tinterlace_vlpf
+++ b/tests/ref/fate/filter-pixfmts-tinterlace_vlpf
@@ -1,25 +1,25 @@ 
-gray                b79791449947c25cd5b36d9d3b9d1831
-yuv410p             5bc03f4cf6b441b421f0fdaeeff1e9ed
-yuv411p             19046df1876c46ed1ef0458680270bd3
-yuv420p             69c743b84996be9430b051a55cfbcb29
-yuv420p10le         85948ad609abded6b50882d459f5a2f8
-yuv420p12le         7cebe45f51bdadc766f66c68db8d347d
-yuv422p             d710ccd1941f6f389c97a09bc977e709
-yuv422p10le         c54873f77dac1d710fb2aa1b0ce2669c
-yuv422p12le         94a527bb787b9d121ffbbcb3a6c545d8
-yuv440p             1a482a23fe5a9b7d02388c299fd0a423
-yuv440p10le         506efa287ecce9c951da2039fa1de2ae
-yuv440p12le         631bcf190f409ccbc5c27b9f0f6ba5e2
-yuv444p             c968a92f4b7ab6706ee9b425eb5345b5
-yuv444p10le         0af437e635d49feccf7dfae201e6dfc5
-yuv444p12le         2e9e9f7caae1fae3b026810246fc6ac1
-yuva420p            3f89a166f309c0cda8b91a9e8a0ce937
-yuva420p10le        79de1cc549c03d4893cf6f1aca86e057
-yuva422p            ef8fdbe910d68e88e98227b0e99fb5a6
-yuva422p10le        257a4aec41f9b5412179272d8a7fb6f7
-yuva444p            3662eadd5f61a6edbc9d715ea8591415
-yuva444p10le        0905cf5b7f42c11be3f0486a66533c71
-yuvj420p            14c4390b319c5d679184503309060ac3
-yuvj422p            bbe00a26526931b72a024febe1cd6b90
-yuvj440p            f654cf28b7879c6a6c950c3cb9612580
-yuvj444p            c162a4fe7a665f4abf257443703f0d72
+gray                7841b3634aef13547bd547807152ac91
+yuv410p             2885bee85ca61049cefa00749de12dc5
+yuv411p             b30c3dc8543bfef79e19b00490246742
+yuv420p             c4645c039130539e7b0bb67c52d64a05
+yuv420p10le         32d4544181af347ae25543f897a9a554
+yuv420p12le         c18f1ec07872266da8dc54377d6e0a3f
+yuv422p             8d870a77336f3ab3e5bbbba4af09850f
+yuv422p10le         240b99dfee756bf26b2fe759b4f0adff
+yuv422p12le         04082247f1119591807bbb3f4d20edb5
+yuv440p             3626d382f59a73b4470f4b8bf5279d20
+yuv440p10le         774a825d02f7311fc919682283b0d368
+yuv440p12le         34c17a64b51b003247708cfbe4158ec1
+yuv444p             d0126d7a2311ef74932e45ddec22f4af
+yuv444p10le         cf6b1c5b0e163ae81ab8a432a32289ff
+yuv444p12le         53fd5abcc6790119d47b8e974c24abc9
+yuva420p            b7bb354f6e948761ad76a9b890e57a66
+yuva420p10le        cc2ae8589c8ce4ff9840232275126954
+yuva422p            d7d1b1027e8c5f86cd254ce1a9f5fd5b
+yuva422p10le        028416021491f37f617520603a5dc812
+yuva444p            2195e71eff06a0f878882175a4ac2f7f
+yuva444p10le        ffeb08d483ef9f702f11135e04122cb9
+yuvj420p            f4d5e1c488602763d3ea66bfa7739b5e
+yuvj422p            30f8eb467c1a2387a2e78f844058ac6e
+yuvj440p            8cba85d9767220145ad62a3353c34e20
+yuvj444p            2c0d870166174f8d30ce986659013275
diff --git a/tests/ref/fate/filter-pixfmts-transpose b/tests/ref/fate/filter-pixfmts-transpose
index 7bcb88c38b..edc3bef3f9 100644
--- a/tests/ref/fate/filter-pixfmts-transpose
+++ b/tests/ref/fate/filter-pixfmts-transpose
@@ -1,118 +1,118 @@ 
-0bgr                6929c1e308d2f4f941d002627047d262
-0rgb                cf1bedd0784a3efd3ab00c4e44005c37
-abgr                6d6f896f853a6c6f93ee70dba9af3d17
-argb                87bbd23debb94d486ac3a6b6c0b005f9
-ayuv64le            e4c07e0d5b333b3bc9eb4f3ce6af3a2c
-bgr0                df3a6eedd4939ce09a357b655ac2962a
-bgr24               f9a08135e5d58c0b2a5509c369a88414
-bgr444be            dd9e990a327649ec0b2b81a8ee4d8f49
-bgr444le            bee1d9fae8733d0c0669bca2ac4dfaf6
-bgr48be             39f48f6353dfc772af36cbb41e6126a4
-bgr48le             9a61d9531b1f6de44b27f6bb9b4dfc79
-bgr4_byte           ddff9da461afce90e3122a41d79b287d
-bgr555be            24e5c6502a6d927f8ba88f3320ebf619
-bgr555le            5201d098979ea86a66d8df1ef41c79ad
-bgr565be            59afe17b455e921daf428ba05a40bab9
-bgr565le            b2709790684abbd2133906b637f2b4b8
-bgr8                b6ee15f70989d2f52f184e32b3af2c18
-bgra                f2fe61e08446900ad209f2c586997e15
-bgra64be            8d01994c8c32e628fcf9749851f1ffe8
-bgra64le            faaef6d280f92e7e8abdd9fa4a61f7b5
-gbrap               0899b3af50d35a63bfecb419a5b29968
-gbrap10be           3e3be2d8f9aa5f449a1df404e27d0054
-gbrap10le           db4e4861010cbbf726492fad282d5813
-gbrap12be           1518c9a565d1ba1a45dd369acc1aa75e
-gbrap12le           714fe318af81a46f83655c6e7e13351e
-gbrap16be           39d488528aacff466aac7539c9b948a8
-gbrap16le           5426ac9457289927bfe2ec03038a8780
-gbrp                7b4b6a2f1cdc51455b25515c3ecea944
-gbrp10be            d7401725699b2ddf954caa16a0878a1e
-gbrp10le            6036711969eae1979be6358f688bd9c8
-gbrp12be            ec7d6e69fc579619b53d57a76c20480d
-gbrp12le            bf7478185274486c3f7dd4db1da8f7d0
-gbrp14be            9b66f22e4315aaa878a430ae3f44ab57
-gbrp14le            16f30349b42dca007b37b8522d3018df
-gbrp16be            0d003b88d4f446ae9ba12cab1cbb359a
-gbrp16le            a1c09038fa4636c9843ab8dd2b7601ea
-gbrp9be             df381b4b27be25d172fa556434478807
-gbrp9le             a5301e978f68b29bfc613b2462ec4888
-gray                c5f8bc6636fd15dbc57deb4bba1e7379
-gray10be            48b421da79c195fd91dffb8fca79a8a2
-gray10le            7774e3296916b896afa46f626334a280
-gray12be            89f1c4b7821b771f6d967f9db871f8ef
-gray12le            43d392c3dcbd79b47cce31f2006c5050
-gray14be            5e2d1eb84d6d375502b3210d572d7433
-gray14le            6114774e9d07b08ec52fabaf6d0ee85a
-gray16be            4aef307021a91b1de67f1d4381a39132
-gray16le            76f2afe156edca7ae05cfa4e5867126e
-gray9be             2c425fa532c940d226822da8b3592310
-gray9le             bcc575942910b3c72eaa72e8794f3acd
-grayf32be           823288e1ec497bb1f22c070e502e5272
-grayf32le           6e9ec0e1cac3617f3041e681afd2c575
-nv12                1965e3826144686748f2f6b516fca5ba
-nv21                292adaf5271c5c8516b71640458c01f4
-p010be              ad0de2cc9bff81688b182a870fcf7000
-p010le              e7ff5143595021246733ce6bd0a769e8
-p016be              ad0de2cc9bff81688b182a870fcf7000
-p016le              e7ff5143595021246733ce6bd0a769e8
-rgb0                31ea5da7fe779c6ea0a33f1d28aad918
-rgb24               47654cabaaad79170b90afd5a02161dd
-rgb444be            3cac1f0c43a74d2a95eb02e187070845
-rgb444le            46d602468bd9e5a430622e3d4b7c8f40
-rgb48be             400932419bbb780614254253ef5591c3
-rgb48le             6a99c40f21629cb0655e8772d7190374
-rgb4_byte           d3990da196266305a3f2e5b1d72401a5
-rgb555be            79e4503ff0d5cf52d3a7901397499a28
-rgb555le            c65f2594c0b3107a322f7aeb81aa8a16
-rgb565be            0c746b5063d02d6cb98e9e9a59ad3b99
-rgb565le            63b02db11c3d20be54d218c7c44f8ddb
-rgb8                c90feb30c3c9391ef5f470209d7b7a15
-rgba                4d76a9542143752a4ac30f82f88f68f1
-rgba64be            a60041217f4c0cd796d19d3940a12a41
-rgba64le            ad47197774858858ae7b0c177dffa459
-xyz12be             68e5cba640f6e4ef72dff950e88b5342
-xyz12le             8b6b6a6db4d7561e80db88ccaecce7a9
-ya16be              41b7ad48693e3ce8b4d3220016ef6b15
-ya16le              8ea70315667011a6ed50b6750f42b142
-ya8                 d4b7a62f80681fa44c977ff3a64f4ce4
-yuv410p             4c0143429edd30aa01493447c90132ea
-yuv420p             2fa5b2201c75034206cc20e2c6134aed
-yuv420p10be         0931660f930d9be8aea9d0c76b406055
-yuv420p10le         9ce12b168c49db871836c979b526c1f1
-yuv420p12be         73d6be4230b6f4e4e269977afab56323
-yuv420p12le         6938815c8acd690138506cbb5f005fb8
-yuv420p14be         bf76a805b9c2f9808c73492d3b8da268
-yuv420p14le         5df47483b89ffe6ef4bbf14058d7d3b3
-yuv420p16be         3a64132681656be6db635f4e6a282dc9
-yuv420p16le         c77a81e47d1690a338693ec6f323ef1e
-yuv420p9be          2307cb7f324df299c4829b11cb0e6bc7
-yuv420p9le          c735c3c8424c70d822ab4a1fe1f504e2
-yuv444p             eb755977ca464baac5f03771858080ae
-yuv444p10be         866b59a23dff3dc1cb6bf7bd7da26da4
-yuv444p10le         417d62f15abf4777c4ec5e0d00796a9e
-yuv444p12be         c1da110f0ee898fbcd4b45afb5aed58b
-yuv444p12le         dc18bddd7b6bb9fdb2e0c7e7476375fa
-yuv444p14be         2f181fa3403e7911b233d3d976abea73
-yuv444p14le         ac718343878786a25b9a50924f9aabca
-yuv444p16be         128214efef6fffe3293db513ae700d4a
-yuv444p16le         a8b6613094b8d2b275e2e4bc4512c9e4
-yuv444p9be          eae529dd1cdb7f512ae2674334c1ef08
-yuv444p9le          06ffcacdd03f6457614c352a4ccb7642
-yuva420p            058d00d9564be827e5db6ce2b8b2dbb5
-yuva420p10be        333209d11916161a65c6453d2bf435c2
-yuva420p10le        4b7ea5b59a712f1f59cd394b3b40ff69
-yuva420p16be        5984c7f4d14e4cf0e511cb0aa6c53089
-yuva420p16le        34e29fc4a22a0ab1ea01641d0df2ac86
-yuva420p9be         45ea80889575b31cccc83a4d16555497
-yuva420p9le         6e5cb3e761a9c45e26370307c49f8831
-yuva444p            4f9e649fbc2c0c91178d1576e462bb31
-yuva444p10be        9450fbac30b5f9da7414c895695591a9
-yuva444p10le        84a93637bf2c7e498380beff9b1fc503
-yuva444p12be        3eae4234e38ce068600dd7fdb39e04d2
-yuva444p12le        c4a4a3601a7fb9ef02770384e155f3d7
-yuva444p16be        9fd2f00ea9bef8e488228bc0b47b28cb
-yuva444p16le        ae9fd8d1baea0f8626b963816d667d2d
-yuva444p9be         4ce11ae57780f74c78cdd5c06be4bded
-yuva444p9le         1b9cc85fd6ab0c7e240915a99e98d1c1
-yuvj420p            9603b8dd64daec41f0514197989c2b19
-yuvj444p            66ec9b3219df9eb2c1315d293602ab42
+0bgr                5e1edfbfe4928985425722f41c3d019f
+0rgb                497f5e7b23187eb452d41a6196ab95bf
+abgr                07e732f78685088885d2d54653173f4d
+argb                e1a459b43947797e50832227457ba10c
+ayuv64le            4bc04fb597e0e3ae616a97ce8fc53a3a
+bgr0                63ebfef843d6df9f2474686cd8c0093e
+bgr24               9092e41b14ddb42256b75c8bc1bd1420
+bgr444be            362850420af71f28c0c04dc0d9850d8f
+bgr444le            8d6be38daf9a3b2114d88cecdbc20c3f
+bgr48be             fdc5de6b295be7ba25637cb44241f7c6
+bgr48le             f294400658a906bbb6ab58ea9aaa1f0a
+bgr4_byte           999f189e1071879ce14593ff022f9cbe
+bgr555be            3fc1c13735588212beb492352463ffec
+bgr555le            b16a9ef7e457ea0a8dda2e9aa6d677d7
+bgr565be            1d205b2301575a77dbef20691ea41356
+bgr565le            3d7bcee3725f3df2a32b93381ee49823
+bgr8                536ae1794661d3b68a64a500c0f2558a
+bgra                7083ed97c8b4e4aa1c5f1a6295675552
+bgra64be            66b7c3e9f8145bb3b9177386ef1c5fde
+bgra64le            8f050f427d00cf0e7f00480f50e0b140
+gbrap               aae9163d7a1dad3fe335bcd0a1986f81
+gbrap10be           11e41e202b967af3a4cf4695f3399eb2
+gbrap10le           33b41010292dcf1fd05dcccee7a22cb1
+gbrap12be           747f98acd6170a55b5a5eafd0e2f0cd8
+gbrap12le           1608fdc0af54e09c546adacfca8c9d8b
+gbrap16be           e8d37037daca03be94bbd8c8627e0dd1
+gbrap16le           bfb54763789b8df150056738a8d8c480
+gbrp                2b272883409825bfb94d5d270a599fa0
+gbrp10be            e310da16762725a76e47c392b0f1e6bd
+gbrp10le            b784e4cad73e0d3eafbe11d981dabaf6
+gbrp12be            d5670df23462099bfeb230f506eef6ac
+gbrp12le            31676ba4b321b3e683bc3b7d11f7d7e7
+gbrp14be            04d283e26a2349c66ed16b64da188450
+gbrp14le            73aed68f2dad7eeeaea597c5e33d68b4
+gbrp16be            6a070255f9aecbcf7517d2de5785ab00
+gbrp16le            bd2befb923368c53647241722d676156
+gbrp9be             d39444523c1ad1f9b67feb018d3729bb
+gbrp9le             8dbea8133fddbf38819dea9c923d4976
+gray                7dbbdb597938bef7652b3abc85c22180
+gray10be            eabca5838af7be878638d4fc292f139b
+gray10le            de2549df8400b1ae5aee078345507128
+gray12be            deb62a71f5c6ccb78086b69948b25341
+gray12le            6256da495b440c7ceba6053cfde4b8c8
+gray14be            9dc94687f7e72d826115b28650dbdf89
+gray14le            79454e1be3f4cc06730431ac0c8818a9
+gray16be            6c1ee62acb5caf42b387c78da136f45f
+gray16le            025da80496776a5008a8d95c76b02a0d
+gray9be             c74446f52978712fb3f8364bd90ec5c9
+gray9le             60b461ae995829812d68c9dddcf45903
+grayf32be           70410facb4fa10b6962b6e24a877d806
+grayf32le           441e9f86bc3aa5e32707f8d34b5e181b
+nv12                f753df2f730dec5b6cf093ad5531865c
+nv21                4b039de884af166a54dc28ed150bfa4b
+p010be              b966cfb443b1662cd5d63f77088a53af
+p010le              6407f62f856deb762b383fc5586bccd2
+p016be              b966cfb443b1662cd5d63f77088a53af
+p016le              6407f62f856deb762b383fc5586bccd2
+rgb0                198ca0d99705f1ef3c69fa9c93a61cd0
+rgb24               62e885124918b72f49c9c41bb4f7b700
+rgb444be            e748561ca5d6fdd8592b5ae75351a2b8
+rgb444le            ade6924fdbf4c410f4c30b0b44c4bba1
+rgb48be             891fd6eef5d766b3b7ad65d94c50a555
+rgb48le             c5b47c038d1f25ed58acc7573e5d0bd4
+rgb4_byte           322a360883f793141cdc088a6eb78122
+rgb555be            61db770890a0204054160da6529b5c41
+rgb555le            e99ea98680d547562889edebb1be80c2
+rgb565be            b06b468d67f56f1055c281f8c6740656
+rgb565le            14d08e9e885705fc71bc9e981dd13b16
+rgb8                12d72ab827a986d13809da0259a3e22a
+rgba                6f9ae69dea883b53bbd50766c553e2e2
+rgba64be            27c731862872bfbc3c6c4ce7eee88ed8
+rgba64le            81b8031f0839e0d83a4f0b7a1146e945
+xyz12be             f8edf155991197c17d6342b908c3a513
+xyz12le             84ef9f5c77ff9d6641933ea3b5d6fbad
+ya16be              818d22030222f929aa5a8cb54894707f
+ya16le              80bce94e27235666df653ff6d9eb9647
+ya8                 cf3c883fbe5c46eb24baba4af9eed602
+yuv410p             c56a1569b75a59d42fabbabad446285b
+yuv420p             149b543c619f33e4133383dd6f34e8b2
+yuv420p10be         de35e93955329ab5311c9e309d07af24
+yuv420p10le         bc435f8eda705d5d358c9588e053f0d4
+yuv420p12be         443a4c63aafc3e73e48954b32ccfb241
+yuv420p12le         d5172dba8437ba5a5987d6c2faeed0be
+yuv420p14be         b0de1f2876c3be63e4180c3cfd1d54bf
+yuv420p14le         8da5a66cf7079b80e0066796667f887a
+yuv420p16be         7335d2153f21bd0832a5f2ca35bac80b
+yuv420p16le         f7625c2b13082a4f2aaec4acc8a3fc48
+yuv420p9be          d020728376c922b7f3e5b94dedef5286
+yuv420p9le          918d0ae72609362d8c4c872ad4a29e8d
+yuv444p             fd7b2704b6f4b4f205dc5eeced9a3f63
+yuv444p10be         6a1c184bd786aaeb5c984f193bb6e6d5
+yuv444p10le         95ec8f29ed49b14050c93e5ba1f94786
+yuv444p12be         0466e000f48a15cd2797e64375dcf683
+yuv444p12le         41de13faad145137f5f9e32842b479a6
+yuv444p14be         296dd738181ba4e8561cc49dcf1672bb
+yuv444p14le         acb15a696ee373f9a86d67718a97d043
+yuv444p16be         b954a7ac98baf4b1bd80ee42bf84106d
+yuv444p16le         3a76e3fde250b0fd419de2b3021009ea
+yuv444p9be          77b2fbc9a7981d20b0ab39bb665b4b75
+yuv444p9le          0bc4174812df3a5cec96a0a045f71347
+yuva420p            db05b46a1b3a68cc7cb7c4143150d227
+yuva420p10be        c46fb4d27d7ab1c941dc27b175d995e8
+yuva420p10le        a858c4743d2255a2384eebbfffb8caeb
+yuva420p16be        b04c6fc2c93b72b9e3c851eff8942ffb
+yuva420p16le        012c6c6d8a0293228004cdb73b0b78d0
+yuva420p9be         6edb70e476063bba37a16e3ed59d3b69
+yuva420p9le         2c2d4d0dbdbf44b9492b2bce0c3ce5ed
+yuva444p            199b9775251395fe667bda537b36ce95
+yuva444p10be        fb453a5502f6cfe4aac4f4daca3ae1b6
+yuva444p10le        98a4ed3f35dab8e1aa7c10fe582573a6
+yuva444p12be        bbb0beb0ab750d68a657b5875bafd5cc
+yuva444p12le        5a988553189de6255546769af640b0a2
+yuva444p16be        038f1da6eb19360ac5dc3164aae9db73
+yuva444p16le        936ddf152fddaffdd18fd84f8fbcaf0d
+yuva444p9be         052f4e33574920b3901ccb5766ad5fdf
+yuva444p9le         e29d2989a4f0a940053c1301c5706094
+yuvj420p            608092a98eaf305310febe81d97345a2
+yuvj444p            70db97dbc173d5680bafe17a3bb99dd8
diff --git a/tests/ref/fate/filter-pixfmts-vflip b/tests/ref/fate/filter-pixfmts-vflip
index 933ea0c815..204a0c14d5 100644
--- a/tests/ref/fate/filter-pixfmts-vflip
+++ b/tests/ref/fate/filter-pixfmts-vflip
@@ -1,153 +1,153 @@ 
-0bgr                e6f5c50fa0330cd5d5e69ffc09bc085a
-0rgb                76b792f8ce8a72925e04294dc2f25b36
-abgr                8b94f489e68802d76f1e2844688a4911
-argb                3fd6af7ef2364d8aa845d45db289a04a
-ayuv64le            558671dd31d0754cfa6344eaf441df78
-bgr0                7117438cf000254610f23625265769b5
-bgr24               52b2c21cbc166978a38a646c354b6858
-bgr444be            6c6cb3f5a26d5fd00bd04467bb0bbcca
-bgr444le            860b20346d24510c1b3e44067916bb68
-bgr48be             161d37f2f6ba5de48d17f59050804660
-bgr48le             98f471e833021adad925d7d8d45b7c6f
-bgr4_byte           f6296e1a5741531f67f62599ae30bfde
-bgr555be            f5e041ea34e4c084c3531b9fe2d01016
-bgr555le            3b5c5281a7e13a1f757dc5d8eeb77d85
-bgr565be            a567fb6edb4057d44c33c1bad23b9807
-bgr565le            c6f40163bd064760f316a90f4c7885ac
-bgr8                f2e4aabfe9e6039beb1f2b8c43c83e3c
-bgra                0af63cc2ffd61af252df93cc767de358
-bgra64be            31af33833f6d8f2e4a62683288770aa4
-bgra64le            45feb93863055282447d1ff89c5158bf
-gbrap               421c56a25f88d58b9361f5c7bb368e21
-gbrap10be           e8134b72acc090b093b4d9b4d4703c7e
-gbrap10le           43bde7bd6a676c6ac33dbcc4c72762f3
-gbrap12be           16a3d105ba852a9fa23ea5232db51b48
-gbrap12le           6ef8a3ac4129ec23c34aec14ac41f249
-gbrap16be           70b020b6b9e1896b72f890de3570ffda
-gbrap16le           e0cf341cdbaf1f5c40016f181bc9d7d4
-gbrp                413b0f6ea51588d4be5f0c76d43d8796
-gbrp10be            d02bd50db83213667808f5bacefe667c
-gbrp10le            2d4a5ebc773ffc3d857a6ef24afbe10e
-gbrp12be            a668b7dba68817736501386ffe9f3adc
-gbrp12le            299695016c22a4947d94b16f0975536b
-gbrp14be            eeebacfb19c970dd76ad044ef85e8fe5
-gbrp14le            6e93b87047e433995111eb5397751c3f
-gbrp16be            3fef87fe67bf1fd0e2f5056dc0db2ef4
-gbrp16le            f3b2b76fe707f77eb1376640759f5168
-gbrp9be             99c694dd47d12ae48fc8f47a0c410333
-gbrp9le             26e103a4ab99fb3f58667df490997a36
-gray                41811422d5819ed69389357294384c10
-gray10be            52710b3ab3ccf6101d28109f58cd48c4
-gray10le            9c432a163f0cfe9ee2a4b72ae8a7c307
-gray12be            7423ce8a77fbc40c5d4776eb28fec60a
-gray12le            808158633559d7deebc7dac2d79e88f8
-gray14be            68b14e31a089d6bd1fa2082d66d004da
-gray14le            3842b874a9b05ce2ae3cad9ef7131013
-gray16be            29f24ba7cb0fc4fd2ae78963d008f6e6
-gray16le            a37e9c4ea76e8eeddc2af8f600ba2c10
-gray9be             dda11d4ffd62b414012ffc4667fb4971
-gray9le             159bf6482d217b2b8276eb2216cd7a09
-grayf32be           c1ba5943a0d24d70e6a280f37e4f4593
-grayf32le           8e6c048a5b3b8b26d3a5ddfce255f3f6
-monob               7810c4857822ccfc844d78f5e803269a
-monow               90a947bfcd5f2261e83b577f48ec57b1
-nv12                261ebe585ae2aa4e70d39a10c1679294
-nv21                2909feacd27bebb080c8e0fa41795269
-p010be              06e9354b6e0e38ba41736352cedc0bd5
-p010le              fd18d322bffbf5816902c13102872e22
-p016be              06e9354b6e0e38ba41736352cedc0bd5
-p016le              fd18d322bffbf5816902c13102872e22
-pal8                450b0155d0f2d5628bf95a442db5f817
-rgb0                56a7ea69541bcd27bef6a5615784722b
-rgb24               195e6dae1c3a488b9d3ceb7560d25d85
-rgb444be            d30742559618f871ef5543f602e35d04
-rgb444le            8cae7773ce27d959fd7836832ab392a6
-rgb48be             3c519a3f78405a8f2cc05c4846ab6e71
-rgb48le             09218c1dea3d085d435910478d4c4b7a
-rgb4_byte           0e2b561097230e9c72acc645e6806e20
-rgb555be            730f68605d12eb7cd524b63388f69712
-rgb555le            7fec4673ba9025bf492e88754afb51b2
-rgb565be            1f54ab9892bf28e3081ab55c83c86e24
-rgb565le            13255e04237bb16eb22f29f892590182
-rgb8                7df049b6094f8a5e084d74462f6d6cde
-rgba                c1a5908572737f2ae1e5d8218af65f4b
-rgba64be            17e6273323b5779b5f3f775f150c1011
-rgba64le            48f45b10503b7dd140329c3dd0d54c98
-uyvy422             3a237e8376264e0cfa78f8a3fdadec8a
-xyz12be             810644e008deb231850d779aaa27cc7e
-xyz12le             829701db461b43533cf9241e0743bc61
-ya16be              01fa2780505ce1bd187ae7f9dcc5fcc3
-ya16le              492f528782acf22769b0b633187be212
-ya8                 4299c6ca3b470a7d8a420e26eb485b1d
-yuv410p             c7adfe96c8e043a6cb9290c39bf8063c
-yuv411p             3fce29db403a25f81be39e01aaf6ff3a
-yuv420p             d64fae96fac22aefa8fbcf45a09f37c1
-yuv420p10be         63f545453139f38883cfa1210f7b6ac5
-yuv420p10le         925de8b0bf9519c4b841afab4dd6bb25
-yuv420p12be         619425168c3b8bb9da68e7810bf5eacf
-yuv420p12le         403d7d96939fa538b04f7b7b26ac6868
-yuv420p14be         22d2d9fb5883410807ede4066e735426
-yuv420p14le         5cace6a24a1ff5d2a41a3c909c4bc41f
-yuv420p16be         0a6499a1b22230ad030448d3ac95b5c1
-yuv420p16le         2a5c131b060757aab1fe84200528d404
-yuv420p9be          694227c773c3a66e4edeca950f99f6d6
-yuv420p9le          c3ec4bffc19c49edafd769a7dfccd9c1
-yuv422p             54f608c9d8bc56979aeaa7863820f5d3
-yuv422p10be         fbd6329d2decbe318be4d89dc8ade3a3
-yuv422p10le         7d7bdf4f68d8a7698e92722625c59c53
-yuv422p12be         d6ca250820312bab977ce88d2ef65c13
-yuv422p12le         3185b59dddc7ee67251d9829a977130b
-yuv422p14be         3bc3a72c7cf995981bd8eb45f23705b3
-yuv422p14le         5987087bbc03d8cbff4c41bce03451d9
-yuv422p16be         97d95a9cfe8f67fb20a4c983c7fdc215
-yuv422p16le         3b9df52a757a0d1ddb1c9c38f0ed4787
-yuv422p9be          25116f0953ecd26f292101b51ac708df
-yuv422p9le          42615866fe9ab98e28970ed7fbf4b2a0
-yuv440p             fa45ee7329b98fc43c0be460d9a0d6a5
-yuv440p10be         54789b4f66d9a79fc182ff268639dbd0
-yuv440p10le         d06d7c054522ac02ec04f76dfa431676
-yuv440p12be         7b8c9b6688f44282007ae220d52e5ed6
-yuv440p12le         2a3adb4692391171c506cc0899d27511
-yuv444p             7c8c5d138d732f4ca7d864b9ffef3047
-yuv444p10be         faa81f737d465afcacef351818d34772
-yuv444p10le         bfc5036e4ab0ab6da1416df4a462db74
-yuv444p12be         6706d8807b9dd14d331a7e9572fd9c5d
-yuv444p12le         9bba33b2c0dd09f653a4c22d201142c5
-yuv444p14be         cf181f44988d3ddf4cc32b87ca473251
-yuv444p14le         086322cb9a98eb91825c9bb2ad00eac7
-yuv444p16be         ee0721d7fda4a67bc6270a78fa361140
-yuv444p16le         8c4c2511907fd23d9aeefab490a22db7
-yuv444p9be          7ffa40454450cbeec09d57f5a0a3eb8b
-yuv444p9le          a4fb60fbace24757b1e07d5a65f09e64
-yuva420p            3b136bcd7c2ffc3a1849e4814c046954
-yuva420p10be        d045faff818dabb9ecebab6d14bf7b10
-yuva420p10le        becf56ac1e271c04ccc204c68e8e0b5f
-yuva420p16be        eeb7b6b0dba4ca15a1457bf0ff2bc51b
-yuva420p16le        aa0a678ad48815d226888a5053a6fe6e
-yuva420p9be         bcee2f39913b006fdfaa865246fbc122
-yuva420p9le         aec21fa8f1088b7898cd80a30f382224
-yuva422p            39707b0dfdaadeefa20819080365db15
-yuva422p10be        53fbfe6d7eb01e2007003383c5d91850
-yuva422p10le        df1f95630ccd7bf05b95b6b3061cbeef
-yuva422p12be        6b13c0f628b4369c2ecabb3aaf02dbc6
-yuva422p12le        5413c3f022d30fbdd9f1d4e35468c8c4
-yuva422p16be        35ad91fa92b04e13d6b557d2f250ade1
-yuva422p16le        8fb93970118fde962f5dbcd156966722
-yuva422p9be         2b16b2dc102ad688a3023f30e3c6f9d9
-yuva422p9le         6a23d290358691a9d8bab49582265764
-yuva444p            442a690385166bed3e785d9262c1c501
-yuva444p10be        bb6d52902c30f5cc63ddc3fbe3346bf5
-yuva444p10le        6e43f7c44e070fce492dcb1b038de85e
-yuva444p12be        437e75242255bcaeb853c35284f3b58c
-yuva444p12le        5864b489dff8cd98f46ca86b32f357e2
-yuva444p16be        b8801dccf64b3eadc2a5b5db67ae0b0f
-yuva444p16le        8e72ae66754badf5d1eeb094e6bf0ddc
-yuva444p9be         bcd845394351ca6d15e947342802957d
-yuva444p9le         7727a93765ed38dfd25e3d6b7a38fa63
-yuvj411p            260f51b360dc00b2222f4cb39fa05e36
-yuvj420p            fab4394239b08bdb7638215a42d56eaf
-yuvj422p            0309c2b34aa4d74f58048fe320a02b83
-yuvj440p            f5e3a92fa46e57e2c613fc9aaad18e9d
-yuvj444p            ca4b3662259ba15a6297a44ef64414b7
-yuyv422             8f02b2332fe9bb782f88627c99f32ee8
-yvyu422             bd8cb985c2e1f9c32dc6b865bdf20637
+0bgr                2b115563600a21e3aeb12763b05dd0b8
+0rgb                6063f48e7c6870fdfe43993b0cd37333
+abgr                ccede72b664e77702219254b706341d1
+argb                15cedd43f90a85477fcd97b7383afa42
+ayuv64le            d0ba6e0436f0a37ff5ef37d57157e70f
+bgr0                d3b63a031cbe228a5bc97b48a0f9daa4
+bgr24               f63da4498a39eb7bc8c2d8931f5d8696
+bgr444be            30829abb663e5026be71b2f3d9c15c5c
+bgr444le            5e323af1527d20c60b2877d8cb0853f3
+bgr48be             8f470bee2051543808579c8c13a8d13a
+bgr48le             a0b9feb2a18586783669c0bd5b81ace4
+bgr4_byte           7d90b0c6a41a8dd3677f8c09d6d9fa65
+bgr555be            be61df293d06cd95cdb4b71591c26a0f
+bgr555le            30e347f1a7c5186f0d06a4dc2f6e7380
+bgr565be            fbf029a9ccd4ab854271e1323d36e839
+bgr565le            f2c1e00d498035bf3d0a3972a6fce9d8
+bgr8                e680ff44d17be835182afef1794978cc
+bgra                808b3e38f29d5267401d4afb3d028ef9
+bgra64be            2abca5815d7355efafa396ba8152f8b5
+bgra64le            cc10bc8d2c4244a9e88a1c8cf4ed0cc7
+gbrap               c3d407f57d1c06e3e18bfab2492e9c38
+gbrap10be           8bc56b0eb1efbf635317602cfc574d88
+gbrap10le           98c50139b8d9d3e0936ade49dfff17d6
+gbrap12be           6fef5c40b1cc923f52d750a6a2ce7533
+gbrap12le           340bb80d617386461617f890b13447d4
+gbrap16be           562b6c0a61f7e88e975c9bb8e70b44f6
+gbrap16le           55dc8fc528e7e7c8fee2b75cb437dc9a
+gbrp                d3673e10d623e8955158c25567d27b3a
+gbrp10be            2eeb392afca8f49ffcc66821114597ce
+gbrp10le            cc25167b9e5f9db30c8f66c43c4bfcb5
+gbrp12be            108a38b32d2a118f4232b252482c07e7
+gbrp12le            5a2011d159040bf969478d5c31e90976
+gbrp14be            4b81a663abacac5609d6aabf47c0ebd2
+gbrp14le            64b6242024e3952fb6ad112548f037b4
+gbrp16be            8be11a4a61113154cae806cb944334ab
+gbrp16le            8d1bf555eadce8ccedf36ae1e889af7a
+gbrp9be             fc50a3de67342c73236e92abb2cdf006
+gbrp9le             030f1f95f4c9467f1246cf40433b1ff8
+gray                8792208bf3cee036fa92b89c44e4f4ca
+gray10be            6a7f69b009302bed6d0096a80b63beeb
+gray10le            759f98ab7b5a8628f59fab00c388347a
+gray12be            23b588c3208df972ba581578a7c6dadb
+gray12le            6eb9f82a037b9578a327b82deea65915
+gray14be            0c60dbada469c9caf2d577892d24fd91
+gray14le            029044d5c1393f282b864231307e51a1
+gray16be            8f7711a58a0375a2a432ee0a119ae756
+gray16le            60a8e9bcc6ad9186de20ab4f637bcb18
+gray9be             f8b361e0752357d2c4658205ff4ebff9
+gray9le             cf06294169d2391833ee04c05d04bb2d
+grayf32be           9f8d0c7145dcae41f1d4ea8c523e352e
+grayf32le           d6ebb2dd67a347bf8ff82d2367fce234
+monob               432735e4635b5a091914008dc8b5fe8d
+monow               acc42d1280feec4ec4dc86ed626cb7e7
+nv12                78d5f952ac82112d3b2096e03ef49544
+nv21                9423fe8abf6e5242c156de6e7aba87df
+p010be              7a4321723bfd6f9ea16346bcec9d48c3
+p010le              da1f4ea1fa2af5ce5198bdd293c9e755
+p016be              7a4321723bfd6f9ea16346bcec9d48c3
+p016le              da1f4ea1fa2af5ce5198bdd293c9e755
+pal8                49a6a24c1fbd875508363eef4430b4dc
+rgb0                8654106ac1206ed5fb2f4110dbe56b13
+rgb24               82b389c852b6cc2ff08b91041af1ae4f
+rgb444be            df13e318794c319ee463f266f83fc253
+rgb444le            a92ad9bccfa72e8120f9851366995916
+rgb48be             66d468b7704c8f1e28cfcf02884234c8
+rgb48le             18ae2e6ca25ccf730b769511cf0866be
+rgb4_byte           d7b18c899c0f6a856e2abcea95b4ff06
+rgb555be            713a4585b4b20b84bfb77a0957866965
+rgb555le            5a1dcc0ad1ab9aaa652358fe67a4deef
+rgb565be            444b5e4bcb7b3abc861f62fd2989d5a7
+rgb565le            4ebd62a9302c5aeb6381d1d793a3db97
+rgb8                edd7707ff1256d6dd0987c08d9a1e38d
+rgba                3540d5a54c92c81255437e02f2b75e64
+rgba64be            1ce2e37b6d57ea756ebd95b5c4c936db
+rgba64le            06e9566731150d671314a611f8f88fc9
+uyvy422             fdb2c0bf7114b5c848243aec101bec40
+xyz12be             70d0c491374bc8db6950653b6c87f66e
+xyz12le             01ff6cc7ee47cdca8b069c8f88acfe17
+ya16be              20e89be0bac7d9887b49fcbce5261220
+ya16le              596d32f3b9923068f5dcd68165086660
+ya8                 0b7c45608077adfecc2647ffa4322879
+yuv410p             52d6322d733214cb58b5fc3c0b29c6a7
+yuv411p             240d17395b661ef0627ea5332bcd86c7
+yuv420p             8fa67cde48b60bff00460b35d743c724
+yuv420p10be         81e4fcdc639b18cb22a0e4ae2b931351
+yuv420p10le         cc052292a1f2b707c9b8fc0ff47f1ce2
+yuv420p12be         a9a45789949b664d8fed9223153bf6e6
+yuv420p12le         48ecbb762ba7f7d22fdbc428a67b1b03
+yuv420p14be         def9007759d135334a7bce19b3330006
+yuv420p14le         024438e5d51a1ec3126cab272b5b057f
+yuv420p16be         a58721afeef8995067cbf7bfab76b98b
+yuv420p16le         f1344554ef4f33912d7c38a4b66ea750
+yuv420p9be          a8cb891c6f4952f8173cd726eff9a72a
+yuv420p9le          163165bbd0eaaa009e26530b3ad86343
+yuv422p             699ccb07f2d71b0e4c678a3a70fb1d9e
+yuv422p10be         2e335a71dfbae0f87283ed81f28a4f24
+yuv422p10le         c361bb2369f15f6b4eddc67a2eb79958
+yuv422p12be         6a6dc4d9974f2038ecd1e6102c92df79
+yuv422p12le         5ca0dab5f7ebd08c90761c54f5ecb1aa
+yuv422p14be         e43686bc02f6e23c322dc4eabccfcc6c
+yuv422p14le         91eb4cd06307620d9438c827edfae9d8
+yuv422p16be         ed7c38bd129ae1aef3195b2c49267650
+yuv422p16le         347e33491d54865e2741b002a44ec6e8
+yuv422p9be          cd4bcfbd77c345dda9d22c08326dd354
+yuv422p9le          78a34a3c9b95e24418823036e6029193
+yuv440p             af43ccd35241268422fba7e3852423d1
+yuv440p10be         1306780603523099822339ebb51532dd
+yuv440p10le         d666489ce9e7de829d316f56bf2890a6
+yuv440p12be         689d8f1a523cfb2485d7d62028544044
+yuv440p12le         c83ad1462e4d2e7a66d5cd77cbd77c47
+yuv444p             27e90ed6c955a6a34c081439e36b4bf6
+yuv444p10be         e6cdba8872b221b1a7650b12cffbd090
+yuv444p10le         6c746655768ac0ce887d6ab205d658e2
+yuv444p12be         bd18946255e3db050086fb3b92644af3
+yuv444p12le         1bb4ea26d4d52f24d16d765a85967adc
+yuv444p14be         29b7b87a8326bf3ea888fd4a3f7d00cc
+yuv444p14le         74d0b82c1144f9ff035d12d0c4a82ba1
+yuv444p16be         da0829c71444970d3d4443b7dedf7da5
+yuv444p16le         d990a6ca307e5a3a981d64107e0f15e4
+yuv444p9be          45d1d163ee3eb5640c426107e98b6194
+yuv444p9le          05fd2118b2c2159f706bc83648de0306
+yuva420p            a533b064743d8cf03582f0e44a9cfcc0
+yuva420p10be        847d74f09715bbf123512d1289abece2
+yuva420p10le        bfcea9cfaccb4b95a8e052c8c601e184
+yuva420p16be        fce341656d30bfa66301f5a52a709efb
+yuva420p16le        7f4a61030aa0f387711145a1c961cbe7
+yuva420p9be         7b93eb1e830ffb001c6a47e9dcd170da
+yuva420p9le         e053cd8c8eacde19c16bfb3564e3bec6
+yuva422p            243431a1ae0409ef3d7af81c84570fa5
+yuva422p10be        84f2fe2275b05ae5e731c4c4e5fccfa4
+yuva422p10le        f07739922e65ad310e7a742254dd333b
+yuva422p12be        9f465a10b131629f39f7f9d8f9555f16
+yuva422p12le        a4a6ef9874eb5536ec3f18bea230234f
+yuva422p16be        ddeed575bfaa7673700e352ec87c5cf1
+yuva422p16le        d848acf67616b5a72ca566e54673bc0e
+yuva422p9be         5cd9a7e7923c5d4482082ab839a8a07e
+yuva422p9le         6d7eee0ada4d75385e0c76f36dd82338
+yuva444p            a455c072499419a838b64312461fc0b7
+yuva444p10be        617f4122c78736292ed20ceb47d602f4
+yuva444p10le        32674fc4775e358016a0b8fc453a7db0
+yuva444p12be        1c33cf2e2019d4b560f4235a4a47f9ec
+yuva444p12le        014b9c154474acc1b56c1a240bdedd0c
+yuva444p16be        07c3e90888a6c24e14005ad324b1b20f
+yuva444p16le        e3c3c2f9abaa37c1543c39daeaf107c2
+yuva444p9be         532072a1690795f0fb95e62e2c65ac57
+yuva444p9le         997aa0fbd93ed5e4884e378e4d65828c
+yuvj411p            86c9f3275fcdfa1b461c897c178dad08
+yuvj420p            30aeb0c737ba62ecda90baa1779441dc
+yuvj422p            918c24572ebea9b68ab8d38ddfbf4d08
+yuvj440p            210316f0b510c0b648c76e91bfe3dd4e
+yuvj444p            57e46a75695f18808a9926fceded73d4
+yuyv422             0bc7ad5b7f1c2718b76c682f9df22c45
+yvyu422             d13028bbecf7a34b4f0f385c6ab86577
diff --git a/tests/ref/fate/filter-pp1 b/tests/ref/fate/filter-pp1
index 8c6b7ba18e..cc9ae93328 100644
--- a/tests/ref/fate/filter-pp1
+++ b/tests/ref/fate/filter-pp1
@@ -1 +1 @@ 
-pp1                 1a45041dd20a941e36b7729116950107
+pp1                 2f7853cfed29467b774727ca04872b46
diff --git a/tests/ref/fate/filter-pp2 b/tests/ref/fate/filter-pp2
index ed5e77322a..041b70388a 100644
--- a/tests/ref/fate/filter-pp2
+++ b/tests/ref/fate/filter-pp2
@@ -1 +1 @@ 
-pp2                 566d48ad25dfa7a9680de933cbdf66d9
+pp2                 06c714fc08c00717701eb44a85806b6f
diff --git a/tests/ref/fate/filter-pp3 b/tests/ref/fate/filter-pp3
index 536bf8e9d2..1668438ed6 100644
--- a/tests/ref/fate/filter-pp3
+++ b/tests/ref/fate/filter-pp3
@@ -1 +1 @@ 
-pp3                 586fc14a52699540a865c070dd113229
+pp3                 4aaa748d1782b9f49fcdcf70ade23704
diff --git a/tests/ref/fate/filter-pp4 b/tests/ref/fate/filter-pp4
index efa9c8a2f2..c24ba9819c 100644
--- a/tests/ref/fate/filter-pp4
+++ b/tests/ref/fate/filter-pp4
@@ -1 +1 @@ 
-pp4                 8a072806ae6b5c68c5c3c57197641e4a
+pp4                 3b97e3217adb9efdf03c158e18fd9aea
diff --git a/tests/ref/fate/filter-pp5 b/tests/ref/fate/filter-pp5
index 682e8481ff..10ae865b48 100644
--- a/tests/ref/fate/filter-pp5
+++ b/tests/ref/fate/filter-pp5
@@ -1 +1 @@ 
-pp5                 5695b8193095a63b9f397fff8343d1a6
+pp5                 c1dd3f8ffcf943187c7ca544ce80dcba
diff --git a/tests/ref/fate/filter-pp6 b/tests/ref/fate/filter-pp6
index 3280a69004..6eb2044260 100644
--- a/tests/ref/fate/filter-pp6
+++ b/tests/ref/fate/filter-pp6
@@ -1 +1 @@ 
-pp6                 f823b3330935cd1824d526041b429d9a
+pp6                 7177c785d2201b2407783b8cf8ecb614
diff --git a/tests/ref/fate/filter-qp b/tests/ref/fate/filter-qp
index 3dd4c95874..ccaf82a686 100644
--- a/tests/ref/fate/filter-qp
+++ b/tests/ref/fate/filter-qp
@@ -1 +1 @@ 
-qp                  2d4da13e883e073084d547a6b41ba688
+qp                  9510df5ad3b210467029af6e52407708
diff --git a/tests/ref/fate/filter-scale200 b/tests/ref/fate/filter-scale200
index 7de4fc5002..98123de51d 100644
--- a/tests/ref/fate/filter-scale200
+++ b/tests/ref/fate/filter-scale200
@@ -1 +1 @@ 
-scale200            e7b8419c7de2912f0585b79e99f174c2
+scale200            058150a5972d42db5b00906bc411fcd9
diff --git a/tests/ref/fate/filter-scale500 b/tests/ref/fate/filter-scale500
index 2b1b6d2b6b..30ef4c0385 100644
--- a/tests/ref/fate/filter-scale500
+++ b/tests/ref/fate/filter-scale500
@@ -1 +1 @@ 
-scale500            e7d6f07710a707e4e5583aee54a8f5ff
+scale500            1a3b1aa478c25e27744c903bf60fc274
diff --git a/tests/ref/fate/filter-setdar b/tests/ref/fate/filter-setdar
index 14a07f16e4..16f2ae051e 100644
--- a/tests/ref/fate/filter-setdar
+++ b/tests/ref/fate/filter-setdar
@@ -1 +1 @@ 
-setdar              99036518df5b66d2e64646f3e0c808f2
+setdar              57641c418f59560f0a84276b6cc7112e
diff --git a/tests/ref/fate/filter-setsar b/tests/ref/fate/filter-setsar
index c8199b6edf..e349a35553 100644
--- a/tests/ref/fate/filter-setsar
+++ b/tests/ref/fate/filter-setsar
@@ -1 +1 @@ 
-setsar              99036518df5b66d2e64646f3e0c808f2
+setsar              57641c418f59560f0a84276b6cc7112e
diff --git a/tests/ref/fate/filter-thumbnail b/tests/ref/fate/filter-thumbnail
index 36f11f297e..02302fa1ce 100644
--- a/tests/ref/fate/filter-thumbnail
+++ b/tests/ref/fate/filter-thumbnail
@@ -1 +1 @@ 
-thumbnail           cd429b3d92c33bcc257e8e6a3284dbf7
+thumbnail           f263faacbda4d58d3226a16b6141a49a
diff --git a/tests/ref/fate/filter-tile b/tests/ref/fate/filter-tile
index 03ded41058..89169f2078 100644
--- a/tests/ref/fate/filter-tile
+++ b/tests/ref/fate/filter-tile
@@ -1 +1 @@ 
-tile                93119209651dc299708c7f31522b991c
+tile                84c9dc3b99697370522a1c64ad3d5836
diff --git a/tests/ref/fate/filter-vflip b/tests/ref/fate/filter-vflip
index 8850b45e1f..f25773b2db 100644
--- a/tests/ref/fate/filter-vflip
+++ b/tests/ref/fate/filter-vflip
@@ -1 +1 @@ 
-vflip               0de640dff4447bd1b33d23f2b8ad9d4a
+vflip               1fee1bedfd9c2858ca2242fb691473f7
diff --git a/tests/ref/fate/filter-vflip_crop b/tests/ref/fate/filter-vflip_crop
index 9f93ac7a49..bc5ed66d2a 100644
--- a/tests/ref/fate/filter-vflip_crop
+++ b/tests/ref/fate/filter-vflip_crop
@@ -1 +1 @@ 
-vflip_crop          f7d5d9ffd815847c3e2089b920bae406
+vflip_crop          41ea3ad5cc41218d9dad1cec02dd278f
diff --git a/tests/ref/fate/filter-vflip_vflip b/tests/ref/fate/filter-vflip_vflip
index 49d3ec0f3d..2b21c91ceb 100644
--- a/tests/ref/fate/filter-vflip_vflip
+++ b/tests/ref/fate/filter-vflip_vflip
@@ -1 +1 @@ 
-vflip_vflip         fcb007249fba9371fe84a61c974fcb00
+vflip_vflip         fc15a42d932c2a98a8024a8409cf146b
diff --git a/tests/ref/lavf/nut b/tests/ref/lavf/nut
index 1c3d7107da..3c6ad03863 100644
--- a/tests/ref/lavf/nut
+++ b/tests/ref/lavf/nut
@@ -1,3 +1,3 @@ 
-424e8037d7b6f3d3c09cf76bf06a63cb *./tests/data/lavf/lavf.nut
-319958 ./tests/data/lavf/lavf.nut
+d09b05b830e75b9143e25347a6af0138 *./tests/data/lavf/lavf.nut
+320002 ./tests/data/lavf/lavf.nut
 ./tests/data/lavf/lavf.nut CRC=0xec6c3c68
diff --git a/tests/ref/vsynth/vsynth1-xface b/tests/ref/vsynth/vsynth1-xface
index f4d382189b..3118f1e8b1 100644
--- a/tests/ref/vsynth/vsynth1-xface
+++ b/tests/ref/vsynth/vsynth1-xface
@@ -1,4 +1,4 @@ 
-98a6c85c83454c3209eedbe704a09cb5 *tests/data/fate/vsynth1-xface.nut
-19800 tests/data/fate/vsynth1-xface.nut
+8aa5f6c38acf45080b66e04d76b01501 *tests/data/fate/vsynth1-xface.nut
+19822 tests/data/fate/vsynth1-xface.nut
 cb1d399fcf818a70e5bc5769934d0094 *tests/data/fate/vsynth1-xface.out.rawvideo
 stddev:  103.97 PSNR:  7.79 MAXDIFF:  254 bytes:  7603200/  7603200
diff --git a/tests/ref/vsynth/vsynth2-xface b/tests/ref/vsynth/vsynth2-xface
index 54dc29e821..ba3767db41 100644
--- a/tests/ref/vsynth/vsynth2-xface
+++ b/tests/ref/vsynth/vsynth2-xface
@@ -1,4 +1,4 @@ 
-c498ec3b58b86b8164cef9d63184fa6d *tests/data/fate/vsynth2-xface.nut
-16423 tests/data/fate/vsynth2-xface.nut
+030e1ecb3272bc44fa20e0f4417152b9 *tests/data/fate/vsynth2-xface.nut
+16445 tests/data/fate/vsynth2-xface.nut
 9106961054b226c360f284272cfd4474 *tests/data/fate/vsynth2-xface.out.rawvideo
 stddev:   85.41 PSNR:  9.50 MAXDIFF:  250 bytes:  7603200/  7603200
diff --git a/tests/ref/vsynth/vsynth3-xface b/tests/ref/vsynth/vsynth3-xface
index b6ef0978e2..429c4db2aa 100644
--- a/tests/ref/vsynth/vsynth3-xface
+++ b/tests/ref/vsynth/vsynth3-xface
@@ -1,4 +1,4 @@ 
-367fa226e570b30935305a22982a54ba *tests/data/fate/vsynth3-xface.nut
-15772 tests/data/fate/vsynth3-xface.nut
+66fc06526271b75bc682f6ff42069c7d *tests/data/fate/vsynth3-xface.nut
+15794 tests/data/fate/vsynth3-xface.nut
 83a8c44631fbc8b185df932679db0e5b *tests/data/fate/vsynth3-xface.out.rawvideo
 stddev:   97.23 PSNR:  8.37 MAXDIFF:  238 bytes:    86700/    86700
diff --git a/tests/ref/vsynth/vsynth_lena-xface b/tests/ref/vsynth/vsynth_lena-xface
index a38fed53cd..c41de3c232 100644
--- a/tests/ref/vsynth/vsynth_lena-xface
+++ b/tests/ref/vsynth/vsynth_lena-xface
@@ -1,4 +1,4 @@ 
-0dd4e19b989cb102ffb06768740d940f *tests/data/fate/vsynth_lena-xface.nut
-17551 tests/data/fate/vsynth_lena-xface.nut
+32aad57a9e1e79c52917718edd4331a8 *tests/data/fate/vsynth_lena-xface.nut
+17573 tests/data/fate/vsynth_lena-xface.nut
 88ff6155a8b88872e6581d08febdb050 *tests/data/fate/vsynth_lena-xface.out.rawvideo
 stddev:   99.20 PSNR:  8.20 MAXDIFF:  238 bytes:  7603200/  7603200
-- 
2.17.1