summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-11-24 02:08:21 +0100
committerMichael Niedermayer <michaelni@gmx.at>2011-11-24 03:32:24 +0100
commit8e576d58306df95d6373dd0ca2c1f21f1afaeca9 (patch)
tree5f7b9c8783b342e80e32b58b94ded819eb414b3c
parent7ffa9ea05aa951b6b13e615f1bd3b8280f758561 (diff)
parentbbb46f3ec7128d8a624f2aa5b4f99ec44c0b9567 (diff)
downloadffmpeg-8e576d58306df95d6373dd0ca2c1f21f1afaeca9.tar.gz
Merge remote-tracking branch 'qatar/master'
* qatar/master: libavutil: add utility functions to simplify allocation of audio buffers. libavutil: add planar sample formats and av_sample_fmt_is_planar() avconv: fix segfault at EOF with delayed pictures pcmdec: remove unneeded resetting of samples pointer avconv: remove a now unused parameter from output_packet(). avconv: formatting fixes in output_packet() avconv: declare some variables in blocks where they are used avconv: use the same behavior when decoding audio/video/subs bethsoftvideo: return proper consumed size for palette packets. cdg: skip packets that don't contain a cdg command. crcenc: add flags avconv: use vsync 0 for AVFMT_NOTIMESTAMPS formats. tiffenc: add a private option for selecting compression algorithm md5enc: add flags ARM: remove needless .text/.align directives Conflicts: doc/APIchanges libavcodec/tiffenc.c libavutil/avutil.h libavutil/samplefmt.c libavutil/samplefmt.h tests/ref/fate/bethsoft-vid tests/ref/fate/cdgraphics tests/ref/fate/film-cvid-pcm-stereo-8bit tests/ref/fate/mpeg2-field-enc tests/ref/fate/nuv tests/ref/fate/tiertex-seq tests/ref/fate/tscc-32bit tests/ref/fate/vmnc-32bit Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--avconv.c52
-rw-r--r--doc/APIchanges7
-rw-r--r--ffmpeg.c50
-rw-r--r--libavcodec/arm/dsputil_armv6.S2
-rw-r--r--libavcodec/arm/dsputil_neon.S1
-rw-r--r--libavcodec/arm/fft_neon.S1
-rw-r--r--libavcodec/arm/fmtconvert_neon.S1
-rw-r--r--libavcodec/arm/h264dsp_neon.S3
-rw-r--r--libavcodec/arm/h264idct_neon.S1
-rw-r--r--libavcodec/arm/int_neon.S1
-rw-r--r--libavcodec/arm/mdct_neon.S2
-rw-r--r--libavcodec/arm/simple_idct_arm.S2
-rw-r--r--libavcodec/bethsoftvideo.c10
-rw-r--r--libavcodec/pcm.c3
-rw-r--r--libavcodec/tiffenc.c31
-rw-r--r--libavfilter/af_aconvert.c2
-rw-r--r--libavfilter/asrc_abuffer.c2
-rw-r--r--libavfilter/defaults.c2
-rw-r--r--libavformat/cdg.c9
-rw-r--r--libavformat/crcenc.c1
-rw-r--r--libavformat/framecrcenc.c1
-rw-r--r--libavformat/md5enc.c2
-rw-r--r--libavutil/avutil.h2
-rw-r--r--libavutil/samplefmt.c103
-rw-r--r--libavutil/samplefmt.h87
-rw-r--r--tests/fate.mak4
-rw-r--r--tests/fate/vp8.mak2
-rw-r--r--tests/ref/fate/cdgraphics526
-rw-r--r--tests/ref/fate/deluxepaint-anm136
-rw-r--r--tests/ref/fate/film-cvid-pcm-stereo-8bit325
-rw-r--r--tests/ref/fate/mpeg2-field-enc69
-rw-r--r--tests/ref/fate/nuv19
-rw-r--r--tests/ref/fate/quickdraw1
-rw-r--r--tests/ref/fate/tiertex-seq90
-rw-r--r--tests/ref/fate/tscc-32bit166
-rw-r--r--tests/ref/fate/vmnc-32bit207
-rw-r--r--tests/ref/fate/vp8-sign-bias15
-rw-r--r--tests/ref/fate/wmv8-drm288
-rw-r--r--tests/ref/lavf/gxf2
39 files changed, 969 insertions, 1259 deletions
diff --git a/avconv.c b/avconv.c
index ec2c573d7b..4cf2e2f37f 100644
--- a/avconv.c
+++ b/avconv.c
@@ -1219,7 +1219,8 @@ static void do_video_out(AVFormatContext *s,
format_video_sync = video_sync_method;
if (format_video_sync < 0)
- format_video_sync = (s->oformat->flags & AVFMT_VARIABLE_FPS) ? 2 : 1;
+ format_video_sync = (s->oformat->flags & AVFMT_NOTIMESTAMPS) ? 0 :
+ (s->oformat->flags & AVFMT_VARIABLE_FPS) ? 2 : 1;
if (format_video_sync) {
double vdelta = sync_ipts - ost->sync_opts;
@@ -1710,15 +1711,13 @@ static int transcode_audio(InputStream *ist, AVPacket *pkt, int *got_output)
pkt);
if (ret < 0)
return ret;
- pkt->data += ret;
- pkt->size -= ret;
*got_output = decoded_data_size > 0;
/* Some bug in mpeg audio decoder gives */
/* decoded_data_size < 0, it seems they are overflows */
if (!*got_output) {
/* no audio frame */
- return 0;
+ return ret;
}
decoded_data_buf = (uint8_t *)samples;
@@ -1791,7 +1790,7 @@ static int transcode_audio(InputStream *ist, AVPacket *pkt, int *got_output)
do_audio_out(output_files[ost->file_index].ctx, ost, ist,
decoded_data_buf, decoded_data_size);
}
- return 0;
+ return ret;
}
static int transcode_video(InputStream *ist, AVPacket *pkt, int *got_output, int64_t *pkt_pts)
@@ -1819,7 +1818,7 @@ static int transcode_video(InputStream *ist, AVPacket *pkt, int *got_output, int
if (!*got_output) {
/* no picture yet */
av_freep(&decoded_frame);
- return 0;
+ return ret;
}
ist->next_pts = ist->pts = decoded_frame->best_effort_timestamp;
if (ist->st->codec->time_base.num != 0) {
@@ -1898,9 +1897,7 @@ static int transcode_subtitles(InputStream *ist, AVPacket *pkt, int *got_output)
if (ret < 0)
return ret;
if (!*got_output)
- return 0;
-
- pkt->size = 0;
+ return ret;
rate_emu_sleep(ist);
@@ -1914,23 +1911,21 @@ static int transcode_subtitles(InputStream *ist, AVPacket *pkt, int *got_output)
}
avsubtitle_free(&subtitle);
- return 0;
+ return ret;
}
/* pkt = NULL means EOF (needed to flush decoder buffers) */
-static int output_packet(InputStream *ist, int ist_index,
+static int output_packet(InputStream *ist,
OutputStream *ost_table, int nb_ostreams,
const AVPacket *pkt)
{
- OutputStream *ost;
- int ret = 0, i;
+ int i;
int got_output;
int64_t pkt_pts = AV_NOPTS_VALUE;
-
AVPacket avpkt;
- if(ist->next_pts == AV_NOPTS_VALUE)
- ist->next_pts= ist->pts;
+ if (ist->next_pts == AV_NOPTS_VALUE)
+ ist->next_pts = ist->pts;
if (pkt == NULL) {
/* EOF handling */
@@ -1949,13 +1944,16 @@ static int output_packet(InputStream *ist, int ist_index,
//while we have more to decode or while the decoder did output something on EOF
while (ist->decoding_needed && (avpkt.size > 0 || (!pkt && got_output))) {
+ int ret = 0;
handle_eof:
- ist->pts= ist->next_pts;
- if(avpkt.size && avpkt.size != pkt->size)
+ ist->pts = ist->next_pts;
+
+ if (avpkt.size && avpkt.size != pkt->size) {
av_log(NULL, ist->showed_multi_packet_warning ? AV_LOG_VERBOSE : AV_LOG_WARNING,
"Multiple frames in a packet from stream %d\n", pkt->stream_index);
- ist->showed_multi_packet_warning=1;
+ ist->showed_multi_packet_warning = 1;
+ }
switch(ist->st->codec->codec_type) {
case AVMEDIA_TYPE_AUDIO:
@@ -1973,13 +1971,15 @@ static int output_packet(InputStream *ist, int ist_index,
if (ret < 0)
return ret;
+ // touch data and size only if not EOF
+ if (pkt) {
+ avpkt.data += ret;
+ avpkt.size -= ret;
+ }
if (!got_output) {
- if (ist->st->codec->codec_type == AVMEDIA_TYPE_AUDIO)
- continue;
- goto discard_packet;
+ continue;
}
}
- discard_packet:
/* handle stream copy */
if (!ist->decoding_needed) {
@@ -2000,7 +2000,7 @@ static int output_packet(InputStream *ist, int ist_index,
}
}
for (i = 0; pkt && i < nb_ostreams; i++) {
- ost = &ost_table[i];
+ OutputStream *ost = &ost_table[i];
if (!check_output_constraints(ist, ost) || ost->encoding_needed)
continue;
@@ -2636,7 +2636,7 @@ static int transcode(OutputFile *output_files,
}
//fprintf(stderr,"read #%d.%d size=%d\n", ist->file_index, ist->st->index, pkt.size);
- if (output_packet(ist, ist_index, output_streams, nb_output_streams, &pkt) < 0) {
+ if (output_packet(ist, output_streams, nb_output_streams, &pkt) < 0) {
av_log(NULL, AV_LOG_ERROR, "Error while decoding stream #%d:%d\n",
ist->file_index, ist->st->index);
@@ -2657,7 +2657,7 @@ static int transcode(OutputFile *output_files,
for (i = 0; i < nb_input_streams; i++) {
ist = &input_streams[i];
if (ist->decoding_needed) {
- output_packet(ist, i, output_streams, nb_output_streams, NULL);
+ output_packet(ist, output_streams, nb_output_streams, NULL);
}
}
flush_encoders(output_streams, nb_output_streams);
diff --git a/doc/APIchanges b/doc/APIchanges
index f8d204794e..533199f8b8 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -19,6 +19,13 @@ API changes, most recent first:
2011-10-20 - b35e9e1 - lavu 51.22.0
Add av_strtok() to avstring.h.
+2011-xx-xx - xxxxxxx - lavu 51.18.0
+ Add av_samples_get_buffer_size(), av_samples_fill_arrays(), and
+ av_samples_alloc(), to samplefmt.h.
+
+2011-xx-xx - xxxxxxx - lavu 51.17.0
+ Add planar sample formats and av_sample_fmt_is_planar() to samplefmt.h.
+
2011-xx-xx - xxxxxxx - lavc 53.21.0
Move some AVCodecContext fields to a new private struct, AVCodecInternal,
which is accessed from a new field, AVCodecContext.internal.
diff --git a/ffmpeg.c b/ffmpeg.c
index 3711c99cc5..f6a9765d67 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -1246,7 +1246,8 @@ static void do_video_out(AVFormatContext *s,
format_video_sync = video_sync_method;
if (format_video_sync < 0)
- format_video_sync = (s->oformat->flags & AVFMT_VARIABLE_FPS) ? 2 : 1;
+ format_video_sync = (s->oformat->flags & AVFMT_NOTIMESTAMPS) ? 0 :
+ (s->oformat->flags & AVFMT_VARIABLE_FPS) ? 2 : 1;
if (format_video_sync) {
double vdelta = sync_ipts - ost->sync_opts + duration;
@@ -1735,15 +1736,13 @@ static int transcode_audio(InputStream *ist, AVPacket *pkt, int *got_output)
pkt);
if (ret < 0)
return ret;
- pkt->data += ret;
- pkt->size -= ret;
*got_output = decoded_data_size > 0;
/* Some bug in mpeg audio decoder gives */
/* decoded_data_size < 0, it seems they are overflows */
if (!*got_output) {
/* no audio frame */
- return 0;
+ return ret;
}
decoded_data_buf = (uint8_t *)samples;
@@ -1816,7 +1815,7 @@ static int transcode_audio(InputStream *ist, AVPacket *pkt, int *got_output)
do_audio_out(output_files[ost->file_index].ctx, ost, ist,
decoded_data_buf, decoded_data_size);
}
- return 0;
+ return ret;
}
static int transcode_video(InputStream *ist, AVPacket *pkt, int *got_output, int64_t *pkt_pts, int64_t *pkt_dts)
@@ -1852,7 +1851,7 @@ static int transcode_video(InputStream *ist, AVPacket *pkt, int *got_output, int
if (!*got_output) {
/* no picture yet */
av_freep(&decoded_frame);
- return 0;
+ return ret;
}
if(decoded_frame->best_effort_timestamp != AV_NOPTS_VALUE)
@@ -1943,9 +1942,7 @@ static int transcode_subtitles(InputStream *ist, AVPacket *pkt, int *got_output)
if (ret < 0)
return ret;
if (!*got_output)
- return 0;
-
- pkt->size = 0;
+ return ret;
rate_emu_sleep(ist);
@@ -1959,15 +1956,14 @@ static int transcode_subtitles(InputStream *ist, AVPacket *pkt, int *got_output)
}
avsubtitle_free(&subtitle);
- return 0;
+ return ret;
}
/* pkt = NULL means EOF (needed to flush decoder buffers) */
-static int output_packet(InputStream *ist, int ist_index,
+static int output_packet(InputStream *ist,
OutputStream *ost_table, int nb_ostreams,
const AVPacket *pkt)
{
- OutputStream *ost;
int ret = 0, i;
int got_output;
int64_t pkt_dts = AV_NOPTS_VALUE;
@@ -1975,8 +1971,8 @@ static int output_packet(InputStream *ist, int ist_index,
AVPacket avpkt;
- if(ist->next_pts == AV_NOPTS_VALUE)
- ist->next_pts= ist->pts;
+ if (ist->next_pts == AV_NOPTS_VALUE)
+ ist->next_pts = ist->pts;
if (pkt == NULL) {
/* EOF handling */
@@ -1999,12 +1995,14 @@ static int output_packet(InputStream *ist, int ist_index,
//while we have more to decode or while the decoder did output something on EOF
while (ist->decoding_needed && (avpkt.size > 0 || (!pkt && got_output))) {
handle_eof:
- ist->pts= ist->next_pts;
- if(avpkt.size && avpkt.size != pkt->size)
+ ist->pts = ist->next_pts;
+
+ if (avpkt.size && avpkt.size != pkt->size) {
av_log(NULL, ist->showed_multi_packet_warning ? AV_LOG_VERBOSE : AV_LOG_WARNING,
"Multiple frames in a packet from stream %d\n", pkt->stream_index);
- ist->showed_multi_packet_warning=1;
+ ist->showed_multi_packet_warning = 1;
+ }
switch(ist->st->codec->codec_type) {
case AVMEDIA_TYPE_AUDIO:
@@ -2022,13 +2020,17 @@ static int output_packet(InputStream *ist, int ist_index,
if (ret < 0)
return ret;
+ // touch data and size only if not EOF
+ if (pkt) {
+ if(ist->st->codec->codec_type != AVMEDIA_TYPE_AUDIO)
+ ret = avpkt.size;
+ avpkt.data += ret;
+ avpkt.size -= ret;
+ }
if (!got_output) {
- if (ist->st->codec->codec_type == AVMEDIA_TYPE_AUDIO)
- continue;
- goto discard_packet;
+ continue;
}
}
- discard_packet:
/* handle stream copy */
if (!ist->decoding_needed) {
@@ -2049,7 +2051,7 @@ static int output_packet(InputStream *ist, int ist_index,
}
}
for (i = 0; pkt && i < nb_ostreams; i++) {
- ost = &ost_table[i];
+ OutputStream *ost = &ost_table[i];
if (!check_output_constraints(ist, ost) || ost->encoding_needed)
continue;
@@ -2753,7 +2755,7 @@ static int transcode(OutputFile *output_files, int nb_output_files,
}
//fprintf(stderr,"read #%d.%d size=%d\n", ist->file_index, ist->st->index, pkt.size);
- if (output_packet(ist, ist_index, output_streams, nb_output_streams, &pkt) < 0) {
+ if (output_packet(ist, output_streams, nb_output_streams, &pkt) < 0) {
av_log(NULL, AV_LOG_ERROR, "Error while decoding stream #%d:%d\n",
ist->file_index, ist->st->index);
@@ -2774,7 +2776,7 @@ static int transcode(OutputFile *output_files, int nb_output_files,
for (i = 0; i < nb_input_streams; i++) {
ist = &input_streams[i];
if (ist->decoding_needed) {
- output_packet(ist, i, output_streams, nb_output_streams, NULL);
+ output_packet(ist, output_streams, nb_output_streams, NULL);
}
}
flush_encoders(output_streams, nb_output_streams);
diff --git a/libavcodec/arm/dsputil_armv6.S b/libavcodec/arm/dsputil_armv6.S
index a2c8588fad..1adedf7b8f 100644
--- a/libavcodec/arm/dsputil_armv6.S
+++ b/libavcodec/arm/dsputil_armv6.S
@@ -22,8 +22,6 @@
preserve8
- .text
-
.macro call_2x_pixels type, subp
function ff_\type\()_pixels16\subp\()_armv6, export=1
push {r0-r3, lr}
diff --git a/libavcodec/arm/dsputil_neon.S b/libavcodec/arm/dsputil_neon.S
index 1574ad6496..b765f23d02 100644
--- a/libavcodec/arm/dsputil_neon.S
+++ b/libavcodec/arm/dsputil_neon.S
@@ -23,7 +23,6 @@
#include "asm.S"
preserve8
- .text
function ff_clear_block_neon, export=1
vmov.i16 q0, #0
diff --git a/libavcodec/arm/fft_neon.S b/libavcodec/arm/fft_neon.S
index fd76edcd15..ef8e4d4210 100644
--- a/libavcodec/arm/fft_neon.S
+++ b/libavcodec/arm/fft_neon.S
@@ -28,7 +28,6 @@
#define M_SQRT1_2 0.70710678118654752440
- .text
function fft4_neon
vld1.32 {d0-d3}, [r0,:128]
diff --git a/libavcodec/arm/fmtconvert_neon.S b/libavcodec/arm/fmtconvert_neon.S
index d1ad32ed27..17af9f524a 100644
--- a/libavcodec/arm/fmtconvert_neon.S
+++ b/libavcodec/arm/fmtconvert_neon.S
@@ -23,7 +23,6 @@
#include "asm.S"
preserve8
- .text
function ff_float_to_int16_neon, export=1
subs r2, r2, #8
diff --git a/libavcodec/arm/h264dsp_neon.S b/libavcodec/arm/h264dsp_neon.S
index 6426f46637..adc21f9500 100644
--- a/libavcodec/arm/h264dsp_neon.S
+++ b/libavcodec/arm/h264dsp_neon.S
@@ -392,9 +392,6 @@ function ff_\type\()_h264_chroma_mc2_neon, export=1
endfunc
.endm
- .text
- .align
-
h264_chroma_mc8 put
h264_chroma_mc8 avg
h264_chroma_mc4 put
diff --git a/libavcodec/arm/h264idct_neon.S b/libavcodec/arm/h264idct_neon.S
index 8cf9bd8b66..49b301247f 100644
--- a/libavcodec/arm/h264idct_neon.S
+++ b/libavcodec/arm/h264idct_neon.S
@@ -21,7 +21,6 @@
#include "asm.S"
preserve8
- .text
function ff_h264_idct_add_neon, export=1
vld1.64 {d0-d3}, [r1,:128]
diff --git a/libavcodec/arm/int_neon.S b/libavcodec/arm/int_neon.S
index e8023e0686..e1353982d0 100644
--- a/libavcodec/arm/int_neon.S
+++ b/libavcodec/arm/int_neon.S
@@ -23,7 +23,6 @@
preserve8
.fpu neon
- .text
function ff_scalarproduct_int16_neon, export=1
vmov.i16 q0, #0
diff --git a/libavcodec/arm/mdct_neon.S b/libavcodec/arm/mdct_neon.S
index 2def704497..9b7dc6ce83 100644
--- a/libavcodec/arm/mdct_neon.S
+++ b/libavcodec/arm/mdct_neon.S
@@ -23,8 +23,6 @@
preserve8
- .text
-
#define ff_fft_calc_neon X(ff_fft_calc_neon)
function ff_imdct_half_neon, export=1
diff --git a/libavcodec/arm/simple_idct_arm.S b/libavcodec/arm/simple_idct_arm.S
index f85c89a1b7..4d6d3fb5ad 100644
--- a/libavcodec/arm/simple_idct_arm.S
+++ b/libavcodec/arm/simple_idct_arm.S
@@ -53,8 +53,6 @@
#define COL_SHIFTED_1 524288 /* 1<< (COL_SHIFT-1) */
- .text
-
function ff_simple_idct_arm, export=1
@@ void simple_idct_arm(int16_t *block)
@@ save stack for reg needed (take all of them),
diff --git a/libavcodec/bethsoftvideo.c b/libavcodec/bethsoftvideo.c
index 1a19c19d99..059947fead 100644
--- a/libavcodec/bethsoftvideo.c
+++ b/libavcodec/bethsoftvideo.c
@@ -47,15 +47,20 @@ static av_cold int bethsoftvid_decode_init(AVCodecContext *avctx)
return 0;
}
-static void set_palette(AVFrame * frame, const uint8_t * palette_buffer)
+static int set_palette(AVFrame * frame, const uint8_t * palette_buffer, int buf_size)
{
uint32_t * palette = (uint32_t *)frame->data[1];
int a;
+
+ if (buf_size < 256*3)
+ return AVERROR_INVALIDDATA;
+
for(a = 0; a < 256; a++){
palette[a] = 0xFF << 24 | AV_RB24(&palette_buffer[a * 3]) * 4;
palette[a] |= palette[a] >> 6 & 0x30303;
}
frame->palette_has_changed = 1;
+ return 256*3;
}
static int bethsoftvid_decode_frame(AVCodecContext *avctx,
@@ -82,8 +87,7 @@ static int bethsoftvid_decode_frame(AVCodecContext *avctx,
switch(block_type = *buf++){
case PALETTE_BLOCK:
- set_palette(&vid->frame, buf);
- return 0;
+ return set_palette(&vid->frame, buf, buf_size);
case VIDEO_YOFF_P_FRAME:
yoffset = bytestream_get_le16(&buf);
if(yoffset >= avctx->height)
diff --git a/libavcodec/pcm.c b/libavcodec/pcm.c
index 0bc0882081..92519c0534 100644
--- a/libavcodec/pcm.c
+++ b/libavcodec/pcm.c
@@ -384,7 +384,6 @@ static int pcm_decode_frame(AVCodecContext *avctx,
#endif /* HAVE_BIGENDIAN */
case CODEC_ID_PCM_U8:
memcpy(samples, src, n*sample_size);
- samples += n * sample_size;
break;
case CODEC_ID_PCM_ZORK:
for (; n > 0; n--) {
@@ -430,7 +429,6 @@ static int pcm_decode_frame(AVCodecContext *avctx,
}
break;
}
- samples = (uint8_t *) dst_int32_t;
break;
}
case CODEC_ID_PCM_LXF:
@@ -453,7 +451,6 @@ static int pcm_decode_frame(AVCodecContext *avctx,
((src8[2] & 0xF0) << 8) | (src8[4] << 4) | (src8[3] >> 4);
}
}
- samples = (uint8_t *) dst_int32_t;
break;
}
default:
diff --git a/libavcodec/tiffenc.c b/libavcodec/tiffenc.c
index b9a1e20fa5..9656cd9b68 100644
--- a/libavcodec/tiffenc.c
+++ b/libavcodec/tiffenc.c
@@ -25,6 +25,9 @@
* @author Bartlomiej Wolowiec
*/
+#include "libavutil/log.h"
+#include "libavutil/opt.h"
+
#include "avcodec.h"
#if CONFIG_ZLIB
#include <zlib.h>
@@ -44,7 +47,7 @@ static const uint8_t type_sizes2[6] = {
};
typedef struct TiffEncoderContext {
- AVClass *avclass;
+ AVClass *class; ///< for private options
AVCodecContext *avctx;
AVFrame picture;
@@ -230,7 +233,6 @@ static int encode_frame(AVCodecContext * avctx, unsigned char *buf,
p->key_frame = 1;
avctx->coded_frame= &s->picture;
- s->compr = TIFF_PACKBITS;
if (avctx->compression_level == 0) {
s->compr = TIFF_RAW;
} else if(avctx->compression_level == 2) {
@@ -453,11 +455,26 @@ fail:
return ret;
}
-static const AVOption options[]={
-{"dpi", "set the image resolution (in dpi)", offsetof(TiffEncoderContext, dpi), AV_OPT_TYPE_INT, {.dbl = 72}, 1, 0x10000, AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_ENCODING_PARAM},
-{NULL}
+#define OFFSET(x) offsetof(TiffEncoderContext, x)
+#define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM
+static const AVOption options[] = {
+ {"dpi", "set the image resolution (in dpi)", OFFSET(dpi), AV_OPT_TYPE_INT, {.dbl = 72}, 1, 0x10000, AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_ENCODING_PARAM},
+ { "compression_algo", NULL, OFFSET(compr), AV_OPT_TYPE_INT, {TIFF_PACKBITS}, TIFF_RAW, TIFF_DEFLATE, VE, "compression_algo" },
+ { "packbits", NULL, 0, AV_OPT_TYPE_CONST, {TIFF_PACKBITS}, 0, 0, VE, "compression_algo" },
+ { "raw", NULL, 0, AV_OPT_TYPE_CONST, {TIFF_RAW}, 0, 0, VE, "compression_algo" },
+ { "lzw", NULL, 0, AV_OPT_TYPE_CONST, {TIFF_LZW}, 0, 0, VE, "compression_algo" },
+#if CONFIG_ZLIB
+ { "deflate", NULL, 0, AV_OPT_TYPE_CONST, {TIFF_DEFLATE}, 0, 0, VE, "compression_algo" },
+#endif
+ { NULL },
+};
+
+static const AVClass tiffenc_class = {
+ .class_name = "TIFF encoder",
+ .item_name = av_default_item_name,
+ .option = options,
+ .version = LIBAVUTIL_VERSION_INT,
};
-static const AVClass class = { "tiff", av_default_item_name, options, LIBAVUTIL_VERSION_INT };
AVCodec ff_tiff_encoder = {
.name = "tiff",
@@ -473,5 +490,5 @@ AVCodec ff_tiff_encoder = {
PIX_FMT_YUV411P, PIX_FMT_RGB48LE,
PIX_FMT_NONE},
.long_name = NULL_IF_CONFIG_SMALL("TIFF image"),
- .priv_class= &class,
+ .priv_class = &tiffenc_class,
};
diff --git a/libavfilter/af_aconvert.c b/libavfilter/af_aconvert.c
index 14a9fdcaee..e3c7f8cc3d 100644
--- a/libavfilter/af_aconvert.c
+++ b/libavfilter/af_aconvert.c
@@ -270,7 +270,7 @@ static int init_buffers(AVFilterLink *inlink, int nb_samples)
int nb_channels = av_get_channel_layout_nb_channels(outlink->channel_layout);
if (av_samples_alloc(data, linesize, nb_channels, nb_samples,
- inlink->format, inlink->planar, 16) < 0)
+ inlink->format, 16) < 0)
goto fail_no_mem;
aconvert->mix_samplesref =
avfilter_get_audio_buffer_ref_from_arrays(data, linesize, AV_PERM_WRITE,
diff --git a/libavfilter/asrc_abuffer.c b/libavfilter/asrc_abuffer.c
index 0cb9842079..ad71e12c5b 100644
--- a/libavfilter/asrc_abuffer.c
+++ b/libavfilter/asrc_abuffer.c
@@ -241,7 +241,7 @@ int av_asrc_buffer_add_buffer(AVFilterContext *ctx,
av_samples_fill_arrays(data, linesize,
buf, nb_channels, nb_samples,
- sample_fmt, planar, 16);
+ sample_fmt, 16);
return av_asrc_buffer_add_samples(ctx,
data, linesize, nb_samples,
diff --git a/libavfilter/defaults.c b/libavfilter/defaults.c
index 79fb38d70f..c962764db0 100644
--- a/libavfilter/defaults.c
+++ b/libavfilter/defaults.c
@@ -91,7 +91,7 @@ AVFilterBufferRef *avfilter_default_get_audio_buffer(AVFilterLink *link, int per
/* Calculate total buffer size, round to multiple of 16 to be SIMD friendly */
if (av_samples_alloc(data, linesize,
nb_channels, nb_samples, link->format,
- link->planar, 16) < 0)
+ 16) < 0)
return NULL;
samplesref =
diff --git a/libavformat/cdg.c b/libavformat/cdg.c
index 75f1fb24c9..444c1fa27a 100644
--- a/libavformat/cdg.c
+++ b/libavformat/cdg.c
@@ -22,6 +22,8 @@
#include "avformat.h"
#define CDG_PACKET_SIZE 24
+#define CDG_COMMAND 0x09
+#define CDG_MASK 0x3F
static int read_header(AVFormatContext *s, AVFormatParameters *ap)
{
@@ -49,7 +51,12 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
{
int ret;
- ret = av_get_packet(s->pb, pkt, CDG_PACKET_SIZE);
+ while (1) {
+ ret = av_get_packet(s->pb, pkt, CDG_PACKET_SIZE);
+ if (ret < 1 || (pkt->data[0] & CDG_MASK) == CDG_COMMAND)
+ break;
+ av_free_packet(pkt);
+ }
pkt->stream_index = 0;
pkt->dts=pkt->pts= s->streams[0]->cur_dts;
diff --git a/libavformat/crcenc.c b/libavformat/crcenc.c
index f596e665d1..d0ca8352d9 100644
--- a/libavformat/crcenc.c
+++ b/libavformat/crcenc.c
@@ -64,4 +64,5 @@ AVOutputFormat ff_crc_muxer = {
.write_header = crc_write_header,
.write_packet = crc_write_packet,
.write_trailer = crc_write_trailer,
+ .flags = AVFMT_NOTIMESTAMPS,
};
diff --git a/libavformat/framecrcenc.c b/libavformat/framecrcenc.c
index 65ca670bbd..5798560cbe 100644
--- a/libavformat/framecrcenc.c
+++ b/libavformat/framecrcenc.c
@@ -40,4 +40,5 @@ AVOutputFormat ff_framecrc_muxer = {
.audio_codec = CODEC_ID_PCM_S16LE,
.video_codec = CODEC_ID_RAWVIDEO,
.write_packet = framecrc_write_packet,
+ .flags = AVFMT_VARIABLE_FPS,
};
diff --git a/libavformat/md5enc.c b/libavformat/md5enc.c
index 512e082778..c18d6e4cbd 100644
--- a/libavformat/md5enc.c
+++ b/libavformat/md5enc.c
@@ -75,6 +75,7 @@ AVOutputFormat ff_md5_muxer = {
.write_header = write_header,
.write_packet = write_packet,
.write_trailer = write_trailer,
+ .flags = AVFMT_NOTIMESTAMPS,
};
#endif
@@ -102,5 +103,6 @@ AVOutputFormat ff_framemd5_muxer = {
.audio_codec = CODEC_ID_PCM_S16LE,
.video_codec = CODEC_ID_RAWVIDEO,
.write_packet = framemd5_write_packet,
+ .flags = AVFMT_VARIABLE_FPS,
};
#endif
diff --git a/libavutil/avutil.h b/libavutil/avutil.h
index a654f8b332..5697684906 100644
--- a/libavutil/avutil.h
+++ b/libavutil/avutil.h
@@ -153,7 +153,7 @@
*/
#define LIBAVUTIL_VERSION_MAJOR 51
-#define LIBAVUTIL_VERSION_MINOR 26
+#define LIBAVUTIL_VERSION_MINOR 27
#define LIBAVUTIL_VERSION_MICRO 0
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
diff --git a/libavutil/samplefmt.c b/libavutil/samplefmt.c
index bdbbf0a37d..fb9c46cab2 100644
--- a/libavutil/samplefmt.c
+++ b/libavutil/samplefmt.c
@@ -25,15 +25,21 @@
typedef struct SampleFmtInfo {
char name[4];
int bits;
+ int planar;
} SampleFmtInfo;
/** this table gives more information about formats */
static const SampleFmtInfo sample_fmt_info[AV_SAMPLE_FMT_NB] = {
- [AV_SAMPLE_FMT_U8] = { .name = "u8", .bits = 8 },
- [AV_SAMPLE_FMT_S16] = { .name = "s16", .bits = 16 },
- [AV_SAMPLE_FMT_S32] = { .name = "s32", .bits = 32 },
- [AV_SAMPLE_FMT_FLT] = { .name = "flt", .bits = 32 },
- [AV_SAMPLE_FMT_DBL] = { .name = "dbl", .bits = 64 },
+ [AV_SAMPLE_FMT_U8] = { .name = "u8", .bits = 8, .planar = 0 },
+ [AV_SAMPLE_FMT_S16] = { .name = "s16", .bits = 16, .planar = 0 },
+ [AV_SAMPLE_FMT_S32] = { .name = "s32", .bits = 32, .planar = 0 },
+ [AV_SAMPLE_FMT_FLT] = { .name = "flt", .bits = 32, .planar = 0 },
+ [AV_SAMPLE_FMT_DBL] = { .name = "dbl", .bits = 64, .planar = 0 },
+ [AV_SAMPLE_FMT_U8P] = { .name = "u8p", .bits = 8, .planar = 1 },
+ [AV_SAMPLE_FMT_S16P] = { .name = "s16p", .bits = 16, .planar = 1 },
+ [AV_SAMPLE_FMT_S32P] = { .name = "s32p", .bits = 32, .planar = 1 },
+ [AV_SAMPLE_FMT_FLTP] = { .name = "fltp", .bits = 32, .planar = 1 },
+ [AV_SAMPLE_FMT_DBLP] = { .name = "dblp", .bits = 64, .planar = 1 },
};
const char *av_get_sample_fmt_name(enum AVSampleFormat sample_fmt)
@@ -80,51 +86,74 @@ int av_get_bits_per_sample_fmt(enum AVSampleFormat sample_fmt)
}
#endif
-int av_samples_fill_arrays(uint8_t *pointers[8], int linesizes[8],
- uint8_t *buf, int nb_channels, int nb_samples,
- enum AVSampleFormat sample_fmt, int planar, int align)
+int av_sample_fmt_is_planar(enum AVSampleFormat sample_fmt)
+{
+ if (sample_fmt < 0 || sample_fmt >= AV_SAMPLE_FMT_NB)
+ return 0;
+ return sample_fmt_info[sample_fmt].planar;
+}
+
+int av_samples_get_buffer_size(int *linesize, int nb_channels, int nb_samples,
+ enum AVSampleFormat sample_fmt, int align)
{
- int i, linesize;
+ int line_size;
int sample_size = av_get_bytes_per_sample(sample_fmt);
+ int planar = av_sample_fmt_is_planar(sample_fmt);
- if (nb_channels * (uint64_t)nb_samples * sample_size >= INT_MAX - align*(uint64_t)nb_channels)
+ /* validate parameter ranges */
+ if (!sample_size || nb_samples <= 0 || nb_channels <= 0)
return AVERROR(EINVAL);
- linesize = planar ? FFALIGN(nb_samples*sample_size, align) :
- FFALIGN(nb_samples*sample_size*nb_channels, align);
-
- if (pointers) {
- pointers[0] = buf;
- for (i = 1; planar && i < nb_channels; i++) {
- pointers[i] = pointers[i-1] + linesize;
- }
- memset(&pointers[i], 0, (8-i) * sizeof(pointers[0]));
- }
- if (linesizes) {
- linesizes[0] = linesize;
- for (i = 1; planar && i < nb_channels; i++)
- linesizes[i] = linesizes[0];
- memset(&linesizes[i], 0, (8-i) * sizeof(linesizes[0]));
- }
+ /* check for integer overflow */
+ if (nb_channels > INT_MAX / align ||
+ (int64_t)nb_channels * nb_samples > (INT_MAX - (align * nb_channels)) / sample_size)
+ return AVERROR(EINVAL);
+
+ line_size = planar ? FFALIGN(nb_samples * sample_size, align) :
+ FFALIGN(nb_samples * sample_size * nb_channels, align);
+ if (linesize)
+ *linesize = line_size;
- return planar ? linesize * nb_channels : linesize;
+ return planar ? line_size * nb_channels : line_size;
}
-int av_samples_alloc(uint8_t *pointers[8], int linesizes[8],
- int nb_channels, int nb_samples,
- enum AVSampleFormat sample_fmt, int planar,
- int align)
+int av_samples_fill_arrays(uint8_t **audio_data, int *linesize,
+ uint8_t *buf, int nb_channels, int nb_samples,
+ enum AVSampleFormat sample_fmt, int align)
+{
+ int ch, planar, buf_size;
+
+ planar = av_sample_fmt_is_planar(sample_fmt);
+ buf_size = av_samples_get_buffer_size(linesize, nb_channels, nb_samples,
+ sample_fmt, align);
+ if (buf_size < 0)
+ return buf_size;
+
+ audio_data[0] = buf;
+ for (ch = 1; planar && ch < nb_channels; ch++)
+ audio_data[ch] = audio_data[ch-1] + *linesize;
+
+ return 0;
+}
+
+int av_samples_alloc(uint8_t **audio_data, int *linesize, int nb_channels,
+ int nb_samples, enum AVSampleFormat sample_fmt, int align)
{
uint8_t *buf;
- int size = av_samples_fill_arrays(NULL, NULL,
- NULL, nb_channels, nb_samples,
- sample_fmt, planar, align);
+ int size = av_samples_get_buffer_size(NULL, nb_channels, nb_samples,
+ sample_fmt, align);
+ if (size < 0)
+ return size;
buf = av_mallocz(size);
if (!buf)
return AVERROR(ENOMEM);
- return av_samples_fill_arrays(pointers, linesizes,
- buf, nb_channels, nb_samples,
- sample_fmt, planar, align);
+ size = av_samples_fill_arrays(audio_data, linesize, buf, nb_channels,
+ nb_samples, sample_fmt, align);
+ if (size < 0) {
+ av_free(buf);
+ return size;
+ }
+ return 0;
}
diff --git a/libavutil/samplefmt.h b/libavutil/samplefmt.h
index b06755d2ce..92c006d6f0 100644
--- a/libavutil/samplefmt.h
+++ b/libavutil/samplefmt.h
@@ -31,6 +31,13 @@ enum AVSampleFormat {
AV_SAMPLE_FMT_S32, ///< signed 32 bits
AV_SAMPLE_FMT_FLT, ///< float
AV_SAMPLE_FMT_DBL, ///< double
+
+ AV_SAMPLE_FMT_U8P, ///< unsigned 8 bits, planar
+ AV_SAMPLE_FMT_S16P, ///< signed 16 bits, planar
+ AV_SAMPLE_FMT_S32P, ///< signed 32 bits, planar
+ AV_SAMPLE_FMT_FLTP, ///< float, planar
+ AV_SAMPLE_FMT_DBLP, ///< double, planar
+
AV_SAMPLE_FMT_NB ///< Number of sample formats. DO NOT USE if linking dynamically
};
@@ -78,48 +85,64 @@ int av_get_bits_per_sample_fmt(enum AVSampleFormat sample_fmt);
int av_get_bytes_per_sample(enum AVSampleFormat sample_fmt);
/**
- * Fill channel data pointers and linesizes for samples with sample
+ * Check if the sample format is planar.
+ *
+ * @param sample_fmt the sample format to inspect
+ * @return 1 if the sample format is planar, 0 if it is interleaved
+ */
+int av_sample_fmt_is_planar(enum AVSampleFormat sample_fmt);
+
+/**
+ * Get the required buffer size for the given audio parameters.
+ *
+ * @param[out] linesize calculated linesize, may be NULL
+ * @param nb_channels the number of channels
+ * @param nb_samples the number of samples in a single channel
+ * @param sample_fmt the sample format
+ * @return required buffer size, or negative error code on failure
+ */
+int av_samples_get_buffer_size(int *linesize, int nb_channels, int nb_samples,
+ enum AVSampleFormat sample_fmt, int align);
+
+/**
+ * Fill channel data pointers and linesize for samples with sample
* format sample_fmt.
*
* The pointers array is filled with the pointers to the samples data:
- * for planar, set the start point of each plane's data within the buffer,
+ * for planar, set the start point of each channel's data within the buffer,
* for packed, set the start point of the entire buffer only.
*
- * The linesize array is filled with the aligned size of each samples
- * plane, that is linesize[i] will contain the linesize of the plane i,
- * and will be zero for all the unused planes. All linesize values are
- * equal.
+ * The linesize array is filled with the aligned size of each channel's data
+ * buffer for planar layout, or the aligned size of the buffer for all channels
+ * for packed layout.
*
- * @param pointers array to be filled with the pointer for each plane, may be NULL
- * @param linesizes array to be filled with the linesize, may be NULL
- * @param buf the pointer to a buffer containing the samples
- * @param nb_samples the number of samples in a single channel
- * @param planar 1 if the samples layout is planar, 0 if it is packed
- * @param nb_channels the number of channels
- * @return the total size of the buffer, a negative
- * error code in case of failure
+ * @param[out] audio_data array to be filled with the pointer for each channel
+ * @param[out] linesize calculated linesize
+ * @param buf the pointer to a buffer containing the samples
+ * @param nb_channels the number of channels
+ * @param nb_samples the number of samples in a single channel
+ * @param sample_fmt the sample format
+ * @param align buffer size alignment (1 = no alignment required)
+ * @return 0 on success or a negative error code on failure
*/
-int av_samples_fill_arrays(uint8_t *pointers[8], int linesizes[8],
- uint8_t *buf, int nb_channels, int nb_samples,
- enum AVSampleFormat sample_fmt, int planar, int align);
+int av_samples_fill_arrays(uint8_t **audio_data, int *linesize, uint8_t *buf,
+ int nb_channels, int nb_samples,
+ enum AVSampleFormat sample_fmt, int align);
/**
- * Allocate a samples buffer for nb_samples samples, and
- * fill pointers and linesizes accordingly.
- * The allocated samples buffer has to be freed by using
- * av_freep(&pointers[0]).
+ * Allocate a samples buffer for nb_samples samples, and fill data pointers and
+ * linesize accordingly.
+ * The allocated samples buffer can be freed by using av_freep(&audio_data[0])
*
- * @param nb_channels number of audio channels
- * @param nb_samples number of samples per channel
- * @param planar 1 if the samples layout is planar, 0 if packed,
- * @param align the value to use for buffer size alignment
- * @return the size in bytes required for the samples buffer, a negative
- * error code in case of failure
+ * @param[out] audio_data array to be filled with the pointer for each channel
+ * @param[out] linesize aligned size for audio buffer(s)
+ * @param nb_channels number of audio channels
+ * @param nb_samples number of samples per channel
+ * @param align buffer size alignment (1 = no alignment required)
+ * @return 0 on success or a negative error code on failure
* @see av_samples_fill_arrays()
*/
-int av_samples_alloc(uint8_t *pointers[8], int linesizes[8],
- int nb_channels, int nb_samples,
- enum AVSampleFormat sample_fmt, int planar,
- int align);
+int av_samples_alloc(uint8_t **audio_data, int *linesize, int nb_channels,
+ int nb_samples, enum AVSampleFormat sample_fmt, int align);
-#endif /* AVCORE_SAMPLEFMT_H */
+#endif /* AVUTIL_SAMPLEFMT_H */
diff --git a/tests/fate.mak b/tests/fate.mak
index d2e551ec6f..341b85ce7d 100644
--- a/tests/fate.mak
+++ b/tests/fate.mak
@@ -201,7 +201,7 @@ fate-nc-demux: CMD = framecrc -i $(SAMPLES)/nc-camera/nc-sample-partial -vcodec
FATE_TESTS += fate-nsv-demux
fate-nsv-demux: CMD = framecrc -i $(SAMPLES)/nsv/witchblade-51kbps.nsv -t 6 -vcodec copy -acodec copy
FATE_TESTS += fate-nuv
-fate-nuv: CMD = framecrc -idct simple -i $(SAMPLES)/nuv/Today.nuv
+fate-nuv: CMD = framecrc -idct simple -i $(SAMPLES)/nuv/Today.nuv -vsync 0
FATE_TESTS += fate-oma-demux
fate-oma-demux: CMD = crc -i $(SAMPLES)/oma/01-Untitled-partial.oma -acodec copy
FATE_TESTS += fate-pcm_dvd
@@ -271,7 +271,7 @@ fate-quickdraw: CMD = framecrc -i $(SAMPLES)/quickdraw/Airplane.mov -pix_fmt rg
FATE_TESTS += fate-real-14_4
fate-real-14_4: CMD = md5 -i $(SAMPLES)/real/ra3_in_rm_file.rm -f s16le
FATE_TESTS += fate-real-rv40
-fate-real-rv40: CMD = framecrc -i $(SAMPLES)/real/spygames-2MB.rmvb -t 10 -an
+fate-real-rv40: CMD = framecrc -i $(SAMPLES)/real/spygames-2MB.rmvb -t 10 -an -vsync 0
FATE_TESTS += fate-redcode-demux
fate-redcode-demux: CMD = framecrc -i $(SAMPLES)/r3d/4MB-sample.r3d -vcodec copy -acodec copy
FATE_TESTS += fate-rl2
diff --git a/tests/fate/vp8.mak b/tests/fate/vp8.mak
index 1f442af4ac..be8f50aaf8 100644
--- a/tests/fate/vp8.mak
+++ b/tests/fate/vp8.mak
@@ -10,7 +10,7 @@ define FATE_VP8_FULL
$(foreach N,$(VP8_SUITE),$(eval $(call FATE_VP8_SUITE,$(N),$(1),$(2))))
FATE_VP8 += fate-vp8-sign-bias$(1)
-fate-vp8-sign-bias$(1): CMD = framemd5 $(2) -i $(SAMPLES)/vp8/sintel-signbias.ivf
+fate-vp8-sign-bias$(1): CMD = framemd5 $(2) -i $(SAMPLES)/vp8/sintel-signbias.ivf -vsync 0
fate-vp8-sign-bias$(1): REF = $(SRC_PATH)/tests/ref/fate/vp8-sign-bias
endef
diff --git a/tests/ref/fate/cdgraphics b/tests/ref/fate/cdgraphics
index 6391b00348..10873fd413 100644
--- a/tests/ref/fate/cdgraphics
+++ b/tests/ref/fate/cdgraphics
@@ -35,266 +35,266 @@
0, 10200, 194400, 0xd015dba1
0, 10500, 194400, 0x6a39f18b
0, 10800, 194400, 0x7b8cf983
-0, 11100, 194400, 0x7b8cf983
-0, 11400, 194400, 0x07a20f7c
-0, 11700, 194400, 0xa63e2962
-0, 12000, 194400, 0xa63e2962
-0, 12300, 194400, 0x2dd54447
-0, 12600, 194400, 0x90735e2d
-0, 12900, 194400, 0x90735e2d
-0, 13200, 194400, 0x90d98506
-0, 13500, 194400, 0xe5b08ffb
-0, 13800, 194400, 0xe5b08ffb
-0, 14100, 194400, 0x7a0d95f5
-0, 14400, 194400, 0xff6bacde
-0, 14700, 194400, 0xff6bacde
-0, 15000, 194400, 0xd998c2c8
-0, 15300, 194400, 0x3d1ddfab
-0, 15600, 194400, 0x3d1ddfab
-0, 15900, 194400, 0x817de4a6
-0, 16200, 194400, 0xfa3ef694
-0, 16500, 194400, 0xfa3ef694
-0, 16800, 194400, 0x0b5bfb8f
-0, 17100, 194400, 0x00f62376
-0, 17400, 194400, 0x00f62376
-0, 17700, 194400, 0x2f6b2d6c
-0, 18000, 194400, 0x40cb4752
-0, 18300, 194400, 0x40cb4752
-0, 18600, 194400, 0xd8456435
-0, 18900, 194400, 0x459f6a2f
-0, 19200, 194400, 0x459f6a2f
-0, 19500, 194400, 0x9b678910
-0, 19800, 194400, 0x8791a1f7
-0, 20100, 194400, 0x8791a1f7
-0, 20400, 194400, 0xdb4ac5d3
-0, 20700, 194400, 0xb223c8d0
-0, 21000, 194400, 0xb223c8d0
-0, 21300, 194400, 0x4a9ce7b1
-0, 21600, 194400, 0x187eeaae
-0, 21900, 194400, 0x187eeaae
-0, 22200, 194400, 0xc712f8a0
-0, 22500, 194400, 0x549c00a7
-0, 22800, 194400, 0x549c00a7
-0, 23100, 194400, 0x4d991295
-0, 23400, 194400, 0xc41b2681
-0, 23700, 194400, 0xc41b2681
-0, 24000, 194400, 0xed5a3077
-0, 24300, 194400, 0x85ad4463
-0, 24600, 194400, 0x85ad4463
-0, 24900, 194400, 0xb98f4760
-0, 25200, 194400, 0x87ef5e49
-0, 25500, 194400, 0x87ef5e49
-0, 25800, 194400, 0x830a6146
-0, 26100, 194400, 0xe33a792e
-0, 26400, 194400, 0xe33a792e
-0, 26700, 194400, 0x83517a2d
-0, 27000, 194400, 0xa97e9314
-0, 27300, 194400, 0xa97e9314
-0, 27600, 194400, 0x39059611
-0, 27900, 194400, 0xbf4eb9ed
-0, 28200, 194400, 0xbf4eb9ed
-0, 28500, 194400, 0xe5afc4e2
-0, 28800, 194400, 0x35d4cdd9
-0, 29100, 194400, 0x35d4cdd9
-0, 29400, 194400, 0xb376e1c5
-0, 29700, 194400, 0x6128e3c3
-0, 30000, 194400, 0x6128e3c3
-0, 30300, 194400, 0x30b7f7af
-0, 30600, 194400, 0xf1effaac
-0, 30900, 194400, 0xf1effaac
-0, 31200, 194400, 0x483914a1
-0, 31500, 194400, 0xbd48199c
-0, 31800, 194400, 0xbd48199c
-0, 32100, 194400, 0x382f2d88
-0, 32400, 194400, 0x5a573085
-0, 32700, 194400, 0x5a573085
-0, 33000, 194400, 0x89733580
-0, 33300, 194400, 0xd1325a5b
-0, 33600, 194400, 0xd1325a5b
-0, 33900, 194400, 0x655b6253
-0, 34200, 194400, 0x55146352
-0, 34500, 194400, 0x55146352
-0, 34800, 194400, 0xda527c39
-0, 35100, 194400, 0xb0cd7e37
-0, 35400, 194400, 0xb0cd7e37
-0, 35700, 194400, 0x25e7991c
-0, 36000, 194400, 0x5c22a411
-0, 36300, 194400, 0x5c22a411
-0, 36600, 194400, 0x1e2abdf7
-0, 36900, 194400, 0x8308bff5
-0, 37200, 194400, 0x8308bff5
-0, 37500, 194400, 0xfdbfd6de
-0, 37800, 194400, 0xd4d4d9db
-0, 38100, 194400, 0xd4d4d9db
-0, 38400, 194400, 0xa449fbb9
-0, 38700, 194400, 0x3dcafdb7
-0, 39000, 194400, 0x3dcafdb7
-0, 39300, 194400, 0x6f1f01c2
-0, 39600, 194400, 0xf54a1da6
-0, 39900, 194400, 0xf54a1da6
-0, 40200, 194400, 0x88d11fa4
-0, 40500, 194400, 0x59642d96
-0, 40800, 194400, 0x59642d96
-0, 41100, 194400, 0x8ba44182
-0, 41400, 194400, 0x88f56360
-0, 41700, 194400, 0x88f56360
-0, 42000, 194400, 0xfb246d56
-0, 42300, 194400, 0xad128043
-0, 42600, 194400, 0xad128043
-0, 42900, 194400, 0x3a4f8a39
-0, 43200, 194400, 0x563d9d26
-0, 43500, 194400, 0x563d9d26
-0, 43800, 194400, 0x6ff8a320
-0, 44100, 194400, 0xcdb9b70c
-0, 44400, 194400, 0xcdb9b70c
-0, 44700, 194400, 0x99c2bd06
-0, 45000, 194400, 0x4b47cef4
-0, 45300, 194400, 0x4b47cef4
-0, 45600, 194400, 0x10b9dce6
-0, 45900, 194400, 0xdd39f1d1
-0, 46200, 194400, 0xdd39f1d1
-0, 46500, 194400, 0xbcf104cd
-0, 46800, 194400, 0x85ec17ba
-0, 47100, 194400, 0x85ec17ba
-0, 47400, 194400, 0x069219b8
-0, 47700, 194400, 0x84dd3899
-0, 48000, 194400, 0x84dd3899
-0, 48300, 194400, 0xacca4190
-0, 48600, 194400, 0xcf5b5d74
-0, 48900, 194400, 0xcf5b5d74
-0, 49200, 194400, 0x4b8c626f
-0, 49500, 194400, 0xf0817958
-0, 49800, 194400, 0xf0817958
-0, 50100, 194400, 0xc0887e53
-0, 50400, 194400, 0x42e6854c
-0, 50700, 194400, 0x42e6854c
-0, 51000, 194400, 0x036c9140
-0, 51300, 194400, 0x0f21a62b
-0, 51600, 194400, 0x0f21a62b
-0, 51900, 194400, 0xcdaeaa27
-0, 52200, 194400, 0xe425bc15
-0, 52500, 194400, 0xe425bc15
-0, 52800, 194400, 0x8e18c20f
-0, 53100, 194400, 0x767cd5fb
-0, 53400, 194400, 0x767cd5fb
-0, 53700, 194400, 0x554ae6ea
-0, 54000, 194400, 0xeac1f9d7
-0, 54300, 194400, 0xeac1f9d7
-0, 54600, 194400, 0x0b32fed2
-0, 54900, 194400, 0xe30c19c6
-0, 55200, 194400, 0xe30c19c6
-0, 55500, 194400, 0x6a8a23bc
-0, 55800, 194400, 0x26bf36a9
-0, 56100, 194400, 0x26bf36a9
-0, 56400, 194400, 0x1e4f3fa0
-0, 56700, 194400, 0x231f5986
-0, 57000, 194400, 0x231f5986
-0, 57300, 194400, 0xf557756a
-0, 57600, 194400, 0x6bce805f
-0, 57900, 194400, 0x6bce805f
-0, 58200, 194400, 0xcd80924d
-0, 58500, 194400, 0x65dc9f40
-0, 58800, 194400, 0x65dc9f40
-0, 59100, 194400, 0x2ab7af30
-0, 59400, 194400, 0xd43cb728
-0, 59700, 194400, 0xd43cb728
-0, 60000, 194400, 0x05d9c916
-0, 60300, 194400, 0x43cad10e
-0, 60600, 194400, 0x43cad10e
-0, 60900, 194400, 0x06b5e0fe
-0, 61200, 194400, 0xa142f0ee
-0, 61500, 194400, 0xa142f0ee
-0, 61800, 194400, 0xed7f03ea
-0, 62100, 194400, 0xf26019d4
-0, 62400, 194400, 0xf26019d4
-0, 62700, 194400, 0x3b7f29c4
-0, 63000, 194400, 0x30282ebf
-0, 63300, 194400, 0x30282ebf
-0, 63600, 194400, 0xaeff4aa3
-0, 63900, 194400, 0x1d355697
-0, 64200, 194400, 0x1d355697
-0, 64500, 194400, 0x2ead6f7e
-0, 64800, 194400, 0xf1b67776
-0, 65100, 194400, 0xf1b67776
-0, 65400, 194400, 0x93b38b62
-0, 65700, 194400, 0x9469905d
-0, 66000, 194400, 0x9469905d
-0, 66300, 194400, 0x27bf9756
-0, 66600, 194400, 0xd016a548
-0, 66900, 194400, 0xd016a548
-0, 67200, 194400, 0x6889b835
-0, 67500, 194400, 0x6a05be2f
-0, 67800, 194400, 0x6a05be2f
-0, 68100, 194400, 0xe0a1ce1f
-0, 68400, 194400, 0x8fdbd617
-0, 68700, 194400, 0x8fdbd617
-0, 69000, 194400, 0xd68fe805
-0, 69300, 194400, 0x0d1dfbf1
-0, 69600, 194400, 0x0d1dfbf1
-0, 69900, 194400, 0x0fe70bf0
-0, 70200, 194400, 0x0a8f13e8
-0, 70500, 194400, 0x0a8f13e8
-0, 70800, 194400, 0x0ca42bd0
-0, 71100, 194400, 0x6f3838c3
-0, 71400, 194400, 0x6f3838c3
-0, 71700, 194400, 0x045448b3
-0, 72000, 194400, 0x764349b2
-0, 72300, 194400, 0x764349b2
-0, 72600, 194400, 0xed1651aa
-0, 72900, 194400, 0xbb376398
-0, 73200, 194400, 0xbb376398
-0, 73500, 194400, 0xd0d5718a
-0, 73800, 194400, 0xcd977e7d
-0, 74100, 194400, 0xcd977e7d
-0, 74400, 194400, 0x8cb39665
-0, 74700, 194400, 0xb935b04b
-0, 75000, 194400, 0xb935b04b
-0, 75300, 194400, 0x0292be3d
-0, 75600, 194400, 0x4f21c833
-0, 75900, 194400, 0x4f21c833
-0, 76200, 194400, 0xa5c7d823
-0, 76500, 194400, 0xfb8ee01b
-0, 76800, 194400, 0xfb8ee01b
-0, 77100, 194400, 0xea53ee0d
-0, 77400, 194400, 0x803efcfe
-0, 77700, 194400, 0x803efcfe
-0, 78000, 194400, 0x2c0e0aff
-0, 78300, 194400, 0x3df318f1
-0, 78600, 194400, 0x3df318f1
-0, 78900, 194400, 0xc4cb26e3
-0, 79200, 194400, 0x92a033d6
-0, 79500, 194400, 0x92a033d6
-0, 79800, 194400, 0x1b2048c1
-0, 80100, 194400, 0x236858b1
-0, 80400, 194400, 0x236858b1
-0, 80700, 194400, 0x482f6d9c
-0, 81000, 194400, 0x9ee97891
-0, 81300, 194400, 0x9ee97891
-0, 81600, 194400, 0xe0dc8683
-0, 81900, 194400, 0x461b9079
-0, 82200, 194400, 0x461b9079
-0, 82500, 194400, 0xd346a960
-0, 82800, 194400, 0xa384b554
-0, 83100, 194400, 0xa384b554
-0, 83400, 194400, 0x3246cf3a
-0, 83700, 194400, 0xa53fe722
-0, 84000, 194400, 0xa53fe722
-0, 84300, 194400, 0xe620fd0c
-0, 84600, 194400, 0xd6370414
-0, 84900, 194400, 0xd6370414
-0, 85200, 194400, 0xf57f1404
-0, 85500, 194400, 0x8c6420f7
-0, 85800, 194400, 0x8c6420f7
-0, 86100, 194400, 0xd4be3add
-0, 86400, 194400, 0xa8dc4ec9
-0, 86700, 194400, 0xa8dc4ec9
-0, 87000, 194400, 0xda1563b4
-0, 87300, 194400, 0xd51873a4
-0, 87600, 194400, 0xd51873a4
-0, 87900, 194400, 0x68588196
-0, 88200, 194400, 0x40d18e89
-0, 88500, 194400, 0x40d18e89
-0, 88800, 194400, 0x1b75a275
-0, 89100, 194400, 0xedd1a572
-0, 89400, 194400, 0xedd1a572
-0, 89700, 194400, 0x55daad6a
+0, 11100, 194400, 0x07a20f7c
+0, 11400, 194400, 0xa63e2962
+0, 11700, 194400, 0x2dd54447
+0, 12000, 194400, 0x90735e2d
+0, 12300, 194400, 0x90d98506
+0, 12600, 194400, 0xe5b08ffb
+0, 12900, 194400, 0x7a0d95f5
+0, 13200, 194400, 0xff6bacde
+0, 13500, 194400, 0xd998c2c8
+0, 13800, 194400, 0x3d1ddfab
+0, 14100, 194400, 0x817de4a6
+0, 14400, 194400, 0xfa3ef694
+0, 14700, 194400, 0x0b5bfb8f
+0, 15000, 194400, 0x00f62376
+0, 15300, 194400, 0x2f6b2d6c
+0, 15600, 194400, 0x40cb4752
+0, 15900, 194400, 0xd8456435
+0, 16200, 194400, 0x459f6a2f
+0, 16500, 194400, 0x9b678910
+0, 16800, 194400, 0x8791a1f7
+0, 17100, 194400, 0xdb4ac5d3
+0, 17400, 194400, 0xb223c8d0
+0, 17700, 194400, 0x4a9ce7b1
+0, 18000, 194400, 0x187eeaae
+0, 18300, 194400, 0xc712f8a0
+0, 18600, 194400, 0x549c00a7
+0, 18900, 194400, 0x4d991295
+0, 19200, 194400, 0xc41b2681
+0, 19500, 194400, 0xed5a3077
+0, 19800, 194400, 0x85ad4463
+0, 20100, 194400, 0xb98f4760
+0, 20400, 194400, 0x87ef5e49
+0, 20700, 194400, 0x830a6146
+0, 21000, 194400, 0xe33a792e
+0, 21300, 194400, 0x83517a2d
+0, 21600, 194400, 0xa97e9314
+0, 21900, 194400, 0x39059611
+0, 22200, 194400, 0xbf4eb9ed
+0, 22500, 194400, 0xe5afc4e2
+0, 22800, 194400, 0x35d4cdd9
+0, 23100, 194400, 0xb376e1c5
+0, 23400, 194400, 0x6128e3c3
+0, 23700, 194400, 0x30b7f7af
+0, 24000, 194400, 0xf1effaac
+0, 24300, 194400, 0x483914a1
+0, 24600, 194400, 0xbd48199c
+0, 24900, 194400, 0x382f2d88
+0, 25200, 194400, 0x5a573085
+0, 25500, 194400, 0x89733580
+0, 25800, 194400, 0xd1325a5b
+0, 26100, 194400, 0x655b6253
+0, 26400, 194400, 0x55146352
+0, 26700, 194400, 0xda527c39
+0, 27000, 194400, 0xb0cd7e37
+0, 27300, 194400, 0x25e7991c
+0, 27600, 194400, 0x5c22a411
+0, 27900, 194400, 0x1e2abdf7
+0, 28200, 194400, 0x8308bff5
+0, 28500, 194400, 0xfdbfd6de
+0, 28800, 194400, 0xd4d4d9db
+0, 29100, 194400, 0xa449fbb9
+0, 29400, 194400, 0x3dcafdb7
+0, 29700, 194400, 0x6f1f01c2
+0, 30000, 194400, 0xf54a1da6
+0, 30300, 194400, 0x88d11fa4
+0, 30600, 194400, 0x59642d96
+0, 30900, 194400, 0x8ba44182
+0, 31200, 194400, 0x88f56360
+0, 31500, 194400, 0xfb246d56
+0, 31800, 194400, 0xad128043
+0, 32100, 194400, 0x3a4f8a39
+0, 32400, 194400, 0x563d9d26
+0, 32700, 194400, 0x6ff8a320
+0, 33000, 194400, 0xcdb9b70c
+0, 33300, 194400, 0x99c2bd06
+0, 33600, 194400, 0x4b47cef4
+0, 33900, 194400, 0x10b9dce6
+0, 34200, 194400, 0xdd39f1d1
+0, 34500, 194400, 0xbcf104cd
+0, 34800, 194400, 0x85ec17ba
+0, 35100, 194400, 0x069219b8
+0, 35400, 194400, 0x84dd3899
+0, 35700, 194400, 0xacca4190
+0, 36000, 194400, 0xcf5b5d74
+0, 36300, 194400, 0x4b8c626f
+0, 36600, 194400, 0xf0817958
+0, 36900, 194400, 0xc0887e53
+0, 37200, 194400, 0x42e6854c
+0, 37500, 194400, 0x036c9140
+0, 37800, 194400, 0x0f21a62b
+0, 38100, 194400, 0xcdaeaa27
+0, 38400, 194400, 0xe425bc15
+0, 38700, 194400, 0x8e18c20f
+0, 39000, 194400, 0x767cd5fb
+0, 39300, 194400, 0x554ae6ea
+0, 39600, 194400, 0xeac1f9d7
+0, 39900, 194400, 0x0b32fed2
+0, 40200, 194400, 0xe30c19c6
+0, 40500, 194400, 0x6a8a23bc
+0, 40800, 194400, 0x26bf36a9
+0, 41100, 194400, 0x1e4f3fa0
+0, 41400, 194400, 0x231f5986
+0, 41700, 194400, 0xf557756a
+0, 42000, 194400, 0x6bce805f
+0, 42300, 194400, 0xcd80924d
+0, 42600, 194400, 0x65dc9f40
+0, 42900, 194400, 0x2ab7af30
+0, 43200, 194400, 0xd43cb728
+0, 43500, 194400, 0x05d9c916
+0, 43800, 194400, 0x43cad10e
+0, 44100, 194400, 0x06b5e0fe
+0, 44400, 194400, 0xa142f0ee
+0, 44700, 194400, 0xed7f03ea
+0, 45000, 194400, 0xf26019d4
+0, 45300, 194400, 0x3b7f29c4
+0, 45600, 194400, 0x30282ebf
+0, 45900, 194400, 0xaeff4aa3
+0, 46200, 194400, 0x1d355697
+0, 46500, 194400, 0x2ead6f7e
+0, 46800, 194400, 0xf1b67776
+0, 47100, 194400, 0x93b38b62
+0, 47400, 194400, 0x9469905d
+0, 47700, 194400, 0x27bf9756
+0, 48000, 194400, 0xd016a548
+0, 48300, 194400, 0x6889b835
+0, 48600, 194400, 0x6a05be2f
+0, 48900, 194400, 0xe0a1ce1f
+0, 49200, 194400, 0x8fdbd617
+0, 49500, 194400, 0xd68fe805
+0, 49800, 194400, 0x0d1dfbf1
+0, 50100, 194400, 0x0fe70bf0
+0, 50400, 194400, 0x0a8f13e8
+0, 50700, 194400, 0x0ca42bd0
+0, 51000, 194400, 0x6f3838c3
+0, 51300, 194400, 0x045448b3
+0, 51600, 194400, 0x764349b2
+0, 51900, 194400, 0xed1651aa
+0, 52200, 194400, 0xbb376398
+0, 52500, 194400, 0xd0d5718a
+0, 52800, 194400, 0xcd977e7d
+0, 53100, 194400, 0x8cb39665
+0, 53400, 194400, 0xb935b04b
+0, 53700, 194400, 0x0292be3d
+0, 54000, 194400, 0x4f21c833
+0, 54300, 194400, 0xa5c7d823
+0, 54600, 194400, 0xfb8ee01b
+0, 54900, 194400, 0xea53ee0d
+0, 55200, 194400, 0x803efcfe
+0, 55500, 194400, 0x2c0e0aff
+0, 55800, 194400, 0x3df318f1
+0, 56100, 194400, 0xc4cb26e3
+0, 56400, 194400, 0x92a033d6
+0, 56700, 194400, 0x1b2048c1
+0, 57000, 194400, 0x236858b1
+0, 57300, 194400, 0x482f6d9c
+0, 57600, 194400, 0x9ee97891
+0, 57900, 194400, 0xe0dc8683
+0, 58200, 194400, 0x461b9079
+0, 58500, 194400, 0xd346a960
+0, 58800, 194400, 0xa384b554
+0, 59100, 194400, 0x3246cf3a
+0, 59400, 194400, 0xa53fe722
+0, 59700, 194400, 0xe620fd0c
+0, 60000, 194400, 0xd6370414
+0, 60300, 194400, 0xf57f1404
+0, 60600, 194400, 0x8c6420f7
+0, 60900, 194400, 0xd4be3add
+0, 61200, 194400, 0xa8dc4ec9
+0, 61500, 194400, 0xda1563b4
+0, 61800, 194400, 0xd51873a4
+0, 62100, 194400, 0x68588196
+0, 62400, 194400, 0x40d18e89
+0, 62700, 194400, 0x1b75a275
+0, 63000, 194400, 0xedd1a572
+0, 63300, 194400, 0x55daad6a
+0, 63600, 194400, 0xcb93b067
+0, 63900, 194400, 0x5888ba5d
+0, 64200, 194400, 0x2c11c84f
+0, 64500, 194400, 0x0fbae334
+0, 64800, 194400, 0x773fed2a
+0, 65100, 194400, 0x2f87fc1b
+0, 65400, 194400, 0xe8120521
+0, 65700, 194400, 0x64ac0f17
+0, 66000, 194400, 0xba531c0a
+0, 66300, 194400, 0xf49433f2
+0, 66600, 194400, 0x79e234f1
+0, 66900, 194400, 0x043937ee
+0, 67200, 194400, 0x9e6141e4
+0, 67500, 194400, 0x34204fd6
+0, 67800, 194400, 0xa1dd60c5
+0, 68100, 194400, 0x12b36eb7
+0, 68400, 194400, 0x68987aab
+0, 68700, 194400, 0x3207889d
+0, 69000, 194400, 0x3bb59194
+0, 69300, 194400, 0x0a119f86
+0, 69600, 194400, 0x472bab7a
+0, 69900, 194400, 0x7364c85d
+0, 70200, 194400, 0xa812d84d
+0, 70500, 194400, 0xf384f530
+0, 70800, 194400, 0x1546052f
+0, 71100, 194400, 0xeb611a1a
+0, 71400, 194400, 0xc39d250f
+0, 71700, 194400, 0x7bd73301
+0, 72000, 194400, 0x10f73cf7
+0, 72300, 194400, 0x95dc55de
+0, 72600, 194400, 0x392e61d2
+0, 72900, 194400, 0x113c7bb8
+0, 73200, 194400, 0x17128fa4
+0, 73500, 194400, 0xf95e9b98
+0, 73800, 194400, 0xdc47aa89
+0, 74100, 194400, 0xea5dc073
+0, 74400, 194400, 0x8dfadc57
+0, 74700, 194400, 0xe5c3e84b
+0, 75000, 194400, 0x8952f43f
+0, 75300, 194400, 0xec9e0240
+0, 75600, 194400, 0x8f460c36
+0, 75900, 194400, 0xd43e182a
+0, 76200, 194400, 0xb00b2919
+0, 76500, 194400, 0xc9f6350d
+0, 76800, 194400, 0x87ca44fd
+0, 77100, 194400, 0xa6a250f1
+0, 77400, 194400, 0x34fa60e1
+0, 77700, 194400, 0xe1a372cf
+0, 78000, 194400, 0xc80785bc
+0, 78300, 194400, 0x43e297aa
+0, 78600, 194400, 0x7e8ea49d
+0, 78900, 194400, 0xd009b091
+0, 79200, 194400, 0x9126bc85
+0, 79500, 194400, 0x175ad36e
+0, 79800, 194400, 0xf9dae160
+0, 80100, 194400, 0x1b98f948
+0, 80400, 194400, 0xa6c5133d
+0, 80700, 194400, 0xf5d42729
+0, 81000, 194400, 0x8cfe311f
+0, 81300, 194400, 0x18733e12
+0, 81600, 194400, 0x24ac50ff
+0, 81900, 194400, 0x0d1c64eb
+0, 82200, 194400, 0xde947cd3
+0, 82500, 194400, 0x08268dc2
+0, 82800, 194400, 0xfec69fb0
+0, 83100, 194400, 0xba83aba4
+0, 83400, 194400, 0xfbe2bc93
+0, 83700, 194400, 0xe22fcc83
+0, 84000, 194400, 0x050fcf80
+0, 84300, 194400, 0xee1ed778
+0, 84600, 194400, 0xb44cda75
+0, 84900, 194400, 0xa29fe46b
+0, 85200, 194400, 0xa99bf55a
+0, 85500, 194400, 0x4f840d51
+0, 85800, 194400, 0x58941945
+0, 86100, 194400, 0x62cb2638
+0, 86400, 194400, 0x22ee312d
+0, 86700, 194400, 0xea8f3925
+0, 87000, 194400, 0xed294c12
+0, 87300, 194400, 0xafa75e00
+0, 87600, 194400, 0x19d45ffe
+0, 87900, 194400, 0x7fcf61fc
+0, 88200, 194400, 0x2c126df0
+0, 88500, 194400, 0x331379e4
+0, 88800, 194400, 0x99fe8cd1
+0, 89100, 194400, 0xa5ec98c5
+0, 89400, 194400, 0xac68a6b7
+0, 89700, 194400, 0x28e6b2ab
diff --git a/tests/ref/fate/deluxepaint-anm b/tests/ref/fate/deluxepaint-anm
index 2a60606611..98da9287a6 100644
--- a/tests/ref/fate/deluxepaint-anm
+++ b/tests/ref/fate/deluxepaint-anm
@@ -69,87 +69,55 @@
0, 204000, 192000, 0xdd7f371d
0, 207000, 192000, 0xeed134c6
0, 210000, 192000, 0x362931f5
-0, 213000, 192000, 0x362931f5
-0, 216000, 192000, 0x362931f5
-0, 219000, 192000, 0x362931f5
-0, 222000, 192000, 0x362931f5
-0, 225000, 192000, 0x362931f5
-0, 228000, 192000, 0x362931f5
-0, 231000, 192000, 0x362931f5
-0, 234000, 192000, 0x362931f5
-0, 237000, 192000, 0x362931f5
-0, 240000, 192000, 0x362931f5
-0, 243000, 192000, 0x362931f5
-0, 246000, 192000, 0x362931f5
-0, 249000, 192000, 0x362931f5
-0, 252000, 192000, 0x362931f5
-0, 255000, 192000, 0x362931f5
-0, 258000, 192000, 0x362931f5
-0, 261000, 192000, 0x362931f5
-0, 264000, 192000, 0x362931f5
-0, 267000, 192000, 0x362931f5
-0, 270000, 192000, 0x362931f5
-0, 273000, 192000, 0x362931f5
-0, 276000, 192000, 0x362931f5
-0, 279000, 192000, 0x362931f5
-0, 282000, 192000, 0x362931f5
-0, 285000, 192000, 0x362931f5
-0, 288000, 192000, 0x362931f5
-0, 291000, 192000, 0x362931f5
-0, 294000, 192000, 0x362931f5
-0, 297000, 192000, 0x362931f5
-0, 300000, 192000, 0x362931f5
-0, 303000, 192000, 0x362931f5
-0, 306000, 192000, 0x362931f5
-0, 309000, 192000, 0xfb41331d
-0, 312000, 192000, 0x087433f8
-0, 315000, 192000, 0xf36b34a6
-0, 318000, 192000, 0x652a33cd
-0, 321000, 192000, 0x652a33cd
-0, 324000, 192000, 0xe50c336a
-0, 327000, 192000, 0x652a33cd
-0, 330000, 192000, 0xeed134c6
-0, 333000, 192000, 0x652a33cd
-0, 336000, 192000, 0x5d7633e5
-0, 339000, 192000, 0x845233b5
-0, 342000, 192000, 0x9d1c349b
-0, 345000, 192000, 0x25843317
-0, 348000, 192000, 0xc84b375c
-0, 351000, 192000, 0xaf2b3410
-0, 354000, 192000, 0xaf2b3410
-0, 357000, 192000, 0x26d23594
-0, 360000, 192000, 0xaf2b3410
-0, 363000, 192000, 0x26d23594
-0, 366000, 192000, 0xaf2b3410
-0, 369000, 192000, 0x72c4dfb9
-0, 372000, 192000, 0x3c72e390
-0, 375000, 192000, 0xb4466634
-0, 378000, 192000, 0x84f064f5
-0, 381000, 192000, 0xad43f3f5
-0, 384000, 192000, 0xa8644d57
-0, 387000, 192000, 0xfac35238
-0, 390000, 192000, 0xe9374d1e
-0, 393000, 192000, 0x0bd14cfa
-0, 396000, 192000, 0x7e51a437
-0, 399000, 192000, 0x92678dfa
-0, 402000, 192000, 0x43338d41
-0, 405000, 192000, 0x00000000
-0, 408000, 192000, 0x00000000
-0, 411000, 192000, 0x00000000
-0, 414000, 192000, 0x00000000
-0, 417000, 192000, 0x00000000
-0, 420000, 192000, 0x00000000
-0, 423000, 192000, 0x00000000
-0, 426000, 192000, 0x00000000
-0, 429000, 192000, 0x00000000
-0, 432000, 192000, 0x00000000
-0, 435000, 192000, 0x00000000
-0, 438000, 192000, 0x00000000
-0, 441000, 192000, 0x00000000
-0, 444000, 192000, 0x00000000
-0, 447000, 192000, 0x00000000
-0, 450000, 192000, 0x00000000
-0, 453000, 192000, 0x00000000
-0, 456000, 192000, 0x00000000
-0, 459000, 192000, 0x00000000
-0, 462000, 192000, 0x82a79641
+0, 213000, 192000, 0xfb41331d
+0, 216000, 192000, 0x087433f8
+0, 219000, 192000, 0xf36b34a6
+0, 222000, 192000, 0x652a33cd
+0, 225000, 192000, 0x652a33cd
+0, 228000, 192000, 0xe50c336a
+0, 231000, 192000, 0x652a33cd
+0, 234000, 192000, 0xeed134c6
+0, 237000, 192000, 0x652a33cd
+0, 240000, 192000, 0x5d7633e5
+0, 243000, 192000, 0x845233b5
+0, 246000, 192000, 0x9d1c349b
+0, 249000, 192000, 0x25843317
+0, 252000, 192000, 0xc84b375c
+0, 255000, 192000, 0xaf2b3410
+0, 258000, 192000, 0xaf2b3410
+0, 261000, 192000, 0x26d23594
+0, 264000, 192000, 0xaf2b3410
+0, 267000, 192000, 0x26d23594
+0, 270000, 192000, 0xaf2b3410
+0, 273000, 192000, 0x72c4dfb9
+0, 276000, 192000, 0x3c72e390
+0, 279000, 192000, 0xb4466634
+0, 282000, 192000, 0x84f064f5
+0, 285000, 192000, 0xad43f3f5
+0, 288000, 192000, 0xa8644d57
+0, 291000, 192000, 0xfac35238
+0, 294000, 192000, 0xe9374d1e
+0, 297000, 192000, 0x0bd14cfa
+0, 300000, 192000, 0x7e51a437
+0, 303000, 192000, 0x92678dfa
+0, 306000, 192000, 0x43338d41
+0, 309000, 192000, 0x00000000
+0, 312000, 192000, 0x00000000
+0, 315000, 192000, 0x00000000
+0, 318000, 192000, 0x00000000
+0, 321000, 192000, 0x00000000
+0, 324000, 192000, 0x00000000
+0, 327000, 192000, 0x00000000
+0, 330000, 192000, 0x00000000
+0, 333000, 192000, 0x00000000
+0, 336000, 192000, 0x00000000
+0, 339000, 192000, 0x00000000
+0, 342000, 192000, 0x00000000
+0, 345000, 192000, 0x00000000
+0, 348000, 192000, 0x00000000
+0, 351000, 192000, 0x00000000
+0, 354000, 192000, 0x00000000
+0, 357000, 192000, 0x00000000
+0, 360000, 192000, 0x00000000
+0, 363000, 192000, 0x00000000
+0, 366000, 192000, 0x82a79641
diff --git a/tests/ref/fate/film-cvid-pcm-stereo-8bit b/tests/ref/fate/film-cvid-pcm-stereo-8bit
index c8d573ca33..4f3fcf4689 100644
--- a/tests/ref/fate/film-cvid-pcm-stereo-8bit
+++ b/tests/ref/fate/film-cvid-pcm-stereo-8bit
@@ -1,248 +1,139 @@
0, 0, 107520, 0xa6c9fdd2
1, 0, 88192, 0x23bb50ae
0, 3000, 107520, 0x61eb28c1
-0, 6000, 107520, 0x61eb28c1
-0, 9000, 107520, 0x45e20af7
-0, 12000, 107520, 0x45e20af7
-0, 15000, 107520, 0x366970fc
-0, 18000, 107520, 0x366970fc
-0, 21000, 107520, 0xa392bcb3
-0, 24000, 107520, 0xa392bcb3
-0, 27000, 107520, 0xcf7bac98
-0, 30000, 107520, 0xcf7bac98
-0, 33000, 107520, 0x222eba53
-0, 36000, 107520, 0x222eba53
-0, 39000, 107520, 0x74e255a1
-0, 42000, 107520, 0x74e255a1
+0, 6000, 107520, 0x45e20af7
+0, 9000, 107520, 0x366970fc
+0, 12000, 107520, 0xa392bcb3
+0, 15000, 107520, 0xcf7bac98
+0, 18000, 107520, 0x222eba53
+0, 21000, 107520, 0x74e255a1
+0, 24000, 107520, 0xc19eec6f
+0, 27000, 107520, 0xa3880681
+0, 30000, 107520, 0x957878db
+0, 33000, 107520, 0x18340692
+0, 36000, 107520, 0x9970f24d
+0, 39000, 107520, 0xf08618aa
+0, 42000, 107520, 0xee7324f0
1, 44996, 44112, 0x79600f01
-0, 45000, 107520, 0xc19eec6f
-0, 48000, 107520, 0xc19eec6f
-0, 51000, 107520, 0xa3880681
-0, 54000, 107520, 0xa3880681
-0, 57000, 107520, 0x957878db
-0, 60000, 107520, 0x957878db
-0, 63000, 107520, 0x18340692
-0, 66000, 107520, 0x18340692
+0, 45000, 107520, 0xe15025b3
+0, 48000, 107520, 0x8afa312e
+0, 51000, 107520, 0x717a7d0f
+0, 54000, 107520, 0x355c6e23
+0, 57000, 107520, 0x7015a50f
+0, 60000, 107520, 0xcdfc1a16
+0, 63000, 107520, 0x38d929e7
+0, 66000, 107520, 0x52913423
1, 67502, 44096, 0x09dbf7aa
-0, 69000, 107520, 0x9970f24d
-0, 72000, 107520, 0x9970f24d
-0, 75000, 107520, 0xf08618aa
-0, 78000, 107520, 0xf08618aa
-0, 81000, 107520, 0xee7324f0
-0, 84000, 107520, 0xee7324f0
-0, 87000, 107520, 0xe15025b3
-0, 90000, 107520, 0xe15025b3
+0, 69000, 107520, 0xe2c91c10
+0, 72000, 107520, 0x85516e9c
+0, 75000, 107520, 0xd1626030
+0, 78000, 107520, 0xea7b16de
+0, 81000, 107520, 0xa33eaa0d
+0, 84000, 107520, 0x8e3be6a6
+0, 87000, 107520, 0x14147bd6
+0, 90000, 107520, 0x07d54bec
1, 90000, 44112, 0x18fed048
-0, 93000, 107520, 0x8afa312e
-0, 96000, 107520, 0x8afa312e
-0, 99000, 107520, 0x717a7d0f
-0, 102000, 107520, 0x717a7d0f
-0, 105000, 107520, 0x355c6e23
-0, 108000, 107520, 0x355c6e23
-0, 111000, 107520, 0x7015a50f
+0, 93000, 107520, 0xe287a0a7
+0, 96000, 107520, 0xc023a14d
+0, 99000, 107520, 0x2437085d
+0, 102000, 107520, 0x63823918
+0, 105000, 107520, 0xbc17e198
+0, 108000, 107520, 0x9d99bc81
+0, 111000, 107520, 0x7e4ec71e
1, 112506, 44112, 0x030d35ef
-0, 114000, 107520, 0x7015a50f
-0, 117000, 107520, 0xcdfc1a16
-0, 120000, 107520, 0xcdfc1a16
-0, 123000, 107520, 0x38d929e7
-0, 126000, 107520, 0x38d929e7
-0, 129000, 107520, 0x52913423
-0, 132000, 107520, 0x52913423
-0, 135000, 107520, 0xe2c91c10
+0, 114000, 107520, 0x55b98376
+0, 117000, 107520, 0x356d8e9e
+0, 120000, 107520, 0xf77e8a61
+0, 123000, 107520, 0x5ae7c8c7
+0, 126000, 107520, 0x8acf9322
+0, 129000, 107520, 0x40a9177e
+0, 132000, 107520, 0x3e0e4d8d
+0, 135000, 107520, 0xd268865b
1, 135012, 44112, 0xc23154d5
-0, 138000, 107520, 0xe2c91c10
-0, 141000, 107520, 0x85516e9c
-0, 144000, 107520, 0x85516e9c
-0, 147000, 107520, 0xd1626030
-0, 150000, 107520, 0xd1626030
-0, 153000, 107520, 0xea7b16de
-0, 156000, 107520, 0xea7b16de
+0, 138000, 107520, 0x89a4efeb
+0, 141000, 107520, 0x70ca2478
+0, 144000, 107520, 0xcc9ec981
+0, 147000, 107520, 0xf0648459
+0, 150000, 107520, 0x7e4a4cca
+0, 153000, 107520, 0xb315dc65
+0, 156000, 107520, 0x2aecc7b4
1, 157518, 44064, 0xe4713ee7
-0, 159000, 107520, 0xa33eaa0d
-0, 162000, 107520, 0xa33eaa0d
-0, 165000, 107520, 0x8e3be6a6
-0, 168000, 107520, 0x8e3be6a6
-0, 171000, 107520, 0x14147bd6
-0, 174000, 107520, 0x14147bd6
-0, 177000, 107520, 0x07d54bec
-0, 180000, 107520, 0x07d54bec
+0, 159000, 107520, 0x81742f51
+0, 162000, 107520, 0x3a1d7571
+0, 165000, 107520, 0x3a1d7571
+0, 168000, 107520, 0x3a1d7571
+0, 171000, 107520, 0x3a1d7571
+0, 174000, 107520, 0x3a1d7571
+0, 177000, 107520, 0x3a1d7571
+0, 180000, 107520, 0x3a1d7571
1, 180000, 44112, 0xddc19d91
-0, 183000, 107520, 0xe287a0a7
-0, 186000, 107520, 0xe287a0a7
-0, 189000, 107520, 0xc023a14d
-0, 192000, 107520, 0xc023a14d
-0, 195000, 107520, 0x2437085d
-0, 198000, 107520, 0x2437085d
-0, 201000, 107520, 0x63823918
+0, 183000, 107520, 0xe974733e
+0, 186000, 107520, 0x999c6fbf
+0, 189000, 107520, 0x26b56b6e
+0, 192000, 107520, 0xc9f9647b
+0, 195000, 107520, 0x6d025d00
+0, 198000, 107520, 0xf9c056c1
+0, 201000, 107520, 0xa5cc4d0b
1, 202506, 44112, 0x9591522d
-0, 204000, 107520, 0x63823918
-0, 207000, 107520, 0xbc17e198
-0, 210000, 107520, 0xbc17e198
-0, 213000, 107520, 0x9d99bc81
-0, 216000, 107520, 0x9d99bc81
-0, 219000, 107520, 0x7e4ec71e
-0, 222000, 107520, 0x7e4ec71e
-0, 225000, 107520, 0x55b98376
+0, 204000, 107520, 0x1a4c4236
+0, 207000, 107520, 0xa9d538b6
+0, 210000, 107520, 0x14682d00
+0, 213000, 107520, 0x6236204f
+0, 216000, 107520, 0x303e14aa
+0, 219000, 107520, 0x943b0837
+0, 222000, 107520, 0xfce5fd07
+0, 225000, 107520, 0xd993f193
1, 225012, 44112, 0x90deb013
-0, 228000, 107520, 0x55b98376
-0, 231000, 107520, 0x356d8e9e
-0, 234000, 107520, 0x356d8e9e
-0, 237000, 107520, 0xf77e8a61
-0, 240000, 107520, 0xf77e8a61
-0, 243000, 107520, 0x5ae7c8c7
-0, 246000, 107520, 0x5ae7c8c7
+0, 228000, 107520, 0x4d48e7b4
+0, 231000, 107520, 0x61ccdf83
+0, 234000, 107520, 0xfb4fd608
+0, 237000, 107520, 0x5efdcdb3
+0, 240000, 107520, 0xb03ec886
+0, 243000, 107520, 0xf464c343
+0, 246000, 107520, 0xf464c343
1, 247518, 44064, 0x3842d420
-0, 249000, 107520, 0x8acf9322
-0, 252000, 107520, 0x8acf9322
-0, 255000, 107520, 0x40a9177e
-0, 258000, 107520, 0x40a9177e
-0, 261000, 107520, 0x3e0e4d8d
-0, 264000, 107520, 0x3e0e4d8d
-0, 267000, 107520, 0xd268865b
-0, 270000, 107520, 0xd268865b
+0, 249000, 107520, 0xf464c343
+0, 252000, 107520, 0xf464c343
+0, 255000, 107520, 0xf464c343
+0, 258000, 107520, 0xf464c343
+0, 261000, 107520, 0xf464c343
+0, 264000, 107520, 0xf464c343
+0, 267000, 107520, 0xf464c343
+0, 270000, 107520, 0xf464c343
1, 270000, 44112, 0x99c8c3d9
-0, 273000, 107520, 0x89a4efeb
-0, 276000, 107520, 0x89a4efeb
-0, 279000, 107520, 0x70ca2478
-0, 282000, 107520, 0x70ca2478
-0, 285000, 107520, 0xcc9ec981
-0, 288000, 107520, 0xcc9ec981
-0, 291000, 107520, 0xf0648459
+0, 273000, 107520, 0xf464c343
+0, 276000, 107520, 0xf2b2c712
+0, 279000, 107520, 0xf2b2c712
+0, 282000, 107520, 0xf2b2c712
+0, 285000, 107520, 0xf2b2c712
+0, 288000, 107520, 0xb95e6bc8
+0, 291000, 107520, 0x33feee37
1, 292506, 44112, 0xffaf3824
-0, 294000, 107520, 0xf0648459
-0, 297000, 107520, 0x7e4a4cca
-0, 300000, 107520, 0x7e4a4cca
-0, 303000, 107520, 0xb315dc65
-0, 306000, 107520, 0xb315dc65
-0, 309000, 107520, 0x2aecc7b4
-0, 312000, 107520, 0x2aecc7b4
-0, 315000, 107520, 0x81742f51
+0, 294000, 107520, 0x36ee3cd5
+0, 297000, 107520, 0x59096471
+0, 300000, 107520, 0x53b470c6
+0, 303000, 107520, 0xdb7c64ff
+0, 306000, 107520, 0xe5a1596a
+0, 309000, 107520, 0x8c8942eb
+0, 312000, 107520, 0x5ecc379e
+0, 315000, 107520, 0xea09432a
1, 315012, 44112, 0x3dbe1aef
-0, 318000, 107520, 0x81742f51
-0, 321000, 107520, 0x3a1d7571
-0, 324000, 107520, 0x3a1d7571
-0, 327000, 107520, 0x3a1d7571
-0, 330000, 107520, 0x3a1d7571
-0, 333000, 107520, 0x3a1d7571
-0, 336000, 107520, 0x3a1d7571
+0, 318000, 107520, 0xe01e6b73
+0, 321000, 107520, 0x1d13bba8
+0, 324000, 107520, 0x3a993a6c
+0, 327000, 107520, 0x2ede041a
1, 337518, 44064, 0xed2c7dfb
-0, 339000, 107520, 0x3a1d7571
-0, 342000, 107520, 0x3a1d7571
-0, 345000, 107520, 0x3a1d7571
-0, 348000, 107520, 0x3a1d7571
-0, 351000, 107520, 0x3a1d7571
-0, 354000, 107520, 0x3a1d7571
-0, 357000, 107520, 0x3a1d7571
-0, 360000, 107520, 0x3a1d7571
1, 360000, 44112, 0x9e475274
-0, 363000, 107520, 0xe974733e
-0, 366000, 107520, 0xe974733e
-0, 369000, 107520, 0x999c6fbf
-0, 372000, 107520, 0x999c6fbf
-0, 375000, 107520, 0x26b56b6e
-0, 378000, 107520, 0x26b56b6e
-0, 381000, 107520, 0xc9f9647b
1, 382506, 44112, 0x541f05d4
-0, 384000, 107520, 0xc9f9647b
-0, 387000, 107520, 0x6d025d00
-0, 390000, 107520, 0x6d025d00
-0, 393000, 107520, 0xf9c056c1
-0, 396000, 107520, 0xf9c056c1
-0, 399000, 107520, 0xa5cc4d0b
-0, 402000, 107520, 0xa5cc4d0b
-0, 405000, 107520, 0x1a4c4236
1, 405012, 44112, 0x09e39025
-0, 408000, 107520, 0x1a4c4236
-0, 411000, 107520, 0xa9d538b6
-0, 414000, 107520, 0xa9d538b6
-0, 417000, 107520, 0x14682d00
-0, 420000, 107520, 0x14682d00
-0, 423000, 107520, 0x6236204f
-0, 426000, 107520, 0x6236204f
1, 427518, 44064, 0xdc111087
-0, 429000, 107520, 0x303e14aa
-0, 432000, 107520, 0x303e14aa
-0, 435000, 107520, 0x943b0837
-0, 438000, 107520, 0x943b0837
-0, 441000, 107520, 0xfce5fd07
-0, 444000, 107520, 0xfce5fd07
-0, 447000, 107520, 0xd993f193
-0, 450000, 107520, 0xd993f193
1, 450000, 44112, 0xb8f86e48
-0, 453000, 107520, 0x4d48e7b4
-0, 456000, 107520, 0x4d48e7b4
-0, 459000, 107520, 0x61ccdf83
-0, 462000, 107520, 0x61ccdf83
-0, 465000, 107520, 0xfb4fd608
-0, 468000, 107520, 0xfb4fd608
-0, 471000, 107520, 0x5efdcdb3
1, 472506, 44112, 0xa1e0c75c
-0, 474000, 107520, 0x5efdcdb3
-0, 477000, 107520, 0xb03ec886
-0, 480000, 107520, 0xb03ec886
-0, 483000, 107520, 0xf464c343
-0, 486000, 107520, 0xf464c343
-0, 489000, 107520, 0xf464c343
-0, 492000, 107520, 0xf464c343
-0, 495000, 107520, 0xf464c343
1, 495012, 44112, 0x0654dcb0
-0, 498000, 107520, 0xf464c343
-0, 501000, 107520, 0xf464c343
-0, 504000, 107520, 0xf464c343
-0, 507000, 107520, 0xf464c343
-0, 510000, 107520, 0xf464c343
-0, 513000, 107520, 0xf464c343
-0, 516000, 107520, 0xf464c343
1, 517518, 44064, 0xb921e11a
-0, 519000, 107520, 0xf464c343
-0, 522000, 107520, 0xf464c343
-0, 525000, 107520, 0xf464c343
-0, 528000, 107520, 0xf464c343
-0, 531000, 107520, 0xf464c343
-0, 534000, 107520, 0xf464c343
-0, 537000, 107520, 0xf464c343
-0, 540000, 107520, 0xf464c343
1, 540000, 44112, 0xe0ac619f
-0, 543000, 107520, 0xf464c343
-0, 546000, 107520, 0xf464c343
-0, 549000, 107520, 0xf2b2c712
-0, 552000, 107520, 0xf2b2c712
-0, 555000, 107520, 0xf2b2c712
-0, 558000, 107520, 0xf2b2c712
-0, 561000, 107520, 0xf2b2c712
1, 562506, 44112, 0xb07aa65c
-0, 564000, 107520, 0xf2b2c712
-0, 567000, 107520, 0xf2b2c712
-0, 570000, 107520, 0xf2b2c712
-0, 573000, 107520, 0xb95e6bc8
-0, 576000, 107520, 0xb95e6bc8
-0, 579000, 107520, 0x33feee37
-0, 582000, 107520, 0x33feee37
-0, 585000, 107520, 0x36ee3cd5
1, 585012, 44112, 0x24610ff0
-0, 588000, 107520, 0x36ee3cd5
-0, 591000, 107520, 0x59096471
-0, 594000, 107520, 0x59096471
-0, 597000, 107520, 0x53b470c6
-0, 600000, 107520, 0x53b470c6
-0, 603000, 107520, 0xdb7c64ff
-0, 606000, 107520, 0xdb7c64ff
1, 607518, 44064, 0x00000000
-0, 609000, 107520, 0xe5a1596a
-0, 612000, 107520, 0xe5a1596a
-0, 615000, 107520, 0x8c8942eb
-0, 618000, 107520, 0x8c8942eb
-0, 621000, 107520, 0x5ecc379e
-0, 624000, 107520, 0x5ecc379e
-0, 627000, 107520, 0xea09432a
-0, 630000, 107520, 0xea09432a
1, 630000, 44112, 0x00000000
-0, 633000, 107520, 0xe01e6b73
-0, 636000, 107520, 0xe01e6b73
-0, 639000, 107520, 0x1d13bba8
-0, 642000, 107520, 0x1d13bba8
-0, 645000, 107520, 0x3a993a6c
-0, 648000, 107520, 0x3a993a6c
-0, 651000, 107520, 0x2ede041a
1, 652506, 8800, 0x00000000
-0, 654000, 107520, 0x2ede041a
diff --git a/tests/ref/fate/mpeg2-field-enc b/tests/ref/fate/mpeg2-field-enc
index c8ee4cfba0..9ae5d62bf0 100644
--- a/tests/ref/fate/mpeg2-field-enc
+++ b/tests/ref/fate/mpeg2-field-enc
@@ -1,40 +1,31 @@
0, 0, 622080, 0xb3b66c5c
-0, 3600, 622080, 0xb3b66c5c
-0, 7200, 622080, 0xb3b66c5c
-0, 10800, 622080, 0xb3b66c5c
-0, 14400, 622080, 0xb3b66c5c
-0, 18000, 622080, 0xb3b66c5c
-0, 21600, 622080, 0xb3b66c5c
-0, 25200, 622080, 0xb3b66c5c
-0, 28800, 622080, 0xb3b66c5c
-0, 32400, 622080, 0xb3b66c5c
-0, 36000, 622080, 0x088ec02b
-0, 39600, 622080, 0x7a36db21
-0, 43200, 622080, 0x541b286f
-0, 46800, 622080, 0xb6c3e590
-0, 50400, 622080, 0x39dbed51
-0, 54000, 622080, 0x973dc728
-0, 57600, 622080, 0xd7a4f804
-0, 61200, 622080, 0xa2484762
-0, 64800, 622080, 0x0cd268d1
-0, 68400, 622080, 0x72eb663d
-0, 72000, 622080, 0x8fdbac59
-0, 75600, 622080, 0xa6f4feb9
-0, 79200, 622080, 0xadb828c6
-0, 82800, 622080, 0xea630a63
-0, 86400, 622080, 0xa901d925
-0, 90000, 622080, 0xac5e7087
-0, 93600, 622080, 0x10274a2b
-0, 97200, 622080, 0x143d541c
-0, 100800, 622080, 0xee94c93a
-0, 104400, 622080, 0xca030208
-0, 108000, 622080, 0x26f30ead
-0, 111600, 622080, 0xfc22f32c
-0, 115200, 622080, 0x940a5ff8
-0, 118800, 622080, 0x2164f805
-0, 122400, 622080, 0xa76f5aba
-0, 126000, 622080, 0x8c311471
-0, 129600, 622080, 0xa45e1d95
-0, 133200, 622080, 0x6cc61d6c
-0, 136800, 622080, 0x6983b417
-0, 140400, 622080, 0x982363c0
+0, 3600, 622080, 0x088ec02b
+0, 7200, 622080, 0x7a36db21
+0, 10800, 622080, 0x541b286f
+0, 14400, 622080, 0xb6c3e590
+0, 18000, 622080, 0x39dbed51
+0, 21600, 622080, 0x973dc728
+0, 25200, 622080, 0xd7a4f804
+0, 28800, 622080, 0xa2484762
+0, 32400, 622080, 0x0cd268d1
+0, 36000, 622080, 0x72eb663d
+0, 39600, 622080, 0x8fdbac59
+0, 43200, 622080, 0xa6f4feb9
+0, 46800, 622080, 0xadb828c6
+0, 50400, 622080, 0xea630a63
+0, 54000, 622080, 0xa901d925
+0, 57600, 622080, 0xac5e7087
+0, 61200, 622080, 0x10274a2b
+0, 64800, 622080, 0x143d541c
+0, 68400, 622080, 0xee94c93a
+0, 72000, 622080, 0xca030208
+0, 75600, 622080, 0x26f30ead
+0, 79200, 622080, 0xfc22f32c
+0, 82800, 622080, 0x940a5ff8
+0, 86400, 622080, 0x2164f805
+0, 90000, 622080, 0xa76f5aba
+0, 93600, 622080, 0x8c311471
+0, 97200, 622080, 0xa45e1d95
+0, 100800, 622080, 0x6cc61d6c
+0, 104400, 622080, 0x6983b417
+0, 108000, 622080, 0x982363c0
diff --git a/tests/ref/fate/nuv b/tests/ref/fate/nuv
index 69854f2b8f..46765f9086 100644
--- a/tests/ref/fate/nuv
+++ b/tests/ref/fate/nuv
@@ -1,30 +1,27 @@
0, 0, 460800, 0x54aedafe
1, 0, 4096, 0x00000000
1, 2090, 4096, 0x4dfae7a6
-0, 3003, 460800, 0x54aedafe
+0, 3003, 460800, 0xb7aa8b56
1, 4180, 4096, 0x3fd9f5c6
-0, 6006, 460800, 0x54aedafe
+0, 6006, 460800, 0x283ea3b5
1, 6269, 4096, 0x7b86e310
1, 8359, 4096, 0x611cece5
-0, 9009, 460800, 0x54aedafe
+0, 9009, 460800, 0x283ea3b5
1, 10449, 4096, 0xb7d8e872
-0, 12012, 460800, 0xb7aa8b56
+0, 12012, 460800, 0x10e577de
1, 12539, 4096, 0x072ef72b
1, 14629, 4096, 0xb3560144
-0, 15015, 460800, 0x283ea3b5
+0, 15015, 460800, 0x4e091ee2
1, 16718, 4096, 0x0a3d119e
-0, 18018, 460800, 0x283ea3b5
+0, 18018, 460800, 0x2ea88828
1, 18808, 4096, 0xbe391aa4
1, 20898, 4096, 0x28f7c6e5
-0, 21021, 460800, 0x10e577de
+0, 21021, 460800, 0x4b7f4df0
1, 22988, 4096, 0xca9d9df2
-0, 24024, 460800, 0x4e091ee2
+0, 24024, 460800, 0xa57f20d0
1, 25078, 4096, 0x5c6b95a9
-0, 27027, 460800, 0x2ea88828
1, 27167, 4096, 0x0bdfc0bf
1, 29257, 4096, 0xd95a9277
-0, 30030, 460800, 0x4b7f4df0
1, 31347, 4096, 0xae2bef2c
-0, 33033, 460800, 0xa57f20d0
1, 33437, 4096, 0xbf031e83
1, 35527, 4096, 0x4c83e2d1
diff --git a/tests/ref/fate/quickdraw b/tests/ref/fate/quickdraw
index 71612122a1..5d6303b70d 100644
--- a/tests/ref/fate/quickdraw
+++ b/tests/ref/fate/quickdraw
@@ -1,3 +1,2 @@
0, 0, 921600, 0xc0e68764
0, 6000, 921600, 0x01a16629
-0, 12000, 921600, 0x01a16629
diff --git a/tests/ref/fate/tiertex-seq b/tests/ref/fate/tiertex-seq
index a75de4a76e..24819ebf62 100644
--- a/tests/ref/fate/tiertex-seq
+++ b/tests/ref/fate/tiertex-seq
@@ -2,147 +2,95 @@
1, 0, 1764, 0x00000000
0, 3600, 98304, 0xb20c19d0
1, 3600, 1764, 0x80a253d9
-0, 7200, 98304, 0xb20c19d0
+0, 7200, 98304, 0x6b8538c0
1, 7200, 1764, 0x95a16721
-0, 10800, 98304, 0xb20c19d0
+0, 10800, 98304, 0x172207e3
1, 10800, 1764, 0x0f0d4cb6
-0, 14400, 98304, 0xb20c19d0
+0, 14400, 98304, 0x63fb7dc1
1, 14400, 1764, 0x75026779
-0, 18000, 98304, 0x6b8538c0
+0, 18000, 98304, 0x37cf1601
1, 18000, 1764, 0xb4356e37
-0, 21600, 98304, 0x6b8538c0
+0, 21600, 98304, 0x82941990
1, 21600, 1764, 0xfafa64cb
-0, 25200, 98304, 0x6b8538c0
+0, 25200, 98304, 0xe0a5309e
1, 25200, 1764, 0xe8fd7970
-0, 28800, 98304, 0x172207e3
+0, 28800, 98304, 0x164cb67d
1, 28800, 1764, 0x666879b7
-0, 32400, 98304, 0x172207e3
+0, 32400, 98304, 0xed2189f8
1, 32400, 1764, 0xf2cd7770
-0, 36000, 98304, 0x172207e3
+0, 36000, 98304, 0x7215e529
1, 36000, 1764, 0x54317a1c
-0, 39600, 98304, 0x172207e3
+0, 39600, 98304, 0x170c783b
1, 39600, 1764, 0x9c396930
-0, 43200, 98304, 0x63fb7dc1
+0, 43200, 98304, 0xf6bd74c7
1, 43200, 1764, 0x87115ec4
-0, 46800, 98304, 0x63fb7dc1
+0, 46800, 98304, 0x1efd38c4
1, 46800, 1764, 0x0c9b69b6
-0, 50400, 98304, 0x63fb7dc1
+0, 50400, 98304, 0x29c26bba
1, 50400, 1764, 0x8c3a758a
-0, 54000, 98304, 0x37cf1601
+0, 54000, 98304, 0x880a6313
1, 54000, 1764, 0x605d776a
-0, 57600, 98304, 0x37cf1601
+0, 57600, 98304, 0x73f5bb00
1, 57600, 1764, 0x0556852d
-0, 61200, 98304, 0x37cf1601
+0, 61200, 98304, 0xc85b19ec
1, 61200, 1764, 0x7d4363f8
-0, 64800, 98304, 0x37cf1601
+0, 64800, 98304, 0x00000000
1, 64800, 1764, 0xc5cd75d0
-0, 68400, 98304, 0x82941990
+0, 68400, 98304, 0x00000000
1, 68400, 1764, 0x3ff3646d
-0, 72000, 98304, 0x82941990
+0, 72000, 98304, 0x00000000
1, 72000, 1764, 0x10136d25
-0, 75600, 98304, 0x82941990
1, 75600, 1764, 0xeb1a6cd0
-0, 79200, 98304, 0x82941990
1, 79200, 1764, 0xef937ed1
-0, 82800, 98304, 0xe0a5309e
1, 82800, 1764, 0x2d2b6f79
-0, 86400, 98304, 0xe0a5309e
1, 86400, 1764, 0x6f457231
-0, 90000, 98304, 0xe0a5309e
1, 90000, 1764, 0x56267c9d
-0, 93600, 98304, 0x164cb67d
1, 93600, 1764, 0xd49e79c8
-0, 97200, 98304, 0x164cb67d
1, 97200, 1764, 0xc726703d
-0, 100800, 98304, 0x164cb67d
1, 100800, 1764, 0x2abf8074
-0, 104400, 98304, 0x164cb67d
1, 104400, 1764, 0xb50c556d
-0, 108000, 98304, 0xed2189f8
1, 108000, 1764, 0xc1f2523c
-0, 111600, 98304, 0xed2189f8
1, 111600, 1764, 0x850a6f93
-0, 115200, 98304, 0xed2189f8
1, 115200, 1764, 0x8da76c31
-0, 118800, 98304, 0x7215e529
1, 118800, 1764, 0xfcccdf13
-0, 122400, 98304, 0x7215e529
1, 122400, 1764, 0x00000000
-0, 126000, 98304, 0x7215e529
1, 126000, 1764, 0x00000000
-0, 129600, 98304, 0x7215e529
1, 129600, 1764, 0x00000000
-0, 133200, 98304, 0x170c783b
1, 133200, 1764, 0x00000000
-0, 136800, 98304, 0x170c783b
1, 136800, 1764, 0x00000000
-0, 140400, 98304, 0x170c783b
1, 140400, 1764, 0x00000000
-0, 144000, 98304, 0xf6bd74c7
1, 144000, 1764, 0x00000000
-0, 147600, 98304, 0xf6bd74c7
1, 147600, 1764, 0x00000000
-0, 151200, 98304, 0xf6bd74c7
1, 151200, 1764, 0x00000000
-0, 154800, 98304, 0xf6bd74c7
1, 154800, 1764, 0x00000000
-0, 158400, 98304, 0x1efd38c4
1, 158400, 1764, 0x00000000
-0, 162000, 98304, 0x1efd38c4
1, 162000, 1764, 0x00000000
-0, 165600, 98304, 0x1efd38c4
1, 165600, 1764, 0x00000000
-0, 169200, 98304, 0x1efd38c4
1, 169200, 1764, 0x00000000
-0, 172800, 98304, 0x29c26bba
1, 172800, 1764, 0x00000000
-0, 176400, 98304, 0x29c26bba
1, 176400, 1764, 0x00000000
-0, 180000, 98304, 0x29c26bba
1, 180000, 1764, 0x00000000
-0, 183600, 98304, 0x880a6313
1, 183600, 1764, 0x00000000
-0, 187200, 98304, 0x880a6313
1, 187200, 1764, 0x00000000
-0, 190800, 98304, 0x880a6313
1, 190800, 1764, 0x00000000
-0, 194400, 98304, 0x880a6313
1, 194400, 1764, 0x00000000
-0, 198000, 98304, 0x73f5bb00
1, 198000, 1764, 0x00000000
-0, 201600, 98304, 0x73f5bb00
1, 201600, 1764, 0x00000000
-0, 205200, 98304, 0x73f5bb00
1, 205200, 1764, 0x00000000
-0, 208800, 98304, 0xc85b19ec
1, 208800, 1764, 0x00000000
-0, 212400, 98304, 0xc85b19ec
1, 212400, 1764, 0x00000000
-0, 216000, 98304, 0xc85b19ec
1, 216000, 1764, 0x00000000
-0, 219600, 98304, 0xc85b19ec
1, 219600, 1764, 0x00000000
-0, 223200, 98304, 0x00000000
1, 223200, 1764, 0x00000000
-0, 226800, 98304, 0x00000000
1, 226800, 1764, 0x00000000
-0, 230400, 98304, 0x00000000
1, 230400, 1764, 0x00000000
-0, 234000, 98304, 0x00000000
1, 234000, 1764, 0x00000000
-0, 237600, 98304, 0x00000000
1, 237600, 1764, 0x00000000
-0, 241200, 98304, 0x00000000
1, 241200, 1764, 0x00000000
-0, 244800, 98304, 0x00000000
1, 244800, 1764, 0x00000000
-0, 248400, 98304, 0x00000000
1, 248400, 1764, 0x00000000
-0, 252000, 98304, 0x00000000
1, 252000, 1764, 0x00000000
-0, 255600, 98304, 0x00000000
1, 255600, 1764, 0x00000000
-0, 259200, 98304, 0x00000000
1, 259200, 1764, 0x00000000
1, 262800, 1764, 0x00000000
1, 266400, 1764, 0x00000000
diff --git a/tests/ref/fate/tscc-32bit b/tests/ref/fate/tscc-32bit
index b014471c14..90deaf561b 100644
--- a/tests/ref/fate/tscc-32bit
+++ b/tests/ref/fate/tscc-32bit
@@ -9,152 +9,148 @@
0, 48000, 2359296, 0xe990f855
0, 54000, 2359296, 0x3ec2c64e
0, 60000, 2359296, 0xda3ba3cf
-0, 66000, 2359296, 0xda3ba3cf
-0, 72000, 2359296, 0xda3ba3cf
-0, 78000, 2359296, 0xda3ba3cf
-0, 84000, 2359296, 0x60a070fd
-0, 90000, 2359296, 0x42e5fedc
-0, 96000, 2359296, 0x42e5fedc
+0, 66000, 2359296, 0x60a070fd
+0, 72000, 2359296, 0x42e5fedc
+0, 78000, 2359296, 0x42e5fedc
+0, 84000, 2359296, 0x699cf990
+0, 90000, 2359296, 0x699cf990
+0, 96000, 2359296, 0x699cf990
0, 102000, 2359296, 0x699cf990
0, 108000, 2359296, 0x699cf990
0, 114000, 2359296, 0x699cf990
0, 120000, 2359296, 0x699cf990
-0, 126000, 2359296, 0x699cf990
-0, 132000, 2359296, 0x699cf990
-0, 138000, 2359296, 0x699cf990
+0, 126000, 2359296, 0x1524160c
+0, 132000, 2359296, 0x1524160c
+0, 138000, 2359296, 0x1524160c
0, 144000, 2359296, 0x1524160c
0, 150000, 2359296, 0x1524160c
0, 156000, 2359296, 0x1524160c
0, 162000, 2359296, 0x1524160c
-0, 168000, 2359296, 0x1524160c
-0, 174000, 2359296, 0x1524160c
-0, 180000, 2359296, 0x1524160c
+0, 168000, 2359296, 0x33df0c8c
+0, 174000, 2359296, 0x33df0c8c
+0, 180000, 2359296, 0x33df0c8c
0, 186000, 2359296, 0x33df0c8c
0, 192000, 2359296, 0x33df0c8c
0, 198000, 2359296, 0x33df0c8c
0, 204000, 2359296, 0x33df0c8c
-0, 210000, 2359296, 0x33df0c8c
-0, 216000, 2359296, 0x33df0c8c
-0, 222000, 2359296, 0x33df0c8c
+0, 210000, 2359296, 0xfe3d29f8
+0, 216000, 2359296, 0xfe3d29f8
+0, 222000, 2359296, 0xfe3d29f8
0, 228000, 2359296, 0xfe3d29f8
0, 234000, 2359296, 0xfe3d29f8
0, 240000, 2359296, 0xfe3d29f8
0, 246000, 2359296, 0xfe3d29f8
-0, 252000, 2359296, 0xfe3d29f8
-0, 258000, 2359296, 0xfe3d29f8
-0, 264000, 2359296, 0xfe3d29f8
+0, 252000, 2359296, 0x1b9d197f
+0, 258000, 2359296, 0x1b9d197f
+0, 264000, 2359296, 0x1b9d197f
0, 270000, 2359296, 0x1b9d197f
0, 276000, 2359296, 0x1b9d197f
0, 282000, 2359296, 0x1b9d197f
0, 288000, 2359296, 0x1b9d197f
-0, 294000, 2359296, 0x1b9d197f
-0, 300000, 2359296, 0x1b9d197f
-0, 306000, 2359296, 0x1b9d197f
+0, 294000, 2359296, 0x48c126fb
+0, 300000, 2359296, 0x48c126fb
+0, 306000, 2359296, 0x48c126fb
0, 312000, 2359296, 0x48c126fb
0, 318000, 2359296, 0x48c126fb
0, 324000, 2359296, 0x48c126fb
0, 330000, 2359296, 0x48c126fb
-0, 336000, 2359296, 0x48c126fb
-0, 342000, 2359296, 0x48c126fb
-0, 348000, 2359296, 0x48c126fb
+0, 336000, 2359296, 0xcaa31c7c
+0, 342000, 2359296, 0xcaa31c7c
+0, 348000, 2359296, 0xcaa31c7c
0, 354000, 2359296, 0xcaa31c7c
0, 360000, 2359296, 0xcaa31c7c
0, 366000, 2359296, 0xcaa31c7c
0, 372000, 2359296, 0xcaa31c7c
-0, 378000, 2359296, 0xcaa31c7c
-0, 384000, 2359296, 0xcaa31c7c
-0, 390000, 2359296, 0xcaa31c7c
+0, 378000, 2359296, 0xc6a333ee
+0, 384000, 2359296, 0xc6a333ee
+0, 390000, 2359296, 0xc6a333ee
0, 396000, 2359296, 0xc6a333ee
0, 402000, 2359296, 0xc6a333ee
0, 408000, 2359296, 0xc6a333ee
0, 414000, 2359296, 0xc6a333ee
-0, 420000, 2359296, 0xc6a333ee
-0, 426000, 2359296, 0xc6a333ee
-0, 432000, 2359296, 0xc6a333ee
+0, 420000, 2359296, 0xb96d1583
+0, 426000, 2359296, 0xb96d1583
+0, 432000, 2359296, 0xb96d1583
0, 438000, 2359296, 0xb96d1583
0, 444000, 2359296, 0xb96d1583
0, 450000, 2359296, 0xb96d1583
0, 456000, 2359296, 0xb96d1583
-0, 462000, 2359296, 0xb96d1583
-0, 468000, 2359296, 0xb96d1583
-0, 474000, 2359296, 0xb96d1583
+0, 462000, 2359296, 0x878135ec
+0, 468000, 2359296, 0x878135ec
+0, 474000, 2359296, 0x878135ec
0, 480000, 2359296, 0x878135ec
0, 486000, 2359296, 0x878135ec
0, 492000, 2359296, 0x878135ec
0, 498000, 2359296, 0x878135ec
-0, 504000, 2359296, 0x878135ec
-0, 510000, 2359296, 0x878135ec
-0, 516000, 2359296, 0x878135ec
-0, 522000, 2359296, 0x878135ec
+0, 504000, 2359296, 0x76922870
+0, 510000, 2359296, 0x76922870
+0, 516000, 2359296, 0x76922870
+0, 522000, 2359296, 0x76922870
0, 528000, 2359296, 0x76922870
0, 534000, 2359296, 0x76922870
0, 540000, 2359296, 0x76922870
-0, 546000, 2359296, 0x76922870
-0, 552000, 2359296, 0x76922870
-0, 558000, 2359296, 0x76922870
-0, 564000, 2359296, 0x76922870
+0, 546000, 2359296, 0xb0e031f0
+0, 552000, 2359296, 0xb0e031f0
+0, 558000, 2359296, 0xb0e031f0
+0, 564000, 2359296, 0xb0e031f0
0, 570000, 2359296, 0xb0e031f0
0, 576000, 2359296, 0xb0e031f0
0, 582000, 2359296, 0xb0e031f0
-0, 588000, 2359296, 0xb0e031f0
-0, 594000, 2359296, 0xb0e031f0
-0, 600000, 2359296, 0xb0e031f0
-0, 606000, 2359296, 0xb0e031f0
-0, 612000, 2359296, 0xb2ef2a6e
-0, 618000, 2359296, 0xb2ef2a6e
-0, 624000, 2359296, 0xb2ef2a6e
-0, 630000, 2359296, 0x083c2474
-0, 636000, 2359296, 0x083c2474
-0, 642000, 2359296, 0x083c2474
-0, 648000, 2359296, 0x083c2474
+0, 588000, 2359296, 0xb2ef2a6e
+0, 594000, 2359296, 0xb2ef2a6e
+0, 600000, 2359296, 0xb2ef2a6e
+0, 606000, 2359296, 0x083c2474
+0, 612000, 2359296, 0x083c2474
+0, 618000, 2359296, 0x083c2474
+0, 624000, 2359296, 0x083c2474
+0, 630000, 2359296, 0xbdfe2ef3
+0, 636000, 2359296, 0xbdfe2ef3
+0, 642000, 2359296, 0xbdfe2ef3
+0, 648000, 2359296, 0xbdfe2ef3
0, 654000, 2359296, 0xbdfe2ef3
0, 660000, 2359296, 0xbdfe2ef3
0, 666000, 2359296, 0xbdfe2ef3
-0, 672000, 2359296, 0xbdfe2ef3
-0, 678000, 2359296, 0xbdfe2ef3
-0, 684000, 2359296, 0xbdfe2ef3
-0, 690000, 2359296, 0xbdfe2ef3
-0, 696000, 2359296, 0x934b1484
-0, 702000, 2359296, 0x934b1484
-0, 708000, 2359296, 0x934b1484
-0, 714000, 2359296, 0x934b1484
-0, 720000, 2359296, 0x3e0d1a7e
-0, 726000, 2359296, 0x3e0d1a7e
-0, 732000, 2359296, 0x3e0d1a7e
+0, 672000, 2359296, 0x934b1484
+0, 678000, 2359296, 0x934b1484
+0, 684000, 2359296, 0x934b1484
+0, 690000, 2359296, 0x934b1484
+0, 696000, 2359296, 0x3e0d1a7e
+0, 702000, 2359296, 0x3e0d1a7e
+0, 708000, 2359296, 0x3e0d1a7e
+0, 714000, 2359296, 0x3ce539e8
+0, 720000, 2359296, 0x3ce539e8
+0, 726000, 2359296, 0x3ce539e8
+0, 732000, 2359296, 0x3ce539e8
0, 738000, 2359296, 0x3ce539e8
0, 744000, 2359296, 0x3ce539e8
0, 750000, 2359296, 0x3ce539e8
-0, 756000, 2359296, 0x3ce539e8
-0, 762000, 2359296, 0x3ce539e8
-0, 768000, 2359296, 0x3ce539e8
-0, 774000, 2359296, 0x3ce539e8
+0, 756000, 2359296, 0xd46c2f69
+0, 762000, 2359296, 0xd46c2f69
+0, 768000, 2359296, 0xd46c2f69
+0, 774000, 2359296, 0xd46c2f69
0, 780000, 2359296, 0xd46c2f69
0, 786000, 2359296, 0xd46c2f69
0, 792000, 2359296, 0xd46c2f69
-0, 798000, 2359296, 0xd46c2f69
-0, 804000, 2359296, 0xd46c2f69
-0, 810000, 2359296, 0xd46c2f69
-0, 816000, 2359296, 0xd46c2f69
+0, 798000, 2359296, 0x8d2933ee
+0, 804000, 2359296, 0x8d2933ee
+0, 810000, 2359296, 0x8d2933ee
+0, 816000, 2359296, 0x8d2933ee
0, 822000, 2359296, 0x8d2933ee
0, 828000, 2359296, 0x8d2933ee
0, 834000, 2359296, 0x8d2933ee
-0, 840000, 2359296, 0x8d2933ee
-0, 846000, 2359296, 0x8d2933ee
-0, 852000, 2359296, 0x8d2933ee
-0, 858000, 2359296, 0x8d2933ee
+0, 840000, 2359296, 0xb6092b6d
+0, 846000, 2359296, 0xb6092b6d
+0, 852000, 2359296, 0xb6092b6d
+0, 858000, 2359296, 0xb6092b6d
0, 864000, 2359296, 0xb6092b6d
0, 870000, 2359296, 0xb6092b6d
0, 876000, 2359296, 0xb6092b6d
-0, 882000, 2359296, 0xb6092b6d
-0, 888000, 2359296, 0xb6092b6d
-0, 894000, 2359296, 0xb6092b6d
-0, 900000, 2359296, 0xb6092b6d
+0, 882000, 2359296, 0xe4ef27fa
+0, 888000, 2359296, 0xe4ef27fa
+0, 894000, 2359296, 0xe4ef27fa
+0, 900000, 2359296, 0xe4ef27fa
0, 906000, 2359296, 0xe4ef27fa
0, 912000, 2359296, 0xe4ef27fa
0, 918000, 2359296, 0xe4ef27fa
-0, 924000, 2359296, 0xe4ef27fa
-0, 930000, 2359296, 0xe4ef27fa
-0, 936000, 2359296, 0xe4ef27fa
-0, 942000, 2359296, 0xe4ef27fa
-0, 948000, 2359296, 0x5e5b2672
-0, 954000, 2359296, 0x5e5b2672
+0, 924000, 2359296, 0x5e5b2672
+0, 930000, 2359296, 0x5e5b2672
diff --git a/tests/ref/fate/vmnc-32bit b/tests/ref/fate/vmnc-32bit
index 4486ff92e5..6abcd0dea8 100644
--- a/tests/ref/fate/vmnc-32bit
+++ b/tests/ref/fate/vmnc-32bit
@@ -2,171 +2,48 @@
0, 18000, 3655644, 0x87973530
0, 36000, 3655644, 0x3c3167fd
0, 54000, 3655644, 0x87973530
-0, 72000, 3655644, 0x87973530
+0, 72000, 3655644, 0x3c3167fd
0, 90000, 3655644, 0x87973530
-0, 108000, 3655644, 0x3c3167fd
+0, 108000, 3655644, 0x87973530
0, 126000, 3655644, 0x3c3167fd
0, 144000, 3655644, 0x87973530
-0, 162000, 3655644, 0x87973530
-0, 180000, 3655644, 0x87973530
-0, 198000, 3655644, 0x87973530
-0, 216000, 3655644, 0x3c3167fd
-0, 234000, 3655644, 0x87973530
-0, 252000, 3655644, 0x87973530
-0, 270000, 3655644, 0x87973530
-0, 288000, 3655644, 0x4f0da763
-0, 306000, 3655644, 0x4f0da763
-0, 324000, 3655644, 0x4f0da763
-0, 342000, 3655644, 0x66a4a763
-0, 360000, 3655644, 0xb20a7496
-0, 378000, 3655644, 0x66a4a763
-0, 396000, 3655644, 0x66a4a763
-0, 414000, 3655644, 0x66a4a763
-0, 432000, 3655644, 0x5600644a
-0, 450000, 3655644, 0xce5880ee
-0, 468000, 3655644, 0xce5880ee
-0, 486000, 3655644, 0xa993ef3d
-0, 504000, 3655644, 0xa993ef3d
-0, 522000, 3655644, 0xa993ef3d
-0, 540000, 3655644, 0xa993ef3d
-0, 558000, 3655644, 0xa993ef3d
-0, 576000, 3655644, 0xa993ef3d
-0, 594000, 3655644, 0xa993ef3d
-0, 612000, 3655644, 0xa993ef3d
-0, 630000, 3655644, 0xa993ef3d
-0, 648000, 3655644, 0xa993ef3d
-0, 666000, 3655644, 0xa993ef3d
-0, 684000, 3655644, 0xa993ef3d
-0, 702000, 3655644, 0xa993ef3d
-0, 720000, 3655644, 0xa993ef3d
-0, 738000, 3655644, 0xa993ef3d
-0, 756000, 3655644, 0xa993ef3d
-0, 774000, 3655644, 0xa993ef3d
-0, 792000, 3655644, 0xa993ef3d
-0, 810000, 3655644, 0xa993ef3d
-0, 828000, 3655644, 0xa993ef3d
-0, 846000, 3655644, 0xa993ef3d
-0, 864000, 3655644, 0xa993ef3d
-0, 882000, 3655644, 0xa993ef3d
-0, 900000, 3655644, 0x73564014
-0, 918000, 3655644, 0x73564014
-0, 936000, 3655644, 0x73564014
-0, 954000, 3655644, 0x73564014
-0, 972000, 3655644, 0x73564014
-0, 990000, 3655644, 0x73564014
-0, 1008000, 3655644, 0x73564014
-0, 1026000, 3655644, 0x73564014
-0, 1044000, 3655644, 0x73564014
-0, 1062000, 3655644, 0x73564014
-0, 1080000, 3655644, 0x73564014
-0, 1098000, 3655644, 0x73564014
-0, 1116000, 3655644, 0x2a6e1e8c
-0, 1134000, 3655644, 0x2a6e1e8c
-0, 1152000, 3655644, 0x2a6e1e8c
-0, 1170000, 3655644, 0xbae02e7c
-0, 1188000, 3655644, 0xbae02e7c
-0, 1206000, 3655644, 0xbae02e7c
-0, 1224000, 3655644, 0xbae02e7c
-0, 1242000, 3655644, 0x55af4a2d
-0, 1260000, 3655644, 0x55af4a2d
-0, 1278000, 3655644, 0x55af4a2d
-0, 1296000, 3655644, 0x55af4a2d
-0, 1314000, 3655644, 0x54b7ff2d
-0, 1332000, 3655644, 0x39af1aed
-0, 1350000, 3655644, 0x39af1aed
-0, 1368000, 3655644, 0x39af1aed
-0, 1386000, 3655644, 0x39af1aed
-0, 1404000, 3655644, 0xe48dd11c
-0, 1422000, 3655644, 0xe48dd11c
-0, 1440000, 3655644, 0xe48dd11c
-0, 1458000, 3655644, 0xe48dd11c
-0, 1476000, 3655644, 0xe48dd11c
-0, 1494000, 3655644, 0xba15c78d
-0, 1512000, 3655644, 0xba15c78d
-0, 1530000, 3655644, 0xba15c78d
-0, 1548000, 3655644, 0xba15c78d
-0, 1566000, 3655644, 0xba15c78d
-0, 1584000, 3655644, 0xba15c78d
-0, 1602000, 3655644, 0xba15c78d
-0, 1620000, 3655644, 0x39af1aed
-0, 1638000, 3655644, 0x39af1aed
-0, 1656000, 3655644, 0x39af1aed
-0, 1674000, 3655644, 0x39af1aed
-0, 1692000, 3655644, 0x39af1aed
-0, 1710000, 3655644, 0x39af1aed
-0, 1728000, 3655644, 0x39af1aed
-0, 1746000, 3655644, 0x27f96cd8
-0, 1764000, 3655644, 0x27f96cd8
-0, 1782000, 3655644, 0x27f96cd8
-0, 1800000, 3655644, 0x27f96cd8
-0, 1818000, 3655644, 0x27f96cd8
-0, 1836000, 3655644, 0x27f96cd8
-0, 1854000, 3655644, 0x27f96cd8
-0, 1872000, 3655644, 0xf4f068dc
-0, 1890000, 3655644, 0xf4f068dc
-0, 1908000, 3655644, 0xf4f068dc
-0, 1926000, 3655644, 0xf4f068dc
-0, 1944000, 3655644, 0xf4f068dc
-0, 1962000, 3655644, 0xf4f068dc
-0, 1980000, 3655644, 0xf4f068dc
-0, 1998000, 3655644, 0xf1c55cf5
-0, 2016000, 3655644, 0xd932633d
-0, 2034000, 3655644, 0xd932633d
-0, 2052000, 3655644, 0xc6e95e0a
-0, 2070000, 3655644, 0x9a63c9de
-0, 2088000, 3655644, 0xf166ad4f
-0, 2106000, 3655644, 0xe9eeba41
-0, 2124000, 3655644, 0x7e598ad7
-0, 2142000, 3655644, 0xf3bd257e
-0, 2160000, 3655644, 0xf3bd257e
-0, 2178000, 3655644, 0xf3bd257e
-0, 2196000, 3655644, 0xf3bd257e
-0, 2214000, 3655644, 0xf3bd257e
-0, 2232000, 3655644, 0xf35b3852
-0, 2250000, 3655644, 0xf35b3852
-0, 2268000, 3655644, 0xf35b3852
-0, 2286000, 3655644, 0xf35b3852
-0, 2304000, 3655644, 0x9d553959
-0, 2322000, 3655644, 0x0a9de8e2
-0, 2340000, 3655644, 0xf2325b6c
-0, 2358000, 3655644, 0xf2325b6c
-0, 2376000, 3655644, 0xf2325b6c
-0, 2394000, 3655644, 0xf2325b6c
-0, 2412000, 3655644, 0xf2325b6c
-0, 2430000, 3655644, 0xf2325b6c
-0, 2448000, 3655644, 0xcf924028
-0, 2466000, 3655644, 0xcf924028
-0, 2484000, 3655644, 0x8dae55bc
-0, 2502000, 3655644, 0x8dae55bc
-0, 2520000, 3655644, 0x57b08ced
-0, 2538000, 3655644, 0x57b08ced
-0, 2556000, 3655644, 0xef89a1d8
-0, 2574000, 3655644, 0xef89a1d8
-0, 2592000, 3655644, 0x69e5503a
-0, 2610000, 3655644, 0x69e5503a
-0, 2628000, 3655644, 0xc3de7b3f
-0, 2646000, 3655644, 0xc3de7b3f
-0, 2664000, 3655644, 0x88eea64a
-0, 2682000, 3655644, 0x88eea64a
-0, 2700000, 3655644, 0xe39cce1f
-0, 2718000, 3655644, 0xe39cce1f
-0, 2736000, 3655644, 0xe39cce1f
-0, 2754000, 3655644, 0xe39cce1f
-0, 2772000, 3655644, 0xe39cce1f
-0, 2790000, 3655644, 0xe39cce1f
-0, 2808000, 3655644, 0xe39cce1f
-0, 2826000, 3655644, 0xe39cce1f
-0, 2844000, 3655644, 0xe39cce1f
-0, 2862000, 3655644, 0xe39cce1f
-0, 2880000, 3655644, 0xe39cce1f
-0, 2898000, 3655644, 0xe39cce1f
-0, 2916000, 3655644, 0xe39cce1f
-0, 2934000, 3655644, 0xf0ed0d04
-0, 2952000, 3655644, 0xf0ed0d04
-0, 2970000, 3655644, 0xf0ed0d04
-0, 2988000, 3655644, 0xf0ed0d04
-0, 3006000, 3655644, 0x32490d3e
-0, 3024000, 3655644, 0x32490d3e
-0, 3042000, 3655644, 0x32490d3e
-0, 3060000, 3655644, 0x32490d3e
-0, 3078000, 3655644, 0x32490d3e
+0, 162000, 3655644, 0x4f0da763
+0, 180000, 3655644, 0x66a4a763
+0, 198000, 3655644, 0xb20a7496
+0, 216000, 3655644, 0x66a4a763
+0, 234000, 3655644, 0x5600644a
+0, 252000, 3655644, 0xce5880ee
+0, 270000, 3655644, 0xa993ef3d
+0, 288000, 3655644, 0x73564014
+0, 306000, 3655644, 0x2a6e1e8c
+0, 324000, 3655644, 0xbae02e7c
+0, 342000, 3655644, 0x55af4a2d
+0, 360000, 3655644, 0x54b7ff2d
+0, 378000, 3655644, 0x39af1aed
+0, 396000, 3655644, 0xe48dd11c
+0, 414000, 3655644, 0xba15c78d
+0, 432000, 3655644, 0x39af1aed
+0, 450000, 3655644, 0x27f96cd8
+0, 468000, 3655644, 0xf4f068dc
+0, 486000, 3655644, 0xf1c55cf5
+0, 504000, 3655644, 0xd932633d
+0, 522000, 3655644, 0xc6e95e0a
+0, 540000, 3655644, 0x9a63c9de
+0, 558000, 3655644, 0xf166ad4f
+0, 576000, 3655644, 0xe9eeba41
+0, 594000, 3655644, 0x7e598ad7
+0, 612000, 3655644, 0xf3bd257e
+0, 630000, 3655644, 0xf35b3852
+0, 648000, 3655644, 0x9d553959
+0, 666000, 3655644, 0x0a9de8e2
+0, 684000, 3655644, 0xf2325b6c
+0, 702000, 3655644, 0xcf924028
+0, 720000, 3655644, 0x8dae55bc
+0, 738000, 3655644, 0x57b08ced
+0, 756000, 3655644, 0xef89a1d8
+0, 774000, 3655644, 0x69e5503a
+0, 792000, 3655644, 0xc3de7b3f
+0, 810000, 3655644, 0x88eea64a
+0, 828000, 3655644, 0xe39cce1f
+0, 846000, 3655644, 0xf0ed0d04
+0, 864000, 3655644, 0x32490d3e
diff --git a/tests/ref/fate/vp8-sign-bias b/tests/ref/fate/vp8-sign-bias
index db007b5385..4e4f6c4b2d 100644
--- a/tests/ref/fate/vp8-sign-bias
+++ b/tests/ref/fate/vp8-sign-bias
@@ -1,10 +1,9 @@
0, 0, 614880, 12ce23b288485be3ddbc1db28c21517f
0, 3750, 614880, ce352e1079535ea058c0e9ad50f7cdb8
-0, 7500, 614880, ce352e1079535ea058c0e9ad50f7cdb8
-0, 11250, 614880, 9f6bf2739a027dfd12c81586cf75d3a3
-0, 15000, 614880, 7593a85ab7790eb39d65fc53f769ed8b
-0, 18750, 614880, 52f47f1e0348f3297d9f233fb5405e8b
-0, 22500, 614880, cd51d2c200bfd66e8e1b0fd6b404570f
-0, 26250, 614880, cf535cf0a53e903cd98a9a944b72da6d
-0, 30000, 614880, 1b270fd2b56daa7892102c2885d23201
-0, 33750, 614880, ff373c0c8a4a319c84e72b1c3d76b399
+0, 7500, 614880, 9f6bf2739a027dfd12c81586cf75d3a3
+0, 11250, 614880, 7593a85ab7790eb39d65fc53f769ed8b
+0, 15000, 614880, 52f47f1e0348f3297d9f233fb5405e8b
+0, 18750, 614880, cd51d2c200bfd66e8e1b0fd6b404570f
+0, 22500, 614880, cf535cf0a53e903cd98a9a944b72da6d
+0, 26250, 614880, 1b270fd2b56daa7892102c2885d23201
+0, 30000, 614880, ff373c0c8a4a319c84e72b1c3d76b399
diff --git a/tests/ref/fate/wmv8-drm b/tests/ref/fate/wmv8-drm
index 015053587e..57e9aebfc6 100644
--- a/tests/ref/fate/wmv8-drm
+++ b/tests/ref/fate/wmv8-drm
@@ -1,162 +1,130 @@
0, 0, 84480, 0x7760a00b
0, 3750, 84480, 0xfe39a1db
-0, 7500, 84480, 0xfe39a1db
-0, 11250, 84480, 0xfe39a1db
-0, 15000, 84480, 0xfe39a1db
-0, 18750, 84480, 0xfe39a1db
-0, 22500, 84480, 0xfe39a1db
-0, 26250, 84480, 0xfe39a1db
-0, 30000, 84480, 0xfe39a1db
-0, 33750, 84480, 0xfe39a1db
-0, 37500, 84480, 0xfe39a1db
-0, 41250, 84480, 0xfe39a1db
-0, 45000, 84480, 0xfe39a1db
-0, 48750, 84480, 0xfe39a1db
-0, 52500, 84480, 0xfe39a1db
-0, 56250, 84480, 0xfe39a1db
-0, 60000, 84480, 0xfe39a1db
-0, 63750, 84480, 0xfe39a1db
-0, 67500, 84480, 0xfe39a1db
-0, 71250, 84480, 0xfe39a1db
-0, 75000, 84480, 0xfe39a1db
-0, 78750, 84480, 0xfe39a1db
-0, 82500, 84480, 0xfe39a1db
-0, 86250, 84480, 0xfe39a1db
-0, 90000, 84480, 0xfe39a1db
-0, 93750, 84480, 0xfe39a1db
-0, 97500, 84480, 0xfe39a1db
-0, 101250, 84480, 0xfe39a1db
-0, 105000, 84480, 0xfe39a1db
-0, 108750, 84480, 0xd71961b4
-0, 112500, 84480, 0xc80dedba
-0, 116250, 84480, 0x34d8b538
-0, 120000, 84480, 0x1a86b8e5
-0, 123750, 84480, 0xabf7c25d
-0, 127500, 84480, 0x912600ee
-0, 131250, 84480, 0x7ee7c70b
-0, 135000, 84480, 0x09c5b0d1
-0, 138750, 84480, 0x6dbe6c0c
-0, 142500, 84480, 0x0fe0a120
-0, 146250, 84480, 0x2352d3a2
-0, 150000, 84480, 0xb22ce92e
-0, 153750, 84480, 0x31db0099
-0, 157500, 84480, 0xad2dd73a
-0, 161250, 84480, 0xb9af8e20
-0, 165000, 84480, 0x7b956549
-0, 168750, 84480, 0x3f774b87
-0, 172500, 84480, 0x824a23a3
-0, 176250, 84480, 0x4469a8d8
-0, 180000, 84480, 0xc80c7a0a
-0, 183750, 84480, 0xcf958549
-0, 187500, 84480, 0x449746e3
-0, 191250, 84480, 0xbac66a82
-0, 195000, 84480, 0x99e85855
-0, 198750, 84480, 0xa4a17d17
-0, 202500, 84480, 0xe29c7587
-0, 206250, 84480, 0x551de592
-0, 210000, 84480, 0xe0877bce
-0, 213750, 84480, 0x9660eb35
-0, 217500, 84480, 0x0a34b644
-0, 221250, 84480, 0x352919f0
-0, 225000, 84480, 0xef56ce27
-0, 228750, 84480, 0x030fe862
-0, 232500, 84480, 0x2eba33e2
-0, 236250, 84480, 0x242de401
-0, 240000, 84480, 0xbadd61ca
-0, 243750, 84480, 0x2060465b
-0, 247500, 84480, 0x256e6965
-0, 251250, 84480, 0x243b7084
-0, 255000, 84480, 0x8b3c0b47
-0, 258750, 84480, 0xc174a9af
-0, 262500, 84480, 0xb6d48686
-0, 266250, 84480, 0xa3dd1871
-0, 270000, 84480, 0x04cdcaf7
-0, 273750, 84480, 0x55f89c94
-0, 277500, 84480, 0xda657032
-0, 281250, 84480, 0x38ba7698
-0, 285000, 84480, 0x4d03a7f2
-0, 288750, 84480, 0x115d9035
-0, 292500, 84480, 0x24c6acc6
-0, 296250, 84480, 0xdd2bbcae
-0, 300000, 84480, 0xb4fee0b9
-0, 303750, 84480, 0xc51c14e0
-0, 307500, 84480, 0xfb7737de
-0, 311250, 84480, 0x38675fb0
-0, 315000, 84480, 0x4752c710
-0, 318750, 84480, 0xfeb7491b
-0, 322500, 84480, 0xaa248122
-0, 326250, 84480, 0x9a4af87c
-0, 330000, 84480, 0xedcf09df
-0, 333750, 84480, 0x563a05df
-0, 337500, 84480, 0x0dde1e03
-0, 341250, 84480, 0xd8f0ff65
-0, 345000, 84480, 0xbeb9ae1a
-0, 348750, 84480, 0x416d1468
-0, 352500, 84480, 0x66c87d4c
-0, 356250, 84480, 0xa67c0774
-0, 360000, 84480, 0xd8f8aec1
-0, 363750, 84480, 0xadfa502b
-0, 367500, 84480, 0x50bf20e4
-0, 371250, 84480, 0xbcb3d8cc
-0, 375000, 84480, 0xa54677d7
-0, 378750, 84480, 0x3566042d
-0, 382500, 84480, 0x4c9eed57
-0, 386250, 84480, 0xc3b90e58
-0, 390000, 84480, 0x3c042bfa
-0, 393750, 84480, 0x19f8e890
-0, 397500, 84480, 0xd3dacfb9
-0, 401250, 84480, 0x2365fc6f
-0, 405000, 84480, 0xa2c19d00
-0, 408750, 84480, 0xce94336f
-0, 412500, 84480, 0xfa9bcf14
-0, 416250, 84480, 0x24d6a243
-0, 420000, 84480, 0x24d6a243
-0, 423750, 84480, 0x24d6a243
-0, 427500, 84480, 0x24d6a243
-0, 431250, 84480, 0x24d6a243
-0, 435000, 84480, 0x24d6a243
-0, 438750, 84480, 0x24d6a243
-0, 442500, 84480, 0xae1c8854
-0, 446250, 84480, 0xbb8968bf
-0, 450000, 84480, 0x6f923623
-0, 453750, 84480, 0x22e98029
-0, 457500, 84480, 0x8ac33af3
-0, 461250, 84480, 0x05947b6e
-0, 465000, 84480, 0xfc35661a
-0, 468750, 84480, 0x0e6b6e47
-0, 472500, 84480, 0x82c764bb
-0, 476250, 84480, 0x57a36833
-0, 480000, 84480, 0xc8dd690a
-0, 483750, 84480, 0x02c47232
-0, 487500, 84480, 0x6645715d
-0, 491250, 84480, 0xc64860f7
-0, 495000, 84480, 0x4f5614b3
-0, 498750, 84480, 0xa70842ca
-0, 502500, 84480, 0x379d8458
-0, 506250, 84480, 0xa14701cf
-0, 510000, 84480, 0xad1aa2b2
-0, 513750, 84480, 0xee28f320
-0, 517500, 84480, 0x505801e9
-0, 521250, 84480, 0x7947233b
-0, 525000, 84480, 0x3ce72a9d
-0, 528750, 84480, 0xa6834e64
-0, 532500, 84480, 0xfebf4d70
-0, 536250, 84480, 0x4a0775e2
-0, 540000, 84480, 0x9d7e945b
-0, 543750, 84480, 0xaa9eadd9
-0, 547500, 84480, 0xaa85c9b1
-0, 551250, 84480, 0xa005edaf
-0, 555000, 84480, 0x7fc4e5cc
-0, 558750, 84480, 0xb0f6e8d1
-0, 562500, 84480, 0x9ef9f330
-0, 566250, 84480, 0xbe14ff1f
-0, 570000, 84480, 0xd494048c
-0, 573750, 84480, 0x046166a7
-0, 577500, 84480, 0x052a09b2
-0, 581250, 84480, 0x71fff4ab
-0, 585000, 84480, 0xb9684e41
-0, 588750, 84480, 0x1ddce068
-0, 592500, 84480, 0xb9de300e
-0, 596250, 84480, 0x13962590
-0, 600000, 84480, 0xde79482f
-0, 603750, 84480, 0x7d1ca064
+0, 7500, 84480, 0xd71961b4
+0, 11250, 84480, 0xc80dedba
+0, 15000, 84480, 0x34d8b538
+0, 18750, 84480, 0x1a86b8e5
+0, 22500, 84480, 0xabf7c25d
+0, 26250, 84480, 0x912600ee
+0, 30000, 84480, 0x7ee7c70b
+0, 33750, 84480, 0x09c5b0d1
+0, 37500, 84480, 0x6dbe6c0c
+0, 41250, 84480, 0x0fe0a120
+0, 45000, 84480, 0x2352d3a2
+0, 48750, 84480, 0xb22ce92e
+0, 52500, 84480, 0x31db0099
+0, 56250, 84480, 0xad2dd73a
+0, 60000, 84480, 0xb9af8e20
+0, 63750, 84480, 0x7b956549
+0, 67500, 84480, 0x3f774b87
+0, 71250, 84480, 0x824a23a3
+0, 75000, 84480, 0x4469a8d8
+0, 78750, 84480, 0xc80c7a0a
+0, 82500, 84480, 0xcf958549
+0, 86250, 84480, 0x449746e3
+0, 90000, 84480, 0xbac66a82
+0, 93750, 84480, 0x99e85855
+0, 97500, 84480, 0xa4a17d17
+0, 101250, 84480, 0xe29c7587
+0, 105000, 84480, 0x551de592
+0, 108750, 84480, 0xe0877bce
+0, 112500, 84480, 0x9660eb35
+0, 116250, 84480, 0x0a34b644
+0, 120000, 84480, 0x352919f0
+0, 123750, 84480, 0xef56ce27
+0, 127500, 84480, 0x030fe862
+0, 131250, 84480, 0x2eba33e2
+0, 135000, 84480, 0x242de401
+0, 138750, 84480, 0xbadd61ca
+0, 142500, 84480, 0x2060465b
+0, 146250, 84480, 0x256e6965
+0, 150000, 84480, 0x243b7084
+0, 153750, 84480, 0x8b3c0b47
+0, 157500, 84480, 0xc174a9af
+0, 161250, 84480, 0xb6d48686
+0, 165000, 84480, 0xa3dd1871
+0, 168750, 84480, 0x04cdcaf7
+0, 172500, 84480, 0x55f89c94
+0, 176250, 84480, 0xda657032
+0, 180000, 84480, 0x38ba7698
+0, 183750, 84480, 0x4d03a7f2
+0, 187500, 84480, 0x115d9035
+0, 191250, 84480, 0x24c6acc6
+0, 195000, 84480, 0xdd2bbcae
+0, 198750, 84480, 0xb4fee0b9
+0, 202500, 84480, 0xc51c14e0
+0, 206250, 84480, 0xfb7737de
+0, 210000, 84480, 0x38675fb0
+0, 213750, 84480, 0x4752c710
+0, 217500, 84480, 0xfeb7491b
+0, 221250, 84480, 0xaa248122
+0, 225000, 84480, 0x9a4af87c
+0, 228750, 84480, 0xedcf09df
+0, 232500, 84480, 0x563a05df
+0, 236250, 84480, 0x0dde1e03
+0, 240000, 84480, 0xd8f0ff65
+0, 243750, 84480, 0xbeb9ae1a
+0, 247500, 84480, 0x416d1468
+0, 251250, 84480, 0x66c87d4c
+0, 255000, 84480, 0xa67c0774
+0, 258750, 84480, 0xd8f8aec1
+0, 262500, 84480, 0xadfa502b
+0, 266250, 84480, 0x50bf20e4
+0, 270000, 84480, 0xbcb3d8cc
+0, 273750, 84480, 0xa54677d7
+0, 277500, 84480, 0x3566042d
+0, 281250, 84480, 0x4c9eed57
+0, 285000, 84480, 0xc3b90e58
+0, 288750, 84480, 0x3c042bfa
+0, 292500, 84480, 0x19f8e890
+0, 296250, 84480, 0xd3dacfb9
+0, 300000, 84480, 0x2365fc6f
+0, 303750, 84480, 0xa2c19d00
+0, 307500, 84480, 0xce94336f
+0, 311250, 84480, 0xfa9bcf14
+0, 315000, 84480, 0x24d6a243
+0, 318750, 84480, 0xae1c8854
+0, 322500, 84480, 0xbb8968bf
+0, 326250, 84480, 0x6f923623
+0, 330000, 84480, 0x22e98029
+0, 333750, 84480, 0x8ac33af3
+0, 337500, 84480, 0x05947b6e
+0, 341250, 84480, 0xfc35661a
+0, 345000, 84480, 0x0e6b6e47
+0, 348750, 84480, 0x82c764bb
+0, 352500, 84480, 0x57a36833
+0, 356250, 84480, 0xc8dd690a
+0, 360000, 84480, 0x02c47232
+0, 363750, 84480, 0x6645715d
+0, 367500, 84480, 0xc64860f7
+0, 371250, 84480, 0x4f5614b3
+0, 375000, 84480, 0xa70842ca
+0, 378750, 84480, 0x379d8458
+0, 382500, 84480, 0xa14701cf
+0, 386250, 84480, 0xad1aa2b2
+0, 390000, 84480, 0xee28f320
+0, 393750, 84480, 0x505801e9
+0, 397500, 84480, 0x7947233b
+0, 401250, 84480, 0x3ce72a9d
+0, 405000, 84480, 0xa6834e64
+0, 408750, 84480, 0xfebf4d70
+0, 412500, 84480, 0x4a0775e2
+0, 416250, 84480, 0x9d7e945b
+0, 420000, 84480, 0xaa9eadd9
+0, 423750, 84480, 0xaa85c9b1
+0, 427500, 84480, 0xa005edaf
+0, 431250, 84480, 0x7fc4e5cc
+0, 435000, 84480, 0xb0f6e8d1
+0, 438750, 84480, 0x9ef9f330
+0, 442500, 84480, 0xbe14ff1f
+0, 446250, 84480, 0xd494048c
+0, 450000, 84480, 0x046166a7
+0, 453750, 84480, 0x052a09b2
+0, 457500, 84480, 0x71fff4ab
+0, 461250, 84480, 0xb9684e41
+0, 465000, 84480, 0x1ddce068
+0, 468750, 84480, 0xb9de300e
+0, 472500, 84480, 0x13962590
+0, 476250, 84480, 0xde79482f
+0, 480000, 84480, 0x7d1ca064
+0, 483750, 84480, 0x7e1de54e
diff --git a/tests/ref/lavf/gxf b/tests/ref/lavf/gxf
index 68bc9785a2..6b39c2f273 100644
--- a/tests/ref/lavf/gxf
+++ b/tests/ref/lavf/gxf
@@ -1,3 +1,3 @@
346d38d330ab5cb0caa6b5537167bc0d *./tests/data/lavf/lavf.gxf
796392 ./tests/data/lavf/lavf.gxf
-./tests/data/lavf/lavf.gxf CRC=0x102918fd
+./tests/data/lavf/lavf.gxf CRC=0x345f86eb