diff mbox series

[FFmpeg-devel,04/25] fftools/ffmpeg_enc: always use video frame durations when available

Message ID 20230419195243.2974-4-anton@khirnov.net
State Accepted
Commit c94e9d03b44d21282418dfb6c84f4f7942d4db03
Headers show
Series [FFmpeg-devel,01/25] fftools/ffmpeg_filter: drop write-only FilterGraph.reconfiguration | expand

Checks

Context Check Description
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Anton Khirnov April 19, 2023, 7:52 p.m. UTC
Previously they would only be used with trivial filtergraphs, because
filters did not handle frame durations. That is no longer true - most
filters process frame durations properly (there may still be some that
don't - this change will help finding and fixing them).

Improves output video frame durations in a number of FATE tests.
---
 fftools/ffmpeg_enc.c                | 19 +++-----
 tests/ref/fate/filter-concat-vfr    | 66 +++++++++++++-------------
 tests/ref/fate/gif-disposal-restore |  2 +-
 tests/ref/fate/gif-gray             | 72 ++++++++++++++---------------
 tests/ref/fate/quickdraw            |  2 +-
 5 files changed, 77 insertions(+), 84 deletions(-)

Comments

James Almer April 19, 2023, 8:42 p.m. UTC | #1
On 4/19/2023 4:52 PM, Anton Khirnov wrote:
> diff --git a/fftools/ffmpeg_enc.c b/fftools/ffmpeg_enc.c
> index e3dc858bc3..9aaec277f1 100644
> --- a/fftools/ffmpeg_enc.c
> +++ b/fftools/ffmpeg_enc.c
> @@ -1005,24 +1005,17 @@ static void do_video_out(OutputFile *of,
>       AVRational frame_rate;
>       int64_t nb_frames, nb_frames_prev, i;
>       double duration = 0;
> -    InputStream *ist = ost->ist;
>       AVFilterContext *filter = ost->filter->filter;
>   
> -    frame_rate = av_buffersink_get_frame_rate(filter);
> -    if (frame_rate.num > 0 && frame_rate.den > 0)
> -        duration = 1/(av_q2d(frame_rate) * av_q2d(enc->time_base));
> +    if (next_picture)
> +        duration = lrintf(next_picture->duration * av_q2d(next_picture->time_base) / av_q2d(enc->time_base));

llrint(). You're passing it a double argument, and long int is 32 bits 
on Windows.
Anton Khirnov April 19, 2023, 9:12 p.m. UTC | #2
Quoting James Almer (2023-04-19 22:42:24)
> On 4/19/2023 4:52 PM, Anton Khirnov wrote:
> > diff --git a/fftools/ffmpeg_enc.c b/fftools/ffmpeg_enc.c
> > index e3dc858bc3..9aaec277f1 100644
> > --- a/fftools/ffmpeg_enc.c
> > +++ b/fftools/ffmpeg_enc.c
> > @@ -1005,24 +1005,17 @@ static void do_video_out(OutputFile *of,
> >       AVRational frame_rate;
> >       int64_t nb_frames, nb_frames_prev, i;
> >       double duration = 0;
> > -    InputStream *ist = ost->ist;
> >       AVFilterContext *filter = ost->filter->filter;
> >   
> > -    frame_rate = av_buffersink_get_frame_rate(filter);
> > -    if (frame_rate.num > 0 && frame_rate.den > 0)
> > -        duration = 1/(av_q2d(frame_rate) * av_q2d(enc->time_base));
> > +    if (next_picture)
> > +        duration = lrintf(next_picture->duration * av_q2d(next_picture->time_base) / av_q2d(enc->time_base));
> 
> llrint(). You're passing it a double argument, and long int is 32 bits 
> on Windows.

I'm just reusing the code as it was before, except for reducing the
conditions and using the frame timebase instead of the stream one. Given
how fragile this all is, I'd rather not do too many changes at once.
The whole rounding step is rather questionable, since the integer result
is assigned to a double. But I'd say that belongs in a separate patch.
Nicolas George April 24, 2023, 10:22 a.m. UTC | #3
Anton Khirnov (12023-04-19):
> Previously they would only be used with trivial filtergraphs, because
> filters did not handle frame durations. That is no longer true - most
> filters process frame durations properly (there may still be some that
> don't - this change will help finding and fixing them).
> 
> Improves output video frame durations in a number of FATE tests.

I do not object to this patch nor the one to concat, but I want to state
once again:

The authoritative source of information about frame durations in
libavfilter, be it internally for the caller, is the timestamp of the
next frame, or the timestamp of EOF for the last frame.

Filtered frame durations are only a hint.
diff mbox series

Patch

diff --git a/fftools/ffmpeg_enc.c b/fftools/ffmpeg_enc.c
index e3dc858bc3..9aaec277f1 100644
--- a/fftools/ffmpeg_enc.c
+++ b/fftools/ffmpeg_enc.c
@@ -1005,24 +1005,17 @@  static void do_video_out(OutputFile *of,
     AVRational frame_rate;
     int64_t nb_frames, nb_frames_prev, i;
     double duration = 0;
-    InputStream *ist = ost->ist;
     AVFilterContext *filter = ost->filter->filter;
 
-    frame_rate = av_buffersink_get_frame_rate(filter);
-    if (frame_rate.num > 0 && frame_rate.den > 0)
-        duration = 1/(av_q2d(frame_rate) * av_q2d(enc->time_base));
+    if (next_picture)
+        duration = lrintf(next_picture->duration * av_q2d(next_picture->time_base) / av_q2d(enc->time_base));
 
-    if(ist && ist->st->start_time != AV_NOPTS_VALUE && ist->first_dts != AV_NOPTS_VALUE && ost->frame_rate.num)
+    if (duration <= 0 && ost->frame_rate.num)
         duration = FFMIN(duration, 1/(av_q2d(ost->frame_rate) * av_q2d(enc->time_base)));
 
-    if (!ost->filters_script &&
-        !ost->filters &&
-        (nb_filtergraphs == 0 || !filtergraphs[0]->graph_desc) &&
-        next_picture &&
-        ist &&
-        lrintf(next_picture->duration * av_q2d(ist->st->time_base) / av_q2d(enc->time_base)) > 0) {
-        duration = lrintf(next_picture->duration * av_q2d(ist->st->time_base) / av_q2d(enc->time_base));
-    }
+    frame_rate = av_buffersink_get_frame_rate(filter);
+    if (duration <= 0 && frame_rate.num > 0 && frame_rate.den > 0)
+        duration = 1/(av_q2d(frame_rate) * av_q2d(enc->time_base));
 
     if (!next_picture) {
         //end, flushing
diff --git a/tests/ref/fate/filter-concat-vfr b/tests/ref/fate/filter-concat-vfr
index 7c5e12e093..66e9007da8 100644
--- a/tests/ref/fate/filter-concat-vfr
+++ b/tests/ref/fate/filter-concat-vfr
@@ -8,7 +8,7 @@ 
 #codec_id 1: pcm_s16le
 #sample_rate 1: 44100
 #channel_layout_name 1: mono
-0,          0,          0,        0,   230400, 0x88c4d19a
+0,          0,          0,   199999,   230400, 0x88c4d19a
 1,          0,          0,     1024,     2048, 0xb3f10192
 1,       1024,       1024,     1024,     2048, 0xb340fe4e
 1,       2048,       2048,     1024,     2048, 0x0a5f0111
@@ -18,7 +18,7 @@ 
 1,       6144,       6144,     1024,     2048, 0x70a8fa17
 1,       7168,       7168,     1024,     2048, 0x0dad072a
 1,       8192,       8192,     1024,     2048, 0x5e810c51
-0,     200000,     200000,        0,   230400, 0x0d77c977
+0,     200000,     200000,   200000,   230400, 0x0d77c977
 1,       9216,       9216,     1024,     2048, 0xbe5bf462
 1,      10240,      10240,     1024,     2048, 0xbcd9faeb
 1,      11264,      11264,     1024,     2048, 0x0d5bfe9c
@@ -28,7 +28,7 @@ 
 1,      15360,      15360,     1024,     2048, 0x11a9fa03
 1,      16384,      16384,     1024,     2048, 0x9a920378
 1,      17408,      17408,     1024,     2048, 0x901b0525
-0,     400000,     400000,        0,   230400, 0x242629d7
+0,     400000,     400000,   200000,   230400, 0x242629d7
 1,      18432,      18432,     1024,     2048, 0x74b2003f
 1,      19456,      19456,     1024,     2048, 0xa20ef3ed
 1,      20480,      20480,     1024,     2048, 0x44cef9de
@@ -37,7 +37,7 @@ 
 1,      23552,      23552,     1024,     2048, 0xcab6f9e5
 1,      24576,      24576,     1024,     2048, 0x67f8f608
 1,      25600,      25600,     1024,     2048, 0x8d7f03fa
-0,     600000,     600000,        0,   230400, 0x62cdc018
+0,     600000,     600000,   200000,   230400, 0x62cdc018
 1,      26624,      26624,     1024,     2048, 0x3e1e0566
 1,      27648,      27648,     1024,     2048, 0x2cfe0308
 1,      28672,      28672,     1024,     2048, 0x1ceaf702
@@ -47,7 +47,7 @@ 
 1,      32768,      32768,     1024,     2048, 0x3e5afa28
 1,      33792,      33792,     1024,     2048, 0x053ff47a
 1,      34816,      34816,     1024,     2048, 0x0d28fed9
-0,     800000,     800000,        0,   230400, 0x248ad058
+0,     800000,     800000,   200000,   230400, 0x248ad058
 1,      35840,      35840,     1024,     2048, 0x279805cc
 1,      36864,      36864,     1024,     2048, 0xb16a0a12
 1,      37888,      37888,     1024,     2048, 0xb45af340
@@ -57,72 +57,72 @@ 
 1,      41984,      41984,     1024,     2048, 0x503800ce
 1,      43008,      43008,     1024,     2048, 0xa3bbf4af
 1,      44032,      44032,       68,      136, 0xc8d751c7
-0,    1000000,    1000000,        0,   230400, 0x223d134f
+0,    1000000,    1000000,   200000,   230400, 0x223d134f
 1,      44100,      44100,     9600,    19200, 0x00000000
-0,    1200000,    1200000,        0,   230400, 0xbf1c3d34
+0,    1200000,    1200000,   200000,   230400, 0xbf1c3d34
 1,      53700,      53700,     9600,    19200, 0x00000000
-0,    1400000,    1400000,        0,   230400, 0xae0efe96
+0,    1400000,    1400000,   200000,   230400, 0xae0efe96
 1,      63300,      63300,     9600,    19200, 0x00000000
-0,    1600000,    1600000,        0,   230400, 0x0cd624d1
+0,    1600000,    1600000,   200000,   230400, 0x0cd624d1
 1,      72900,      72900,     9600,    19200, 0x00000000
-0,    1800000,    1800000,        0,   230400, 0x6dedf2c0
+0,    1800000,    1800000,   200000,   230400, 0x6dedf2c0
 1,      82500,      82500,     5700,    11400, 0x00000000
-0,    2000000,    2000000,        0,   230400, 0x88c4d19a
+0,    2000000,    2000000,    66667,   230400, 0x88c4d19a
 1,      88200,      88200,     1024,     2048, 0x283efb3a
 1,      89224,      89224,     1024,     2048, 0x7692fb8f
 1,      90248,      90248,     1024,     2048, 0xbaaafcc0
-0,    2066667,    2066667,        0,   230400, 0x5bbc2f63
+0,    2066667,    2066667,    66667,   230400, 0x5bbc2f63
 1,      91272,      91272,     1024,     2048, 0xadc8017e
 1,      92296,      92296,     1024,     2048, 0x4f4dffdc
 1,      93320,      93320,     1024,     2048, 0x7ffbff48
-0,    2133333,    2133333,        0,   230400, 0x3becbfad
+0,    2133333,    2133333,    66667,   230400, 0x3becbfad
 1,      94344,      94344,     1024,     2048, 0x2f990719
 1,      95368,      95368,     1024,     2048, 0xe2caf65c
 1,      96392,      96392,     1024,     2048, 0x825208e4
-0,    2200000,    2200000,        0,   230400, 0x0d77c977
+0,    2200000,    2200000,    66667,   230400, 0x0d77c977
 1,      97416,      97416,     1024,     2048, 0xf563f13b
 1,      98440,      98440,     1024,     2048, 0x855d03e9
 1,      99464,      99464,     1024,     2048, 0x0ba9fa4b
-0,    2266667,    2266667,        0,   230400, 0x436cf4b2
+0,    2266667,    2266667,    66667,   230400, 0x436cf4b2
 1,     100488,     100488,     1024,     2048, 0x83e1fb92
 1,     101512,     101512,     1024,     2048, 0x1162f965
 1,     102536,     102536,     1024,     2048, 0x0cfef73d
-0,    2333333,    2333333,        0,   230400, 0x39210f27
+0,    2333333,    2333333,    66667,   230400, 0x39210f27
 1,     103560,     103560,     1024,     2048, 0x5688ff75
 1,     104584,     104584,     1024,     2048, 0xf6c0ede9
 1,     105608,     105608,     1024,     2048, 0xfdb20602
-0,    2400000,    2400000,        0,   230400, 0x242629d7
+0,    2400000,    2400000,    66667,   230400, 0x242629d7
 1,     106632,     106632,     1024,     2048, 0x40c5f17b
 1,     107656,     107656,     1024,     2048, 0x559600b1
 1,     108680,     108680,     1024,     2048, 0xccc3f930
-0,    2466667,    2466667,        0,   230400, 0x771c2293
+0,    2466667,    2466667,    66667,   230400, 0x771c2293
 1,     109704,     109704,     1024,     2048, 0xdc800045
 1,     110728,     110728,     1024,     2048, 0xdce4fb3e
-0,    2533333,    2533333,        0,   230400, 0xec2af9a9
+0,    2533333,    2533333,    66667,   230400, 0xec2af9a9
 1,     111752,     111752,     1024,     2048, 0x1e5efba9
 1,     112776,     112776,     1024,     2048, 0x8c2e0832
 1,     113800,     113800,     1024,     2048, 0x5c42f66d
-0,    2600000,    2600000,        0,   230400, 0x62cdc018
+0,    2600000,    2600000,    66667,   230400, 0x62cdc018
 1,     114824,     114824,     1024,     2048, 0x08e20b1e
 1,     115848,     115848,     1024,     2048, 0x4cf7f903
 1,     116872,     116872,     1024,     2048, 0xe6b90794
-0,    2666667,    2666667,        0,   230400, 0xf02c8693
+0,    2666667,    2666667,    66667,   230400, 0xf02c8693
 1,     117896,     117896,     1024,     2048, 0x5956f8e6
 1,     118920,     118920,     1024,     2048, 0x6632ff16
 1,     119944,     119944,     1024,     2048, 0x46c8fe11
-0,    2733333,    2733333,        0,   230400, 0x14436efb
+0,    2733333,    2733333,    66667,   230400, 0x14436efb
 1,     120968,     120968,     1024,     2048, 0x7431f732
 1,     121992,     121992,     1024,     2048, 0xa258049f
 1,     123016,     123016,     1024,     2048, 0xdb71f00e
-0,    2800000,    2800000,        0,   230400, 0x248ad058
+0,    2800000,    2800000,    66667,   230400, 0x248ad058
 1,     124040,     124040,     1024,     2048, 0xa89b0359
 1,     125064,     125064,     1024,     2048, 0xe0aff0f2
 1,     126088,     126088,     1024,     2048, 0xc33e0085
-0,    2866667,    2866667,        0,   230400, 0xe87f6c52
+0,    2866667,    2866667,    66667,   230400, 0xe87f6c52
 1,     127112,     127112,     1024,     2048, 0x9d09f379
 1,     128136,     128136,     1024,     2048, 0x8c78fd06
 1,     129160,     129160,     1024,     2048, 0x532bfbdd
-0,    2933333,    2933333,        0,   230400, 0x6a0c196b
+0,    2933333,    2933333,    66667,   230400, 0x6a0c196b
 1,     130184,     130184,     1024,     2048, 0xfc36f5cd
 1,     131208,     131208,     1024,     2048, 0x2e8f0699
 1,     132232,     132232,     1024,     2048, 0x52382578
@@ -169,52 +169,52 @@ 
 1,     174216,     174216,     1024,     2048, 0xf86ff855
 1,     175240,     175240,     1024,     2048, 0x6934061b
 1,     176264,     176264,      136,      272, 0x4a458a45
-0,    4000000,    4000000,        0,   230400, 0x88c4d19a
+0,    4000000,    4000000,   125000,   230400, 0x88c4d19a
 1,     176400,     176400,     1024,     2048, 0xdb0cfe95
 1,     177424,     177424,     1024,     2048, 0xcff3fdf1
 1,     178448,     178448,     1024,     2048, 0x070cf585
 1,     179472,     179472,     1024,     2048, 0xe9b8007f
 1,     180496,     180496,     1024,     2048, 0xc51ffd64
 1,     181520,     181520,     1024,     2048, 0xede2fbf9
-0,    4125000,    4125000,        0,   230400, 0x05c1b733
+0,    4125000,    4125000,   125000,   230400, 0x05c1b733
 1,     182544,     182544,     1024,     2048, 0x51510410
 1,     183568,     183568,     1024,     2048, 0x198af498
 1,     184592,     184592,     1024,     2048, 0xae3603a2
 1,     185616,     185616,     1024,     2048, 0x6200f7a1
 1,     186640,     186640,     1024,     2048, 0xe6e3fe32
-0,    4250000,    4250000,        0,   230400, 0x0446ec19
+0,    4250000,    4250000,   125000,   230400, 0x0446ec19
 1,     187664,     187664,     1024,     2048, 0xb2e2fd77
 1,     188688,     188688,     1024,     2048, 0x063dff2f
 1,     189712,     189712,     1024,     2048, 0xa89ffe21
 1,     190736,     190736,     1024,     2048, 0x9e6ffa6d
 1,     191760,     191760,     1024,     2048, 0x028b004e
 1,     192784,     192784,     1024,     2048, 0x57edfa23
-0,    4375000,    4375000,        0,   230400, 0x0f9b1744
+0,    4375000,    4375000,   125000,   230400, 0x0f9b1744
 1,     193808,     193808,     1024,     2048, 0x6d8efe1f
 1,     194832,     194832,     1024,     2048, 0x774bfe54
 1,     195856,     195856,     1024,     2048, 0xa931fcfb
 1,     196880,     196880,     1024,     2048, 0x3505004b
 1,     197904,     197904,     1024,     2048, 0x5001f576
-0,    4500000,    4500000,        0,   230400, 0x30cf070a
+0,    4500000,    4500000,   125000,   230400, 0x30cf070a
 1,     198928,     198928,     1024,     2048, 0x78ea049b
 1,     199952,     199952,     1024,     2048, 0xd45bf733
 1,     200976,     200976,     1024,     2048, 0x6395fead
 1,     202000,     202000,     1024,     2048, 0xc126015e
 1,     203024,     203024,     1024,     2048, 0xbecff8aa
-0,    4625000,    4625000,        0,   230400, 0x9175aaa9
+0,    4625000,    4625000,   125000,   230400, 0x9175aaa9
 1,     204048,     204048,     1024,     2048, 0x0fea06c3
 1,     205072,     205072,     1024,     2048, 0xdea6f351
 1,     206096,     206096,     1024,     2048, 0x35b808f0
 1,     207120,     207120,     1024,     2048, 0x5487ee73
 1,     208144,     208144,     1024,     2048, 0xac69050e
 1,     209168,     209168,     1024,     2048, 0xcc5ffb00
-0,    4750000,    4750000,        0,   230400, 0x597f5628
+0,    4750000,    4750000,   125000,   230400, 0x597f5628
 1,     210192,     210192,     1024,     2048, 0x328c00cb
 1,     211216,     211216,     1024,     2048, 0xa707fd82
 1,     212240,     212240,     1024,     2048, 0xe442f73d
 1,     213264,     213264,     1024,     2048, 0x545c0418
 1,     214288,     214288,     1024,     2048, 0x744ff3f7
-0,    4875000,    4875000,        0,   230400, 0x38a45a85
+0,    4875000,    4875000,   125000,   230400, 0x38a45a85
 1,     215312,     215312,     1024,     2048, 0x01aa04fd
 1,     216336,     216336,     1024,     2048, 0xa885f7cd
 1,     217360,     217360,     1024,     2048, 0xcfca04f4
diff --git a/tests/ref/fate/gif-disposal-restore b/tests/ref/fate/gif-disposal-restore
index b1282f61de..aca80c5e6d 100644
--- a/tests/ref/fate/gif-disposal-restore
+++ b/tests/ref/fate/gif-disposal-restore
@@ -4,5 +4,5 @@ 
 #dimensions 0: 468x60
 #sar 0: 0/1
 0,          0,          0,        1,   112320, 0xb8afe429
-0,          1,          1,        1,   112320, 0xae588a4b
+0,          1,          1,        2,   112320, 0xae588a4b
 0,          3,          3,        1,   112320, 0xccdd27b7
diff --git a/tests/ref/fate/gif-gray b/tests/ref/fate/gif-gray
index 18705d01fe..aa3969212d 100644
--- a/tests/ref/fate/gif-gray
+++ b/tests/ref/fate/gif-gray
@@ -3,39 +3,39 @@ 
 #codec_id 0: rawvideo
 #dimensions 0: 480x360
 #sar 0: 0/1
-0,          0,          0,        1,   691200, 0xef6c0f3d
-0,          5,          5,        1,   691200, 0xc18b32de
-0,          7,          7,        1,   691200, 0x2395a3d7
-0,          9,          9,        1,   691200, 0x81dc3cf2
-0,         11,         11,        1,   691200, 0xabe2390e
-0,         13,         13,        1,   691200, 0xb2955c2a
-0,         15,         15,        1,   691200, 0x868d9ca2
-0,         17,         17,        1,   691200, 0x3016c2b6
-0,         19,         19,        1,   691200, 0x4501cffa
-0,         21,         21,        1,   691200, 0x8661d79e
-0,         25,         25,        1,   691200, 0xbc96d02e
-0,         27,         27,        1,   691200, 0x5f90bf5e
-0,         29,         29,        1,   691200, 0xf18da09a
-0,         31,         31,        1,   691200, 0x540467ce
-0,         33,         33,        1,   691200, 0x60d24012
-0,         35,         35,        1,   691200, 0x24323d36
-0,         37,         37,        1,   691200, 0x9e07c84b
-0,         39,         39,        1,   691200, 0xc18b32de
-0,         41,         41,        1,   691200, 0xef6c0f3d
-0,         46,         46,        1,   691200, 0xc9461045
-0,         48,         48,        1,   691200, 0x23ed4b99
-0,         50,         50,        1,   691200, 0x7e351d69
-0,         52,         52,        1,   691200, 0x0513e0aa
-0,         54,         54,        1,   691200, 0x28a4b6f2
-0,         56,         56,        1,   691200, 0xce10a94e
-0,         58,         58,        1,   691200, 0x63929d4e
-0,         60,         60,        1,   691200, 0xd26c9bb6
-0,         62,         62,        1,   691200, 0xb2a29842
-0,         66,         66,        1,   691200, 0x9fd69a16
-0,         68,         68,        1,   691200, 0x10f99e46
-0,         70,         70,        1,   691200, 0xea95a9fa
-0,         72,         72,        1,   691200, 0x97dbb9d6
-0,         74,         74,        1,   691200, 0xf4e9e2d6
-0,         76,         76,        1,   691200, 0x46b1230d
-0,         78,         78,        1,   691200, 0xb4a54ccd
-0,         80,         80,        1,   691200, 0x40cc103d
+0,          0,          0,        4,   691200, 0xef6c0f3d
+0,          5,          5,        2,   691200, 0xc18b32de
+0,          7,          7,        2,   691200, 0x2395a3d7
+0,          9,          9,        2,   691200, 0x81dc3cf2
+0,         11,         11,        2,   691200, 0xabe2390e
+0,         13,         13,        2,   691200, 0xb2955c2a
+0,         15,         15,        2,   691200, 0x868d9ca2
+0,         17,         17,        2,   691200, 0x3016c2b6
+0,         19,         19,        2,   691200, 0x4501cffa
+0,         21,         21,        4,   691200, 0x8661d79e
+0,         25,         25,        2,   691200, 0xbc96d02e
+0,         27,         27,        2,   691200, 0x5f90bf5e
+0,         29,         29,        2,   691200, 0xf18da09a
+0,         31,         31,        2,   691200, 0x540467ce
+0,         33,         33,        2,   691200, 0x60d24012
+0,         35,         35,        2,   691200, 0x24323d36
+0,         37,         37,        2,   691200, 0x9e07c84b
+0,         39,         39,        2,   691200, 0xc18b32de
+0,         41,         41,        5,   691200, 0xef6c0f3d
+0,         46,         46,        2,   691200, 0xc9461045
+0,         48,         48,        2,   691200, 0x23ed4b99
+0,         50,         50,        2,   691200, 0x7e351d69
+0,         52,         52,        2,   691200, 0x0513e0aa
+0,         54,         54,        2,   691200, 0x28a4b6f2
+0,         56,         56,        2,   691200, 0xce10a94e
+0,         58,         58,        2,   691200, 0x63929d4e
+0,         60,         60,        2,   691200, 0xd26c9bb6
+0,         62,         62,        4,   691200, 0xb2a29842
+0,         66,         66,        2,   691200, 0x9fd69a16
+0,         68,         68,        2,   691200, 0x10f99e46
+0,         70,         70,        2,   691200, 0xea95a9fa
+0,         72,         72,        2,   691200, 0x97dbb9d6
+0,         74,         74,        2,   691200, 0xf4e9e2d6
+0,         76,         76,        2,   691200, 0x46b1230d
+0,         78,         78,        2,   691200, 0xb4a54ccd
+0,         80,         80,        2,   691200, 0x40cc103d
diff --git a/tests/ref/fate/quickdraw b/tests/ref/fate/quickdraw
index 5746929502..44610498c8 100644
--- a/tests/ref/fate/quickdraw
+++ b/tests/ref/fate/quickdraw
@@ -9,7 +9,7 @@ 
 0,          3,          3,        1,   921600, 0xc0e68764
 0,          4,          4,        1,   921600, 0xc0e68764
 0,          5,          5,        1,   921600, 0xc0e68764
-0,          7,          7,        1,   921600, 0x01a16629
+0,          7,          7,        2,   921600, 0x01a16629
 0,          9,          9,        1,   921600, 0x01a16629
 0,         10,         10,        1,   921600, 0x01a16629
 0,         11,         11,        1,   921600, 0x01a16629